summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap38
-rw-r--r--.travis.yml2
-rw-r--r--AUTHORS.md18
-rw-r--r--COPYRIGHT.txt6
-rw-r--r--DONORS.md107
-rw-r--r--core/bind/core_bind.cpp5
-rw-r--r--core/io/file_access_pack.cpp13
-rw-r--r--core/io/file_access_pack.h8
-rw-r--r--core/io/file_access_zip.cpp4
-rw-r--r--core/io/file_access_zip.h2
-rw-r--r--core/io/stream_peer_tcp.cpp11
-rw-r--r--core/math/a_star.cpp12
-rw-r--r--core/math/a_star.h4
-rw-r--r--core/oa_hash_map.h47
-rw-r--r--core/project_settings.cpp6
-rw-r--r--core/project_settings.h2
-rw-r--r--core/reference.cpp18
-rw-r--r--core/reference.h2
-rw-r--r--core/safe_refcount.h9
-rw-r--r--doc/classes/AStar.xml4
-rw-r--r--doc/classes/AStar2D.xml4
-rw-r--r--doc/classes/ColorPicker.xml2
-rw-r--r--doc/classes/Crypto.xml2
-rw-r--r--doc/classes/CryptoKey.xml2
-rw-r--r--doc/classes/Environment.xml7
-rw-r--r--doc/classes/Font.xml2
-rw-r--r--doc/classes/GridContainer.xml3
-rw-r--r--doc/classes/HTTPClient.xml2
-rw-r--r--doc/classes/MainLoop.xml34
-rw-r--r--doc/classes/MeshLibrary.xml14
-rw-r--r--doc/classes/Mutex.xml1
-rw-r--r--doc/classes/OS.xml4
-rw-r--r--doc/classes/ProjectSettings.xml10
-rw-r--r--doc/classes/SceneTree.xml6
-rw-r--r--doc/classes/SceneTreeTimer.xml6
-rw-r--r--doc/classes/Semaphore.xml1
-rw-r--r--doc/classes/Skeleton.xml19
-rw-r--r--doc/classes/SurfaceTool.xml1
-rw-r--r--doc/classes/TextureProgress.xml2
-rw-r--r--doc/classes/Thread.xml1
-rw-r--r--doc/classes/TreeItem.xml11
-rw-r--r--doc/classes/VisualShaderNode.xml7
-rw-r--r--doc/classes/X509Certificate.xml2
-rwxr-xr-xdoc/tools/makerst.py5
-rw-r--r--drivers/gles2/rasterizer_scene_gles2.cpp517
-rw-r--r--drivers/gles2/rasterizer_scene_gles2.h65
-rw-r--r--drivers/gles2/rasterizer_storage_gles2.cpp151
-rw-r--r--drivers/gles2/rasterizer_storage_gles2.h35
-rw-r--r--drivers/gles2/shaders/SCsub4
-rw-r--r--drivers/gles2/shaders/canvas_shadow.glsl5
-rw-r--r--drivers/gles2/shaders/cube_to_dp.glsl5
-rw-r--r--drivers/gles2/shaders/effect_blur.glsl244
-rw-r--r--drivers/gles2/shaders/lens_distorted.glsl7
-rw-r--r--drivers/gles2/shaders/tonemap.glsl296
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.cpp5
-rw-r--r--drivers/unix/ip_unix.cpp2
-rw-r--r--drivers/unix/os_unix.cpp4
-rw-r--r--editor/animation_bezier_editor.cpp2
-rw-r--r--editor/animation_track_editor.cpp2
-rw-r--r--editor/code_editor.cpp4
-rw-r--r--editor/connections_dialog.cpp68
-rw-r--r--editor/editor_audio_buses.cpp4
-rw-r--r--editor/editor_file_dialog.cpp3
-rw-r--r--editor/editor_node.cpp11
-rw-r--r--editor/editor_settings.cpp1
-rw-r--r--editor/editor_spin_slider.cpp9
-rw-r--r--editor/editor_themes.cpp6
-rw-r--r--editor/filesystem_dock.cpp60
-rw-r--r--editor/icons/icon_GUI_tab_menu.svg2
-rw-r--r--editor/icons/icon_GUI_tab_menu_hl.svg2
-rw-r--r--editor/icons/icon_overbright_indicator.svg1
-rw-r--r--editor/icons/icon_rotate_left.svg1
-rw-r--r--editor/icons/icon_rotate_right.svg1
-rw-r--r--editor/import/editor_scene_importer_gltf.cpp2
-rw-r--r--editor/import/resource_importer_scene.cpp2
-rw-r--r--editor/plugins/animation_player_editor_plugin.cpp10
-rw-r--r--editor/plugins/animation_player_editor_plugin.h1
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp8
-rw-r--r--editor/plugins/curve_editor_plugin.cpp3
-rw-r--r--editor/plugins/script_text_editor.cpp27
-rw-r--r--editor/plugins/script_text_editor.h1
-rw-r--r--editor/plugins/shader_editor_plugin.cpp8
-rw-r--r--editor/plugins/spatial_editor_plugin.cpp9
-rw-r--r--editor/plugins/tile_map_editor_plugin.cpp4
-rw-r--r--editor/plugins/version_control_editor_plugin.cpp1
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp119
-rw-r--r--editor/plugins/visual_shader_editor_plugin.h8
-rw-r--r--editor/project_settings_editor.cpp2
-rw-r--r--editor/scene_tree_dock.cpp44
-rw-r--r--editor/scene_tree_dock.h3
-rw-r--r--editor/scene_tree_editor.cpp1
-rw-r--r--editor/script_create_dialog.cpp47
-rw-r--r--editor/script_editor_debugger.cpp6
-rw-r--r--editor/spatial_editor_gizmos.cpp2
-rw-r--r--editor/translations/af.po474
-rw-r--r--editor/translations/ar.po535
-rw-r--r--editor/translations/bg.po477
-rw-r--r--editor/translations/bn.po563
-rw-r--r--editor/translations/ca.po577
-rw-r--r--editor/translations/cs.po504
-rw-r--r--editor/translations/da.po526
-rw-r--r--editor/translations/de.po758
-rw-r--r--editor/translations/de_CH.po464
-rw-r--r--editor/translations/editor.pot413
-rw-r--r--editor/translations/el.po656
-rw-r--r--editor/translations/eo.po460
-rw-r--r--editor/translations/es.po757
-rw-r--r--editor/translations/es_AR.po756
-rw-r--r--editor/translations/et.po419
-rw-r--r--editor/translations/eu.po413
-rw-r--r--editor/translations/fa.po589
-rw-r--r--editor/translations/fi.po756
-rw-r--r--editor/translations/fil.po415
-rw-r--r--editor/translations/fr.po810
-rw-r--r--editor/translations/ga.po422
-rw-r--r--editor/translations/he.po522
-rw-r--r--editor/translations/hi.po452
-rw-r--r--editor/translations/hr.po727
-rw-r--r--editor/translations/hu.po498
-rw-r--r--editor/translations/id.po994
-rw-r--r--editor/translations/is.po419
-rw-r--r--editor/translations/it.po792
-rw-r--r--editor/translations/ja.po547
-rw-r--r--editor/translations/ka.po456
-rw-r--r--editor/translations/ko.po3976
-rw-r--r--editor/translations/lt.po458
-rw-r--r--editor/translations/lv.po453
-rw-r--r--editor/translations/mi.po413
-rw-r--r--editor/translations/ml.po413
-rw-r--r--editor/translations/ms.po419
-rw-r--r--editor/translations/nb.po505
-rw-r--r--editor/translations/nl.po512
-rw-r--r--editor/translations/or.po413
-rw-r--r--editor/translations/pl.po762
-rw-r--r--editor/translations/pr.po453
-rw-r--r--editor/translations/pt_BR.po806
-rw-r--r--editor/translations/pt_PT.po808
-rw-r--r--editor/translations/ro.po491
-rw-r--r--editor/translations/ru.po574
-rw-r--r--editor/translations/si.po419
-rw-r--r--editor/translations/sk.po469
-rw-r--r--editor/translations/sl.po489
-rw-r--r--editor/translations/sq.po474
-rw-r--r--editor/translations/sr_Cyrl.po508
-rw-r--r--editor/translations/sr_Latn.po422
-rw-r--r--editor/translations/sv.po512
-rw-r--r--editor/translations/ta.po419
-rw-r--r--editor/translations/te.po414
-rw-r--r--editor/translations/th.po529
-rw-r--r--editor/translations/tr.po743
-rw-r--r--editor/translations/uk.po743
-rw-r--r--editor/translations/ur_PK.po447
-rw-r--r--editor/translations/vi.po490
-rw-r--r--editor/translations/zh_CN.po1549
-rw-r--r--editor/translations/zh_HK.po485
-rw-r--r--editor/translations/zh_TW.po499
-rw-r--r--main/SCsub3
-rw-r--r--main/main.cpp61
-rw-r--r--main/splash_editor.pngbin39571 -> 45062 bytes
-rw-r--r--main/tests/test_oa_hash_map.cpp13
-rw-r--r--misc/dist/html/fixed-size.html3
-rw-r--r--misc/dist/html/full-size.html3
-rw-r--r--misc/scripts/sort-demos.sh29
-rw-r--r--modules/gdscript/doc_classes/@GDScript.xml8
-rw-r--r--modules/gdscript/editor/gdscript_highlighter.cpp28
-rw-r--r--modules/gdscript/gdscript_functions.cpp44
-rw-r--r--modules/jsonrpc/jsonrpc.cpp10
-rw-r--r--modules/mono/editor/bindings_generator.cpp2
-rw-r--r--modules/mono/editor/bindings_generator.h2
-rw-r--r--modules/mono/mono_gd/gd_mono.cpp60
-rw-r--r--modules/mono/mono_gd/gd_mono.h4
-rw-r--r--modules/visual_script/config.py2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptComposeArray.xml15
-rw-r--r--modules/visual_script/doc_classes/VisualScriptLists.xml95
-rw-r--r--modules/visual_script/register_types.cpp2
-rw-r--r--modules/visual_script/visual_script.cpp69
-rw-r--r--modules/visual_script/visual_script.h3
-rw-r--r--modules/visual_script/visual_script_editor.cpp2561
-rw-r--r--modules/visual_script/visual_script_editor.h69
-rw-r--r--modules/visual_script/visual_script_func_nodes.cpp13
-rw-r--r--modules/visual_script/visual_script_nodes.cpp455
-rw-r--r--modules/visual_script/visual_script_nodes.h97
-rw-r--r--modules/visual_script/visual_script_property_selector.cpp109
-rw-r--r--modules/visual_script/visual_script_property_selector.h14
-rw-r--r--platform/android/export/export.cpp10
-rw-r--r--platform/android/java/app/AndroidManifest.xml7
-rw-r--r--platform/javascript/engine.js13
-rw-r--r--platform/javascript/os_javascript.cpp2
-rw-r--r--platform/osx/export/export.cpp35
-rw-r--r--platform/osx/os_osx.mm7
-rw-r--r--platform/windows/os_windows.cpp7
-rw-r--r--platform/x11/os_x11.cpp2
-rw-r--r--scene/2d/node_2d.cpp2
-rw-r--r--scene/2d/polygon_2d.cpp2
-rw-r--r--scene/2d/tile_map.cpp14
-rw-r--r--scene/3d/camera.cpp6
-rw-r--r--scene/3d/skeleton.cpp28
-rw-r--r--scene/3d/skeleton.h7
-rw-r--r--scene/animation/animation_blend_tree.cpp4
-rw-r--r--scene/gui/color_picker.cpp18
-rw-r--r--scene/gui/control.cpp2
-rw-r--r--scene/gui/dialogs.cpp18
-rw-r--r--scene/gui/dialogs.h1
-rw-r--r--scene/gui/grid_container.cpp37
-rw-r--r--scene/gui/rich_text_effect.cpp5
-rw-r--r--scene/gui/rich_text_effect.h2
-rw-r--r--scene/gui/rich_text_label.cpp85
-rw-r--r--scene/gui/rich_text_label.h148
-rw-r--r--scene/gui/tabs.cpp15
-rw-r--r--scene/gui/tabs.h1
-rw-r--r--scene/gui/text_edit.cpp4
-rw-r--r--scene/gui/texture_progress.cpp11
-rw-r--r--scene/gui/tree.cpp24
-rw-r--r--scene/gui/tree.h1
-rw-r--r--scene/main/scene_tree.cpp2
-rw-r--r--scene/register_scene_types.cpp1
-rw-r--r--scene/resources/default_theme/default_theme.cpp3
-rw-r--r--scene/resources/default_theme/overbright_indicator.pngbin0 -> 593 bytes
-rw-r--r--scene/resources/default_theme/theme_data.h4
-rw-r--r--scene/resources/dynamic_font.cpp2
-rw-r--r--scene/resources/dynamic_font_stb.cpp524
-rw-r--r--scene/resources/dynamic_font_stb.h191
-rw-r--r--scene/resources/environment.cpp4
-rw-r--r--scene/resources/font.cpp2
-rw-r--r--scene/resources/mesh_library.cpp6
-rw-r--r--scene/resources/visual_shader.cpp25
-rw-r--r--scene/resources/visual_shader.h3
-rw-r--r--scene/resources/visual_shader_nodes.cpp81
-rw-r--r--scene/resources/visual_shader_nodes.h3
-rw-r--r--servers/visual/shader_language.cpp4
-rw-r--r--thirdparty/README.md4
-rw-r--r--thirdparty/misc/stb_truetype.h4882
232 files changed, 32434 insertions, 18108 deletions
diff --git a/.mailmap b/.mailmap
index 1669494cb5..c54fa4dd79 100644
--- a/.mailmap
+++ b/.mailmap
@@ -6,25 +6,35 @@ Andreas Haas <liu.gam3@gmail.com>
Andreas Haas <liu.gam3@gmail.com> <hinsbart@gmail.com>
Andreas Haas <liu.gam3@gmail.com> <hinsbart@users.noreply.github.com>
Andreas Haas <liu.gam3@gmail.com> <entenflugstuhl@gmail.com>
+Anish Bhobe <anishbhobe@hotmail.com>
+Anutrix <numaanzaheerahmed@yahoo.com>
+Aren Villanueva <arenvillanueva@yomogi-soft.com> <aren@displaysweet.com>
Ariel Manzur <ariel@godotengine.org>
Ariel Manzur <ariel@godotengine.org> <punto@godotengine.org>
Ariel Manzur <ariel@godotengine.org> <ariel@okamstudio.com>
Ariel Manzur <ariel@godotengine.org> <punto@Ariels-Mac-mini.local>
Ariel Manzur <ariel@godotengine.org> <punto@Ariels-Mac-mini-2.local>
Bastiaan Olij <mux213@gmail.com>
+Benjamin <mafortion.benjamin@gmail.com>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.de>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.org>
+Chaosus <chaosus89@gmail.com>
Chris Bradfield <chris@kidscancode.org> <cb@scribe.net>
Clay John <claynjohn@gmail.com>
Clay John <claynjohn@gmail.com> <clayjohn@shaw.ca>
Dana Olson <dana@shineuponthee.com> <adolson@gmail.com>
Daniel J. Ramirez <djrmuv@gmail.com>
+Fabian <supagu@gmail.com>
Ferenc Arn <tagcup@yahoo.com>
Ferenc Arn <tagcup@yahoo.com> <tagcup@users.noreply.github.com>
Geequlim <geequlim@gmail.com>
Gilles Roudiere <gilles.roudiere@gmail.com>
Gilles Roudiere <gilles.roudiere@gmail.com> <gilles.roudiere@laas.fr>
Guilherme Felipe <guilhermefelipecgs@gmail.com>
+Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
+Hein-Pieter van Braam-Stewart <hp@tmm.cx>
+Hubert Jarosz <marqin.pl@gmail.com>
+Hubert Jarosz <marqin.pl@gmail.com> <marqin.pl+git@gmail.com>
Hugo Locurcio <hugo.locurcio@hugo.pro> <hugo.l@openmailbox.org>
Hugo Locurcio <hugo.locurcio@hugo.pro> <Calinou@users.noreply.github.com>
Hugo Locurcio <hugo.locurcio@hugo.pro> Calinou <calinou@opmbx.org>
@@ -36,34 +46,62 @@ J08nY <johny@neuromancer.sk> <jancar.jj@gmail.com>
J08nY <johny@neuromancer.sk> <J08nY@users.noreply.github.com>
Jakub Grzesik <kubecz3k@gmail.com>
Jérôme Gully <jerome.gully0@gmail.com>
+JFonS <joan.fonssanchez@gmail.com>
Juan Linietsky <reduzio@gmail.com>
Juan Linietsky <reduzio@gmail.com> <juan@godotengine.org>
Juan Linietsky <reduzio@gmail.com> <juan@okamstudio.com>
Juan Linietsky <reduzio@gmail.com> <reduz@Juans-MBP.fibertel.com.ar>
Juan Linietsky <reduzio@gmail.com> <red@kyoko>
Julian Murgia <the.straton@gmail.com>
+Kanabenki <lucien.menassol@gmail.com> <18357657+Kanabenki@users.noreply.github.com>
Kelly Thomas <kelly.thomas@hotmail.com.au>
+K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Leon Krause <lk@leonkrause.com> <eska@eska.me>
Leon Krause <lk@leonkrause.com> <eska014@users.noreply.github.com>
Marcelo Fernandez <marcelofg55@gmail.com>
Marcin Zawiejski <dragmz@gmail.com>
Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Mario Schlack <m4r10.5ch14ck@gmail.com>
+marxin <mliska@suse.cz>
+marynate <mary.w.nate@gmail.com> <marynate@github.com>
Max Hilbrunner <m.hilbrunner@gmail.com>
Max Hilbrunner <m.hilbrunner@gmail.com> <mhilbrunner@users.noreply.github.com>
+Michael Alexsander Silva Dias <michaelalexsander@protonmail.com>
+Nathan Lovato <nathan@gdquest.com>
Nathan Warden <nathan@nathanwarden.com> <nathanwardenlee@icloud.com>
+Nils ANDRÉ-CHANG <nils@nilsand.re>
+Nils ANDRÉ-CHANG <nils@nilsand.re> <nils.andre.chang@gmail.com>
Nuno Donato <nunodonato@gmail.com> <n.donato@estrelasustentavel.pt>
Pedro J. Estébanez <pedrojrulez@gmail.com> <RandomShaper@users.noreply.github.com>
Paul Batty <p_batty@hotmail.co.uk>
Paul Batty <p_batty@hotmail.co.uk> <Paulb23@users.noreply.github.com>
+Pawel Kowal <pkowal1982@gmail.com> <pawel.kowal@javart.eu>
Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Pieter-Jan Briers <pieterjan.briers+git@gmail.com> <pieterjan.briers@gmail.com>
Poommetee Ketson <poommetee@protonmail.com>
+Przemysław Gołąb (n-pigeon) <golab.przemyslaw@gmail.com>
+Ralf Hölzemer <r.hoelzemer@posteo.de> <rollenrolm@posteo.de>
+Ralf Hölzemer <r.hoelzemer@posteo.de> <rollenrolm@users.noreply.github.com>
+Ramesh Ravone <ramesh.maran443@gmail.com>
+RaphaelHunter <raphael10241024@gmail.com>
+RaphaelHunter <raphael10241024@gmail.com> <Raphael10241024@gmail.com>
+RaphaelHunter <raphael10241024@gmail.com> <raphael20141024@gmail.com>
Rémi Verschelde <rverschelde@gmail.com> <remi@verschelde.fr>
+Rhody Lugo <rhodylugo@gmail.com> <rhodylugo@me.com>
+Robin Hübner <profan@prfn.se> <robinhubner@gmail.com>
+romulox_x <romulox_x@yahoo.com>
Ruslan Mustakov <r.mustakov@gmail.com> <ruslan.mustakov@xored.com>
Saracen <SaracenOne@gmail.com>
+sheepandshepherd <sheepandshepherd@hotmail.com> <sheepandshepherd@users.noreply.github.com>
+Swarnim Arun <swarnimarun11@gmail.com>
Theo Hallenius <redsymbzone@hotmail.com>
Thomas Herzog <therzog@mail.de>
Thomas Herzog <therzog@mail.de> <thomas.herzog@mail.com>
Thomas Herzog <therzog@mail.de> <thomas.herzog@simedis.com>
+Twarit <wtwarit@gmail.com>
+V.VamsiKrishna <vk@bsb.in> <vamsikrishna.v@gmail.com>
+Wilhem Barbier <nounoursheureux@openmailbox.org> <wilhem.b@free.fr>
+Wilhem Barbier <nounoursheureux@openmailbox.org> <schtroumps31@gmail.com>
+Will Nations <willnationsdev@gmail.com>
+yg2f <yoann@terminajones.com>
Zher Huei Lee <lee.zh.92@gmail.com>
diff --git a/.travis.yml b/.travis.yml
index a763fa5376..8d1dd1ef90 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,7 +9,7 @@ stages:
env:
global:
- - SCONS_CACHE=$HOME/.scons_cache
+ - SCONS_CACHE=$HOME/.scons_cache/$TRAVIS_BRANCH
- SCONS_CACHE_LIMIT=1024
- OPTIONS="debug_symbols=no verbose=yes progress=no builtin_libpng=yes"
- secure: "uch9QszCgsl1qVbuzY41P7S2hWL2IiNFV4SbAYRCdi0oJ9MIu+pVyrQdpf3+jG4rH6j4Rffl+sN17Zz4dIDDioFL1JwqyCqyCyswR8uACC0Rr8gr4Mi3+HIRbv+2s2P4cIQq41JM8FJe84k9jLEMGCGh69w+ibCWoWs74CokYVA="
diff --git a/AUTHORS.md b/AUTHORS.md
index 523f253228..4ae6db35d7 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -41,11 +41,12 @@ name is available.
Ariel Manzur (punto-)
Bastiaan Olij (BastiaanOlij)
Ben Brookshire (sheepandshepherd)
- Benjamin (Nallebeorn)
+ Benjamin Larsson (Nallebeorn)
Bernard Liebl (poke1024)
Błażej Szczygieł (zaps166)
Bojidar Marinov (bojidar-bg)
bruvzg
+ Cameron Reikes (creikey)
Camille Mohr-Daurat (pouleyKetchoupp)
Carl Olsson (not-surt)
Carter Anderson (cart)
@@ -57,7 +58,7 @@ name is available.
Dharkael (lupoDharkael)
Dmitry Koteroff (Krakean)
DualMatrix
- Emmanuel Barroga (sparkart)
+ Emmanuel Barroga (codecustard)
Emmanuel Leblond (touilleMan)
Eric Lasota (elasota)
est31
@@ -70,8 +71,8 @@ name is available.
Gerrit Großkopf (Grosskopf)
Gilles Roudiere (groud)
Guilherme Felipe de C. G. da Silva (guilhermefelipecgs)
- Hanif A (hbina)
- Hein-Pieter van Braam (hpvb)
+ Hanif Bin Ariffin (hbina)
+ Hein-Pieter van Braam-Stewart (hpvb)
Hiroshi Ogawa (hi-ogawa)
homer666
Hubert Jarosz (Marqin)
@@ -109,8 +110,10 @@ name is available.
Max Hilbrunner (mhilbrunner)
merumelu
Michael Alexsander Silva Dias (YeldhamDev)
+ MichiRecRoom (LikeLakers2)
mrezai
Nathan Warden (NathanWarden)
+ Nils André-Chang (NilsIrl)
Nuno Donato (nunodonato)
Ovnuniarchos
Pascal Richter (ShyRed)
@@ -125,10 +128,12 @@ name is available.
Rafał Mikrut (qarmin)
Ralf Hölzemer (rollenrolm)
Ramesh Ravone (RameshRavone)
+ raphael10241024
Ray Koopa (RayKoopa)
Rémi Verschelde (akien-mga)
Rhody Lugo (rraallvv)
Roberto F. Arroyo (robfram)
+ Robin Hübner (profan)
romulox-x
Ruslan Mustakov (endragor)
Saniko (sanikoyes)
@@ -136,11 +141,13 @@ name is available.
SaracenOne
sersoong
Simon Wenner (swenner)
+ Swarnim Arun (minraws)
Theo Hallenius (TheoXD)
Thomas Herzog (karroffel)
Timo (toger5)
Timo Schwarzer (timoschwarzer)
Tomasz Chabora (KoBeWi)
+ Twarit Waikar (IronicallySerious)
Vinzenz Feenstra (vinzenz)
박한얼 (volzhs)
V. Vamsi Krishna (vkbsb)
@@ -149,7 +156,6 @@ name is available.
Wilson E. Alvarez (Rubonnek)
Xavier Cho (mysticfall)
yg2f (SuperUserNameMan)
- Yuri Roubinski (Chaosus)
+ Yuri Roubinsky (Chaosus)
Zher Huei Lee (leezh)
ZuBsPaCe
- Дмитрий Сальников (DmitriySalnikov)
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt
index 94e182e47e..f86b8563ef 100644
--- a/COPYRIGHT.txt
+++ b/COPYRIGHT.txt
@@ -298,12 +298,6 @@ Comment: SMAZ
Copyright: 2006-2009, Salvatore Sanfilippo
License: BSD-3-clause
-Files: ./thirdparty/misc/stb_truetype.h
- ./thirdparty/misc/stb_vorbis.c
-Comment: stb libraries
-Copyright: 2007-2019, Sean Barrett
-License: public-domain
-
Files: ./thirdparty/misc/triangulator.cpp
./thirdparty/misc/triangulator.h
Comment: PolyPartition
diff --git a/DONORS.md b/DONORS.md
index ce58721697..ffb7bf125e 100644
--- a/DONORS.md
+++ b/DONORS.md
@@ -13,6 +13,7 @@ generous deed immortalized in the next stable release of Godot Engine.
## Platinum sponsors
Enjin Coin <https://enjincoin.io>
+ Heroic Labs <https://heroiclabs.com>
## Gold sponsors
@@ -29,6 +30,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Christian Chipont
Christian Uldall Pedersen
Christoph Woinke
+ Darkhan Baimyrza
Denis Malyavin
Edward Flick
Gamechuck
@@ -38,23 +40,25 @@ generous deed immortalized in the next stable release of Godot Engine.
Hein-Pieter van Braam
Jacob McKenney
Javary Co.
+ Jeffery Chiu
Jeppe Zapp
Justin Arnold
Justo Delgado Baudí
Kyle Szklenski
Leonard Meagher
+ Mariano Suligoy
Matthieu Huvé
Maxim Karsten
Mike King
Nathan Warden
Neal Gompa (Conan Kudo)
Patrick Aarstad
+ ScottMakesGames
Slobodan Milnovic
Stephan Lanfermann
Steve
+ Tristan Pemble
VilliHaukka
- Xananax
- Zashi
## Gold donors
@@ -63,8 +67,11 @@ generous deed immortalized in the next stable release of Godot Engine.
Daniel Hartmann
Dave
David Gehrig
+ David Snopek
Ed Morley
Florian Krick
+ Florian Rämisch
+ GiulianoB
Jakub Grzesik
K9Kraken
Manuele Finocchiaro
@@ -72,30 +79,31 @@ generous deed immortalized in the next stable release of Godot Engine.
Retro Village
Ronan Zeegers
Sofox
+ Taylor Ritenour
Zaven Muradyan
Alexander Trey Saunders
Asher Glick
Austen McRae
+ Bernhard Werner
beVR
Brian van der Stel
Cameron MacNair
Carlo Cabanilla
Daniel James
David Giardi
- David Snopek
Default Name
Edward E
Florian Breisch
+ Gamejunkey
Gero
- GiulianoB
Javier Roman
Jay Horton
- Jonathan Turner
+ Joel Höglund
Jon Woodward
Jose Fernando Alexandre
Karl Werf
- Kommentgames
+ Lex Steers
Luke
Maciej Pendolski
Matthew Hillier
@@ -107,11 +115,11 @@ generous deed immortalized in the next stable release of Godot Engine.
Scott Wadden
Sergey
Shawn Yu
- Svenne Krap
thechris
Tom Langwaldt
tukon
- William Wold
+ Unseen Domains
+ wmww
Alex Khayrullin
Branwyn Tylwyth
@@ -122,7 +130,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Craig Smith
Darrian Little
Dean Harmon
- Ian Richard Kunert
Ivan Trombley
Joan Fons
Joshua Flores
@@ -136,10 +143,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Rami
Reneator
Robert Willes
- Robin Arys
Ronnie Ashlock
- ScottMakesGames
- Tad C Johnson
Thomas Bjarnelöf
Vincent Henderson
Wojciech Chojnacki
@@ -148,12 +152,13 @@ generous deed immortalized in the next stable release of Godot Engine.
Adam Neumann
Alexander J Maynard
Alexey Dyadchenko
+ Andreas Funke
André Frélicot
andres eduardo lopez
Andrew Bowen
- Asdf
Ben Botwin
Carlos de Sousa Marques
+ Chase Taranto
Chris Petrich
Christian Leth Jeppesen
Christoph Schröder
@@ -162,9 +167,10 @@ generous deed immortalized in the next stable release of Godot Engine.
Daniel Eichler
David White
Eric
- Eric Churches
Eric Monson
+ Erik Hatfield
Eugenio Hugo Salgüero Jáñez
+ Fain
flesk
gavlig
GGGames.org
@@ -173,14 +179,17 @@ generous deed immortalized in the next stable release of Godot Engine.
Hysteria
Idzard Kwadijk
Jared White
+ Jeremy Sims
+ Jerry Ling
Joe Flood
Jose Malheiro
Joshua Lesperance
Juan T Chen
+ Juan Velandia
Juraj Móza
Kasper Jeppesen
kinfox
- Klaus The.
+ Klaus The
Klavdij Voncina
Maarten Elings
Marcelo Dornbusch Lopes
@@ -191,7 +200,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Matt Eunson
Max Bulai
Max R.R. Collada
- M H
+ MuffinManKen
Nick Nikitin
Oliver Dick
Patrick Ting
@@ -200,7 +209,11 @@ generous deed immortalized in the next stable release of Godot Engine.
Pete Goodwin
pl
Ranoller
+ Robert Larnach
+ Robin Arys
+ Rocknight Studios
Romildo Franco
+ Ryan
Samuel Judd
Scott Pilet
spilldata
@@ -213,11 +226,13 @@ generous deed immortalized in the next stable release of Godot Engine.
## Silver donors
1D_Inc
- Abby Jones
Abraham Haskins
+ Adam
Adam Brunnmeier
Adam Carr
+ Adam Long
Adam Nakonieczny
+ Adam N Webber
Adam Smeltzer
Adisibio
Adrian Demetrescu
@@ -228,14 +243,15 @@ generous deed immortalized in the next stable release of Godot Engine.
Alder Stefano
Alessandro Senese
Alexander Koppe
+ Alexandre
Alex Davies-Moore
Allen Schade
Andreas Evers
Andreas Krampitz
- Andreas Lundmark
Andreas Schüle
André Simões
Andrés Rodríguez
+ Andrew Thomas
Andrzej Skalski
Anthony Bongiovanni
Anthony Staunton
@@ -243,13 +259,16 @@ generous deed immortalized in the next stable release of Godot Engine.
Antony K. Jones
AP Condomines
Arda Erol
+ Arseniy M
Arthur S. Muszynski
+ Atilla Kiran
Aubrey Falconer
Avencherus
B A
Balázs Batári
Beliar
Benedikt
+ Ben G
Ben Phelan
Ben Vercammen
Bernd Jänichen
@@ -257,7 +276,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Blair Allen
Bobby CC Wong
Bryan Stevenson
- Caleb Dumitry
+ Carl van der Geest
Carwyn Edwards
Chris Brown
Chris Chapin
@@ -268,21 +287,20 @@ generous deed immortalized in the next stable release of Godot Engine.
Clay Heaton
Cobaltum
Collin Shooltz
- Dag Sundin Söderström
- Dan H. Bentsen
Daniel Johnson
DanielMaximiano
Daniel Pontillo
Daniel Reed
- Daniel Tebbutt
- David Bullock
David Cravens
David May
David Rapisarda
David Woodard
Dominic Cooney
Dominik Wetzel
+ Donn Eddy
Donovan Hutcheon
+ Dragontrapper
+ Dr Ewan Murray
Duobix
Eduardo Teixeira
Edward Herbert
@@ -318,6 +336,8 @@ generous deed immortalized in the next stable release of Godot Engine.
Iiari
IndustrialRobot
Isaac Morton
+ Jack Newley
+ Jaiden Gerig
Jaime Ruiz-Borau Vizárraga
Jako Danar
James A F Manley
@@ -325,37 +345,41 @@ generous deed immortalized in the next stable release of Godot Engine.
Jed
Jeff Hungerford
Jeff Nyte
+ Jennifer Graves
Jeremy Kahn
Jesse Dubay
+ Joao Senerchia
Joe Alden
Joel Fivat
Joel Setterberg
- Johannes Eichler
Johannes Wuensch
+ John Selig
Jomei Jackson
Jonas Rudlang
Jonas Yamazaki
Jonathan G
- Jonathan Nieto
Jonathon
Jon Bonazza
Jon Sully
Jose Aleman
Jose Andrés Mejias Rojas
+ Jose C. Rubio
Joseph Catrambone
Josh 'Cheeseness' Bush
Juanfran
Juan Negrier
- Juan Velandia
Judd
- Jueast
Julian Murgia
+ JungleRobba
Justin Spedding
Kaiser Bald0
Kamuna
Kauzig
KC Chan
Keedong Park
+ Keith Bradner
+ Kevin Kolcheck
+ Kevin McPhillips
kickmaniac
Kiyohiro Kawamura (kyorohiro)
Kjetil Haugland
@@ -378,12 +402,15 @@ generous deed immortalized in the next stable release of Godot Engine.
Marcus Richter
Markus Lohaus
Markus Michael Egger
+ Martin Candela
Martin Holas
Martin Liška
- Matt Edwards
Matthew Little
+ Maxime Blade
Maxwell
medecau
+ Melissa Mears
+ M H
mhilbrunner
Michael Dürwald
Michael Gringauz
@@ -392,11 +419,10 @@ generous deed immortalized in the next stable release of Godot Engine.
Mikael Olsson
Mikayla Hutchinson
Mike Birkhead
- Mike Cunningham
Mitchell J. Wagner
MoM
- MuffinManKen
Nathan Fish
+ Nathan W
Natrim
nee
Neil Blakey-Milner
@@ -410,13 +436,12 @@ generous deed immortalized in the next stable release of Godot Engine.
Nima Farid
Nithin Jino
NZ
+ Oleg Reva
Olivier
Omar Delarosa
- omzee
Oscar Norlander
Pafka
Pan Ip
- Pat LaBine
Patrick Forringer
Patrick Nafarrete
Paul Gieske
@@ -429,24 +454,25 @@ generous deed immortalized in the next stable release of Godot Engine.
Poryg
Rafa Laguna
Rafal Wyszomirski
+ rainerLinux
Raphael Leroux
Remi Rampin
Rémi Verschelde
Rezgi
Ricardo Alcantara
+ Richard Diss
+ Richard Ivánek
Robert Farr (Larington)
Robert Hernandez
- Robert Larnach
Rodrigo Loli
Roger Smith
Roland RzÄ…sa
Roman Tinkov
Ronan Jouchet
- Ryan
- Ryan Brooks
Ryan Groom
Ryan Hentz
Saad Khoudmi
+ Sam Edson
Samuele Zolfanelli
Sanka.X
Sasori Olkof
@@ -459,20 +485,22 @@ generous deed immortalized in the next stable release of Godot Engine.
Simon Ledam
Simon Wenner
SK
+ smbe19
Sootstone
- Taylor Fahlman
+ Stonepyre
+ Svenne Krap
+ The Architect
thomas
- Thomas Bell
+ Thomas Bechtold
Thomas Kelly
Thomas Kurz
tiansheng li
Tim Drumheller
- Tim Gudex
Timothy B. MacDonald
+ TJRHTK
Tobbun
Tom Fulp
Tom Glenn
- Tom Larrow
Torsten Crass
Travis O'Brien
Trent Skinner
@@ -487,7 +515,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Vigilant Watch
Vincent Cloutier
waka nya
- Walter Byers
Wayne Haak
werner mendizabal
Wiley Thompson
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index 30aaa0e646..d07ba44788 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -481,15 +481,18 @@ Error _OS::shell_open(String p_uri) {
int _OS::execute(const String &p_path, const Vector<String> &p_arguments, bool p_blocking, Array p_output, bool p_read_stderr) {
OS::ProcessID pid = -2;
+ int exitcode = 0;
List<String> args;
for (int i = 0; i < p_arguments.size(); i++)
args.push_back(p_arguments[i]);
String pipe;
- Error err = OS::get_singleton()->execute(p_path, args, p_blocking, &pid, &pipe, NULL, p_read_stderr);
+ Error err = OS::get_singleton()->execute(p_path, args, p_blocking, &pid, &pipe, &exitcode, p_read_stderr);
p_output.clear();
p_output.push_back(pipe);
if (err != OK)
return -1;
+ else if (p_blocking)
+ return exitcode;
else
return pid;
}
diff --git a/core/io/file_access_pack.cpp b/core/io/file_access_pack.cpp
index a4821e0ce8..54ef753b7c 100644
--- a/core/io/file_access_pack.cpp
+++ b/core/io/file_access_pack.cpp
@@ -36,11 +36,11 @@
#define PACK_VERSION 1
-Error PackedData::add_pack(const String &p_path) {
+Error PackedData::add_pack(const String &p_path, bool p_replace_files) {
for (int i = 0; i < sources.size(); i++) {
- if (sources[i]->try_open_pack(p_path)) {
+ if (sources[i]->try_open_pack(p_path, p_replace_files)) {
return OK;
};
@@ -49,7 +49,7 @@ Error PackedData::add_pack(const String &p_path) {
return ERR_FILE_UNRECOGNIZED;
};
-void PackedData::add_path(const String &pkg_path, const String &path, uint64_t ofs, uint64_t size, const uint8_t *p_md5, PackSource *p_src) {
+void PackedData::add_path(const String &pkg_path, const String &path, uint64_t ofs, uint64_t size, const uint8_t *p_md5, PackSource *p_src, bool p_replace_files) {
PathMD5 pmd5(path.md5_buffer());
//printf("adding path %ls, %lli, %lli\n", path.c_str(), pmd5.a, pmd5.b);
@@ -64,7 +64,8 @@ void PackedData::add_path(const String &pkg_path, const String &path, uint64_t o
pf.md5[i] = p_md5[i];
pf.src = p_src;
- files[pmd5] = pf;
+ if (!exists || p_replace_files)
+ files[pmd5] = pf;
if (!exists) {
//search for dir
@@ -133,7 +134,7 @@ PackedData::~PackedData() {
//////////////////////////////////////////////////////////////////
-bool PackedSourcePCK::try_open_pack(const String &p_path) {
+bool PackedSourcePCK::try_open_pack(const String &p_path, bool p_replace_files) {
FileAccess *f = FileAccess::open(p_path, FileAccess::READ);
if (!f)
@@ -196,7 +197,7 @@ bool PackedSourcePCK::try_open_pack(const String &p_path) {
uint64_t size = f->get_64();
uint8_t md5[16];
f->get_buffer(md5, 16);
- PackedData::get_singleton()->add_path(p_path, path, ofs, size, md5, this);
+ PackedData::get_singleton()->add_path(p_path, path, ofs, size, md5, this, p_replace_files);
};
return true;
diff --git a/core/io/file_access_pack.h b/core/io/file_access_pack.h
index a21dd7d22d..8c34069f3a 100644
--- a/core/io/file_access_pack.h
+++ b/core/io/file_access_pack.h
@@ -102,13 +102,13 @@ private:
public:
void add_pack_source(PackSource *p_source);
- void add_path(const String &pkg_path, const String &path, uint64_t ofs, uint64_t size, const uint8_t *p_md5, PackSource *p_src); // for PackSource
+ void add_path(const String &pkg_path, const String &path, uint64_t ofs, uint64_t size, const uint8_t *p_md5, PackSource *p_src, bool p_replace_files); // for PackSource
void set_disabled(bool p_disabled) { disabled = p_disabled; }
_FORCE_INLINE_ bool is_disabled() const { return disabled; }
static PackedData *get_singleton() { return singleton; }
- Error add_pack(const String &p_path);
+ Error add_pack(const String &p_path, bool p_replace_files);
_FORCE_INLINE_ FileAccess *try_open_path(const String &p_path);
_FORCE_INLINE_ bool has_path(const String &p_path);
@@ -120,7 +120,7 @@ public:
class PackSource {
public:
- virtual bool try_open_pack(const String &p_path) = 0;
+ virtual bool try_open_pack(const String &p_path, bool p_replace_files) = 0;
virtual FileAccess *get_file(const String &p_path, PackedData::PackedFile *p_file) = 0;
virtual ~PackSource() {}
};
@@ -128,7 +128,7 @@ public:
class PackedSourcePCK : public PackSource {
public:
- virtual bool try_open_pack(const String &p_path);
+ virtual bool try_open_pack(const String &p_path, bool p_replace_files);
virtual FileAccess *get_file(const String &p_path, PackedData::PackedFile *p_file);
};
diff --git a/core/io/file_access_zip.cpp b/core/io/file_access_zip.cpp
index 81568b2aae..3187f3bab6 100644
--- a/core/io/file_access_zip.cpp
+++ b/core/io/file_access_zip.cpp
@@ -160,7 +160,7 @@ unzFile ZipArchive::get_file_handle(String p_file) const {
return pkg;
}
-bool ZipArchive::try_open_pack(const String &p_path) {
+bool ZipArchive::try_open_pack(const String &p_path, bool p_replace_files) {
//printf("opening zip pack %ls, %i, %i\n", p_name.c_str(), p_name.extension().nocasecmp_to("zip"), p_name.extension().nocasecmp_to("pcz"));
if (p_path.get_extension().nocasecmp_to("zip") != 0 && p_path.get_extension().nocasecmp_to("pcz") != 0)
@@ -210,7 +210,7 @@ bool ZipArchive::try_open_pack(const String &p_path) {
files[fname] = f;
uint8_t md5[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
- PackedData::get_singleton()->add_path(p_path, fname, 1, 0, md5, this);
+ PackedData::get_singleton()->add_path(p_path, fname, 1, 0, md5, this, p_replace_files);
//printf("packed data add path %ls, %ls\n", p_name.c_str(), fname.c_str());
if ((i + 1) < gi.number_entry) {
diff --git a/core/io/file_access_zip.h b/core/io/file_access_zip.h
index 217176c0af..cdd50f9eb3 100644
--- a/core/io/file_access_zip.h
+++ b/core/io/file_access_zip.h
@@ -74,7 +74,7 @@ public:
bool file_exists(String p_name) const;
- virtual bool try_open_pack(const String &p_path);
+ virtual bool try_open_pack(const String &p_path, bool p_replace_files);
FileAccess *get_file(const String &p_path, PackedData::PackedFile *p_file);
static ZipArchive *get_singleton();
diff --git a/core/io/stream_peer_tcp.cpp b/core/io/stream_peer_tcp.cpp
index 310bb12bc0..b9c5896b24 100644
--- a/core/io/stream_peer_tcp.cpp
+++ b/core/io/stream_peer_tcp.cpp
@@ -248,16 +248,7 @@ void StreamPeerTCP::set_no_delay(bool p_enabled) {
bool StreamPeerTCP::is_connected_to_host() const {
- if (status == STATUS_NONE || status == STATUS_ERROR) {
-
- return false;
- }
-
- if (status != STATUS_CONNECTED) {
- return true;
- }
-
- return _sock.is_valid() && _sock->is_open();
+ return _sock.is_valid() && _sock->is_open() && (status == STATUS_CONNECTED || status == STATUS_CONNECTING);
}
StreamPeerTCP::Status StreamPeerTCP::get_status() {
diff --git a/core/math/a_star.cpp b/core/math/a_star.cpp
index 60b7326c29..ae2b56e7b7 100644
--- a/core/math/a_star.cpp
+++ b/core/math/a_star.cpp
@@ -257,14 +257,14 @@ void AStar::reserve_space(int p_num_nodes) {
points.reserve(p_num_nodes);
}
-int AStar::get_closest_point(const Vector3 &p_point) const {
+int AStar::get_closest_point(const Vector3 &p_point, bool p_include_disabled) const {
int closest_id = -1;
real_t closest_dist = 1e20;
for (OAHashMap<int, Point *>::Iterator it = points.iter(); it.valid; it = points.next_iter(it)) {
- if (!(*it.value)->enabled) continue; // Disabled points should not be considered.
+ if (!p_include_disabled && !(*it.value)->enabled) continue; // Disabled points should not be considered.
real_t d = p_point.distance_squared_to((*it.value)->pos);
if (closest_id < 0 || d < closest_dist) {
@@ -540,7 +540,7 @@ void AStar::_bind_methods() {
ClassDB::bind_method(D_METHOD("reserve_space", "num_nodes"), &AStar::reserve_space);
ClassDB::bind_method(D_METHOD("clear"), &AStar::clear);
- ClassDB::bind_method(D_METHOD("get_closest_point", "to_position"), &AStar::get_closest_point);
+ ClassDB::bind_method(D_METHOD("get_closest_point", "to_position", "include_disabled"), &AStar::get_closest_point, DEFVAL(false));
ClassDB::bind_method(D_METHOD("get_closest_position_in_segment", "to_position"), &AStar::get_closest_position_in_segment);
ClassDB::bind_method(D_METHOD("get_point_path", "from_id", "to_id"), &AStar::get_point_path);
@@ -638,8 +638,8 @@ void AStar2D::reserve_space(int p_num_nodes) {
astar.reserve_space(p_num_nodes);
}
-int AStar2D::get_closest_point(const Vector2 &p_point) const {
- return astar.get_closest_point(Vector3(p_point.x, p_point.y, 0));
+int AStar2D::get_closest_point(const Vector2 &p_point, bool p_include_disabled) const {
+ return astar.get_closest_point(Vector3(p_point.x, p_point.y, 0), p_include_disabled);
}
Vector2 AStar2D::get_closest_position_in_segment(const Vector2 &p_point) const {
@@ -693,7 +693,7 @@ void AStar2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("reserve_space", "num_nodes"), &AStar2D::reserve_space);
ClassDB::bind_method(D_METHOD("clear"), &AStar2D::clear);
- ClassDB::bind_method(D_METHOD("get_closest_point", "to_position"), &AStar2D::get_closest_point);
+ ClassDB::bind_method(D_METHOD("get_closest_point", "to_position", "include_disabled"), &AStar2D::get_closest_point, DEFVAL(false));
ClassDB::bind_method(D_METHOD("get_closest_position_in_segment", "to_position"), &AStar2D::get_closest_position_in_segment);
ClassDB::bind_method(D_METHOD("get_point_path", "from_id", "to_id"), &AStar2D::get_point_path);
diff --git a/core/math/a_star.h b/core/math/a_star.h
index ec2a06f07f..0a5d3e992c 100644
--- a/core/math/a_star.h
+++ b/core/math/a_star.h
@@ -141,7 +141,7 @@ public:
void reserve_space(int p_num_nodes);
void clear();
- int get_closest_point(const Vector3 &p_point) const;
+ int get_closest_point(const Vector3 &p_point, bool p_include_disabled = false) const;
Vector3 get_closest_position_in_segment(const Vector3 &p_point) const;
PoolVector<Vector3> get_point_path(int p_from_id, int p_to_id);
@@ -183,7 +183,7 @@ public:
void reserve_space(int p_num_nodes);
void clear();
- int get_closest_point(const Vector2 &p_point) const;
+ int get_closest_point(const Vector2 &p_point, bool p_include_disabled = false) const;
Vector2 get_closest_position_in_segment(const Vector2 &p_point) const;
PoolVector<Vector2> get_point_path(int p_from_id, int p_to_id);
diff --git a/core/oa_hash_map.h b/core/oa_hash_map.h
index 5ea6d8b0d4..1a466e57f4 100644
--- a/core/oa_hash_map.h
+++ b/core/oa_hash_map.h
@@ -37,10 +37,11 @@
#include "core/os/memory.h"
/**
- * A HashMap implementation that uses open addressing with robinhood hashing.
- * Robinhood hashing swaps out entries that have a smaller probing distance
+ * A HashMap implementation that uses open addressing with Robin Hood hashing.
+ * Robin Hood hashing swaps out entries that have a smaller probing distance
* than the to-be-inserted entry, that evens out the average probing distance
- * and enables faster lookups.
+ * and enables faster lookups. Backward shift deletion is employed to further
+ * improve the performance and to avoid infinite loops in rare cases.
*
* The entries are stored inplace, so huge keys or values might fill cache lines
* a lot faster.
@@ -60,25 +61,20 @@ private:
uint32_t num_elements;
static const uint32_t EMPTY_HASH = 0;
- static const uint32_t DELETED_HASH_BIT = 1 << 31;
_FORCE_INLINE_ uint32_t _hash(const TKey &p_key) const {
uint32_t hash = Hasher::hash(p_key);
if (hash == EMPTY_HASH) {
hash = EMPTY_HASH + 1;
- } else if (hash & DELETED_HASH_BIT) {
- hash &= ~DELETED_HASH_BIT;
}
return hash;
}
_FORCE_INLINE_ uint32_t _get_probe_length(uint32_t p_pos, uint32_t p_hash) const {
- p_hash = p_hash & ~DELETED_HASH_BIT; // we don't care if it was deleted or not
-
uint32_t original_pos = p_hash % capacity;
- return (p_pos - original_pos) % capacity;
+ return (p_pos - original_pos + capacity) % capacity;
}
_FORCE_INLINE_ void _construct(uint32_t p_pos, uint32_t p_hash, const TKey &p_key, const TValue &p_value) {
@@ -132,14 +128,6 @@ private:
// not an empty slot, let's check the probing length of the existing one
uint32_t existing_probe_len = _get_probe_length(pos, hashes[pos]);
if (existing_probe_len < distance) {
-
- if (hashes[pos] & DELETED_HASH_BIT) {
- // we found a place where we can fit in!
- _construct(pos, hash, key, value);
-
- return;
- }
-
SWAP(hash, hashes[pos]);
SWAP(key, keys[pos]);
SWAP(value, values[pos]);
@@ -173,9 +161,6 @@ private:
if (old_hashes[i] == EMPTY_HASH) {
continue;
}
- if (old_hashes[i] & DELETED_HASH_BIT) {
- continue;
- }
_insert_with_hash(old_hashes[i], old_keys[i], old_values[i]);
}
@@ -205,10 +190,6 @@ public:
continue;
}
- if (hashes[i] & DELETED_HASH_BIT) {
- continue;
- }
-
hashes[i] = EMPTY_HASH;
values[i].~TValue();
keys[i].~TKey();
@@ -219,7 +200,7 @@ public:
void insert(const TKey &p_key, const TValue &p_value) {
- if ((float)num_elements / (float)capacity > 0.9) {
+ if (num_elements + 1 > 0.9 * capacity) {
_resize_and_rehash();
}
@@ -272,9 +253,20 @@ public:
return;
}
- hashes[pos] |= DELETED_HASH_BIT;
+ uint32_t next_pos = (pos + 1) % capacity;
+ while (hashes[next_pos] != EMPTY_HASH &&
+ _get_probe_length(next_pos, hashes[next_pos]) != 0) {
+ SWAP(hashes[next_pos], hashes[pos]);
+ SWAP(keys[next_pos], keys[pos]);
+ SWAP(values[next_pos], values[pos]);
+ pos = next_pos;
+ next_pos = (pos + 1) % capacity;
+ }
+
+ hashes[pos] = EMPTY_HASH;
values[pos].~TValue();
keys[pos].~TKey();
+
num_elements--;
}
@@ -326,9 +318,6 @@ public:
if (hashes[i] == EMPTY_HASH) {
continue;
}
- if (hashes[i] & DELETED_HASH_BIT) {
- continue;
- }
it.valid = true;
it.key = &keys[i];
diff --git a/core/project_settings.cpp b/core/project_settings.cpp
index 9e3b9bd1e4..c2241ed926 100644
--- a/core/project_settings.cpp
+++ b/core/project_settings.cpp
@@ -264,12 +264,12 @@ void ProjectSettings::_get_property_list(List<PropertyInfo> *p_list) const {
}
}
-bool ProjectSettings::_load_resource_pack(const String &p_pack) {
+bool ProjectSettings::_load_resource_pack(const String &p_pack, bool p_replace_files) {
if (PackedData::get_singleton()->is_disabled())
return false;
- bool ok = PackedData::get_singleton()->add_pack(p_pack) == OK;
+ bool ok = PackedData::get_singleton()->add_pack(p_pack, p_replace_files) == OK;
if (!ok)
return false;
@@ -979,7 +979,7 @@ void ProjectSettings::_bind_methods() {
ClassDB::bind_method(D_METHOD("localize_path", "path"), &ProjectSettings::localize_path);
ClassDB::bind_method(D_METHOD("globalize_path", "path"), &ProjectSettings::globalize_path);
ClassDB::bind_method(D_METHOD("save"), &ProjectSettings::save);
- ClassDB::bind_method(D_METHOD("load_resource_pack", "pack"), &ProjectSettings::_load_resource_pack);
+ ClassDB::bind_method(D_METHOD("load_resource_pack", "pack", "replace_files"), &ProjectSettings::_load_resource_pack, DEFVAL(true));
ClassDB::bind_method(D_METHOD("property_can_revert", "name"), &ProjectSettings::property_can_revert);
ClassDB::bind_method(D_METHOD("property_get_revert", "name"), &ProjectSettings::property_get_revert);
diff --git a/core/project_settings.h b/core/project_settings.h
index a8deab028c..b32470361b 100644
--- a/core/project_settings.h
+++ b/core/project_settings.h
@@ -104,7 +104,7 @@ protected:
void _convert_to_last_version(int p_from_version);
- bool _load_resource_pack(const String &p_pack);
+ bool _load_resource_pack(const String &p_pack, bool p_replace_files = true);
void _add_property_info_bind(const Dictionary &p_info);
diff --git a/core/reference.cpp b/core/reference.cpp
index 1984af9a34..92bbdacd5d 100644
--- a/core/reference.cpp
+++ b/core/reference.cpp
@@ -36,12 +36,7 @@ bool Reference::init_ref() {
if (reference()) {
- // this may fail in the scenario of two threads assigning the pointer for the FIRST TIME
- // at the same time, which is never likely to happen (would be crazy to do)
- // so don't do it.
-
- if (refcount_init.get() > 0) {
- refcount_init.unref();
+ if (!is_referenced() && refcount_init.unref()) {
unreference(); // first referencing is already 1, so compensate for the ref above
}
@@ -64,9 +59,11 @@ int Reference::reference_get_count() const {
}
bool Reference::reference() {
- bool success = refcount.ref();
- if (success && refcount.get() <= 2 /* higher is not relevant */) {
+ uint32_t rc_val = refcount.refval();
+ bool success = rc_val != 0;
+
+ if (success && rc_val <= 2 /* higher is not relevant */) {
if (get_script_instance()) {
get_script_instance()->refcount_incremented();
}
@@ -84,9 +81,10 @@ bool Reference::reference() {
bool Reference::unreference() {
- bool die = refcount.unref();
+ uint32_t rc_val = refcount.unrefval();
+ bool die = rc_val == 0;
- if (refcount.get() <= 1 /* higher is not relevant */) {
+ if (rc_val <= 1 /* higher is not relevant */) {
if (get_script_instance()) {
bool script_ret = get_script_instance()->refcount_decremented();
die = die && script_ret;
diff --git a/core/reference.h b/core/reference.h
index 20ee22ddfc..b8d00a94ad 100644
--- a/core/reference.h
+++ b/core/reference.h
@@ -47,7 +47,7 @@ protected:
static void _bind_methods();
public:
- _FORCE_INLINE_ bool is_referenced() const { return refcount_init.get() < 1; }
+ _FORCE_INLINE_ bool is_referenced() const { return refcount_init.get() != 1; }
bool init_ref();
bool reference(); // returns false if refcount is at zero and didn't get increased
bool unreference();
diff --git a/core/safe_refcount.h b/core/safe_refcount.h
index 54f540b0c7..47161eed57 100644
--- a/core/safe_refcount.h
+++ b/core/safe_refcount.h
@@ -177,12 +177,12 @@ struct SafeRefCount {
public:
// destroy() is called when weak_count_ drops to zero.
- _ALWAYS_INLINE_ bool ref() { //true on success
+ _ALWAYS_INLINE_ bool ref() { // true on success
return atomic_conditional_increment(&count) != 0;
}
- _ALWAYS_INLINE_ uint32_t refval() { //true on success
+ _ALWAYS_INLINE_ uint32_t refval() { // none-zero on success
return atomic_conditional_increment(&count);
}
@@ -192,6 +192,11 @@ public:
return atomic_decrement(&count) == 0;
}
+ _ALWAYS_INLINE_ uint32_t unrefval() { // 0 if must be disposed of
+
+ return atomic_decrement(&count);
+ }
+
_ALWAYS_INLINE_ uint32_t get() const { // nothrow
return count;
diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml
index 9ca09371dd..e835af01e8 100644
--- a/doc/classes/AStar.xml
+++ b/doc/classes/AStar.xml
@@ -110,8 +110,10 @@
</return>
<argument index="0" name="to_position" type="Vector3">
</argument>
+ <argument index="1" name="include_disabled" type="bool" default="false">
+ </argument>
<description>
- Returns the ID of the closest point to [code]to_position[/code]. Returns -1 if there are no points in the points pool.
+ Returns the ID of the closest point to [code]to_position[/code], optionally taking disabled points into account. Returns -1 if there are no points in the points pool.
</description>
</method>
<method name="get_closest_position_in_segment" qualifiers="const">
diff --git a/doc/classes/AStar2D.xml b/doc/classes/AStar2D.xml
index 0eff2bd560..3002e3c351 100644
--- a/doc/classes/AStar2D.xml
+++ b/doc/classes/AStar2D.xml
@@ -87,8 +87,10 @@
</return>
<argument index="0" name="to_position" type="Vector2">
</argument>
+ <argument index="1" name="include_disabled" type="bool" default="false">
+ </argument>
<description>
- Returns the ID of the closest point to [code]to_position[/code]. Returns -1 if there are no points in the points pool.
+ Returns the ID of the closest point to [code]to_position[/code], optionally taking disabled points into account. Returns -1 if there are no points in the points pool.
</description>
</method>
<method name="get_closest_position_in_segment" qualifiers="const">
diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml
index b62eb443d9..cd36f4fdf0 100644
--- a/doc/classes/ColorPicker.xml
+++ b/doc/classes/ColorPicker.xml
@@ -97,6 +97,8 @@
</theme_item>
<theme_item name="margin" type="int" default="4">
</theme_item>
+ <theme_item name="overbright_indicator" type="Texture">
+ </theme_item>
<theme_item name="preset_bg" type="Texture">
</theme_item>
<theme_item name="screen_picker" type="Texture">
diff --git a/doc/classes/Crypto.xml b/doc/classes/Crypto.xml
index 4ec405f96c..bce7895973 100644
--- a/doc/classes/Crypto.xml
+++ b/doc/classes/Crypto.xml
@@ -41,7 +41,7 @@
<argument index="0" name="size" type="int">
</argument>
<description>
- Generates an RSA [CryptoKey] that can be used for creating self-signed certificates and passed to [method StreamPeerSSL.acccept_stream].
+ Generates an RSA [CryptoKey] that can be used for creating self-signed certificates and passed to [method StreamPeerSSL.accept_stream].
</description>
</method>
<method name="generate_self_signed_certificate">
diff --git a/doc/classes/CryptoKey.xml b/doc/classes/CryptoKey.xml
index 6db6fea779..8c825c9e1c 100644
--- a/doc/classes/CryptoKey.xml
+++ b/doc/classes/CryptoKey.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
The CryptoKey class represents a cryptographic key. Keys can be loaded and saved like any other [Resource].
- They can be used to generate a self-signed [X509Certificate] via [method Crypto.generate_self_signed] and as private key in [method StreamPeerSSL.accept_stream] along with the appropriate certificate.
+ They can be used to generate a self-signed [X509Certificate] via [method Crypto.generate_self_signed_certificate] and as private key in [method StreamPeerSSL.accept_stream] along with the appropriate certificate.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index 9a943aba51..2b44eb81b1 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -177,6 +177,7 @@
Enables fog's light transmission. If enabled, lets reflections light to be transmitted by the fog.
</member>
<member name="glow_bicubic_upscale" type="bool" setter="set_glow_bicubic_upscale" getter="is_glow_bicubic_upscale_enabled" default="false">
+ Smooths out blockiness created by sampling higher levels.
</member>
<member name="glow_blend_mode" type="int" setter="set_glow_blend_mode" getter="get_glow_blend_mode" enum="Environment.GlowBlendMode" default="2">
Glow blending mode.
@@ -193,10 +194,10 @@
Bleed scale of the HDR glow.
</member>
<member name="glow_hdr_threshold" type="float" setter="set_glow_hdr_bleed_threshold" getter="get_glow_hdr_bleed_threshold" default="1.0">
- Bleed threshold of the HDR glow.
+ Bleed threshold of the HDR glow. In GLES2, this needs to be below 1.0 in order for glow to be visible, a default value of 0.9 works well.
</member>
<member name="glow_intensity" type="float" setter="set_glow_intensity" getter="get_glow_intensity" default="0.8">
- Glow intensity.
+ Glow intensity. In GLES2, this should be increased to 1.5 by default to compensate for not using HDR.
</member>
<member name="glow_levels/1" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
First level of glow (most local).
@@ -220,7 +221,7 @@
Seventh level of glow (most global).
</member>
<member name="glow_strength" type="float" setter="set_glow_strength" getter="get_glow_strength" default="1.0">
- Glow strength.
+ Glow strength. In GLES2, this should be increased to 1.3 by default to compensate for not using HDR.
</member>
<member name="ss_reflections_depth_tolerance" type="float" setter="set_ssr_depth_tolerance" getter="get_ssr_depth_tolerance" default="0.2">
</member>
diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml
index 6ec1545bc7..f7de79913c 100644
--- a/doc/classes/Font.xml
+++ b/doc/classes/Font.xml
@@ -82,7 +82,7 @@
</return>
<argument index="0" name="string" type="String">
</argument>
- <argument index="1" name="p_width" type="float">
+ <argument index="1" name="width" type="float">
</argument>
<description>
</description>
diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml
index 7656a579af..e8c764f412 100644
--- a/doc/classes/GridContainer.xml
+++ b/doc/classes/GridContainer.xml
@@ -4,7 +4,8 @@
Grid container used to arrange elements in a grid like layout.
</brief_description>
<description>
- Grid container will arrange its children in a grid like structure, the grid columns are specified using the [member columns] property and the number of rows will be equal to the number of children in the container divided by the number of columns. For example, if the container has 5 children, and 2 columns, there will be 3 rows in the container. Notice that grid layout will preserve the columns and rows for every size of the container.
+ Grid container will arrange its children in a grid like structure, the grid columns are specified using the [member columns] property and the number of rows will be equal to the number of children in the container divided by the number of columns. For example, if the container has 5 children, and 2 columns, there will be 3 rows in the container.
+ Notice that grid layout will preserve the columns and rows for every size of the container, and that empty columns will be expanded automatically.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml
index c91ddccaa4..1a2d5cab81 100644
--- a/doc/classes/HTTPClient.xml
+++ b/doc/classes/HTTPClient.xml
@@ -69,7 +69,7 @@
[codeblock]
{
"content-length": 12,
- "Content-Type": "application/json; charset=UTF-8",
+ "Content-Type": "application/json; charset=UTF-8",
}
[/codeblock]
</description>
diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml
index 23ce20a434..9e65da8eea 100644
--- a/doc/classes/MainLoop.xml
+++ b/doc/classes/MainLoop.xml
@@ -15,29 +15,29 @@
var quit = false
func _initialize():
- print("Initialized:")
- print(" Starting time: %s" % str(time_elapsed))
+ print("Initialized:")
+ print(" Starting time: %s" % str(time_elapsed))
func _idle(delta):
- time_elapsed += delta
- # Return true to end the main loop
- return quit
+ time_elapsed += delta
+ # Return true to end the main loop.
+ return quit
func _input_event(event):
- # Record keys
- if event is InputEventKey and event.pressed and !event.echo:
- keys_typed.append(OS.get_scancode_string(event.scancode))
- # Quit on Escape press
- if event.scancode == KEY_ESCAPE:
- quit = true
- # Quit on any mouse click
- if event is InputEventMouseButton:
- quit = true
+ # Record keys.
+ if event is InputEventKey and event.pressed and !event.echo:
+ keys_typed.append(OS.get_scancode_string(event.scancode))
+ # Quit on Escape press.
+ if event.scancode == KEY_ESCAPE:
+ quit = true
+ # Quit on any mouse click.
+ if event is InputEventMouseButton:
+ quit = true
func _finalize():
- print("Finalized:")
- print(" End time: %s" % str(time_elapsed))
- print(" Keys typed: %s" % var2str(keys_typed))
+ print("Finalized:")
+ print(" End time: %s" % str(time_elapsed))
+ print(" Keys typed: %s" % var2str(keys_typed))
[/codeblock]
</description>
<tutorials>
diff --git a/doc/classes/MeshLibrary.xml b/doc/classes/MeshLibrary.xml
index 041d1fa80d..44dc4f334f 100644
--- a/doc/classes/MeshLibrary.xml
+++ b/doc/classes/MeshLibrary.xml
@@ -4,7 +4,7 @@
Library of meshes.
</brief_description>
<description>
- Library of meshes. Contains a list of [Mesh] resources, each with name and ID. This resource is used in [GridMap].
+ A library of meshes. Contains a list of [Mesh] resources, each with a name and ID. This resource is used in [GridMap].
</description>
<tutorials>
</tutorials>
@@ -13,7 +13,7 @@
<return type="void">
</return>
<description>
- Clear the library.
+ Clears the library.
</description>
</method>
<method name="create_item">
@@ -22,7 +22,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Create a new item in the library, supplied an id.
+ Create a new item in the library, supplied as an ID.
</description>
</method>
<method name="find_item_by_name" qualifiers="const">
@@ -80,6 +80,8 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Returns a generated item preview (a 3D rendering in isometric perspective).
+ [b]Note:[/b] Since item previews are only generated in an editor context, this function will return an empty [Texture] in a running project.
</description>
</method>
<method name="get_item_shapes" qualifiers="const">
@@ -94,7 +96,7 @@
<return type="int">
</return>
<description>
- Gets an unused id for a new item.
+ Gets an unused ID for a new item.
</description>
</method>
<method name="remove_item">
@@ -114,7 +116,7 @@
<argument index="1" name="mesh" type="Mesh">
</argument>
<description>
- Sets the mesh of the item.
+ Sets the item's mesh.
</description>
</method>
<method name="set_item_name">
@@ -125,7 +127,7 @@
<argument index="1" name="name" type="String">
</argument>
<description>
- Sets the name of the item.
+ Sets the item's name.
</description>
</method>
<method name="set_item_navmesh">
diff --git a/doc/classes/Mutex.xml b/doc/classes/Mutex.xml
index 793696321b..8a294425e6 100644
--- a/doc/classes/Mutex.xml
+++ b/doc/classes/Mutex.xml
@@ -7,6 +7,7 @@
A synchronization mutex (mutual exclusion). This is used to synchronize multiple [Thread]s, and is equivalent to a binary [Semaphore]. It guarantees that only one thread can ever acquire the lock at a time. A mutex can be used to protect a critical section; however, be careful to avoid deadlocks.
</description>
<tutorials>
+ <link>https://docs.godotengine.org/en/latest/tutorials/threads/using_multiple_threads.html</link>
</tutorials>
<methods>
<method name="lock">
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index 9f61245819..9acddb3115 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -105,11 +105,11 @@
This method has slightly different behavior based on whether the [code]blocking[/code] mode is enabled.
If [code]blocking[/code] is [code]true[/code], the Godot thread will pause its execution while waiting for the process to terminate. The shell output of the process will be written to the [code]output[/code] array as a single string. When the process terminates, the Godot thread will resume execution.
If [code]blocking[/code] is [code]false[/code], the Godot thread will continue while the new process runs. It is not possible to retrieve the shell output in non-blocking mode, so [code]output[/code] will be empty.
- The return value also depends on the blocking mode. When blocking, the method will return -2 (no process ID information is available in blocking mode). When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process forking (non-blocking) or opening (blocking) fails, the method will return [code]-1[/code].
+ The return value also depends on the blocking mode. When blocking, the method will return an exit code of the process. When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process forking (non-blocking) or opening (blocking) fails, the method will return [code]-1[/code] or another exit code.
Example of blocking mode and retrieving the shell output:
[codeblock]
var output = []
- OS.execute("ls", ["-l", "/tmp"], true, output)
+ var exit_code = OS.execute("ls", ["-l", "/tmp"], true, output)
[/codeblock]
Example of non-blocking mode, running another instance of the project and storing its process ID:
[codeblock]
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 3da403c681..7d009252c0 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -5,6 +5,7 @@
</brief_description>
<description>
Contains global variables accessible from everywhere. Use [method get_setting], [method set_setting] or [method has_setting] to access them. Variables stored in [code]project.godot[/code] are also loaded into ProjectSettings, making this object very useful for reading custom game configuration options.
+ When naming a Project Settings property, use the full path to the setting including the category. For example, [code]"application/config/name"[/code] for the project name. Category and property names can be viewed in the Project Settings dialog.
</description>
<tutorials>
</tutorials>
@@ -55,6 +56,11 @@
<argument index="0" name="name" type="String">
</argument>
<description>
+ Returns the value of a setting.
+ [b]Example:[/b]
+ [codeblock]
+ print(ProjectSettings.get_setting("application/config/name"))
+ [/codeblock]
</description>
</method>
<method name="globalize_path" qualifiers="const">
@@ -80,9 +86,11 @@
</return>
<argument index="0" name="pack" type="String">
</argument>
+ <argument index="1" name="replace_files" type="bool" default="true">
+ </argument>
<description>
Loads the contents of the .pck or .zip file specified by [code]pack[/code] into the resource filesystem ([code]res://[/code]). Returns [code]true[/code] on success.
- [b]Note:[/b] If a file from [code]pack[/code] shares the same path as a file already in the resource filesystem, any attempts to load that file will use the file from [code]pack[/code].
+ [b]Note:[/b] If a file from [code]pack[/code] shares the same path as a file already in the resource filesystem, any attempts to load that file will use the file from [code]pack[/code] unless [code]replace_files[/code] is set to [code]false[/code].
</description>
</method>
<method name="localize_path" qualifiers="const">
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index ed43f83f05..bd81a48ff5 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -69,9 +69,9 @@
Commonly used to create a one-shot delay timer as in the following example:
[codeblock]
func some_function():
- print("start")
- yield(get_tree().create_timer(1.0), "timeout")
- print("end")
+ print("start")
+ yield(get_tree().create_timer(1.0), "timeout")
+ print("end")
[/codeblock]
</description>
</method>
diff --git a/doc/classes/SceneTreeTimer.xml b/doc/classes/SceneTreeTimer.xml
index a33f875be2..5678833752 100644
--- a/doc/classes/SceneTreeTimer.xml
+++ b/doc/classes/SceneTreeTimer.xml
@@ -8,9 +8,9 @@
As opposed to [Timer], it does not require the instantiation of a node. Commonly used to create a one-shot delay timer as in the following example:
[codeblock]
func some_function():
- print("start")
- yield(get_tree().create_timer(1.0), "timeout")
- print("end")
+ print("Timer started.")
+ yield(get_tree().create_timer(1.0), "timeout")
+ print("Timer ended.")
[/codeblock]
</description>
<tutorials>
diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml
index 7aee5c2951..74970be8b4 100644
--- a/doc/classes/Semaphore.xml
+++ b/doc/classes/Semaphore.xml
@@ -7,6 +7,7 @@
A synchronization semaphore which can be used to synchronize multiple [Thread]s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see [Mutex].
</description>
<tutorials>
+ <link>https://docs.godotengine.org/en/latest/tutorials/threads/using_multiple_threads.html</link>
</tutorials>
<methods>
<method name="post">
diff --git a/doc/classes/Skeleton.xml b/doc/classes/Skeleton.xml
index 27a78cd7d1..7cd95390e6 100644
--- a/doc/classes/Skeleton.xml
+++ b/doc/classes/Skeleton.xml
@@ -54,6 +54,15 @@
Returns the amount of bones in the skeleton.
</description>
</method>
+ <method name="get_bone_custom_pose" qualifiers="const">
+ <return type="Transform">
+ </return>
+ <argument index="0" name="bone_idx" type="int">
+ </argument>
+ <description>
+ Returns the custom pose of the specified bone. Custom pose is applied on top of the rest pose.
+ </description>
+ </method>
<method name="get_bone_global_pose" qualifiers="const">
<return type="Transform">
</return>
@@ -161,6 +170,16 @@
<description>
</description>
</method>
+ <method name="set_bone_custom_pose">
+ <return type="void">
+ </return>
+ <argument index="0" name="bone_idx" type="int">
+ </argument>
+ <argument index="1" name="custom_pose" type="Transform">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="set_bone_disable_rest">
<return type="void">
</return>
diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml
index 153d88f1af..7cfd8c6919 100644
--- a/doc/classes/SurfaceTool.xml
+++ b/doc/classes/SurfaceTool.xml
@@ -167,6 +167,7 @@
</argument>
<description>
Returns a constructed [ArrayMesh] from current information passed in. If an existing [ArrayMesh] is passed in as an argument, will add an extra surface to the existing [ArrayMesh].
+ Default flag is [constant Mesh.ARRAY_COMPRESS_DEFAULT]. See [code]Mesh.ARRAY_COMPRESS_*[/code] constants for other flags.
</description>
</method>
<method name="commit_to_arrays">
diff --git a/doc/classes/TextureProgress.xml b/doc/classes/TextureProgress.xml
index 21b294cf90..479ab865ba 100644
--- a/doc/classes/TextureProgress.xml
+++ b/doc/classes/TextureProgress.xml
@@ -34,7 +34,7 @@
</member>
<member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" override="true" enum="Control.MouseFilter" default="1" />
<member name="nine_patch_stretch" type="bool" setter="set_nine_patch_stretch" getter="get_nine_patch_stretch" default="false">
- If [code]true[/code], Godot treats the bar's textures like in [NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid.
+ If [code]true[/code], Godot treats the bar's textures like in [NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When using a radial [member fill_mode], this setting will enable stretching.
</member>
<member name="radial_center_offset" type="Vector2" setter="set_radial_center_offset" getter="get_radial_center_offset" default="Vector2( 0, 0 )">
Offsets [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE].
diff --git a/doc/classes/Thread.xml b/doc/classes/Thread.xml
index 8f96ab0aed..25e40d4c1f 100644
--- a/doc/classes/Thread.xml
+++ b/doc/classes/Thread.xml
@@ -7,6 +7,7 @@
A unit of execution in a process. Can run methods on [Object]s simultaneously. The use of synchronization via [Mutex] or [Semaphore] is advised if working with shared objects.
</description>
<tutorials>
+ <link>https://docs.godotengine.org/en/latest/tutorials/threads/using_multiple_threads.html</link>
</tutorials>
<methods>
<method name="get_id" qualifiers="const">
diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml
index 04deae6bf5..1ab5c58a30 100644
--- a/doc/classes/TreeItem.xml
+++ b/doc/classes/TreeItem.xml
@@ -84,6 +84,17 @@
Returns the number of buttons in column [code]column[/code]. May be used to get the most recently added button's index, if no index was specified.
</description>
</method>
+ <method name="get_button_tooltip" qualifiers="const">
+ <return type="String">
+ </return>
+ <argument index="0" name="column" type="int">
+ </argument>
+ <argument index="1" name="button_idx" type="int">
+ </argument>
+ <description>
+ Returns the tooltip string for the button at index [code]button_idx[/code] in column [code]column[/code].
+ </description>
+ </method>
<method name="get_cell_mode" qualifiers="const">
<return type="int" enum="TreeItem.TreeCellMode">
</return>
diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml
index 3e80349b13..9b0c6b2604 100644
--- a/doc/classes/VisualShaderNode.xml
+++ b/doc/classes/VisualShaderNode.xml
@@ -51,8 +51,11 @@
<constant name="PORT_TYPE_TRANSFORM" value="3" enum="PortType">
Transform type. Translated to [code]mat4[/code] type in shader code.
</constant>
- <constant name="PORT_TYPE_ICON_COLOR" value="4" enum="PortType">
- Color type. Can be used for return icon type in members dialog (see [method VisualShaderNodeCustom._get_return_icon_type]) - do not use it in other cases!
+ <constant name="PORT_TYPE_SAMPLER" value="4" enum="PortType">
+ Sampler type. Translated to reference of sampler uniform in shader code. Can only be used for input ports in non-uniform nodes.
+ </constant>
+ <constant name="PORT_TYPE_MAX" value="5" enum="PortType">
+ Represents the size of the [enum PortType] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/X509Certificate.xml b/doc/classes/X509Certificate.xml
index 8066f65391..50e9e4e0d4 100644
--- a/doc/classes/X509Certificate.xml
+++ b/doc/classes/X509Certificate.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
The X509Certificate class represents an X509 certificate. Certificates can be loaded and saved like any other [Resource].
- They can be used as the server certificate in [StreamPeerSSL.accept_stream] (along with the proper [CryptoKey]), and to specify the only certificate that should be accepted when connecting to an SSL server via [StreamPeerSSL.connect_to_stream].
+ They can be used as the server certificate in [method StreamPeerSSL.accept_stream] (along with the proper [CryptoKey]), and to specify the only certificate that should be accepted when connecting to an SSL server via [method StreamPeerSSL.connect_to_stream].
</description>
<tutorials>
</tutorials>
diff --git a/doc/tools/makerst.py b/doc/tools/makerst.py
index 8eddc35352..1b27e4a35a 100755
--- a/doc/tools/makerst.py
+++ b/doc/tools/makerst.py
@@ -608,8 +608,10 @@ def rstize_text(text, state): # type: (str, State) -> str
break
pre_text = text[:pos]
+ indent_level = 0
while text[pos + 1] == '\t':
pos += 1
+ indent_level += 1
post_text = text[pos + 1:]
# Handle codeblocks
@@ -633,6 +635,9 @@ def rstize_text(text, state): # type: (str, State) -> str
while code_pos + to_skip + 1 < len(code_text) and code_text[code_pos + to_skip + 1] == '\t':
to_skip += 1
+ if to_skip > indent_level:
+ print_error("Four spaces should be used for indentation within [codeblock], file: {}".format(state.current_class), state)
+
if len(code_text[code_pos + to_skip + 1:]) == 0:
code_text = code_text[:code_pos] + "\n"
code_pos += 1
diff --git a/drivers/gles2/rasterizer_scene_gles2.cpp b/drivers/gles2/rasterizer_scene_gles2.cpp
index a8fa30c709..61bcfff419 100644
--- a/drivers/gles2/rasterizer_scene_gles2.cpp
+++ b/drivers/gles2/rasterizer_scene_gles2.cpp
@@ -778,18 +778,44 @@ void RasterizerSceneGLES2::environment_set_camera_feed_id(RID p_env, int p_camer
}
void RasterizerSceneGLES2::environment_set_dof_blur_far(RID p_env, bool p_enable, float p_distance, float p_transition, float p_amount, VS::EnvironmentDOFBlurQuality p_quality) {
+
Environment *env = environment_owner.getornull(p_env);
ERR_FAIL_COND(!env);
+
+ env->dof_blur_far_enabled = p_enable;
+ env->dof_blur_far_distance = p_distance;
+ env->dof_blur_far_transition = p_transition;
+ env->dof_blur_far_amount = p_amount;
+ env->dof_blur_far_quality = p_quality;
}
void RasterizerSceneGLES2::environment_set_dof_blur_near(RID p_env, bool p_enable, float p_distance, float p_transition, float p_amount, VS::EnvironmentDOFBlurQuality p_quality) {
+
Environment *env = environment_owner.getornull(p_env);
ERR_FAIL_COND(!env);
+
+ env->dof_blur_near_enabled = p_enable;
+ env->dof_blur_near_distance = p_distance;
+ env->dof_blur_near_transition = p_transition;
+ env->dof_blur_near_amount = p_amount;
+ env->dof_blur_near_quality = p_quality;
}
void RasterizerSceneGLES2::environment_set_glow(RID p_env, bool p_enable, int p_level_flags, float p_intensity, float p_strength, float p_bloom_threshold, VS::EnvironmentGlowBlendMode p_blend_mode, float p_hdr_bleed_threshold, float p_hdr_bleed_scale, float p_hdr_luminance_cap, bool p_bicubic_upscale) {
+
Environment *env = environment_owner.getornull(p_env);
ERR_FAIL_COND(!env);
+
+ env->glow_enabled = p_enable;
+ env->glow_levels = p_level_flags;
+ env->glow_intensity = p_intensity;
+ env->glow_strength = p_strength;
+ env->glow_bloom = p_bloom_threshold;
+ env->glow_blend_mode = p_blend_mode;
+ env->glow_hdr_bleed_threshold = p_hdr_bleed_threshold;
+ env->glow_hdr_bleed_scale = p_hdr_bleed_scale;
+ env->glow_hdr_luminance_cap = p_hdr_luminance_cap;
+ env->glow_bicubic_upscale = p_bicubic_upscale;
}
void RasterizerSceneGLES2::environment_set_fog(RID p_env, bool p_enable, float p_begin, float p_end, RID p_gradient_texture) {
@@ -813,8 +839,15 @@ void RasterizerSceneGLES2::environment_set_tonemap(RID p_env, VS::EnvironmentTon
}
void RasterizerSceneGLES2::environment_set_adjustment(RID p_env, bool p_enable, float p_brightness, float p_contrast, float p_saturation, RID p_ramp) {
+
Environment *env = environment_owner.getornull(p_env);
ERR_FAIL_COND(!env);
+
+ env->adjustments_enabled = p_enable;
+ env->adjustments_brightness = p_brightness;
+ env->adjustments_contrast = p_contrast;
+ env->adjustments_saturation = p_saturation;
+ env->color_correction = p_ramp;
}
void RasterizerSceneGLES2::environment_set_fog(RID p_env, bool p_enable, const Color &p_color, const Color &p_sun_color, float p_sun_amount) {
@@ -1174,10 +1207,10 @@ void RasterizerSceneGLES2::_add_geometry_with_material(RasterizerStorageGLES2::G
}
}
-void RasterizerSceneGLES2::_copy_texture_to_front_buffer(GLuint p_texture) {
+void RasterizerSceneGLES2::_copy_texture_to_buffer(GLuint p_texture, GLuint p_buffer) {
//copy to front buffer
- glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->fbo);
+ glBindFramebuffer(GL_FRAMEBUFFER, p_buffer);
glDepthMask(GL_FALSE);
glDisable(GL_DEPTH_TEST);
@@ -2710,6 +2743,451 @@ void RasterizerSceneGLES2::_draw_sky(RasterizerStorageGLES2::Sky *p_sky, const C
storage->shaders.copy.set_conditional(CopyShaderGLES2::USE_CUBEMAP, false);
}
+void RasterizerSceneGLES2::_post_process(Environment *env, const CameraMatrix &p_cam_projection) {
+
+ //copy to front buffer
+
+ glDepthMask(GL_FALSE);
+ glDisable(GL_DEPTH_TEST);
+ glDisable(GL_CULL_FACE);
+ glDisable(GL_BLEND);
+ glDepthFunc(GL_LEQUAL);
+ glColorMask(1, 1, 1, 1);
+
+ //no post process on small, transparent or render targets without an env
+ bool use_post_process = env && !storage->frame.current_rt->flags[RasterizerStorage::RENDER_TARGET_TRANSPARENT];
+ use_post_process = use_post_process && storage->frame.current_rt->width >= 4 && storage->frame.current_rt->height >= 4;
+ use_post_process = use_post_process && storage->frame.current_rt->mip_maps_allocated;
+
+ if (env) {
+ use_post_process = use_post_process && (env->adjustments_enabled || env->glow_enabled || env->dof_blur_far_enabled || env->dof_blur_near_enabled);
+ }
+
+ GLuint next_buffer;
+
+ if (use_post_process) {
+ next_buffer = storage->frame.current_rt->mip_maps[0].sizes[0].fbo;
+ } else {
+ // set next_buffer to front buffer so multisample blit can happen if needed
+ next_buffer = storage->frame.current_rt->fbo;
+ }
+
+ // If using multisample buffer, resolve to post_process_effect buffer or to front buffer
+ if (storage->frame.current_rt && storage->frame.current_rt->multisample_active) {
+#ifdef GLES_OVER_GL
+
+ glBindFramebuffer(GL_READ_FRAMEBUFFER, storage->frame.current_rt->multisample_fbo);
+ glReadBuffer(GL_COLOR_ATTACHMENT0);
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, next_buffer);
+ glBlitFramebuffer(0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, 0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT, GL_NEAREST);
+
+ glBindFramebuffer(GL_READ_FRAMEBUFFER, 0);
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
+#elif IPHONE_ENABLED
+
+ glBindFramebuffer(GL_READ_FRAMEBUFFER, storage->frame.current_rt->multisample_fbo);
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, next_buffer);
+ glResolveMultisampleFramebufferAPPLE();
+
+ glBindFramebuffer(GL_READ_FRAMEBUFFER, 0);
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
+#elif ANDROID_ENABLED
+
+ // In GLES2 Android Blit is not available, so just copy color texture manually
+ _copy_texture_to_buffer(storage->frame.current_rt->multisample_color, next_buffer);
+#endif
+ } else if (use_post_process) {
+ _copy_texture_to_buffer(storage->frame.current_rt->color, storage->frame.current_rt->mip_maps[0].sizes[0].fbo);
+ }
+
+ if (!use_post_process) {
+ return;
+ }
+
+ // Order of operation
+ //1) DOF Blur (first blur, then copy to buffer applying the blur) //only on desktop
+ //2) Bloom (Glow) //only on desktop
+ //3) Adjustments
+
+ // DOF Blur
+
+ if (env->dof_blur_far_enabled) {
+
+ int vp_h = storage->frame.current_rt->height;
+ int vp_w = storage->frame.current_rt->width;
+
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::USE_ORTHOGONAL_PROJECTION, p_cam_projection.is_orthogonal());
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_FAR_BLUR, true);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_LOW, env->dof_blur_far_quality == VS::ENV_DOF_BLUR_QUALITY_LOW);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_MEDIUM, env->dof_blur_far_quality == VS::ENV_DOF_BLUR_QUALITY_MEDIUM);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_HIGH, env->dof_blur_far_quality == VS::ENV_DOF_BLUR_QUALITY_HIGH);
+
+ state.effect_blur_shader.bind();
+ int qsteps[3] = { 4, 10, 20 };
+
+ float radius = (env->dof_blur_far_amount * env->dof_blur_far_amount) / qsteps[env->dof_blur_far_quality];
+
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_BEGIN, env->dof_blur_far_distance);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_END, env->dof_blur_far_distance + env->dof_blur_far_transition);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_DIR, Vector2(1, 0));
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_RADIUS, radius);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::PIXEL_SIZE, Vector2(1.0 / vp_w, 1.0 / vp_h));
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::CAMERA_Z_NEAR, p_cam_projection.get_z_near());
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::CAMERA_Z_FAR, p_cam_projection.get_z_far());
+
+ glActiveTexture(GL_TEXTURE1);
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->depth);
+
+ glActiveTexture(GL_TEXTURE0);
+
+ if (storage->frame.current_rt->mip_maps[0].color) {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].color);
+ } else {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].sizes[0].color);
+ }
+
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+
+ glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->fbo); //copy to front first
+
+ storage->_copy_screen();
+
+ glActiveTexture(GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->color);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_DIR, Vector2(0, 1));
+ glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->mip_maps[0].sizes[0].fbo); // copy to base level
+ storage->_copy_screen();
+
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_FAR_BLUR, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_LOW, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_MEDIUM, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_HIGH, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::USE_ORTHOGONAL_PROJECTION, false);
+ }
+
+ if (env->dof_blur_near_enabled) {
+
+ //convert texture to RGBA format if not already
+ if (!storage->frame.current_rt->used_dof_blur_near) {
+ glActiveTexture(GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->color);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, storage->frame.current_rt->width, storage->frame.current_rt->height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+ }
+
+ int vp_h = storage->frame.current_rt->height;
+ int vp_w = storage->frame.current_rt->width;
+
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::USE_ORTHOGONAL_PROJECTION, p_cam_projection.is_orthogonal());
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_NEAR_BLUR, true);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_NEAR_FIRST_TAP, true);
+
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_LOW, env->dof_blur_near_quality == VS::ENV_DOF_BLUR_QUALITY_LOW);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_MEDIUM, env->dof_blur_near_quality == VS::ENV_DOF_BLUR_QUALITY_MEDIUM);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_HIGH, env->dof_blur_near_quality == VS::ENV_DOF_BLUR_QUALITY_HIGH);
+
+ state.effect_blur_shader.bind();
+ int qsteps[3] = { 4, 10, 20 };
+
+ float radius = (env->dof_blur_near_amount * env->dof_blur_near_amount) / qsteps[env->dof_blur_near_quality];
+
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_BEGIN, env->dof_blur_near_distance);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_END, env->dof_blur_near_distance - env->dof_blur_near_transition);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_DIR, Vector2(1, 0));
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_RADIUS, radius);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::PIXEL_SIZE, Vector2(1.0 / vp_w, 1.0 / vp_h));
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::CAMERA_Z_NEAR, p_cam_projection.get_z_near());
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::CAMERA_Z_FAR, p_cam_projection.get_z_far());
+
+ glActiveTexture(GL_TEXTURE1);
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->depth);
+
+ glActiveTexture(GL_TEXTURE0);
+ if (!storage->frame.current_rt->used_dof_blur_near) {
+ if (storage->frame.current_rt->mip_maps[0].color) {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].color);
+ } else {
+ for (int i = 0; i < storage->frame.current_rt->mip_maps[i].sizes.size(); i++) {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].sizes[i].color);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, storage->frame.current_rt->mip_maps[0].sizes[i].width, storage->frame.current_rt->mip_maps[0].sizes[i].height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+ }
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].sizes[0].color);
+ }
+ }
+
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+
+ glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->fbo); //copy to front first
+
+ storage->_copy_screen();
+
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_NEAR_FIRST_TAP, false);
+ state.effect_blur_shader.bind();
+
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_BEGIN, env->dof_blur_near_distance);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_END, env->dof_blur_near_distance - env->dof_blur_near_transition);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_DIR, Vector2(0, 1));
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::DOF_RADIUS, radius);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::PIXEL_SIZE, Vector2(1.0 / vp_w, 1.0 / vp_h));
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::CAMERA_Z_NEAR, p_cam_projection.get_z_near());
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::CAMERA_Z_FAR, p_cam_projection.get_z_far());
+
+ glActiveTexture(GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->color);
+
+ glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->mip_maps[0].sizes[0].fbo); // copy to base level
+
+ glEnable(GL_BLEND);
+ glBlendEquation(GL_FUNC_ADD);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
+ storage->_copy_screen();
+
+ glDisable(GL_BLEND);
+
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_NEAR_BLUR, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_NEAR_FIRST_TAP, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_LOW, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_MEDIUM, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::DOF_QUALITY_HIGH, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::USE_ORTHOGONAL_PROJECTION, false);
+ storage->frame.current_rt->used_dof_blur_near = true;
+ }
+
+ if (env->dof_blur_near_enabled || env->dof_blur_far_enabled) {
+ //these needed to disable filtering, reenamble
+ glActiveTexture(GL_TEXTURE0);
+ if (storage->frame.current_rt->mip_maps[0].color) {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].color);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+ } else {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].sizes[0].color);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ }
+
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+ }
+
+ //glow
+
+ int max_glow_level = -1;
+ int glow_mask = 0;
+
+ if (env->glow_enabled) {
+
+ for (int i = 0; i < VS::MAX_GLOW_LEVELS; i++) {
+ if (env->glow_levels & (1 << i)) {
+
+ if (i >= storage->frame.current_rt->mip_maps[1].sizes.size()) {
+ max_glow_level = storage->frame.current_rt->mip_maps[1].sizes.size() - 1;
+ glow_mask |= 1 << max_glow_level;
+
+ } else {
+ max_glow_level = i;
+ glow_mask |= (1 << i);
+ }
+ }
+ }
+
+ for (int i = 0; i < (max_glow_level + 1); i++) {
+
+ int vp_w = storage->frame.current_rt->mip_maps[1].sizes[i].width;
+ int vp_h = storage->frame.current_rt->mip_maps[1].sizes[i].height;
+ glViewport(0, 0, vp_w, vp_h);
+ //horizontal pass
+ if (i == 0) {
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::GLOW_FIRST_PASS, true);
+ }
+
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::GLOW_GAUSSIAN_HORIZONTAL, true);
+ state.effect_blur_shader.bind();
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::PIXEL_SIZE, Vector2(1.0 / vp_w, 1.0 / vp_h));
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::LOD, storage->frame.current_rt->mip_maps[0].color ? float(i) : 0.0);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::GLOW_STRENGTH, env->glow_strength);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::LUMINANCE_CAP, env->glow_hdr_luminance_cap);
+
+ glActiveTexture(GL_TEXTURE0);
+
+ if (storage->frame.current_rt->mip_maps[0].color) {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].color);
+ } else {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].sizes[i].color);
+ }
+
+ if (i == 0) {
+
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::GLOW_BLOOM, env->glow_bloom);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::GLOW_HDR_THRESHOLD, env->glow_hdr_bleed_threshold);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::GLOW_HDR_SCALE, env->glow_hdr_bleed_scale);
+ }
+
+ glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->mip_maps[1].sizes[i].fbo);
+ storage->_copy_screen();
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::GLOW_GAUSSIAN_HORIZONTAL, false);
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::GLOW_FIRST_PASS, false);
+
+ //vertical pass
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::GLOW_GAUSSIAN_VERTICAL, true);
+ state.effect_blur_shader.bind();
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::PIXEL_SIZE, Vector2(1.0 / vp_w, 1.0 / vp_h));
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::LOD, storage->frame.current_rt->mip_maps[0].color ? float(i) : 0.0);
+ state.effect_blur_shader.set_uniform(EffectBlurShaderGLES2::GLOW_STRENGTH, env->glow_strength);
+ glActiveTexture(GL_TEXTURE0);
+
+ if (storage->frame.current_rt->mip_maps[0].color) {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[1].color);
+ } else {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[1].sizes[i].color);
+ }
+
+ glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->mip_maps[0].sizes[i + 1].fbo); //next level, since mipmaps[0] starts one level bigger
+ storage->_copy_screen();
+ state.effect_blur_shader.set_conditional(EffectBlurShaderGLES2::GLOW_GAUSSIAN_VERTICAL, false);
+ }
+
+ glViewport(0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height);
+ }
+
+ if (storage->frame.current_rt->external.fbo != 0) {
+ glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->external.fbo);
+ } else {
+ glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->fbo);
+ }
+
+ glActiveTexture(GL_TEXTURE0);
+ if (storage->frame.current_rt->mip_maps[0].color) {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].color);
+ } else {
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].sizes[0].color);
+ }
+
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_FILTER_BICUBIC, env->glow_bicubic_upscale);
+
+ if (max_glow_level >= 0) {
+ if (storage->frame.current_rt->mip_maps[0].color) {
+ for (int i = 0; i < (max_glow_level + 1); i++) {
+
+ if (glow_mask & (1 << i)) {
+ if (i == 0) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL1, true);
+ }
+ if (i == 1) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL2, true);
+ }
+ if (i == 2) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL3, true);
+ }
+ if (i == 3) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL4, true);
+ }
+ if (i == 4) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL5, true);
+ }
+ if (i == 5) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL6, true);
+ }
+ if (i == 6) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL7, true);
+ }
+ }
+ }
+ glActiveTexture(GL_TEXTURE1);
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].color);
+ } else {
+
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_MULTI_TEXTURE_GLOW, true);
+ int active_glow_level = 0;
+ for (int i = 0; i < (max_glow_level + 1); i++) {
+
+ if (glow_mask & (1 << i)) {
+ active_glow_level++;
+ glActiveTexture(GL_TEXTURE0 + active_glow_level);
+ glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->mip_maps[0].sizes[i + 1].color);
+ if (active_glow_level == 1) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL1, true);
+ }
+ if (active_glow_level == 2) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL2, true);
+ }
+ if (active_glow_level == 3) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL3, true);
+ }
+ if (active_glow_level == 4) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL4, true);
+ }
+ if (active_glow_level == 5) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL5, true);
+ }
+ if (active_glow_level == 6) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL6, true);
+ }
+ if (active_glow_level == 7) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL7, true);
+ }
+ }
+ }
+ }
+
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_SCREEN, env->glow_blend_mode == VS::GLOW_BLEND_MODE_SCREEN);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_SOFTLIGHT, env->glow_blend_mode == VS::GLOW_BLEND_MODE_SOFTLIGHT);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_REPLACE, env->glow_blend_mode == VS::GLOW_BLEND_MODE_REPLACE);
+ }
+
+ //Adjustments
+ if (env->adjustments_enabled) {
+
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_BCS, true);
+ RasterizerStorageGLES2::Texture *tex = storage->texture_owner.getornull(env->color_correction);
+ if (tex) {
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_COLOR_CORRECTION, true);
+ glActiveTexture(GL_TEXTURE2);
+ glBindTexture(tex->target, tex->tex_id);
+ }
+ }
+
+ state.tonemap_shader.bind();
+
+ if (max_glow_level >= 0) {
+
+ state.tonemap_shader.set_uniform(TonemapShaderGLES2::GLOW_INTENSITY, env->glow_intensity);
+ int ss[2] = {
+ storage->frame.current_rt->width,
+ storage->frame.current_rt->height,
+ };
+ glUniform2iv(state.tonemap_shader.get_uniform(TonemapShaderGLES2::GLOW_TEXTURE_SIZE), 1, ss);
+ }
+
+ if (env->adjustments_enabled) {
+
+ state.tonemap_shader.set_uniform(TonemapShaderGLES2::BCS, Vector3(env->adjustments_brightness, env->adjustments_contrast, env->adjustments_saturation));
+ }
+
+ storage->_copy_screen();
+
+ //turn off everything used
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL1, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL2, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL3, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL4, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL5, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL6, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_LEVEL7, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_REPLACE, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_SCREEN, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_SOFTLIGHT, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_GLOW_FILTER_BICUBIC, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_MULTI_TEXTURE_GLOW, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_BCS, false);
+ state.tonemap_shader.set_conditional(TonemapShaderGLES2::USE_COLOR_CORRECTION, false);
+}
+
void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, InstanceBase **p_cull_result, int p_cull_count, RID *p_light_cull_result, int p_light_cull_count, RID *p_reflection_probe_cull_result, int p_reflection_probe_cull_count, RID p_environment, RID p_shadow_atlas, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass) {
Transform cam_transform = p_cam_transform;
@@ -3010,7 +3488,7 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const
#elif ANDROID_ENABLED
// In GLES2 AndroidBlit is not available, so just copy color texture manually
- _copy_texture_to_front_buffer(storage->frame.current_rt->multisample_color);
+ _copy_texture_to_buffer(storage->frame.current_rt->multisample_color, storage->frame.current_rt->fbo);
#endif
}
@@ -3031,33 +3509,14 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const
_render_render_list(&render_list.elements[render_list.max_elements - render_list.alpha_element_count], render_list.alpha_element_count, cam_transform, p_cam_projection, p_shadow_atlas, env, env_radiance_tex, 0.0, 0.0, reverse_cull, true, false);
- glDisable(GL_DEPTH_TEST);
-
- if (storage->frame.current_rt && storage->frame.current_rt->multisample_active) {
-#ifdef GLES_OVER_GL
-
- glBindFramebuffer(GL_READ_FRAMEBUFFER, storage->frame.current_rt->multisample_fbo);
- glReadBuffer(GL_COLOR_ATTACHMENT0);
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, storage->frame.current_rt->fbo);
- glBlitFramebuffer(0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, 0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT, GL_NEAREST);
-
- glBindFramebuffer(GL_READ_FRAMEBUFFER, 0);
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
-#elif IPHONE_ENABLED
-
- glBindFramebuffer(GL_READ_FRAMEBUFFER, storage->frame.current_rt->multisample_fbo);
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, storage->frame.current_rt->fbo);
- glResolveMultisampleFramebufferAPPLE();
-
- glBindFramebuffer(GL_READ_FRAMEBUFFER, 0);
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
-#elif ANDROID_ENABLED
-
- // In GLES2 Android Blit is not available, so just copy color texture manually
- _copy_texture_to_front_buffer(storage->frame.current_rt->multisample_color);
-#endif
+ if (p_reflection_probe.is_valid()) {
+ // Rendering to a probe so no need for post_processing
+ return;
}
+ //post process
+ _post_process(env, p_cam_projection);
+
//#define GLES2_SHADOW_ATLAS_DEBUG_VIEW
#ifdef GLES2_SHADOW_ATLAS_DEBUG_VIEW
@@ -3439,6 +3898,8 @@ void RasterizerSceneGLES2::initialize() {
state.scene_shader.set_conditional(SceneShaderGLES2::USE_RGBA_SHADOWS, storage->config.use_rgba_3d_shadows);
state.cube_to_dp_shader.init();
+ state.effect_blur_shader.init();
+ state.tonemap_shader.init();
render_list.init();
diff --git a/drivers/gles2/rasterizer_scene_gles2.h b/drivers/gles2/rasterizer_scene_gles2.h
index 69a2295fc1..7babcfeed1 100644
--- a/drivers/gles2/rasterizer_scene_gles2.h
+++ b/drivers/gles2/rasterizer_scene_gles2.h
@@ -35,10 +35,12 @@
#include "rasterizer_storage_gles2.h"
#include "shaders/cube_to_dp.glsl.gen.h"
+#include "shaders/effect_blur.glsl.gen.h"
#include "shaders/scene.glsl.gen.h"
+#include "shaders/tonemap.glsl.gen.h"
/*
-#include "drivers/gles3/shaders/effect_blur.glsl.gen.h"
+
#include "drivers/gles3/shaders/exposure.glsl.gen.h"
#include "drivers/gles3/shaders/resolve.glsl.gen.h"
#include "drivers/gles3/shaders/scene.glsl.gen.h"
@@ -47,7 +49,6 @@
#include "drivers/gles3/shaders/ssao_blur.glsl.gen.h"
#include "drivers/gles3/shaders/ssao_minify.glsl.gen.h"
#include "drivers/gles3/shaders/subsurf_scattering.glsl.gen.h"
-#include "drivers/gles3/shaders/tonemap.glsl.gen.h"
*/
@@ -99,6 +100,8 @@ public:
SceneShaderGLES2 scene_shader;
CubeToDpShaderGLES2 cube_to_dp_shader;
+ TonemapShaderGLES2 tonemap_shader;
+ EffectBlurShaderGLES2 effect_blur_shader;
GLuint sky_verts;
@@ -114,7 +117,6 @@ public:
// SsaoShaderGLES3 ssao_shader;
// SsaoBlurShaderGLES3 ssao_blur_shader;
// ExposureShaderGLES3 exposure_shader;
- // TonemapShaderGLES3 tonemap_shader;
/*
struct SceneDataUBO {
@@ -362,6 +364,35 @@ public:
int canvas_max_layer;
+ bool glow_enabled;
+ int glow_levels;
+ float glow_intensity;
+ float glow_strength;
+ float glow_bloom;
+ VS::EnvironmentGlowBlendMode glow_blend_mode;
+ float glow_hdr_bleed_threshold;
+ float glow_hdr_bleed_scale;
+ float glow_hdr_luminance_cap;
+ bool glow_bicubic_upscale;
+
+ bool dof_blur_far_enabled;
+ float dof_blur_far_distance;
+ float dof_blur_far_transition;
+ float dof_blur_far_amount;
+ VS::EnvironmentDOFBlurQuality dof_blur_far_quality;
+
+ bool dof_blur_near_enabled;
+ float dof_blur_near_distance;
+ float dof_blur_near_transition;
+ float dof_blur_near_amount;
+ VS::EnvironmentDOFBlurQuality dof_blur_near_quality;
+
+ bool adjustments_enabled;
+ float adjustments_brightness;
+ float adjustments_contrast;
+ float adjustments_saturation;
+ RID color_correction;
+
bool fog_enabled;
Color fog_color;
Color fog_sun_color;
@@ -387,6 +418,30 @@ public:
ambient_energy(1.0),
ambient_sky_contribution(0.0),
canvas_max_layer(0),
+ glow_enabled(false),
+ glow_levels((1 << 2) | (1 << 4)),
+ glow_intensity(0.8),
+ glow_strength(1.0),
+ glow_bloom(0.0),
+ glow_blend_mode(VS::GLOW_BLEND_MODE_SOFTLIGHT),
+ glow_hdr_bleed_threshold(1.0),
+ glow_hdr_bleed_scale(2.0),
+ glow_hdr_luminance_cap(12.0),
+ glow_bicubic_upscale(false),
+ dof_blur_far_enabled(false),
+ dof_blur_far_distance(10),
+ dof_blur_far_transition(5),
+ dof_blur_far_amount(0.1),
+ dof_blur_far_quality(VS::ENV_DOF_BLUR_QUALITY_MEDIUM),
+ dof_blur_near_enabled(false),
+ dof_blur_near_distance(2),
+ dof_blur_near_transition(1),
+ dof_blur_near_amount(0.1),
+ dof_blur_near_quality(VS::ENV_DOF_BLUR_QUALITY_MEDIUM),
+ adjustments_enabled(false),
+ adjustments_brightness(1.0),
+ adjustments_contrast(1.0),
+ adjustments_saturation(1.0),
fog_enabled(false),
fog_color(Color(0.5, 0.5, 0.5)),
fog_sun_color(Color(0.8, 0.8, 0.0)),
@@ -674,7 +729,7 @@ public:
void _add_geometry(RasterizerStorageGLES2::Geometry *p_geometry, InstanceBase *p_instance, RasterizerStorageGLES2::GeometryOwner *p_owner, int p_material, bool p_depth_pass, bool p_shadow_pass);
void _add_geometry_with_material(RasterizerStorageGLES2::Geometry *p_geometry, InstanceBase *p_instance, RasterizerStorageGLES2::GeometryOwner *p_owner, RasterizerStorageGLES2::Material *p_material, bool p_depth_pass, bool p_shadow_pass);
- void _copy_texture_to_front_buffer(GLuint texture);
+ void _copy_texture_to_buffer(GLuint p_texture, GLuint p_buffer);
void _fill_render_list(InstanceBase **p_cull_result, int p_cull_count, bool p_depth_pass, bool p_shadow_pass);
void _render_render_list(RenderList::Element **p_elements, int p_element_count,
const Transform &p_view_transform,
@@ -698,6 +753,8 @@ public:
_FORCE_INLINE_ void _setup_refprobes(ReflectionProbeInstance *p_refprobe1, ReflectionProbeInstance *p_refprobe2, const Transform &p_view_transform, Environment *p_env);
_FORCE_INLINE_ void _render_geometry(RenderList::Element *p_element);
+ void _post_process(Environment *env, const CameraMatrix &p_cam_projection);
+
virtual void render_scene(const Transform &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, InstanceBase **p_cull_result, int p_cull_count, RID *p_light_cull_result, int p_light_cull_count, RID *p_reflection_probe_cull_result, int p_reflection_probe_cull_count, RID p_environment, RID p_shadow_atlas, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass);
virtual void render_shadow(RID p_light, RID p_shadow_atlas, int p_pass, InstanceBase **p_cull_result, int p_cull_count);
virtual bool free(RID p_rid);
diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp
index 9f511cd787..6faf76e395 100644
--- a/drivers/gles2/rasterizer_storage_gles2.cpp
+++ b/drivers/gles2/rasterizer_storage_gles2.cpp
@@ -82,6 +82,8 @@ GLuint RasterizerStorageGLES2::system_fbo = 0;
#define _DEPTH_COMPONENT24_OES 0x81A6
#ifndef GLES_OVER_GL
+#define glClearDepth glClearDepthf
+
// enable extensions manually for android and ios
#include <dlfcn.h> // needed to load extensions
@@ -1480,8 +1482,9 @@ void RasterizerStorageGLES2::_update_shader(Shader *p_shader) const {
}
Error err = shaders.compiler.compile(p_shader->mode, p_shader->code, actions, p_shader->path, gen_code);
-
- ERR_FAIL_COND(err != OK);
+ if (err != OK) {
+ return;
+ }
p_shader->shader->set_custom_shader_code(p_shader->custom_code_id, gen_code.vertex, gen_code.vertex_global, gen_code.fragment, gen_code.light, gen_code.fragment_global, gen_code.uniforms, gen_code.texture_uniforms, gen_code.custom_defines);
@@ -4586,6 +4589,9 @@ void RasterizerStorageGLES2::_render_target_allocate(RenderTarget *rt) {
color_format = GL_RGB;
}
+ rt->used_dof_blur_near = false;
+ rt->mip_maps_allocated = false;
+
{
/* Front FBO */
@@ -4780,6 +4786,126 @@ void RasterizerStorageGLES2::_render_target_allocate(RenderTarget *rt) {
}
}
+ // Allocate mipmap chains for post_process effects
+ if (!rt->flags[RasterizerStorage::RENDER_TARGET_NO_3D] && rt->width >= 2 && rt->height >= 2) {
+
+ for (int i = 0; i < 2; i++) {
+
+ ERR_FAIL_COND(rt->mip_maps[i].sizes.size());
+ int w = rt->width;
+ int h = rt->height;
+
+ if (i > 0) {
+ w >>= 1;
+ h >>= 1;
+ }
+
+ int level = 0;
+ int fb_w = w;
+ int fb_h = h;
+
+ while (true) {
+
+ RenderTarget::MipMaps::Size mm;
+ mm.width = w;
+ mm.height = h;
+ rt->mip_maps[i].sizes.push_back(mm);
+
+ w >>= 1;
+ h >>= 1;
+
+ if (w < 2 || h < 2)
+ break;
+
+ level++;
+ }
+
+ GLsizei width = fb_w;
+ GLsizei height = fb_h;
+
+ if (config.render_to_mipmap_supported) {
+
+ glGenTextures(1, &rt->mip_maps[i].color);
+ glBindTexture(GL_TEXTURE_2D, rt->mip_maps[i].color);
+
+ for (int l = 0; l < level + 1; l++) {
+ glTexImage2D(GL_TEXTURE_2D, l, color_internal_format, width, height, 0, color_format, color_type, NULL);
+ width = MAX(1, (width / 2));
+ height = MAX(1, (height / 2));
+ }
+#ifdef GLES_OVER_GL
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, level);
+#endif
+ } else {
+
+ // Can't render to specific levels of a mipmap in ES 2.0 or Webgl so create a texture for each level
+ for (int l = 0; l < level + 1; l++) {
+ glGenTextures(1, &rt->mip_maps[i].sizes.write[l].color);
+ glBindTexture(GL_TEXTURE_2D, rt->mip_maps[i].sizes[l].color);
+ glTexImage2D(GL_TEXTURE_2D, 0, color_internal_format, width, height, 0, color_format, color_type, NULL);
+ width = MAX(1, (width / 2));
+ height = MAX(1, (height / 2));
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+ }
+ }
+
+ glDisable(GL_SCISSOR_TEST);
+ glColorMask(1, 1, 1, 1);
+ glDepthMask(GL_TRUE);
+
+ for (int j = 0; j < rt->mip_maps[i].sizes.size(); j++) {
+
+ RenderTarget::MipMaps::Size &mm = rt->mip_maps[i].sizes.write[j];
+
+ glGenFramebuffers(1, &mm.fbo);
+ glBindFramebuffer(GL_FRAMEBUFFER, mm.fbo);
+
+ if (config.render_to_mipmap_supported) {
+
+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, rt->mip_maps[i].color, j);
+ } else {
+
+ glBindTexture(GL_TEXTURE_2D, rt->mip_maps[i].sizes[j].color);
+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, rt->mip_maps[i].sizes[j].color, 0);
+ }
+
+ bool used_depth = false;
+ if (j == 0 && i == 0) { //use always
+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, rt->depth, 0);
+ used_depth = true;
+ }
+
+ GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
+ if (status != GL_FRAMEBUFFER_COMPLETE) {
+ WARN_PRINT_ONCE("Cannot allocate mipmaps for 3D post processing effects");
+ glBindFramebuffer(GL_FRAMEBUFFER, RasterizerStorageGLES2::system_fbo);
+ return;
+ }
+
+ glClearColor(1.0, 0.0, 1.0, 0.0);
+ glClear(GL_COLOR_BUFFER_BIT);
+ if (used_depth) {
+ glClearDepth(1.0);
+ glClear(GL_DEPTH_BUFFER_BIT);
+ }
+ }
+
+ rt->mip_maps[i].levels = level;
+
+ if (config.render_to_mipmap_supported) {
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+ }
+ }
+ rt->mip_maps_allocated = true;
+ }
+
glBindFramebuffer(GL_FRAMEBUFFER, RasterizerStorageGLES2::system_fbo);
}
@@ -4837,6 +4963,20 @@ void RasterizerStorageGLES2::_render_target_clear(RenderTarget *rt) {
rt->copy_screen_effect.color = 0;
}
+ for (int i = 0; i < 2; i++) {
+ if (rt->mip_maps[i].sizes.size()) {
+ for (int j = 0; j < rt->mip_maps[i].sizes.size(); j++) {
+ glDeleteFramebuffers(1, &rt->mip_maps[i].sizes[j].fbo);
+ glDeleteTextures(1, &rt->mip_maps[i].sizes[j].color);
+ }
+
+ glDeleteTextures(1, &rt->mip_maps[i].color);
+ rt->mip_maps[i].sizes.clear();
+ rt->mip_maps[i].levels = 0;
+ rt->mip_maps[i].color = 0;
+ }
+ }
+
if (rt->multisample_active) {
glDeleteFramebuffers(1, &rt->multisample_fbo);
rt->multisample_fbo = 0;
@@ -5617,6 +5757,13 @@ void RasterizerStorageGLES2::initialize() {
config.multisample_supported = config.extensions.has("GL_EXT_framebuffer_multisample") || config.extensions.has("GL_EXT_multisampled_render_to_texture") || config.extensions.has("GL_APPLE_framebuffer_multisample");
#ifdef GLES_OVER_GL
+ config.render_to_mipmap_supported = true;
+#else
+ //check if mipmaps can be used for SCREEN_TEXTURE and Glow on Mobile and web platforms
+ config.render_to_mipmap_supported = config.extensions.has("GL_OES_fbo_render_mipmap") && config.extensions.has("GL_EXT_texture_lod");
+#endif
+
+#ifdef GLES_OVER_GL
config.use_rgba_2d_shadows = false;
config.support_depth_texture = true;
config.use_rgba_3d_shadows = false;
diff --git a/drivers/gles2/rasterizer_storage_gles2.h b/drivers/gles2/rasterizer_storage_gles2.h
index ba9274b576..2e78910614 100644
--- a/drivers/gles2/rasterizer_storage_gles2.h
+++ b/drivers/gles2/rasterizer_storage_gles2.h
@@ -95,6 +95,7 @@ public:
bool support_shadow_cubemaps;
bool multisample_supported;
+ bool render_to_mipmap_supported;
GLuint depth_internalformat;
GLuint depth_type;
@@ -1140,12 +1141,6 @@ public:
GLuint multisample_depth;
bool multisample_active;
- // TODO post processing effects?
-
- // TODO HDR?
-
- // TODO this is hardcoded for texscreen copies for now
-
struct Effect {
GLuint fbo;
int width;
@@ -1163,6 +1158,27 @@ public:
Effect copy_screen_effect;
+ struct MipMaps {
+
+ struct Size {
+ GLuint fbo;
+ GLuint color;
+ int width;
+ int height;
+ };
+
+ Vector<Size> sizes;
+ GLuint color;
+ int levels;
+
+ MipMaps() :
+ color(0),
+ levels(0) {
+ }
+ };
+
+ MipMaps mip_maps[2];
+
struct External {
GLuint fbo;
GLuint color;
@@ -1182,6 +1198,9 @@ public:
RID texture;
+ bool used_dof_blur_near;
+ bool mip_maps_allocated;
+
RenderTarget() :
fbo(0),
color(0),
@@ -1195,7 +1214,9 @@ public:
width(0),
height(0),
used_in_frame(false),
- msaa(VS::VIEWPORT_MSAA_DISABLED) {
+ msaa(VS::VIEWPORT_MSAA_DISABLED),
+ used_dof_blur_near(false),
+ mip_maps_allocated(false) {
for (int i = 0; i < RENDER_TARGET_FLAG_MAX; ++i) {
flags[i] = false;
}
diff --git a/drivers/gles2/shaders/SCsub b/drivers/gles2/shaders/SCsub
index 085c43319c..d7ae0243e6 100644
--- a/drivers/gles2/shaders/SCsub
+++ b/drivers/gles2/shaders/SCsub
@@ -12,12 +12,12 @@ if 'GLES2_GLSL' in env['BUILDERS']:
env.GLES2_GLSL('cube_to_dp.glsl');
# env.GLES2_GLSL('blend_shape.glsl');
# env.GLES2_GLSL('screen_space_reflection.glsl');
-# env.GLES2_GLSL('effect_blur.glsl');
+ env.GLES2_GLSL('effect_blur.glsl');
# env.GLES2_GLSL('subsurf_scattering.glsl');
# env.GLES2_GLSL('ssao.glsl');
# env.GLES2_GLSL('ssao_minify.glsl');
# env.GLES2_GLSL('ssao_blur.glsl');
# env.GLES2_GLSL('exposure.glsl');
-# env.GLES2_GLSL('tonemap.glsl');
+ env.GLES2_GLSL('tonemap.glsl');
# env.GLES2_GLSL('particles.glsl');
env.GLES2_GLSL('lens_distorted.glsl');
diff --git a/drivers/gles2/shaders/canvas_shadow.glsl b/drivers/gles2/shaders/canvas_shadow.glsl
index dcb43d523f..7a5ba4f571 100644
--- a/drivers/gles2/shaders/canvas_shadow.glsl
+++ b/drivers/gles2/shaders/canvas_shadow.glsl
@@ -34,9 +34,14 @@ void main() {
#define mediump
#define highp
#else
+#if defined(USE_HIGHP_PRECISION)
+precision highp float;
+precision highp int;
+#else
precision mediump float;
precision mediump int;
#endif
+#endif
varying highp vec4 position_interp;
/* clang-format on */
diff --git a/drivers/gles2/shaders/cube_to_dp.glsl b/drivers/gles2/shaders/cube_to_dp.glsl
index cb4b3f6dec..769908c3b4 100644
--- a/drivers/gles2/shaders/cube_to_dp.glsl
+++ b/drivers/gles2/shaders/cube_to_dp.glsl
@@ -30,9 +30,14 @@ void main() {
#define mediump
#define highp
#else
+#if defined(USE_HIGHP_PRECISION)
+precision highp float;
+precision highp int;
+#else
precision mediump float;
precision mediump int;
#endif
+#endif
uniform highp samplerCube source_cube; //texunit:0
/* clang-format on */
diff --git a/drivers/gles2/shaders/effect_blur.glsl b/drivers/gles2/shaders/effect_blur.glsl
index df79e89931..b28d78a6ca 100644
--- a/drivers/gles2/shaders/effect_blur.glsl
+++ b/drivers/gles2/shaders/effect_blur.glsl
@@ -1,11 +1,20 @@
/* clang-format off */
[vertex]
-layout(location = 0) in highp vec4 vertex_attrib;
+#ifdef USE_GLES_OVER_GL
+#define lowp
+#define mediump
+#define highp
+#else
+precision highp float;
+precision highp int;
+#endif
+
+attribute vec2 vertex_attrib; // attrib:0
/* clang-format on */
-layout(location = 4) in vec2 uv_in;
+attribute vec2 uv_in; // attrib:4
-out vec2 uv_interp;
+varying vec2 uv_interp;
#ifdef USE_BLUR_SECTION
@@ -16,7 +25,7 @@ uniform vec4 blur_section;
void main() {
uv_interp = uv_in;
- gl_Position = vertex_attrib;
+ gl_Position = vec4(vertex_attrib, 0.0, 1.0);
#ifdef USE_BLUR_SECTION
uv_interp = blur_section.xy + uv_interp * blur_section.zw;
@@ -27,29 +36,46 @@ void main() {
/* clang-format off */
[fragment]
-#if !defined(GLES_OVER_GL)
+// texture2DLodEXT and textureCubeLodEXT are fragment shader specific.
+// Do not copy these defines in the vertex section.
+#ifndef USE_GLES_OVER_GL
+#ifdef GL_EXT_shader_texture_lod
+#extension GL_EXT_shader_texture_lod : enable
+#define texture2DLod(img, coord, lod) texture2DLodEXT(img, coord, lod)
+#define textureCubeLod(img, coord, lod) textureCubeLodEXT(img, coord, lod)
+#endif
+#endif // !USE_GLES_OVER_GL
+
+#ifdef GL_ARB_shader_texture_lod
+#extension GL_ARB_shader_texture_lod : enable
+#endif
+
+#if !defined(GL_EXT_shader_texture_lod) && !defined(GL_ARB_shader_texture_lod)
+#define texture2DLod(img, coord, lod) texture2D(img, coord, lod)
+#define textureCubeLod(img, coord, lod) textureCube(img, coord, lod)
+#endif
+
+#ifdef USE_GLES_OVER_GL
+#define lowp
+#define mediump
+#define highp
+#else
+#if defined(USE_HIGHP_PRECISION)
+precision highp float;
+precision highp int;
+#else
precision mediump float;
+precision mediump int;
+#endif
#endif
-in vec2 uv_interp;
+varying vec2 uv_interp;
/* clang-format on */
uniform sampler2D source_color; //texunit:0
-#ifdef SSAO_MERGE
-uniform sampler2D source_ssao; //texunit:1
-#endif
-
uniform float lod;
uniform vec2 pixel_size;
-layout(location = 0) out vec4 frag_color;
-
-#ifdef SSAO_MERGE
-
-uniform vec4 ssao_color;
-
-#endif
-
#if defined(GLOW_GAUSSIAN_HORIZONTAL) || defined(GLOW_GAUSSIAN_VERTICAL)
uniform float glow_strength;
@@ -58,6 +84,7 @@ uniform float glow_strength;
#if defined(DOF_FAR_BLUR) || defined(DOF_NEAR_BLUR)
+#ifdef USE_GLES_OVER_GL
#ifdef DOF_QUALITY_LOW
const int dof_kernel_size = 5;
const int dof_kernel_from = 2;
@@ -76,6 +103,7 @@ 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
+#endif
uniform sampler2D dof_source_depth; //texunit:1
uniform float dof_begin;
@@ -83,24 +111,11 @@ uniform float dof_end;
uniform vec2 dof_dir;
uniform float dof_radius;
-#ifdef DOF_NEAR_BLUR_MERGE
-
-uniform sampler2D source_dof_original; //texunit:2
-#endif
-
#endif
#ifdef GLOW_FIRST_PASS
-uniform float exposure;
-uniform float white;
-
-#ifdef GLOW_USE_AUTO_EXPOSURE
-
-uniform highp sampler2D source_auto_exposure; //texunit:1
-uniform highp float auto_exposure_grey;
-
-#endif
+uniform highp float luminance_cap;
uniform float glow_bloom;
uniform float glow_hdr_threshold;
@@ -113,60 +128,95 @@ uniform float camera_z_near;
void main() {
-#ifdef GAUSSIAN_HORIZONTAL
+#ifdef GLOW_GAUSSIAN_HORIZONTAL
vec2 pix_size = pixel_size;
pix_size *= 0.5; //reading from larger buffer, so use more samples
- // sigma 2
- 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.131514;
- 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.131514;
- color += textureLod(source_color, uv_interp + vec2(-3.0, 0.0) * pix_size, lod) * 0.071303;
- frag_color = color;
+ vec4 color = texture2DLod(source_color, uv_interp + vec2(0.0, 0.0) * pix_size, lod) * 0.174938;
+ color += texture2DLod(source_color, uv_interp + vec2(1.0, 0.0) * pix_size, lod) * 0.165569;
+ color += texture2DLod(source_color, uv_interp + vec2(2.0, 0.0) * pix_size, lod) * 0.140367;
+ color += texture2DLod(source_color, uv_interp + vec2(3.0, 0.0) * pix_size, lod) * 0.106595;
+ color += texture2DLod(source_color, uv_interp + vec2(-1.0, 0.0) * pix_size, lod) * 0.165569;
+ color += texture2DLod(source_color, uv_interp + vec2(-2.0, 0.0) * pix_size, lod) * 0.140367;
+ color += texture2DLod(source_color, uv_interp + vec2(-3.0, 0.0) * pix_size, lod) * 0.106595;
+ color *= glow_strength;
+ gl_FragColor = 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;
- frag_color = color;
+#ifdef GLOW_GAUSSIAN_VERTICAL
+ vec4 color = texture2DLod(source_color, uv_interp + vec2(0.0, 0.0) * pixel_size, lod) * 0.288713;
+ color += texture2DLod(source_color, uv_interp + vec2(0.0, 1.0) * pixel_size, lod) * 0.233062;
+ color += texture2DLod(source_color, uv_interp + vec2(0.0, 2.0) * pixel_size, lod) * 0.122581;
+ color += texture2DLod(source_color, uv_interp + vec2(0.0, -1.0) * pixel_size, lod) * 0.233062;
+ color += texture2DLod(source_color, uv_interp + vec2(0.0, -2.0) * pixel_size, lod) * 0.122581;
+ color *= glow_strength;
+ gl_FragColor = color;
#endif
- //glow uses larger sigma for a more rounded blur effect
+#ifndef USE_GLES_OVER_GL
+#if defined(DOF_FAR_BLUR) || defined(DOF_NEAR_BLUR)
-#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;
- frag_color = color;
+#ifdef DOF_QUALITY_LOW
+ const int dof_kernel_size = 5;
+ const int dof_kernel_from = 2;
+ float dof_kernel[5];
+ dof_kernel[0] = 0.153388;
+ dof_kernel[1] = 0.221461;
+ dof_kernel[2] = 0.250301;
+ dof_kernel[3] = 0.221461;
+ dof_kernel[4] = 0.153388;
#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;
- frag_color = color;
+#ifdef DOF_QUALITY_MEDIUM
+ const int dof_kernel_size = 11;
+ const int dof_kernel_from = 5;
+ float dof_kernel[11];
+ dof_kernel[0] = 0.055037;
+ dof_kernel[1] = 0.072806;
+ dof_kernel[2] = 0.090506;
+ dof_kernel[3] = 0.105726;
+ dof_kernel[4] = 0.116061;
+ dof_kernel[5] = 0.119726;
+ dof_kernel[6] = 0.116061;
+ dof_kernel[7] = 0.105726;
+ dof_kernel[8] = 0.090506;
+ dof_kernel[9] = 0.072806;
+ dof_kernel[10] = 0.055037;
#endif
+#ifdef DOF_QUALITY_HIGH
+ const int dof_kernel_size = 21;
+ const int dof_kernel_from = 10;
+ float dof_kernel[21];
+ dof_kernel[0] = 0.028174;
+ dof_kernel[1] = 0.032676;
+ dof_kernel[2] = 0.037311;
+ dof_kernel[3] = 0.041944;
+ dof_kernel[4] = 0.046421;
+ dof_kernel[5] = 0.050582;
+ dof_kernel[6] = 0.054261;
+ dof_kernel[7] = 0.057307;
+ dof_kernel[8] = 0.059587;
+ dof_kernel[9] = 0.060998;
+ dof_kernel[10] = 0.061476;
+ dof_kernel[11] = 0.060998;
+ dof_kernel[12] = 0.059587;
+ dof_kernel[13] = 0.057307;
+ dof_kernel[14] = 0.054261;
+ dof_kernel[15] = 0.050582;
+ dof_kernel[16] = 0.046421;
+ dof_kernel[17] = 0.041944;
+ dof_kernel[18] = 0.037311;
+ dof_kernel[19] = 0.032676;
+ dof_kernel[20] = 0.028174;
+#endif
+#endif
+#endif //!USE_GLES_OVER_GL
+
#ifdef DOF_FAR_BLUR
vec4 color_accum = vec4(0.0);
- float depth = textureLod(dof_source_depth, uv_interp, 0.0).r;
+ float depth = texture2DLod(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;
@@ -184,17 +234,17 @@ void main() {
float tap_k = dof_kernel[i];
- float tap_depth = texture(dof_source_depth, tap_uv, 0.0).r;
+ float tap_depth = texture2D(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;
#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);
+ float tap_amount = int_ofs == 0 ? 1.0 : smoothstep(dof_begin, dof_end, tap_depth);
tap_amount *= tap_amount * tap_amount; //prevent undesired glow effect
- vec4 tap_color = textureLod(source_color, tap_uv, 0.0) * tap_k;
+ vec4 tap_color = texture2DLod(source_color, tap_uv, 0.0) * tap_k;
k_accum += tap_k * tap_amount;
color_accum += tap_color * tap_amount;
@@ -204,7 +254,7 @@ void main() {
color_accum /= k_accum;
}
- frag_color = color_accum; ///k_accum;
+ gl_FragColor = color_accum; ///k_accum;
#endif
@@ -212,19 +262,19 @@ void main() {
vec4 color_accum = vec4(0.0);
- float max_accum = 0;
+ float max_accum = 0.0;
for (int i = 0; i < dof_kernel_size; i++) {
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 - abs(float(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 = texture2DLod(source_color, tap_uv, 0.0);
- float tap_depth = texture(dof_source_depth, tap_uv, 0.0).r;
+ float tap_depth = texture2D(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;
@@ -247,46 +297,16 @@ void main() {
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);
-
-#endif
-
-#ifndef DOF_NEAR_FIRST_TAP
- //color_accum=vec4(vec3(color_accum.a),1.0);
-#endif
- frag_color = color_accum;
+ gl_FragColor = color_accum;
#endif
#ifdef GLOW_FIRST_PASS
-#ifdef GLOW_USE_AUTO_EXPOSURE
-
- frag_color /= texelFetch(source_auto_exposure, ivec2(0, 0), 0).r / auto_exposure_grey;
-#endif
- frag_color *= exposure;
-
- float luminance = max(frag_color.r, max(frag_color.g, frag_color.b));
+ float luminance = max(gl_FragColor.r, max(gl_FragColor.g, gl_FragColor.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);
- 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;
-
- frag_color = vec4(mix(color.rgb, color.rgb * mix(ssao_color.rgb, vec3(1.0), ssao), color.a), 1.0);
+ gl_FragColor = min(gl_FragColor * feedback, vec4(luminance_cap));
#endif
}
diff --git a/drivers/gles2/shaders/lens_distorted.glsl b/drivers/gles2/shaders/lens_distorted.glsl
index 81898a75a5..f4ff80ba9a 100644
--- a/drivers/gles2/shaders/lens_distorted.glsl
+++ b/drivers/gles2/shaders/lens_distorted.glsl
@@ -34,8 +34,13 @@ void main() {
#define mediump
#define highp
#else
-precision mediump float;
+#if defined(USE_HIGHP_PRECISION)
+precision highp float;
precision highp int;
+#else
+precision mediump float;
+precision mediump int;
+#endif
#endif
uniform sampler2D source; //texunit:0
diff --git a/drivers/gles2/shaders/tonemap.glsl b/drivers/gles2/shaders/tonemap.glsl
index eae3b5a1ca..585d821626 100644
--- a/drivers/gles2/shaders/tonemap.glsl
+++ b/drivers/gles2/shaders/tonemap.glsl
@@ -1,66 +1,103 @@
/* clang-format off */
[vertex]
-layout(location = 0) in highp vec4 vertex_attrib;
+#ifdef USE_GLES_OVER_GL
+#define lowp
+#define mediump
+#define highp
+#else
+precision highp float;
+precision highp int;
+#endif
+
+attribute vec2 vertex_attrib; // attrib:0
/* clang-format on */
-layout(location = 4) in vec2 uv_in;
+attribute vec2 uv_in; // attrib:4
-out vec2 uv_interp;
+varying vec2 uv_interp;
void main() {
+ gl_Position = vec4(vertex_attrib, 0.0, 1.0);
- gl_Position = vertex_attrib;
uv_interp = uv_in;
-#ifdef V_FLIP
- uv_interp.y = 1.0 - uv_interp.y;
-#endif
}
/* clang-format off */
[fragment]
-#if !defined(GLES_OVER_GL)
-precision mediump float;
+
+// texture2DLodEXT and textureCubeLodEXT are fragment shader specific.
+// Do not copy these defines in the vertex section.
+#ifndef USE_GLES_OVER_GL
+#ifdef GL_EXT_shader_texture_lod
+#extension GL_EXT_shader_texture_lod : enable
+#define texture2DLod(img, coord, lod) texture2DLodEXT(img, coord, lod)
+#define textureCubeLod(img, coord, lod) textureCubeLodEXT(img, coord, lod)
#endif
+#endif // !USE_GLES_OVER_GL
-in vec2 uv_interp;
-/* clang-format on */
+#ifdef GL_ARB_shader_texture_lod
+#extension GL_ARB_shader_texture_lod : enable
+#endif
-uniform highp sampler2D source; //texunit:0
+#if !defined(GL_EXT_shader_texture_lod) && !defined(GL_ARB_shader_texture_lod)
+#define texture2DLod(img, coord, lod) texture2D(img, coord, lod)
+#define textureCubeLod(img, coord, lod) textureCube(img, coord, lod)
+#endif
-uniform float exposure;
-uniform float white;
+// Allows the use of bitshift operators for bicubic upscale
+#ifdef GL_EXT_gpu_shader4
+#extension GL_EXT_gpu_shader4 : enable
+#endif
-#ifdef USE_AUTO_EXPOSURE
+#ifdef USE_GLES_OVER_GL
+#define lowp
+#define mediump
+#define highp
+#else
+#if defined(USE_HIGHP_PRECISION)
+precision highp float;
+precision highp int;
+#else
+precision mediump float;
+precision mediump int;
+#endif
+#endif
-uniform highp sampler2D source_auto_exposure; //texunit:1
-uniform highp float auto_exposure_grey;
+#include "stdlib.glsl"
-#endif
+varying vec2 uv_interp;
+/* clang-format on */
-#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)
+uniform highp sampler2D source; //texunit:0
-uniform highp sampler2D source_glow; //texunit:2
+#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
+
+#ifdef USE_MULTI_TEXTURE_GLOW
+uniform highp sampler2D source_glow1; //texunit:1
+uniform highp sampler2D source_glow2; //texunit:2
+uniform highp sampler2D source_glow3; //texunit:3
+uniform highp sampler2D source_glow4; //texunit:4
+uniform highp sampler2D source_glow5; //texunit:5
+uniform highp sampler2D source_glow6; //texunit:6
+uniform highp sampler2D source_glow7; //texunit:7
+#else
+uniform highp sampler2D source_glow; //texunit:1
+#endif
uniform highp float glow_intensity;
-
#endif
#ifdef USE_BCS
-
uniform vec3 bcs;
-
#endif
#ifdef USE_COLOR_CORRECTION
-
-uniform sampler2D color_correction; //texunit:3
-
+uniform sampler2D color_correction; //texunit:2
#endif
-layout(location = 0) out vec4 frag_color;
-
+#ifdef GL_EXT_gpu_shader4
#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);
@@ -101,8 +138,10 @@ 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 = 1.0 / tex_size;
- uv = uv * tex_size + 0.5;
+ vec2 pixel_size = vec2(1.0) / tex_size;
+
+ uv = uv * tex_size + vec2(0.5);
+
vec2 iuv = floor(uv);
vec2 fuv = fract(uv);
@@ -113,73 +152,97 @@ vec4 texture2D_bicubic(sampler2D tex, vec2 uv, int p_lod) {
float h0y = h0(fuv.y);
float h1y = h1(fuv.y);
- vec2 p0 = (vec2(iuv.x + h0x, iuv.y + h0y) - 0.5) * pixel_size;
- vec2 p1 = (vec2(iuv.x + h1x, iuv.y + h0y) - 0.5) * pixel_size;
- 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;
+ vec2 p0 = (vec2(iuv.x + h0x, iuv.y + h0y) - vec2(0.5)) * pixel_size;
+ vec2 p1 = (vec2(iuv.x + h1x, iuv.y + h0y) - vec2(0.5)) * pixel_size;
+ vec2 p2 = (vec2(iuv.x + h0x, iuv.y + h1y) - vec2(0.5)) * pixel_size;
+ vec2 p3 = (vec2(iuv.x + h1x, iuv.y + h1y) - vec2(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 * texture2DLod(tex, p0, lod) + g1x * texture2DLod(tex, p1, lod))) +
+ (g1(fuv.y) * (g0x * texture2DLod(tex, p2, lod) + g1x * texture2DLod(tex, p3, lod)));
}
#define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) texture2D_bicubic(m_tex, m_uv, m_lod)
+#else //!USE_GLOW_FILTER_BICUBIC
+#define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) texture2DLod(m_tex, m_uv, float(m_lod))
+#endif //USE_GLOW_FILTER_BICUBIC
-#else
+#else //!GL_EXT_gpu_shader4
+#define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) texture2DLod(m_tex, m_uv, float(m_lod))
+#endif //GL_EXT_gpu_shader4
-#define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) textureLod(m_tex, m_uv, float(m_lod))
+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
-vec3 tonemap_filmic(vec3 color, float white) {
+#ifdef USE_GLOW_SOFTLIGHT
+ glow = glow * vec3(0.5) + vec3(0.5);
- float A = 0.15;
- float B = 0.50;
- float C = 0.10;
- float D = 0.20;
- float E = 0.02;
- float F = 0.30;
- float W = 11.2;
+ 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
- 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;
+#if !defined(USE_GLOW_SCREEN) && !defined(USE_GLOW_SOFTLIGHT) && !defined(USE_GLOW_REPLACE) // no other selected -> additive
+ color += glow;
+#endif
- return coltn / whitetn;
+ return color;
}
-vec3 tonemap_aces(vec3 color) {
- float a = 2.51f;
- float b = 0.03f;
- 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));
+vec3 apply_bcs(vec3 color, vec3 bcs) {
+ color = mix(vec3(0.0), color, bcs.x);
+ color = mix(vec3(0.5), color, bcs.y);
+ color = mix(vec3(dot(vec3(1.0), color) * 0.33333), color, bcs.z);
+
+ return color;
}
-vec3 tonemap_reindhart(vec3 color, float white) {
+vec3 apply_color_correction(vec3 color, sampler2D correction_tex) {
+ color.r = texture2D(correction_tex, vec2(color.r, 0.0)).r;
+ color.g = texture2D(correction_tex, vec2(color.g, 0.0)).g;
+ color.b = texture2D(correction_tex, vec2(color.b, 0.0)).b;
- return (color * (1.0 + (color / (white)))) / (1.0 + color);
+ return color;
}
void main() {
+ vec3 color = texture2DLod(source, uv_interp, 0.0).rgb;
- vec4 color = textureLod(source, uv_interp, 0.0);
+ // Glow
-#ifdef USE_AUTO_EXPOSURE
-
- color /= texelFetch(source_auto_exposure, ivec2(0, 0), 0).r / auto_exposure_grey;
+#ifdef USING_GLOW
+ vec3 glow = vec3(0.0);
+#ifdef USE_MULTI_TEXTURE_GLOW
+#ifdef USE_GLOW_LEVEL1
+ glow += GLOW_TEXTURE_SAMPLE(source_glow1, uv_interp, 0).rgb;
+#ifdef USE_GLOW_LEVEL2
+ glow += GLOW_TEXTURE_SAMPLE(source_glow2, uv_interp, 0).rgb;
+#ifdef USE_GLOW_LEVEL3
+ glow += GLOW_TEXTURE_SAMPLE(source_glow3, uv_interp, 0).rgb;
+#ifdef USE_GLOW_LEVEL4
+ glow += GLOW_TEXTURE_SAMPLE(source_glow4, uv_interp, 0).rgb;
+#ifdef USE_GLOW_LEVEL5
+ glow += GLOW_TEXTURE_SAMPLE(source_glow5, uv_interp, 0).rgb;
+#ifdef USE_GLOW_LEVEL6
+ glow += GLOW_TEXTURE_SAMPLE(source_glow6, uv_interp, 0).rgb;
+#ifdef USE_GLOW_LEVEL7
+ glow += GLOW_TEXTURE_SAMPLE(source_glow7, uv_interp, 0).rgb;
+#endif
+#endif
+#endif
+#endif
+#endif
#endif
-
- 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
#endif
-#if defined(USING_GLOW)
- vec3 glow = vec3(0.0);
+#else
#ifdef USE_GLOW_LEVEL1
-
glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 1).rgb;
#endif
@@ -206,100 +269,21 @@ void main() {
#ifdef USE_GLOW_LEVEL7
glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 7).rgb;
#endif
+#endif //USE_MULTI_TEXTURE_GLOW
glow *= glow_intensity;
-
-#endif
-
-#ifdef USE_REINDHART_TONEMAPPER
-
- color.rgb = tonemap_reindhart(color.rgb, white);
-
-#if defined(USING_GLOW)
- glow = tonemap_reindhart(glow, white);
-#endif
-
+ color = apply_glow(color, glow);
#endif
-#ifdef USE_FILMIC_TONEMAPPER
-
- color.rgb = tonemap_filmic(color.rgb, white);
-
-#if defined(USING_GLOW)
- glow = tonemap_filmic(glow, white);
-#endif
-
-#endif
-
-#ifdef USE_ACES_TONEMAPPER
-
- color.rgb = tonemap_aces(color.rgb);
-
-#if defined(USING_GLOW)
- glow = tonemap_aces(glow);
-#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)));
-
-#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)));
-#endif
-
- //glow needs to be added in SRGB space (together with image space effects)
-
- color.rgb = clamp(color.rgb, 0.0, 1.0);
-
-#if defined(USING_GLOW)
- glow = clamp(glow, 0.0, 1.0);
-#endif
-
-#ifdef USE_GLOW_REPLACE
-
- color.rgb = glow;
-
-#endif
-
-#ifdef USE_GLOW_SCREEN
-
- color.rgb = max((color.rgb + glow) - (color.rgb * glow), vec3(0.0));
-
-#endif
-
-#ifdef USE_GLOW_SOFTLIGHT
-
- {
-
- 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)));
- }
-
-#endif
-
-#if defined(USING_GLOW) && !defined(USE_GLOW_SCREEN) && !defined(USE_GLOW_SOFTLIGHT) && !defined(USE_GLOW_REPLACE)
- //additive
- color.rgb += glow;
-#endif
+ // Additional effects
#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 = apply_bcs(color, bcs);
#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 = apply_color_correction(color, color_correction);
#endif
- frag_color = vec4(color.rgb, 1.0);
+ gl_FragColor = vec4(color, 1.0);
}
diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp
index a29831e3f5..95be67a5b7 100644
--- a/drivers/gles3/rasterizer_storage_gles3.cpp
+++ b/drivers/gles3/rasterizer_storage_gles3.cpp
@@ -2168,8 +2168,9 @@ void RasterizerStorageGLES3::_update_shader(Shader *p_shader) const {
}
Error err = shaders.compiler.compile(p_shader->mode, p_shader->code, actions, p_shader->path, gen_code);
-
- ERR_FAIL_COND(err != OK);
+ if (err != OK) {
+ return;
+ }
p_shader->shader->set_custom_shader_code(p_shader->custom_code_id, gen_code.vertex, gen_code.vertex_global, gen_code.fragment, gen_code.light, gen_code.fragment_global, gen_code.uniforms, gen_code.texture_uniforms, gen_code.defines);
diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp
index ac7195abc1..cf47cdc7e8 100644
--- a/drivers/unix/ip_unix.cpp
+++ b/drivers/unix/ip_unix.cpp
@@ -152,7 +152,7 @@ void IP_Unix::get_local_interfaces(Map<String, Interface_Info> *r_interfaces) co
Interface_Info info;
info.name = name;
info.name_friendly = hostname->DisplayName->Data();
- info.index = 0;
+ info.index = String::num_uint64(0);
E = r_interfaces->insert(name, info);
ERR_CONTINUE(!E);
}
diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp
index bc57c0b8df..b3d98a0648 100644
--- a/drivers/unix/os_unix.cpp
+++ b/drivers/unix/os_unix.cpp
@@ -187,7 +187,7 @@ uint64_t OS_Unix::get_system_time_secs() const {
uint64_t OS_Unix::get_system_time_msecs() const {
struct timeval tv_now;
gettimeofday(&tv_now, NULL);
- return uint64_t(tv_now.tv_sec * 1000 + tv_now.tv_usec / 1000);
+ return uint64_t(tv_now.tv_sec) * 1000 + uint64_t(tv_now.tv_usec) / 1000;
}
OS::Date OS_Unix::get_date(bool utc) const {
@@ -314,7 +314,7 @@ Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, bo
}
int rv = pclose(f);
if (r_exitcode)
- *r_exitcode = rv;
+ *r_exitcode = WEXITSTATUS(rv);
return OK;
}
diff --git a/editor/animation_bezier_editor.cpp b/editor/animation_bezier_editor.cpp
index 9194da654c..1283956ae6 100644
--- a/editor/animation_bezier_editor.cpp
+++ b/editor/animation_bezier_editor.cpp
@@ -546,7 +546,7 @@ void AnimationBezierTrackEdit::set_timeline(AnimationTimelineEdit *p_timeline) {
}
void AnimationBezierTrackEdit::set_editor(AnimationTrackEditor *p_editor) {
editor = p_editor;
- connect("clear_selection", editor, "_clear_selection");
+ connect("clear_selection", editor, "_clear_selection", varray(false));
}
void AnimationBezierTrackEdit::_play_position_draw() {
diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp
index fa773b17c2..74e8df60f9 100644
--- a/editor/animation_track_editor.cpp
+++ b/editor/animation_track_editor.cpp
@@ -3080,7 +3080,6 @@ void AnimationTrackEdit::_bind_methods() {
ADD_SIGNAL(MethodInfo("insert_key", PropertyInfo(Variant::REAL, "ofs")));
ADD_SIGNAL(MethodInfo("select_key", PropertyInfo(Variant::INT, "index"), PropertyInfo(Variant::BOOL, "single")));
ADD_SIGNAL(MethodInfo("deselect_key", PropertyInfo(Variant::INT, "index")));
- ADD_SIGNAL(MethodInfo("clear_selection"));
ADD_SIGNAL(MethodInfo("bezier_edit"));
ADD_SIGNAL(MethodInfo("move_selection_begin"));
@@ -4265,7 +4264,6 @@ void AnimationTrackEditor::_update_tracks() {
track_edit->connect("select_key", this, "_key_selected", varray(i), CONNECT_DEFERRED);
track_edit->connect("deselect_key", this, "_key_deselected", varray(i), CONNECT_DEFERRED);
track_edit->connect("bezier_edit", this, "_bezier_edit", varray(i), CONNECT_DEFERRED);
- track_edit->connect("clear_selection", this, "_clear_selection");
track_edit->connect("move_selection_begin", this, "_move_selection_begin");
track_edit->connect("move_selection", this, "_move_selection");
track_edit->connect("move_selection_commit", this, "_move_selection_commit");
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp
index b6cd69c3cd..4c31797c50 100644
--- a/editor/code_editor.cpp
+++ b/editor/code_editor.cpp
@@ -456,10 +456,10 @@ void FindReplaceBar::_show_search(bool p_focus_replace, bool p_show_only) {
void FindReplaceBar::popup_search(bool p_show_only) {
- if (!is_visible())
- replace_text->hide();
+ replace_text->hide();
hbc_button_replace->hide();
hbc_option_replace->hide();
+
_show_search(false, p_show_only);
}
diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp
index cfc2ec11cf..1e5eabc24e 100644
--- a/editor/connections_dialog.cpp
+++ b/editor/connections_dialog.cpp
@@ -108,8 +108,8 @@ public:
};
/*
-Signal automatically called by parent dialog.
-*/
+ * Signal automatically called by parent dialog.
+ */
void ConnectDialog::ok_pressed() {
if (dst_method->get_text() == "") {
@@ -134,8 +134,8 @@ void ConnectDialog::_cancel_pressed() {
}
/*
-Called each time a target node is selected within the target node tree.
-*/
+ * Called each time a target node is selected within the target node tree.
+ */
void ConnectDialog::_tree_node_selected() {
Node *current = tree->get_selected();
@@ -148,8 +148,8 @@ void ConnectDialog::_tree_node_selected() {
}
/*
-Adds a new parameter bind to connection.
-*/
+ * Adds a new parameter bind to connection.
+ */
void ConnectDialog::_add_bind() {
if (cdbinds->params.size() >= VARIANT_ARG_MAX)
@@ -184,8 +184,8 @@ void ConnectDialog::_add_bind() {
}
/*
-Remove parameter bind from connection.
-*/
+ * Remove parameter bind from connection.
+ */
void ConnectDialog::_remove_bind() {
String st = bind_editor->get_selected_path();
@@ -265,18 +265,18 @@ bool ConnectDialog::get_oneshot() const {
}
/*
-Returns true if ConnectDialog is being used to edit an existing connection.
-*/
+ * Returns true if ConnectDialog is being used to edit an existing connection.
+ */
bool ConnectDialog::is_editing() const {
return bEditMode;
}
/*
-Initialize ConnectDialog and populate fields with expected data.
-If creating a connection from scratch, sensible defaults are used.
-If editing an existing connection, previous data is retained.
-*/
+ * Initialize ConnectDialog and populate fields with expected data.
+ * If creating a connection from scratch, sensible defaults are used.
+ * If editing an existing connection, previous data is retained.
+ */
void ConnectDialog::init(Connection c, bool bEdit) {
source = static_cast<Node *>(c.source);
@@ -482,9 +482,9 @@ struct _ConnectionsDockMethodInfoSort {
};
/*
-Post-ConnectDialog callback for creating/editing connections.
-Creates or edits connections based on state of the ConnectDialog when "Connect" is pressed.
-*/
+ * Post-ConnectDialog callback for creating/editing connections.
+ * Creates or edits connections based on state of the ConnectDialog when "Connect" is pressed.
+ */
void ConnectionsDock::_make_or_edit_connection() {
TreeItem *it = tree->get_selected();
@@ -552,8 +552,8 @@ void ConnectionsDock::_make_or_edit_connection() {
}
/*
-Creates single connection w/ undo-redo functionality.
-*/
+ * Creates single connection w/ undo-redo functionality.
+ */
void ConnectionsDock::_connect(Connection cToMake) {
Node *source = static_cast<Node *>(cToMake.source);
@@ -575,8 +575,8 @@ void ConnectionsDock::_connect(Connection cToMake) {
}
/*
-Break single connection w/ undo-redo functionality.
-*/
+ * Break single connection w/ undo-redo functionality.
+ */
void ConnectionsDock::_disconnect(TreeItem &item) {
Connection c = item.get_metadata(0);
@@ -595,9 +595,9 @@ void ConnectionsDock::_disconnect(TreeItem &item) {
}
/*
-Break all connections of currently selected signal.
-Can undo-redo as a single action.
-*/
+ * Break all connections of currently selected signal.
+ * Can undo-redo as a single action.
+ */
void ConnectionsDock::_disconnect_all() {
TreeItem *item = tree->get_selected();
@@ -659,8 +659,8 @@ bool ConnectionsDock::_is_item_signal(TreeItem &item) {
}
/*
-Open connection dialog with TreeItem data to CREATE a brand-new connection.
-*/
+ * Open connection dialog with TreeItem data to CREATE a brand-new connection.
+ */
void ConnectionsDock::_open_connection_dialog(TreeItem &item) {
String signal = item.get_metadata(0).operator Dictionary()["name"];
@@ -700,8 +700,8 @@ void ConnectionsDock::_open_connection_dialog(TreeItem &item) {
}
/*
-Open connection dialog with Connection data to EDIT an existing connection.
-*/
+ * Open connection dialog with Connection data to EDIT an existing connection.
+ */
void ConnectionsDock::_open_connection_dialog(Connection cToEdit) {
Node *src = static_cast<Node *>(cToEdit.source);
@@ -715,8 +715,8 @@ void ConnectionsDock::_open_connection_dialog(Connection cToEdit) {
}
/*
-Open slot method location in script editor.
-*/
+ * Open slot method location in script editor.
+ */
void ConnectionsDock::_go_to_script(TreeItem &item) {
if (_is_item_signal(item))
@@ -914,7 +914,6 @@ void ConnectionsDock::update_tree() {
String signaldesc = "(";
PoolStringArray argnames;
if (mi.arguments.size()) {
- signaldesc += " ";
for (int i = 0; i < mi.arguments.size(); i++) {
PropertyInfo &pi = mi.arguments[i];
@@ -927,10 +926,9 @@ void ConnectionsDock::update_tree() {
} else if (pi.type != Variant::NIL) {
tname = Variant::get_type_name(pi.type);
}
- signaldesc += tname + " " + (pi.name == "" ? String("arg " + itos(i)) : pi.name);
+ signaldesc += (pi.name == "" ? String("arg " + itos(i)) : pi.name) + ": " + tname;
argnames.push_back(pi.name + ":" + tname);
}
- signaldesc += " ";
}
signaldesc += ")";
@@ -1000,14 +998,14 @@ void ConnectionsDock::update_tree() {
path += " (oneshot)";
if (c.binds.size()) {
- path += " binds( ";
+ path += " binds(";
for (int i = 0; i < c.binds.size(); i++) {
if (i > 0)
path += ", ";
path += c.binds[i].operator String();
}
- path += " )";
+ path += ")";
}
TreeItem *item2 = tree->create_item(item);
diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp
index 31095b1100..b331a39535 100644
--- a/editor/editor_audio_buses.cpp
+++ b/editor/editor_audio_buses.cpp
@@ -88,7 +88,7 @@ void EditorAudioBus::_notification(int p_what) {
bypass->set_icon(get_icon("AudioBusBypass", "EditorIcons"));
bypass->add_color_override("icon_color_pressed", bypass_color);
- bus_options->set_icon(get_icon("GuiMiniTabMenu", "EditorIcons"));
+ bus_options->set_icon(get_icon("GuiTabMenu", "EditorIcons"));
update_bus();
set_process(true);
@@ -180,7 +180,7 @@ void EditorAudioBus::_notification(int p_what) {
mute->set_icon(get_icon("AudioBusMute", "EditorIcons"));
bypass->set_icon(get_icon("AudioBusBypass", "EditorIcons"));
- bus_options->set_icon(get_icon("GuiMiniTabMenu", "EditorIcons"));
+ bus_options->set_icon(get_icon("GuiTabMenu", "EditorIcons"));
} break;
case NOTIFICATION_MOUSE_EXIT:
case NOTIFICATION_DRAG_END: {
diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp
index 80aeeef868..02a9cc905b 100644
--- a/editor/editor_file_dialog.cpp
+++ b/editor/editor_file_dialog.cpp
@@ -35,6 +35,7 @@
#include "core/os/os.h"
#include "core/print_string.h"
#include "dependency_editor.h"
+#include "editor_file_system.h"
#include "editor_resource_preview.h"
#include "editor_scale.h"
#include "editor_settings.h"
@@ -1085,7 +1086,7 @@ void EditorFileDialog::_make_dir_confirm() {
update_filters();
update_dir();
_push_history();
-
+ EditorFileSystem::get_singleton()->scan_changes(); //we created a dir, so rescan changes
} else {
mkdirerr->popup_centered_minsize(Size2(250, 50) * EDSCALE);
}
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index df1e8005ed..2c3a84857a 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -2365,6 +2365,9 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
}
}
} break;
+ case RUN_PROJECT_DATA_FOLDER: {
+ OS::get_singleton()->shell_open(String("file://") + OS::get_singleton()->get_user_data_dir());
+ } break;
case FILE_EXPLORE_ANDROID_BUILD_TEMPLATES: {
OS::get_singleton()->shell_open("file://" + ProjectSettings::get_singleton()->get_resource_path().plus_file("android"));
} break;
@@ -2571,8 +2574,6 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
save_all_scenes();
restart_editor();
} break;
- default: {
- }
}
}
@@ -2605,9 +2606,6 @@ void EditorNode::_tool_menu_option(int p_idx) {
case TOOLS_ORPHAN_RESOURCES: {
orphan_resources->show();
} break;
- case RUN_PROJECT_DATA_FOLDER: {
- OS::get_singleton()->shell_open(String("file://") + OS::get_singleton()->get_user_data_dir());
- } break;
case TOOLS_CUSTOM: {
if (tool_menu->get_item_submenu(p_idx) == "") {
Array params = tool_menu->get_item_metadata(p_idx);
@@ -4893,7 +4891,7 @@ Variant EditorNode::drag_files_and_dirs(const Vector<String> &p_paths, Control *
}
int max_rows = 6;
- int num_rows = p_paths.size() > max_rows ? max_rows - 1 : p_paths.size(); //Don't waste a row to say "1 more file" - list it instead.
+ int num_rows = p_paths.size() > max_rows ? max_rows - 1 : p_paths.size(); // Don't waste a row to say "1 more file" - list it instead.
VBoxContainer *vbox = memnew(VBoxContainer);
for (int i = 0; i < num_rows; i++) {
HBoxContainer *hbox = memnew(HBoxContainer);
@@ -4907,6 +4905,7 @@ Variant EditorNode::drag_files_and_dirs(const Vector<String> &p_paths, Control *
label->set_text(p_paths[i].get_file());
icon->set_texture(gui_base->get_icon("File", "EditorIcons"));
}
+ icon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
icon->set_size(Size2(16, 16));
hbox->add_child(icon);
hbox->add_child(label);
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index 9d24e443c4..3ea59115b0 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -666,6 +666,7 @@ void EditorSettings::_load_default_text_editor_theme() {
_initial_set("text_editor/highlighting/keyword_color", Color(1.0, 1.0, 0.7));
_initial_set("text_editor/highlighting/base_type_color", Color(0.64, 1.0, 0.83));
_initial_set("text_editor/highlighting/engine_type_color", Color(0.51, 0.83, 1.0));
+ _initial_set("text_editor/highlighting/user_type_color", Color(0.42, 0.67, 0.93));
_initial_set("text_editor/highlighting/comment_color", Color(0.4, 0.4, 0.4));
_initial_set("text_editor/highlighting/string_color", Color(0.94, 0.43, 0.75));
_initial_set("text_editor/highlighting/background_color", dark_theme ? Color(0.0, 0.0, 0.0, 0.23) : Color(0.2, 0.23, 0.31));
diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp
index 35fe366526..918b0ef96d 100644
--- a/editor/editor_spin_slider.cpp
+++ b/editor/editor_spin_slider.cpp
@@ -109,13 +109,8 @@ void EditorSpinSlider::_gui_input(const Ref<InputEvent> &p_event) {
}
if (grabbing_spinner) {
- if (mm->get_control() || updown_offset != -1) {
- set_value(Math::round(get_value()));
- if (ABS(grabbing_spinner_dist_cache) > 6) {
- set_value(get_value() + SGN(grabbing_spinner_dist_cache));
- grabbing_spinner_dist_cache = 0;
- pre_grab_value = get_value();
- }
+ if (mm->get_control()) {
+ set_value(Math::round(pre_grab_value + get_step() * grabbing_spinner_dist_cache * 10));
} else {
set_value(pre_grab_value + get_step() * grabbing_spinner_dist_cache * 10);
}
diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp
index 14e274b84b..0c7c2c6cc3 100644
--- a/editor/editor_themes.cpp
+++ b/editor/editor_themes.cpp
@@ -203,6 +203,7 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme =
exceptions.push_back("StatusSuccess");
exceptions.push_back("StatusWarning");
exceptions.push_back("NodeWarning");
+ exceptions.push_back("OverbrightIndicator");
ImageLoaderSVG::set_convert_colors(&dark_icon_color_dictionary);
@@ -1104,6 +1105,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_icon("screen_picker", "ColorPicker", theme->get_icon("ColorPick", "EditorIcons"));
theme->set_icon("add_preset", "ColorPicker", theme->get_icon("Add", "EditorIcons"));
theme->set_icon("preset_bg", "ColorPicker", theme->get_icon("GuiMiniCheckerboard", "EditorIcons"));
+ theme->set_icon("overbright_indicator", "ColorPicker", theme->get_icon("OverbrightIndicator", "EditorIcons"));
theme->set_icon("bg", "ColorPickerButton", theme->get_icon("GuiMiniCheckerboard", "EditorIcons"));
@@ -1128,7 +1130,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
const Color symbol_color = Color(0.34, 0.57, 1.0).linear_interpolate(mono_color, dark_theme ? 0.5 : 0.3);
const Color keyword_color = Color(1.0, 0.44, 0.52);
const Color basetype_color = dark_theme ? Color(0.26, 1.0, 0.76) : Color(0.0, 0.76, 0.38);
- const Color type_color = basetype_color.linear_interpolate(mono_color, dark_theme ? 0.7 : 0.5);
+ const Color type_color = basetype_color.linear_interpolate(mono_color, dark_theme ? 0.4 : 0.3);
+ const Color usertype_color = basetype_color.linear_interpolate(mono_color, dark_theme ? 0.7 : 0.5);
const Color comment_color = dim_color;
const Color string_color = (dark_theme ? Color(1.0, 0.85, 0.26) : Color(1.0, 0.82, 0.09)).linear_interpolate(mono_color, dark_theme ? 0.5 : 0.3);
@@ -1167,6 +1170,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
setting->set_initial_value("text_editor/highlighting/keyword_color", keyword_color, true);
setting->set_initial_value("text_editor/highlighting/base_type_color", basetype_color, true);
setting->set_initial_value("text_editor/highlighting/engine_type_color", type_color, true);
+ setting->set_initial_value("text_editor/highlighting/user_type_color", usertype_color, true);
setting->set_initial_value("text_editor/highlighting/comment_color", comment_color, true);
setting->set_initial_value("text_editor/highlighting/string_color", string_color, true);
setting->set_initial_value("text_editor/highlighting/background_color", te_background_color, true);
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index 426ea8f196..e3f0021fbc 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -477,6 +477,7 @@ void FileSystemDock::_navigate_to_path(const String &p_path, bool p_select_in_fa
}
void FileSystemDock::navigate_to_path(const String &p_path) {
+ file_list_search_box->clear();
_navigate_to_path(p_path);
}
@@ -2099,6 +2100,7 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
bool all_folders = true;
bool all_favorites = true;
bool all_not_favorites = true;
+
for (int i = 0; i < p_paths.size(); i++) {
String fpath = p_paths[i];
if (fpath.ends_with("/")) {
@@ -2128,25 +2130,25 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
if (all_files) {
if (all_files_scenes) {
if (filenames.size() == 1) {
- p_popup->add_item(TTR("Open Scene"), FILE_OPEN);
- p_popup->add_item(TTR("New Inherited Scene"), FILE_INHERIT);
+ p_popup->add_icon_item(get_icon("Load", "EditorIcons"), TTR("Open Scene"), FILE_OPEN);
+ p_popup->add_icon_item(get_icon("CreateNewSceneFrom", "EditorIcons"), TTR("New Inherited Scene"), FILE_INHERIT);
} else {
- p_popup->add_item(TTR("Open Scenes"), FILE_OPEN);
+ p_popup->add_icon_item(get_icon("Load", "EditorIcons"), TTR("Open Scenes"), FILE_OPEN);
}
- p_popup->add_item(TTR("Instance"), FILE_INSTANCE);
+ p_popup->add_icon_item(get_icon("Instance", "EditorIcons"), TTR("Instance"), FILE_INSTANCE);
p_popup->add_separator();
} else if (filenames.size() == 1) {
- p_popup->add_item(TTR("Open"), FILE_OPEN);
+ p_popup->add_icon_item(get_icon("Load", "EditorIcons"), TTR("Open"), FILE_OPEN);
p_popup->add_separator();
}
}
if (p_paths.size() >= 1) {
if (!all_favorites) {
- p_popup->add_item(TTR("Add to Favorites"), FILE_ADD_FAVORITE);
+ p_popup->add_icon_item(get_icon("Favorites", "EditorIcons"), TTR("Add to Favorites"), FILE_ADD_FAVORITE);
}
if (!all_not_favorites) {
- p_popup->add_item(TTR("Remove from Favorites"), FILE_REMOVE_FAVORITE);
+ p_popup->add_icon_item(get_icon("NonFavorite", "EditorIcons"), TTR("Remove from Favorites"), FILE_REMOVE_FAVORITE);
}
p_popup->add_separator();
}
@@ -2159,36 +2161,36 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
}
} else if (all_folders && foldernames.size() > 0) {
- p_popup->add_item(TTR("Open"), FILE_OPEN);
+ p_popup->add_icon_item(get_icon("Load", "EditorIcons"), TTR("Open"), FILE_OPEN);
p_popup->add_separator();
}
if (p_paths.size() == 1) {
- p_popup->add_item(TTR("Copy Path"), FILE_COPY_PATH);
+ p_popup->add_icon_item(get_icon("ActionCopy", "EditorIcons"), TTR("Copy Path"), FILE_COPY_PATH);
if (p_paths[0] != "res://") {
- p_popup->add_item(TTR("Rename..."), FILE_RENAME);
- p_popup->add_item(TTR("Duplicate..."), FILE_DUPLICATE);
+ p_popup->add_icon_item(get_icon("Rename", "EditorIcons"), TTR("Rename..."), FILE_RENAME);
+ p_popup->add_icon_item(get_icon("Duplicate", "EditorIcons"), TTR("Duplicate..."), FILE_DUPLICATE);
}
}
if (p_paths.size() > 1 || p_paths[0] != "res://") {
- p_popup->add_item(TTR("Move To..."), FILE_MOVE);
- p_popup->add_item(TTR("Delete"), FILE_REMOVE);
+ p_popup->add_icon_item(get_icon("MoveUp", "EditorIcons"), TTR("Move To..."), FILE_MOVE);
+ p_popup->add_icon_item(get_icon("Remove", "EditorIcons"), TTR("Delete"), FILE_REMOVE);
}
if (p_paths.size() == 1) {
p_popup->add_separator();
if (p_display_path_dependent_options) {
- p_popup->add_item(TTR("New Folder..."), FILE_NEW_FOLDER);
- p_popup->add_item(TTR("New Scene..."), FILE_NEW_SCENE);
- p_popup->add_item(TTR("New Script..."), FILE_NEW_SCRIPT);
- p_popup->add_item(TTR("New Resource..."), FILE_NEW_RESOURCE);
+ p_popup->add_icon_item(get_icon("Folder", "EditorIcons"), TTR("New Folder..."), FILE_NEW_FOLDER);
+ p_popup->add_icon_item(get_icon("PackedScene", "EditorIcons"), TTR("New Scene..."), FILE_NEW_SCENE);
+ p_popup->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script..."), FILE_NEW_SCRIPT);
+ p_popup->add_icon_item(get_icon("Object", "EditorIcons"), TTR("New Resource..."), FILE_NEW_RESOURCE);
p_popup->add_separator();
}
String fpath = p_paths[0];
String item_text = fpath.ends_with("/") ? TTR("Open in File Manager") : TTR("Show in File Manager");
- p_popup->add_item(item_text, FILE_SHOW_IN_EXPLORER);
+ p_popup->add_icon_item(get_icon("Filesystem", "EditorIcons"), item_text, FILE_SHOW_IN_EXPLORER);
}
}
@@ -2198,8 +2200,8 @@ void FileSystemDock::_tree_rmb_select(const Vector2 &p_pos) {
if (paths.size() == 1) {
if (paths[0].ends_with("/")) {
- tree_popup->add_item(TTR("Expand All"), FOLDER_EXPAND_ALL);
- tree_popup->add_item(TTR("Collapse All"), FOLDER_COLLAPSE_ALL);
+ tree_popup->add_icon_item(get_icon("GuiTreeArrowDown", "EditorIcons"), TTR("Expand All"), FOLDER_EXPAND_ALL);
+ tree_popup->add_icon_item(get_icon("GuiTreeArrowRight", "EditorIcons"), TTR("Collapse All"), FOLDER_COLLAPSE_ALL);
tree_popup->add_separator();
}
}
@@ -2219,10 +2221,10 @@ void FileSystemDock::_tree_rmb_empty(const Vector2 &p_pos) {
path = "res://";
tree_popup->clear();
tree_popup->set_size(Size2(1, 1));
- tree_popup->add_item(TTR("New Folder..."), FILE_NEW_FOLDER);
- tree_popup->add_item(TTR("New Scene..."), FILE_NEW_SCENE);
- tree_popup->add_item(TTR("New Script..."), FILE_NEW_SCRIPT);
- tree_popup->add_item(TTR("New Resource..."), FILE_NEW_RESOURCE);
+ tree_popup->add_icon_item(get_icon("Folder", "EditorIcons"), TTR("New Folder..."), FILE_NEW_FOLDER);
+ tree_popup->add_icon_item(get_icon("PackedScene", "EditorIcons"), TTR("New Scene..."), FILE_NEW_SCENE);
+ tree_popup->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script..."), FILE_NEW_SCRIPT);
+ tree_popup->add_icon_item(get_icon("Object", "EditorIcons"), TTR("New Resource..."), FILE_NEW_RESOURCE);
tree_popup->set_position(tree->get_global_position() + p_pos);
tree_popup->popup();
}
@@ -2262,12 +2264,12 @@ void FileSystemDock::_file_list_rmb_pressed(const Vector2 &p_pos) {
file_list_popup->clear();
file_list_popup->set_size(Size2(1, 1));
- file_list_popup->add_item(TTR("New Folder..."), FILE_NEW_FOLDER);
- file_list_popup->add_item(TTR("New Scene..."), FILE_NEW_SCENE);
- file_list_popup->add_item(TTR("New Script..."), FILE_NEW_SCRIPT);
- file_list_popup->add_item(TTR("New Resource..."), FILE_NEW_RESOURCE);
+ file_list_popup->add_icon_item(get_icon("Folder", "EditorIcons"), TTR("New Folder..."), FILE_NEW_FOLDER);
+ file_list_popup->add_icon_item(get_icon("PackedScene", "EditorIcons"), TTR("New Scene..."), FILE_NEW_SCENE);
+ file_list_popup->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script..."), FILE_NEW_SCRIPT);
+ file_list_popup->add_icon_item(get_icon("Object", "EditorIcons"), TTR("New Resource..."), FILE_NEW_RESOURCE);
file_list_popup->add_separator();
- file_list_popup->add_item(TTR("Open in File Manager"), FILE_SHOW_IN_EXPLORER);
+ file_list_popup->add_icon_item(get_icon("Filesystem", "EditorIcons"), TTR("Open in File Manager"), FILE_SHOW_IN_EXPLORER);
file_list_popup->set_position(files->get_global_position() + p_pos);
file_list_popup->popup();
}
diff --git a/editor/icons/icon_GUI_tab_menu.svg b/editor/icons/icon_GUI_tab_menu.svg
index 55e98143a6..8bf5ef2f7d 100644
--- a/editor/icons/icon_GUI_tab_menu.svg
+++ b/editor/icons/icon_GUI_tab_menu.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8 0a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm0 6a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm0 6a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2z" fill="#fff" fill-opacity=".39216"/></svg> \ No newline at end of file
+<svg height="16" viewBox="0 0 6 16" width="6" xmlns="http://www.w3.org/2000/svg"><path d="m3 0a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm0 6a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm0 6a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2z" fill="#fff" fill-opacity=".39216"/></svg> \ No newline at end of file
diff --git a/editor/icons/icon_GUI_tab_menu_hl.svg b/editor/icons/icon_GUI_tab_menu_hl.svg
index e4c5b7bf1e..42d58a5abf 100644
--- a/editor/icons/icon_GUI_tab_menu_hl.svg
+++ b/editor/icons/icon_GUI_tab_menu_hl.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8 0a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm0 6a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm0 6a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2z" fill="#e0e0e0"/></svg> \ No newline at end of file
+<svg height="16" viewBox="0 0 6 16" width="6" xmlns="http://www.w3.org/2000/svg"><path d="m3 0a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm0 6a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2zm0 6a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0 -2-2z" fill="#e0e0e0"/></svg> \ No newline at end of file
diff --git a/editor/icons/icon_overbright_indicator.svg b/editor/icons/icon_overbright_indicator.svg
new file mode 100644
index 0000000000..9e6f53b727
--- /dev/null
+++ b/editor/icons/icon_overbright_indicator.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m0 0v10l10-10z" fill="#fff"/><path d="m0 12 12-12h-2l-10 10z" fill="#000003"/></svg> \ No newline at end of file
diff --git a/editor/icons/icon_rotate_left.svg b/editor/icons/icon_rotate_left.svg
new file mode 100644
index 0000000000..223a725332
--- /dev/null
+++ b/editor/icons/icon_rotate_left.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" fill-opacity=".99608" transform="translate(0 -1036.4)"><path d="m9 2a6 6 0 0 0 -6 6h2a4 4 0 0 1 4-4 4 4 0 0 1 4 4 4 4 0 0 1 -4 4v2a6 6 0 0 0 6-6 6 6 0 0 0 -6-6z" transform="translate(0 1036.4)"/><path d="m4.118 1048.3-1.6771-.9683-1.6771-.9682 1.6771-.9683 1.6771-.9682-.0000001 1.9365z" transform="matrix(0 -1.1926 1.5492 0 -1617 1049.3)"/></g></svg> \ No newline at end of file
diff --git a/editor/icons/icon_rotate_right.svg b/editor/icons/icon_rotate_right.svg
new file mode 100644
index 0000000000..2b66bae998
--- /dev/null
+++ b/editor/icons/icon_rotate_right.svg
@@ -0,0 +1 @@
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" fill-opacity=".99608" transform="matrix(-1 0 0 1 16.026308 -1036.4)"><path d="m9 2a6 6 0 0 0 -6 6h2a4 4 0 0 1 4-4 4 4 0 0 1 4 4 4 4 0 0 1 -4 4v2a6 6 0 0 0 6-6 6 6 0 0 0 -6-6z" transform="translate(0 1036.4)"/><path d="m4.118 1048.3-1.6771-.9683-1.6771-.9682 1.6771-.9683 1.6771-.9682-.0000001 1.9365z" transform="matrix(0 -1.1926 1.5492 0 -1617 1049.3)"/></g></svg> \ No newline at end of file
diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp
index df5511f540..49091dc812 100644
--- a/editor/import/editor_scene_importer_gltf.cpp
+++ b/editor/import/editor_scene_importer_gltf.cpp
@@ -156,7 +156,7 @@ static Transform _arr_to_xform(const Array &p_array) {
}
String EditorSceneImporterGLTF::_sanitize_scene_name(const String &name) {
- RegEx regex("([^a-zA-Z0-9_ ]+)");
+ RegEx regex("([^a-zA-Z0-9_ -]+)");
String p_name = regex.sub(name, "", true);
return p_name;
}
diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp
index 760388d616..3a99968192 100644
--- a/editor/import/resource_importer_scene.cpp
+++ b/editor/import/resource_importer_scene.cpp
@@ -1178,7 +1178,7 @@ void ResourceImporterScene::get_import_options(List<ImportOption> *r_options, in
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/import", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true));
r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "animation/fps", PROPERTY_HINT_RANGE, "1,120,1"), 15));
r_options->push_back(ImportOption(PropertyInfo(Variant::STRING, "animation/filter_script", PROPERTY_HINT_MULTILINE_TEXT), ""));
- r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "animation/storage", PROPERTY_HINT_ENUM, "Built-In,Files (.anim),Files (.tres)"), animations_out));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "animation/storage", PROPERTY_HINT_ENUM, "Built-In,Files (.anim),Files (.tres)", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), animations_out));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/keep_custom_tracks"), animations_out));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/optimizer/enabled", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true));
r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "animation/optimizer/max_linear_error"), 0.05));
diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp
index 831b1434f3..75a7099ec4 100644
--- a/editor/plugins/animation_player_editor_plugin.cpp
+++ b/editor/plugins/animation_player_editor_plugin.cpp
@@ -122,7 +122,7 @@ void AnimationPlayerEditor::_notification(int p_what) {
stop->set_icon(get_icon("Stop", "EditorIcons"));
onion_toggle->set_icon(get_icon("Onion", "EditorIcons"));
- onion_skinning->set_icon(get_icon("GuiMiniTabMenu", "EditorIcons"));
+ onion_skinning->set_icon(get_icon("GuiTabMenu", "EditorIcons"));
pin->set_icon(get_icon("Pin", "EditorIcons"));
@@ -304,6 +304,7 @@ void AnimationPlayerEditor::_animation_selected(int p_which) {
AnimationPlayerEditor::singleton->get_track_editor()->update_keying();
EditorNode::get_singleton()->update_keying();
+ _animation_key_editor_seek(timeline_position, false);
}
void AnimationPlayerEditor::_animation_new() {
@@ -1072,14 +1073,20 @@ void AnimationPlayerEditor::_animation_key_editor_anim_len_changed(float p_len)
void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos, bool p_drag) {
+ timeline_position = p_pos;
+
if (!is_visible_in_tree())
return;
+
if (!player)
return;
if (player->is_playing())
return;
+ if (!player->has_animation(player->get_assigned_animation()))
+ return;
+
Ref<Animation> anim = player->get_animation(player->get_assigned_animation());
updating = true;
@@ -1753,6 +1760,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
renaming = false;
last_active = false;
+ timeline_position = 0;
set_process_unhandled_key_input(true);
diff --git a/editor/plugins/animation_player_editor_plugin.h b/editor/plugins/animation_player_editor_plugin.h
index eed7344395..663ffd57f3 100644
--- a/editor/plugins/animation_player_editor_plugin.h
+++ b/editor/plugins/animation_player_editor_plugin.h
@@ -107,6 +107,7 @@ class AnimationPlayerEditor : public VBoxContainer {
UndoRedo *undo_redo;
Ref<Texture> autoplay_icon;
bool last_active;
+ float timeline_position;
EditorFileDialog *file;
AcceptDialog *accept;
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index 78873e739b..b1e8ce20d6 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -1749,6 +1749,9 @@ bool CanvasItemEditor::_gui_input_resize(const Ref<InputEvent> &p_event) {
if (key_auto_insert_button->is_pressed()) {
_insert_animation_keys(false, false, true, true);
}
+
+ snap_target[0] = SNAP_TARGET_NONE;
+ snap_target[1] = SNAP_TARGET_NONE;
drag_type = DRAG_NONE;
viewport->update();
return true;
@@ -1757,6 +1760,8 @@ bool CanvasItemEditor::_gui_input_resize(const Ref<InputEvent> &p_event) {
// Cancel a drag
if (b.is_valid() && b->get_button_index() == BUTTON_RIGHT && b->is_pressed()) {
_restore_canvas_item_state(drag_selection);
+ snap_target[0] = SNAP_TARGET_NONE;
+ snap_target[1] = SNAP_TARGET_NONE;
drag_type = DRAG_NONE;
viewport->update();
return true;
@@ -3662,7 +3667,7 @@ void CanvasItemEditor::_notification(int p_what) {
scale_button->set_icon(get_icon("ToolScale", "EditorIcons"));
rotate_button->set_icon(get_icon("ToolRotate", "EditorIcons"));
snap_button->set_icon(get_icon("Snap", "EditorIcons"));
- snap_config_menu->set_icon(get_icon("GuiMiniTabMenu", "EditorIcons"));
+ snap_config_menu->set_icon(get_icon("GuiTabMenu", "EditorIcons"));
skeleton_menu->set_icon(get_icon("Bone", "EditorIcons"));
pan_button->set_icon(get_icon("ToolPan", "EditorIcons"));
ruler_button->set_icon(get_icon("Ruler", "EditorIcons"));
@@ -5523,6 +5528,7 @@ void CanvasItemEditorViewport::_create_preview(const Vector<String> &files) cons
for (int i = 0; i < files.size(); i++) {
String path = files[i];
RES res = ResourceLoader::load(path);
+ ERR_FAIL_COND(res.is_null());
Ref<Texture> texture = Ref<Texture>(Object::cast_to<Texture>(*res));
Ref<PackedScene> scene = Ref<PackedScene>(Object::cast_to<PackedScene>(*res));
if (texture != NULL || scene != NULL) {
diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp
index 98db911799..9160920c50 100644
--- a/editor/plugins/curve_editor_plugin.cpp
+++ b/editor/plugins/curve_editor_plugin.cpp
@@ -456,6 +456,9 @@ void CurveEditor::remove_point(int index) {
if (index == _selected_point)
set_selected_point(-1);
+ if (index == _hover_point)
+ set_hover_point_index(-1);
+
ur.commit_action();
}
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index 073e6f74e9..ecb2354aa1 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -224,6 +224,7 @@ void ScriptTextEditor::_load_theme_settings() {
Color keyword_color = EDITOR_GET("text_editor/highlighting/keyword_color");
Color basetype_color = EDITOR_GET("text_editor/highlighting/base_type_color");
Color type_color = EDITOR_GET("text_editor/highlighting/engine_type_color");
+ Color usertype_color = EDITOR_GET("text_editor/highlighting/user_type_color");
Color comment_color = EDITOR_GET("text_editor/highlighting/comment_color");
Color string_color = EDITOR_GET("text_editor/highlighting/string_color");
@@ -262,6 +263,7 @@ void ScriptTextEditor::_load_theme_settings() {
colors_cache.keyword_color = keyword_color;
colors_cache.basetype_color = basetype_color;
colors_cache.type_color = type_color;
+ colors_cache.usertype_color = usertype_color;
colors_cache.comment_color = comment_color;
colors_cache.string_color = string_color;
@@ -325,6 +327,29 @@ void ScriptTextEditor::_set_theme_for_script() {
}
_update_member_keywords();
+ //colorize user types
+ List<StringName> global_classes;
+ ScriptServer::get_global_class_list(&global_classes);
+
+ for (List<StringName>::Element *E = global_classes.front(); E; E = E->next()) {
+
+ text_edit->add_keyword_color(E->get(), colors_cache.usertype_color);
+ }
+
+ //colorize singleton autoloads (as types, just as engine singletons are)
+ List<PropertyInfo> props;
+ ProjectSettings::get_singleton()->get_property_list(&props);
+ for (List<PropertyInfo>::Element *E = props.front(); E; E = E->next()) {
+ String s = E->get().name;
+ if (!s.begins_with("autoload/")) {
+ continue;
+ }
+ String path = ProjectSettings::get_singleton()->get(s);
+ if (path.begins_with("*")) {
+ text_edit->add_keyword_color(s.get_slice("/", 1), colors_cache.usertype_color);
+ }
+ }
+
//colorize comments
List<String> comments;
script->get_language()->get_comment_delimiters(&comments);
@@ -789,7 +814,7 @@ void ScriptTextEditor::_code_complete_script(const String &p_code, List<ScriptCo
}
String hint;
Error err = script->get_language()->complete_code(p_code, script->get_path(), base, r_options, r_force, hint);
- if (err == OK && hint != "") {
+ if (err == OK) {
code_editor->get_text_edit()->set_code_hint(hint);
}
}
diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h
index 0ea8726ecc..eba75befd4 100644
--- a/editor/plugins/script_text_editor.h
+++ b/editor/plugins/script_text_editor.h
@@ -91,6 +91,7 @@ class ScriptTextEditor : public ScriptEditorBase {
Color keyword_color;
Color basetype_color;
Color type_color;
+ Color usertype_color;
Color comment_color;
Color string_color;
} colors_cache;
diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp
index df3e23a9e9..97f194e40f 100644
--- a/editor/plugins/shader_editor_plugin.cpp
+++ b/editor/plugins/shader_editor_plugin.cpp
@@ -198,13 +198,9 @@ void ShaderTextEditor::_code_complete_script(const String &p_code, List<ScriptCo
ShaderLanguage sl;
String calltip;
- Error err = sl.complete(p_code, ShaderTypes::get_singleton()->get_functions(VisualServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_modes(VisualServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_types(), r_options, calltip);
- if (err != OK)
- ERR_PRINT("Shaderlang complete failed");
+ sl.complete(p_code, ShaderTypes::get_singleton()->get_functions(VisualServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_modes(VisualServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_types(), r_options, calltip);
- if (calltip != "") {
- get_text_edit()->set_code_hint(calltip);
- }
+ get_text_edit()->set_code_hint(calltip);
}
void ShaderTextEditor::_validate_script() {
diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp
index 136ec17ddb..127cead57f 100644
--- a/editor/plugins/spatial_editor_plugin.cpp
+++ b/editor/plugins/spatial_editor_plugin.cpp
@@ -2304,7 +2304,7 @@ void SpatialEditorViewport::_notification(int p_what) {
if (p_what == NOTIFICATION_THEME_CHANGED) {
- view_menu->set_icon(get_icon("GuiMiniTabMenu", "EditorIcons"));
+ view_menu->set_icon(get_icon("GuiTabMenu", "EditorIcons"));
preview_camera->set_icon(get_icon("Camera", "EditorIcons"));
view_menu->add_style_override("normal", editor->get_gui_base()->get_stylebox("Information3dViewport", "EditorStyles"));
@@ -3230,6 +3230,7 @@ void SpatialEditorViewport::_create_preview(const Vector<String> &files) const {
for (int i = 0; i < files.size(); i++) {
String path = files[i];
RES res = ResourceLoader::load(path);
+ ERR_CONTINUE(res.is_null());
Ref<PackedScene> scene = Ref<PackedScene>(Object::cast_to<PackedScene>(*res));
Ref<Mesh> mesh = Ref<Mesh>(Object::cast_to<Mesh>(*res));
if (mesh != NULL || scene != NULL) {
@@ -3279,6 +3280,7 @@ bool SpatialEditorViewport::_cyclical_dependency_exists(const String &p_target_s
bool SpatialEditorViewport::_create_instance(Node *parent, String &path, const Point2 &p_point) {
RES res = ResourceLoader::load(path);
+ ERR_FAIL_COND_V(res.is_null(), false);
Ref<PackedScene> scene = Ref<PackedScene>(Object::cast_to<PackedScene>(*res));
Ref<Mesh> mesh = Ref<Mesh>(Object::cast_to<Mesh>(*res));
@@ -4062,7 +4064,6 @@ void _update_all_gizmos(Node *p_node) {
void SpatialEditor::update_all_gizmos(Node *p_node) {
if (!p_node) {
- if (!SceneTree::get_singleton()) return;
p_node = SceneTree::get_singleton()->get_root();
}
_update_all_gizmos(p_node);
@@ -6269,5 +6270,7 @@ EditorSpatialGizmoPlugin::~EditorSpatialGizmoPlugin() {
current_gizmos[i]->set_plugin(NULL);
current_gizmos[i]->get_spatial_node()->set_gizmo(NULL);
}
- SpatialEditor::get_singleton()->update_all_gizmos();
+ if (SpatialEditor::get_singleton()) {
+ SpatialEditor::get_singleton()->update_all_gizmos();
+ }
}
diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp
index 86d538e702..2d66087699 100644
--- a/editor/plugins/tile_map_editor_plugin.cpp
+++ b/editor/plugins/tile_map_editor_plugin.cpp
@@ -71,8 +71,8 @@ void TileMapEditor::_notification(int p_what) {
picker_button->set_icon(get_icon("ColorPick", "EditorIcons"));
select_button->set_icon(get_icon("ActionCopy", "EditorIcons"));
- rotate_left_button->set_icon(get_icon("Rotate270", "EditorIcons"));
- rotate_right_button->set_icon(get_icon("Rotate90", "EditorIcons"));
+ rotate_left_button->set_icon(get_icon("RotateLeft", "EditorIcons"));
+ rotate_right_button->set_icon(get_icon("RotateRight", "EditorIcons"));
flip_horizontal_button->set_icon(get_icon("MirrorX", "EditorIcons"));
flip_vertical_button->set_icon(get_icon("MirrorY", "EditorIcons"));
clear_transform_button->set_icon(get_icon("Clear", "EditorIcons"));
diff --git a/editor/plugins/version_control_editor_plugin.cpp b/editor/plugins/version_control_editor_plugin.cpp
index e8cd7692b6..d4f985e1de 100644
--- a/editor/plugins/version_control_editor_plugin.cpp
+++ b/editor/plugins/version_control_editor_plugin.cpp
@@ -380,6 +380,7 @@ void VersionControlEditorPlugin::fetch_available_vcs_addon_names() {
String path = ScriptServer::get_global_class_path(global_classes[i]);
Ref<Script> script = ResourceLoader::load(path);
+ ERR_FAIL_COND(script.is_null());
if (script->get_instance_base_type() == "EditorVCSInterface") {
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index 82baa99da2..2e20e068d7 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -88,7 +88,6 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) {
} else {
if (changed) { // to avoid tree collapse
_clear_buffer();
- _update_custom_nodes();
_update_options_menu();
_update_preview();
}
@@ -178,7 +177,7 @@ bool VisualShaderEditor::_is_available(int p_mode) {
return (p_mode == -1 || (p_mode & current_mode) != 0);
}
-void VisualShaderEditor::_update_custom_nodes() {
+void VisualShaderEditor::update_custom_nodes() {
clear_custom_types();
List<StringName> class_list;
ScriptServer::get_global_class_list(&class_list);
@@ -228,6 +227,7 @@ void VisualShaderEditor::_update_custom_nodes() {
add_custom_type(name, script, description, return_icon_type, category, sub_category);
}
}
+ _update_options_menu();
}
String VisualShaderEditor::_get_description(int p_idx) {
@@ -359,8 +359,8 @@ void VisualShaderEditor::_update_options_menu() {
case VisualShaderNode::PORT_TYPE_TRANSFORM:
item->set_icon(0, EditorNode::get_singleton()->get_gui_base()->get_icon("Transform", "EditorIcons"));
break;
- case VisualShaderNode::PORT_TYPE_ICON_COLOR:
- item->set_icon(0, EditorNode::get_singleton()->get_gui_base()->get_icon("Color", "EditorIcons"));
+ case VisualShaderNode::PORT_TYPE_SAMPLER:
+ item->set_icon(0, EditorNode::get_singleton()->get_gui_base()->get_icon("ImageTexture", "EditorIcons"));
break;
default:
break;
@@ -437,11 +437,12 @@ void VisualShaderEditor::_update_graph() {
}
}
- static const Color type_color[4] = {
+ static const Color type_color[5] = {
Color(0.38, 0.85, 0.96), // scalar
Color(0.84, 0.49, 0.93), // vector
Color(0.55, 0.65, 0.94), // boolean
- Color(0.96, 0.66, 0.43) // transform
+ Color(0.96, 0.66, 0.43), // transform
+ Color(1.0, 1.0, 0.0) // sampler
};
List<VisualShader::Connection> connections;
@@ -546,14 +547,14 @@ void VisualShaderEditor::_update_graph() {
HBoxContainer *hb2 = memnew(HBoxContainer);
Button *add_input_btn = memnew(Button);
- add_input_btn->set_text(TTR("Add input +"));
+ add_input_btn->set_text(TTR("Add Input"));
add_input_btn->connect("pressed", this, "_add_input_port", varray(nodes[n_i], group_node->get_free_input_port_id(), VisualShaderNode::PORT_TYPE_VECTOR, "input" + itos(group_node->get_free_input_port_id())), CONNECT_DEFERRED);
hb2->add_child(add_input_btn);
hb2->add_spacer();
Button *add_output_btn = memnew(Button);
- add_output_btn->set_text(TTR("Add output +"));
+ add_output_btn->set_text(TTR("Add Output"));
add_output_btn->connect("pressed", this, "_add_output_port", varray(nodes[n_i], group_node->get_free_output_port_id(), VisualShaderNode::PORT_TYPE_VECTOR, "output" + itos(group_node->get_free_output_port_id())), CONNECT_DEFERRED);
hb2->add_child(add_output_btn);
@@ -640,6 +641,7 @@ void VisualShaderEditor::_update_graph() {
type_box->add_item(TTR("Vector"));
type_box->add_item(TTR("Boolean"));
type_box->add_item(TTR("Transform"));
+ type_box->add_item(TTR("Sampler"));
type_box->select(group_node->get_input_port_type(i));
type_box->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
type_box->connect("item_selected", this, "_change_input_port_type", varray(nodes[n_i], i), CONNECT_DEFERRED);
@@ -704,7 +706,7 @@ void VisualShaderEditor::_update_graph() {
}
}
- if (valid_right && edit_type->get_selected() == VisualShader::TYPE_FRAGMENT && port_right != VisualShaderNode::PORT_TYPE_TRANSFORM) {
+ if (valid_right && edit_type->get_selected() == VisualShader::TYPE_FRAGMENT && port_right != VisualShaderNode::PORT_TYPE_TRANSFORM && port_right != VisualShaderNode::PORT_TYPE_SAMPLER) {
TextureButton *preview = memnew(TextureButton);
preview->set_toggle_mode(true);
preview->set_normal_texture(get_icon("GuiVisibilityHidden", "EditorIcons"));
@@ -731,15 +733,19 @@ void VisualShaderEditor::_update_graph() {
node->set_slot(i + port_offset, valid_left, port_left, type_color[port_left], valid_right, port_right, type_color[port_right]);
}
- if (vsnode->get_output_port_for_preview() >= 0 && vsnode->get_output_port_type(vsnode->get_output_port_for_preview()) != VisualShaderNode::PORT_TYPE_TRANSFORM) {
- offset = memnew(Control);
- offset->set_custom_minimum_size(Size2(0, 5 * EDSCALE));
- node->add_child(offset);
+ if (vsnode->get_output_port_for_preview() >= 0) {
+ int port_type = vsnode->get_output_port_type(vsnode->get_output_port_for_preview());
+
+ if (port_type != VisualShaderNode::PORT_TYPE_TRANSFORM && port_type != VisualShaderNode::PORT_TYPE_SAMPLER) {
+ offset = memnew(Control);
+ offset->set_custom_minimum_size(Size2(0, 5 * EDSCALE));
+ node->add_child(offset);
- VisualShaderNodePortPreview *port_preview = memnew(VisualShaderNodePortPreview);
- port_preview->setup(visual_shader, type, nodes[n_i], vsnode->get_output_port_for_preview());
- port_preview->set_h_size_flags(SIZE_SHRINK_CENTER);
- node->add_child(port_preview);
+ VisualShaderNodePortPreview *port_preview = memnew(VisualShaderNodePortPreview);
+ port_preview->setup(visual_shader, type, nodes[n_i], vsnode->get_output_port_for_preview());
+ port_preview->set_h_size_flags(SIZE_SHRINK_CENTER);
+ node->add_child(port_preview);
+ }
}
offset = memnew(Control);
@@ -1213,9 +1219,31 @@ void VisualShaderEditor::_edit_port_default_input(Object *p_button, int p_node,
editing_port = p_port;
}
-void VisualShaderEditor::_add_node(int p_idx, int p_op_idx) {
+void VisualShaderEditor::_add_custom_node(const String &p_path) {
- ERR_FAIL_INDEX(p_idx, add_options.size());
+ int idx = -1;
+
+ for (int i = custom_node_option_idx; i < add_options.size(); i++) {
+ if (add_options[i].script.is_valid()) {
+ if (add_options[i].script->get_path() == p_path) {
+ idx = i;
+ break;
+ }
+ }
+ }
+ if (idx != -1) {
+ _add_node(idx);
+ }
+}
+
+void VisualShaderEditor::_add_texture_node(const String &p_path) {
+ VisualShaderNodeTexture *texture = (VisualShaderNodeTexture *)_add_node(texture_node_option_idx, -1);
+ texture->set_texture(ResourceLoader::load(p_path));
+}
+
+VisualShaderNode *VisualShaderEditor::_add_node(int p_idx, int p_op_idx) {
+
+ ERR_FAIL_INDEX_V(p_idx, add_options.size(), NULL);
Ref<VisualShaderNode> vsnode;
@@ -1223,7 +1251,7 @@ void VisualShaderEditor::_add_node(int p_idx, int p_op_idx) {
if (!is_custom && add_options[p_idx].type != String()) {
VisualShaderNode *vsn = Object::cast_to<VisualShaderNode>(ClassDB::instance(add_options[p_idx].type));
- ERR_FAIL_COND(!vsn);
+ ERR_FAIL_COND_V(!vsn, NULL);
VisualShaderNodeScalarConstant *constant = Object::cast_to<VisualShaderNodeScalarConstant>(vsn);
@@ -1309,10 +1337,10 @@ void VisualShaderEditor::_add_node(int p_idx, int p_op_idx) {
vsnode = Ref<VisualShaderNode>(vsn);
} else {
- ERR_FAIL_COND(add_options[p_idx].script.is_null());
+ ERR_FAIL_COND_V(add_options[p_idx].script.is_null(), NULL);
String base_type = add_options[p_idx].script->get_instance_base_type();
VisualShaderNode *vsn = Object::cast_to<VisualShaderNode>(ClassDB::instance(base_type));
- ERR_FAIL_COND(!vsn);
+ ERR_FAIL_COND_V(!vsn, NULL);
vsnode = Ref<VisualShaderNode>(vsn);
vsnode->set_script(add_options[p_idx].script.get_ref_ptr());
}
@@ -1367,6 +1395,7 @@ void VisualShaderEditor::_add_node(int p_idx, int p_op_idx) {
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
+ return vsnode.ptr();
}
void VisualShaderEditor::_node_dragged(const Vector2 &p_from, const Vector2 &p_to, int p_node) {
@@ -2038,6 +2067,9 @@ bool VisualShaderEditor::can_drop_data_fw(const Point2 &p_point, const Variant &
if (d.has("id")) {
return true;
}
+ if (d.has("files")) {
+ return true;
+ }
}
return false;
@@ -2054,6 +2086,30 @@ void VisualShaderEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
saved_node_pos = p_point;
saved_node_pos_dirty = true;
_add_node(idx, add_options[idx].sub_func);
+ } else if (d.has("files")) {
+ if (d["files"].get_type() == Variant::POOL_STRING_ARRAY) {
+
+ int j = 0;
+ PoolStringArray arr = d["files"];
+ for (int i = 0; i < arr.size(); i++) {
+
+ String type = ResourceLoader::get_resource_type(arr[i]);
+ if (type == "GDScript") {
+ Ref<Script> script = ResourceLoader::load(arr[i]);
+ if (script->get_instance_base_type() == "VisualShaderNodeCustom") {
+ saved_node_pos = p_point + Vector2(0, j * 210 * EDSCALE);
+ saved_node_pos_dirty = true;
+ _add_custom_node(arr[i]);
+ j++;
+ }
+ } else if (ClassDB::get_parent_class(type) == "Texture") {
+ saved_node_pos = p_point + Vector2(0, j * 210 * EDSCALE);
+ saved_node_pos_dirty = true;
+ _add_texture_node(arr[i]);
+ j++;
+ }
+ }
+ }
}
}
}
@@ -2191,6 +2247,7 @@ VisualShaderEditor::VisualShaderEditor() {
graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_BOOLEAN);
graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_VECTOR);
graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_TRANSFORM);
+ graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_SAMPLER);
//graph->add_valid_left_disconnect_type(0);
graph->set_v_size_flags(SIZE_EXPAND_FILL);
graph->connect("connection_request", this, "_connection_request", varray(), CONNECT_DEFERRED);
@@ -2214,6 +2271,7 @@ VisualShaderEditor::VisualShaderEditor() {
graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_BOOLEAN, VisualShaderNode::PORT_TYPE_VECTOR);
graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_BOOLEAN, VisualShaderNode::PORT_TYPE_BOOLEAN);
graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShaderNode::PORT_TYPE_TRANSFORM);
+ graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SAMPLER, VisualShaderNode::PORT_TYPE_SAMPLER);
VSeparator *vs = memnew(VSeparator);
graph->get_zoom_hbox()->add_child(vs);
@@ -2350,8 +2408,8 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("Screen", "Color", "Operators", "VisualShaderNodeColorOp", TTR("Screen operator."), VisualShaderNodeColorOp::OP_SCREEN, VisualShaderNode::PORT_TYPE_VECTOR));
add_options.push_back(AddOption("SoftLight", "Color", "Operators", "VisualShaderNodeColorOp", TTR("SoftLight operator."), VisualShaderNodeColorOp::OP_SOFT_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR));
- add_options.push_back(AddOption("ColorConstant", "Color", "Variables", "VisualShaderNodeColorConstant", TTR("Color constant."), -1, VisualShaderNode::PORT_TYPE_ICON_COLOR));
- add_options.push_back(AddOption("ColorUniform", "Color", "Variables", "VisualShaderNodeColorUniform", TTR("Color uniform."), -1, VisualShaderNode::PORT_TYPE_ICON_COLOR));
+ add_options.push_back(AddOption("ColorConstant", "Color", "Variables", "VisualShaderNodeColorConstant", TTR("Color constant."), -1, -1));
+ add_options.push_back(AddOption("ColorUniform", "Color", "Variables", "VisualShaderNodeColorUniform", TTR("Color uniform."), -1, -1));
// CONDITIONAL
@@ -2557,12 +2615,13 @@ VisualShaderEditor::VisualShaderEditor() {
// TEXTURES
- add_options.push_back(AddOption("CubeMap", "Textures", "Functions", "VisualShaderNodeCubeMap", TTR("Perform the cubic texture lookup."), -1, VisualShaderNode::PORT_TYPE_ICON_COLOR));
- add_options.push_back(AddOption("Texture", "Textures", "Functions", "VisualShaderNodeTexture", TTR("Perform the texture lookup."), -1, VisualShaderNode::PORT_TYPE_ICON_COLOR));
+ add_options.push_back(AddOption("CubeMap", "Textures", "Functions", "VisualShaderNodeCubeMap", TTR("Perform the cubic texture lookup."), -1, -1));
+ texture_node_option_idx = add_options.size();
+ add_options.push_back(AddOption("Texture", "Textures", "Functions", "VisualShaderNodeTexture", TTR("Perform the texture lookup."), -1, -1));
- add_options.push_back(AddOption("CubeMapUniform", "Textures", "Variables", "VisualShaderNodeCubeMapUniform", TTR("Cubic texture uniform lookup."), -1, VisualShaderNode::PORT_TYPE_ICON_COLOR));
- add_options.push_back(AddOption("TextureUniform", "Textures", "Variables", "VisualShaderNodeTextureUniform", TTR("2D texture uniform lookup."), -1, VisualShaderNode::PORT_TYPE_ICON_COLOR));
- add_options.push_back(AddOption("TextureUniformTriplanar", "Textures", "Variables", "VisualShaderNodeTextureUniformTriplanar", TTR("2D texture uniform lookup with triplanar."), -1, VisualShaderNode::PORT_TYPE_ICON_COLOR, VisualShader::TYPE_FRAGMENT | VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("CubeMapUniform", "Textures", "Variables", "VisualShaderNodeCubeMapUniform", TTR("Cubic texture uniform lookup."), -1, -1));
+ add_options.push_back(AddOption("TextureUniform", "Textures", "Variables", "VisualShaderNodeTextureUniform", TTR("2D texture uniform lookup."), -1, -1));
+ add_options.push_back(AddOption("TextureUniformTriplanar", "Textures", "Variables", "VisualShaderNodeTextureUniformTriplanar", TTR("2D texture uniform lookup with triplanar."), -1, -1, VisualShader::TYPE_FRAGMENT | VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
// TRANSFORM
@@ -2666,6 +2725,7 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("DdYS", "Special", "Derivative", "VisualShaderNodeScalarDerivativeFunc", TTR("(Fragment/Light mode only) (Scalar) Derivative in 'y' using local differencing."), VisualShaderNodeScalarDerivativeFunc::FUNC_Y, VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_FRAGMENT | VisualShader::TYPE_LIGHT, -1, -1, true));
add_options.push_back(AddOption("Sum", "Special", "Derivative", "VisualShaderNodeVectorDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and 'y'."), VisualShaderNodeVectorDerivativeFunc::FUNC_SUM, VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT | VisualShader::TYPE_LIGHT, -1, -1, true));
add_options.push_back(AddOption("SumS", "Special", "Derivative", "VisualShaderNodeScalarDerivativeFunc", TTR("(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and 'y'."), VisualShaderNodeScalarDerivativeFunc::FUNC_SUM, VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_FRAGMENT | VisualShader::TYPE_LIGHT, -1, -1, true));
+ custom_node_option_idx = add_options.size();
/////////////////////////////////////////////////////////////////////
@@ -2707,6 +2767,7 @@ void VisualShaderEditorPlugin::make_visible(bool p_visible) {
//editor->animation_panel_make_visible(true);
button->show();
editor->make_bottom_panel_item_visible(visual_shader_editor);
+ visual_shader_editor->update_custom_nodes();
visual_shader_editor->set_process_input(true);
//visual_shader_editor->set_process(true);
} else {
diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h
index cd5efc366b..700e7cfd7d 100644
--- a/editor/plugins/visual_shader_editor_plugin.h
+++ b/editor/plugins/visual_shader_editor_plugin.h
@@ -148,12 +148,15 @@ class VisualShaderEditor : public VBoxContainer {
};
Vector<AddOption> add_options;
+ int texture_node_option_idx;
+ int custom_node_option_idx;
List<String> keyword_list;
void _draw_color_over_button(Object *obj, Color p_color);
- void _add_node(int p_idx, int p_op_idx = -1);
- void _update_custom_nodes();
+ void _add_custom_node(const String &p_path);
+ void _add_texture_node(const String &p_path);
+ VisualShaderNode *_add_node(int p_idx, int p_op_idx = -1);
void _update_options_menu();
void _show_preview_text();
@@ -253,6 +256,7 @@ protected:
static void _bind_methods();
public:
+ void update_custom_nodes();
void add_plugin(const Ref<VisualShaderNodePlugin> &p_plugin);
void remove_plugin(const Ref<VisualShaderNodePlugin> &p_plugin);
diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp
index d42f15cce8..a56cfede34 100644
--- a/editor/project_settings_editor.cpp
+++ b/editor/project_settings_editor.cpp
@@ -1078,7 +1078,7 @@ bool ProjectSettingsEditor::can_drop_data_fw(const Point2 &p_point, const Varian
TreeItem *selected = input_editor->get_selected();
TreeItem *item = input_editor->get_item_at_position(p_point);
- if (!selected || !item || item->get_parent() == selected)
+ if (!selected || !item || item == selected || item->get_parent() == selected)
return false;
return true;
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index df6b23c167..98ab1bfb54 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -714,9 +714,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
editor_data->get_undo_redo().create_action(TTR("Make node as Root"));
editor_data->get_undo_redo().add_do_method(node->get_parent(), "remove_child", node);
- editor_data->get_undo_redo().add_do_method(root->get_parent(), "remove_child", root);
- editor_data->get_undo_redo().add_do_method(node, "add_child", root);
editor_data->get_undo_redo().add_do_method(editor, "set_edited_scene", node);
+ editor_data->get_undo_redo().add_do_method(node, "add_child", root);
editor_data->get_undo_redo().add_do_method(node, "set_filename", root->get_filename());
editor_data->get_undo_redo().add_do_method(root, "set_filename", String());
editor_data->get_undo_redo().add_do_method(node, "set_owner", (Object *)NULL);
@@ -728,14 +727,13 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
editor_data->get_undo_redo().add_undo_method(node, "remove_child", root);
editor_data->get_undo_redo().add_undo_method(editor, "set_edited_scene", root);
editor_data->get_undo_redo().add_undo_method(node->get_parent(), "add_child", node);
+ editor_data->get_undo_redo().add_undo_method(node->get_parent(), "move_child", node, node->get_index());
editor_data->get_undo_redo().add_undo_method(root, "set_owner", (Object *)NULL);
editor_data->get_undo_redo().add_undo_method(node, "set_owner", root);
-
_node_replace_owner(root, root, root, MODE_UNDO);
editor_data->get_undo_redo().add_do_method(scene_tree, "update_tree");
editor_data->get_undo_redo().add_undo_method(scene_tree, "update_tree");
- editor_data->get_undo_redo().add_undo_reference(root);
editor_data->get_undo_redo().commit_action();
} break;
case TOOL_MULTI_EDIT: {
@@ -910,16 +908,22 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
if (e) {
Node *node = e->get();
if (node) {
+ bool editable = EditorNode::get_singleton()->get_edited_scene()->is_editable_instance(node);
bool placeholder = node->get_scene_instance_load_placeholder();
+
+ // Fire confirmation dialog when children are editable.
+ if (editable && !placeholder) {
+ placeholder_editable_instance_remove_dialog->set_text(TTR("Enabling \"Load As Placeholder\" will disable \"Editable Children\" and cause all properties of the node to be reverted to their default."));
+ placeholder_editable_instance_remove_dialog->popup_centered_minsize();
+ break;
+ }
+
placeholder = !placeholder;
- int editable_item_idx = menu->get_item_idx_from_text(TTR("Editable Children"));
- int placeholder_item_idx = menu->get_item_idx_from_text(TTR("Load As Placeholder"));
+
if (placeholder)
EditorNode::get_singleton()->get_edited_scene()->set_editable_instance(node, false);
node->set_scene_instance_load_placeholder(placeholder);
- menu->set_item_checked(editable_item_idx, false);
- menu->set_item_checked(placeholder_item_idx, placeholder);
scene_tree->update_tree();
}
}
@@ -1791,6 +1795,25 @@ void SceneTreeDock::_toggle_editable_children_from_selection() {
}
}
+void SceneTreeDock::_toggle_placeholder_from_selection() {
+
+ List<Node *> selection = editor_selection->get_selected_node_list();
+ List<Node *>::Element *e = selection.front();
+
+ if (e) {
+ Node *node = e->get();
+ if (node) {
+ _toggle_editable_children(node);
+
+ bool placeholder = node->get_scene_instance_load_placeholder();
+ placeholder = !placeholder;
+
+ node->set_scene_instance_load_placeholder(placeholder);
+ scene_tree->update_tree();
+ }
+ }
+}
+
void SceneTreeDock::_toggle_editable_children(Node *p_node) {
if (p_node) {
@@ -2728,6 +2751,7 @@ void SceneTreeDock::_bind_methods() {
ClassDB::bind_method(D_METHOD("_nodes_drag_begin"), &SceneTreeDock::_nodes_drag_begin);
ClassDB::bind_method(D_METHOD("_delete_confirm"), &SceneTreeDock::_delete_confirm);
ClassDB::bind_method(D_METHOD("_toggle_editable_children_from_selection"), &SceneTreeDock::_toggle_editable_children_from_selection);
+ ClassDB::bind_method(D_METHOD("_toggle_placeholder_from_selection"), &SceneTreeDock::_toggle_placeholder_from_selection);
ClassDB::bind_method(D_METHOD("_node_prerenamed"), &SceneTreeDock::_node_prerenamed);
ClassDB::bind_method(D_METHOD("_import_subscene"), &SceneTreeDock::_import_subscene);
ClassDB::bind_method(D_METHOD("_selection_changed"), &SceneTreeDock::_selection_changed);
@@ -2901,6 +2925,10 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor, Node *p_scene_root, EditorSel
add_child(editable_instance_remove_dialog);
editable_instance_remove_dialog->connect("confirmed", this, "_toggle_editable_children_from_selection");
+ placeholder_editable_instance_remove_dialog = memnew(ConfirmationDialog);
+ add_child(placeholder_editable_instance_remove_dialog);
+ placeholder_editable_instance_remove_dialog->connect("confirmed", this, "_toggle_placeholder_from_selection");
+
import_subscene_dialog = memnew(EditorSubScene);
add_child(import_subscene_dialog);
import_subscene_dialog->connect("subscene_selected", this, "_import_subscene");
diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h
index cd582fdf57..014ce58e88 100644
--- a/editor/scene_tree_dock.h
+++ b/editor/scene_tree_dock.h
@@ -127,6 +127,7 @@ class SceneTreeDock : public VBoxContainer {
AcceptDialog *accept;
ConfirmationDialog *delete_dialog;
ConfirmationDialog *editable_instance_remove_dialog;
+ ConfirmationDialog *placeholder_editable_instance_remove_dialog;
ReparentDialog *reparent_dialog;
EditorQuickOpen *quick_open;
@@ -184,6 +185,8 @@ class SceneTreeDock : public VBoxContainer {
void _toggle_editable_children_from_selection();
void _toggle_editable_children(Node *p_node);
+ void _toggle_placeholder_from_selection();
+
void _node_prerenamed(Node *p_node, const String &p_new_name);
void _nodes_drag_begin();
diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp
index f1fc4eb950..dc5eb4bbd0 100644
--- a/editor/scene_tree_editor.cpp
+++ b/editor/scene_tree_editor.cpp
@@ -959,6 +959,7 @@ Variant SceneTreeEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from
HBoxContainer *hb = memnew(HBoxContainer);
TextureRect *tf = memnew(TextureRect);
tf->set_texture(icons[i]);
+ tf->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
hb->add_child(tf);
Label *label = memnew(Label(selected[i]->get_name()));
hb->add_child(label);
diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp
index 01cb816556..6522cf4d02 100644
--- a/editor/script_create_dialog.cpp
+++ b/editor/script_create_dialog.cpp
@@ -602,7 +602,7 @@ void ScriptCreateDialog::_path_entered(const String &p_path) {
void ScriptCreateDialog::_msg_script_valid(bool valid, const String &p_msg) {
- error_label->set_text(TTR(p_msg));
+ error_label->set_text("- " + TTR(p_msg));
if (valid) {
error_label->add_color_override("font_color", get_color("success_color", "Editor"));
} else {
@@ -612,7 +612,7 @@ void ScriptCreateDialog::_msg_script_valid(bool valid, const String &p_msg) {
void ScriptCreateDialog::_msg_path_valid(bool valid, const String &p_msg) {
- path_error_label->set_text(TTR(p_msg));
+ path_error_label->set_text("- " + TTR(p_msg));
if (valid) {
path_error_label->add_color_override("font_color", get_color("success_color", "Editor"));
} else {
@@ -744,25 +744,11 @@ ScriptCreateDialog::ScriptCreateDialog() {
VBoxContainer *vb = memnew(VBoxContainer);
- HBoxContainer *hb = memnew(HBoxContainer);
- Label *l = memnew(Label);
- l->set_text(" - ");
- hb->add_child(l);
error_label = memnew(Label);
- error_label->set_text(TTR("Error!"));
- error_label->set_align(Label::ALIGN_LEFT);
- hb->add_child(error_label);
- vb->add_child(hb);
+ vb->add_child(error_label);
- hb = memnew(HBoxContainer);
- l = memnew(Label);
- l->set_text(" - ");
- hb->add_child(l);
path_error_label = memnew(Label);
- path_error_label->set_text(TTR("Error!"));
- path_error_label->set_align(Label::ALIGN_LEFT);
- hb->add_child(path_error_label);
- vb->add_child(hb);
+ vb->add_child(path_error_label);
status_panel = memnew(PanelContainer);
status_panel->set_h_size_flags(Control::SIZE_FILL);
@@ -777,7 +763,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
vb->add_child(gc);
vb->add_child(spacing);
vb->add_child(status_panel);
- hb = memnew(HBoxContainer);
+ HBoxContainer *hb = memnew(HBoxContainer);
hb->add_child(vb);
add_child(hb);
@@ -787,9 +773,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
language_menu = memnew(OptionButton);
language_menu->set_custom_minimum_size(Size2(250, 0) * EDSCALE);
language_menu->set_h_size_flags(SIZE_EXPAND_FILL);
- l = memnew(Label(TTR("Language")));
- l->set_align(Label::ALIGN_RIGHT);
- gc->add_child(l);
+ gc->add_child(memnew(Label(TTR("Language:"))));
gc->add_child(language_menu);
default_language = 0;
@@ -825,9 +809,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
parent_browse_button->set_flat(true);
parent_browse_button->connect("pressed", this, "_browse_path", varray(true, false));
hb->add_child(parent_browse_button);
- l = memnew(Label(TTR("Inherits")));
- l->set_align(Label::ALIGN_RIGHT);
- gc->add_child(l);
+ gc->add_child(memnew(Label(TTR("Inherits:"))));
gc->add_child(hb);
is_browsing_parent = false;
@@ -836,17 +818,13 @@ ScriptCreateDialog::ScriptCreateDialog() {
class_name = memnew(LineEdit);
class_name->connect("text_changed", this, "_class_name_changed");
class_name->set_h_size_flags(SIZE_EXPAND_FILL);
- l = memnew(Label(TTR("Class Name")));
- l->set_align(Label::ALIGN_RIGHT);
- gc->add_child(l);
+ gc->add_child(memnew(Label(TTR("Class Name:"))));
gc->add_child(class_name);
/* Templates */
template_menu = memnew(OptionButton);
- l = memnew(Label(TTR("Template")));
- l->set_align(Label::ALIGN_RIGHT);
- gc->add_child(l);
+ gc->add_child(memnew(Label(TTR("Template:"))));
gc->add_child(template_menu);
template_menu->connect("item_selected", this, "_template_changed");
@@ -855,8 +833,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
internal = memnew(CheckBox);
internal->set_text(TTR("On"));
internal->connect("pressed", this, "_built_in_pressed");
- internal_label = memnew(Label(TTR("Built-in Script")));
- internal_label->set_align(Label::ALIGN_RIGHT);
+ internal_label = memnew(Label(TTR("Built-in Script:")));
gc->add_child(internal_label);
gc->add_child(internal);
@@ -873,9 +850,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
path_button->set_flat(true);
path_button->connect("pressed", this, "_browse_path", varray(false, true));
hb->add_child(path_button);
- l = memnew(Label(TTR("Path")));
- l->set_align(Label::ALIGN_RIGHT);
- gc->add_child(l);
+ gc->add_child(memnew(Label(TTR("Path:"))));
gc->add_child(hb);
/* Dialog Setup */
diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp
index 6a9dbb103a..89d275a90b 100644
--- a/editor/script_editor_debugger.cpp
+++ b/editor/script_editor_debugger.cpp
@@ -423,10 +423,12 @@ void ScriptEditorDebugger::_scene_tree_request() {
int ScriptEditorDebugger::_update_scene_tree(TreeItem *parent, const Array &nodes, int current_index) {
String filter = EditorNode::get_singleton()->get_scene_tree_dock()->get_filter();
String item_text = nodes[current_index + 1];
+ String item_type = nodes[current_index + 2];
bool keep = filter.is_subsequence_ofi(item_text);
TreeItem *item = inspect_scene_tree->create_item(parent);
item->set_text(0, item_text);
+ item->set_tooltip(0, TTR("Type:") + " " + item_type);
ObjectID id = ObjectID(nodes[current_index + 3]);
Ref<Texture> icon = EditorNode::get_singleton()->get_class_icon(nodes[current_index + 2], "");
if (icon.is_valid()) {
@@ -726,6 +728,10 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
}
variables->add_property("Members/" + n, v, h, hs);
+
+ if (n == "self") {
+ _scene_tree_property_select_object(v);
+ }
}
ofs += mcount * 2;
diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp
index 5d1250aac2..489049c543 100644
--- a/editor/spatial_editor_gizmos.cpp
+++ b/editor/spatial_editor_gizmos.cpp
@@ -729,7 +729,7 @@ void EditorSpatialGizmo::set_plugin(EditorSpatialGizmoPlugin *p_plugin) {
void EditorSpatialGizmo::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_lines", "lines", "material", "billboard"), &EditorSpatialGizmo::add_lines, DEFVAL(false));
- ClassDB::bind_method(D_METHOD("add_mesh", "mesh", "billboard", "skeleton", "material"), &EditorSpatialGizmo::add_mesh, DEFVAL(false), DEFVAL(Variant()), DEFVAL(Variant()));
+ ClassDB::bind_method(D_METHOD("add_mesh", "mesh", "billboard", "skeleton", "material"), &EditorSpatialGizmo::add_mesh, DEFVAL(false), DEFVAL(Ref<SkinReference>()), DEFVAL(Variant()));
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));
diff --git a/editor/translations/af.po b/editor/translations/af.po
index 5c4eb539a8..0fa3736468 100644
--- a/editor/translations/af.po
+++ b/editor/translations/af.po
@@ -60,6 +60,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Bevry"
@@ -490,6 +518,12 @@ msgid "Select None"
msgstr "Dupliseer Seleksie"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Selekteer 'n AnimasieSpeler van die Toeneel Boom om animasies te redigeer."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -823,7 +857,8 @@ msgstr "Koppel tans Sein:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -933,7 +968,8 @@ msgstr "Soek:"
msgid "Matches:"
msgstr "Passendes:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1256,7 +1292,8 @@ msgid "Delete Bus Effect"
msgstr "Skrap Bus Effek"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Oudio-Bus, Sleep-en-los om dit te herrangskik."
#: editor/editor_audio_buses.cpp
@@ -1455,6 +1492,7 @@ msgid "Add AutoLoad"
msgstr "Voeg AutoLaai By"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Pad:"
@@ -1690,6 +1728,7 @@ msgstr "Maak Funksie"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1767,6 +1806,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Verfris"
@@ -1928,7 +1968,8 @@ msgid "Inherited by:"
msgstr "Geërf deur:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Kort Beskrywing:"
#: editor/editor_help.cpp
@@ -1936,41 +1977,19 @@ msgid "Properties"
msgstr "Eienskappe"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metodes"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "Metodes"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "Eienskappe"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-msgstr "Eienskappe"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Seine:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Opnoemings"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Opnoemings:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1979,21 +1998,12 @@ msgid "Constants"
msgstr "Konstantes"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstantes:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Beskrywing"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "Beskrywing:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -2012,11 +2022,6 @@ msgid "Property Descriptions"
msgstr "Eienskap Beskrywing:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Eienskap Beskrywing:"
-
-#: 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]!"
@@ -2030,11 +2035,6 @@ msgid "Method Descriptions"
msgstr "Metode Beskrywing:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Metode Beskrywing:"
-
-#: 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]!"
@@ -2112,8 +2112,8 @@ msgstr "Afvoer:"
msgid "Copy Selection"
msgstr "Verwyder Seleksie"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2127,6 +2127,48 @@ msgstr "Vee uit"
msgid "Clear Output"
msgstr "Afvoer:"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2674,6 +2716,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2877,10 +2931,6 @@ msgstr ""
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 ""
@@ -2932,10 +2982,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2957,15 +3003,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3028,6 +3080,11 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Hulpbron"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -3037,6 +3094,11 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Afhanklikheid Bewerker"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -3065,11 +3127,6 @@ msgstr ""
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 ""
@@ -3885,9 +3942,10 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Herset Zoem"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4337,6 +4395,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4917,10 +4976,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5195,6 +5250,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Wissel Modus"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6263,7 +6323,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6479,11 +6539,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6566,7 +6626,7 @@ msgstr ""
msgid "Connections to method:"
msgstr "Koppel aan Nodus:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Hulpbron"
@@ -7362,6 +7422,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Skuif Byvoeg Sleutel"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animasie Zoem."
@@ -7687,6 +7752,15 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Eienskappe"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7825,6 +7899,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Skuif huidige baan op."
@@ -7994,6 +8073,105 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Skep Nuwe"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Verander Skikking Waarde-Soort"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Nodus Naam:"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Skrap"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Skaal Seleksie"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Vervang Alles"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8241,6 +8419,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9446,6 +9629,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9584,6 +9771,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9752,10 +9943,6 @@ msgstr ""
msgid "Reset"
msgstr "Herset Zoem"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9811,6 +9998,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9851,10 +10042,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Skrap"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Skrap"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10245,26 +10450,60 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Fout terwyl laai:"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+msgid "C++ Error:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "C++ Source"
+msgstr "Hulpbron"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Hulpbron"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Hulpbron"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Child process connected."
+msgstr "Ontkoppel"
+
+#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Skep"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10281,6 +10520,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Skep Vouer"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10293,6 +10537,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10490,10 +10738,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10502,6 +10746,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10656,6 +10904,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Eienskappe"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10795,6 +11052,10 @@ msgid "Create a new variable."
msgstr "Skep Nuwe"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Seine:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Skep Intekening"
@@ -10954,6 +11215,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11103,7 +11368,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11763,6 +12029,32 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "Metodes"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Eienskappe"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Opnoemings:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstantes:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Beskrywing:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Eienskap Beskrywing:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Metode Beskrywing:"
+
+#, fuzzy
#~ msgid "Error: could not load file."
#~ msgstr "Kon nie vouer skep nie."
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index 341617c1b8..5d6e0bd606 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -34,8 +34,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-15 10:23+0000\n"
-"Last-Translator: Rachid Graphicos <graphicos1d@gmail.com>\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
+"Last-Translator: Omar Aglan <omar.aglan91@yahoo.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
"Language: ar\n"
@@ -44,12 +44,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 3.8\n"
+"X-Generator: Weblate 3.9-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 "نوع برهان خاطئ للتحويل()، إستخدم ثابت TYPE_*."
+msgstr "نوع برهان خاطئ خاص بconvert()، إستخدم ثوابت TYPE_*."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
@@ -85,6 +85,35 @@ msgstr "نقاش غير صالحة للبناء '%s'"
msgid "On call to '%s':"
msgstr "عند الأستدعاء إلى '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "خلط"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "مجاني/ÙØ§Ø±Øº"
@@ -102,7 +131,6 @@ msgid "Time:"
msgstr "الوقت:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
msgstr "القيمة:"
@@ -403,9 +431,8 @@ msgstr ""
"-الصوت الجاري للأعب ثلاثي الأبعاد"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr "مسارات الحركة يمكنها Ùقط أن تشير إلى عقدة مشغّل الحركة AnimationPlayer"
+msgstr "مسارات الحركة يمكنها Ùقط أن تشير إلى عقد مشغّل الحركة."
#: editor/animation_track_editor.cpp
msgid "An animation player can't animate itself, only other players."
@@ -503,6 +530,11 @@ msgid "Select None"
msgstr "تحديد الوضع"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "حدد مشغل حركة من شجرة المشهد لكي تعدل الحركة."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Ùقط قم بتبين المقاطع من العقد (Nodes) المحددة ÙÙŠ الشجرة."
@@ -585,9 +617,8 @@ msgid "Pick the node that will be animated:"
msgstr "إختار العقدة التي سو٠يتم تحريكها:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Use Bezier Curves"
-msgstr "إستعمل خطوط أو منحنيات Bezier"
+msgstr "إستعمل منحنيات بيزية"
#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
@@ -831,7 +862,8 @@ msgstr "قم بوصل الإشارة: "
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -935,7 +967,8 @@ msgstr "بحث:"
msgid "Matches:"
msgstr "يطابق:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1252,7 +1285,8 @@ msgid "Delete Bus Effect"
msgstr "مسح تأثير البيوس"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "بيوس الصوت، سحب وإسقاط لإعادة الترتيب."
#: editor/editor_audio_buses.cpp
@@ -1447,6 +1481,7 @@ msgid "Add AutoLoad"
msgstr "Ø¥Ø¶Ø§ÙØ© للتحميل التلقائي"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "المسار:"
@@ -1583,9 +1618,8 @@ msgid "Script Editor"
msgstr "ÙØªØ­ Ù…ÙØ¹Ø¯Ù„ الكود"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "ÙØªØ­ مكتبة الأصول"
+msgstr "مكتبة الأصول"
#: editor/editor_feature_profile.cpp
msgid "Scene Tree Editing"
@@ -1689,6 +1723,7 @@ msgstr "الحالي:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1769,6 +1804,7 @@ msgid "New Folder..."
msgstr "مجلد جديد..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "تحديث"
@@ -1932,7 +1968,8 @@ msgid "Inherited by:"
msgstr "مورث بواسطة:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "وص٠مختصر:"
#: editor/editor_help.cpp
@@ -1940,41 +1977,18 @@ msgid "Properties"
msgstr "خصائص"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "خصائص:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "قائمة الطرق"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Methods:"
-msgstr "قائمة الطرق"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
-msgstr "خصائص النمط"
-
-#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-msgstr "خصائص"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "الإشارات:"
+msgstr "خصائص الثمة"
#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "التعدادات"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "التعدادات:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "التعداد "
@@ -1983,19 +1997,12 @@ msgid "Constants"
msgstr "الثوابت"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "الثوابت:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "وص٠الصÙ"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "وص٠الصÙ:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "الدورس علي الإنترنت:"
#: editor/editor_help.cpp
@@ -2014,11 +2021,6 @@ msgid "Property Descriptions"
msgstr "وص٠الملكية:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -2032,11 +2034,6 @@ msgid "Method Descriptions"
msgstr "وص٠الطريقة:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "وص٠الطريقة:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2083,9 +2080,8 @@ msgid "Member Type"
msgstr "نوع العضو"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Class"
-msgstr "صنÙ:"
+msgstr "الصنÙ"
#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
msgid "Property:"
@@ -2108,8 +2104,8 @@ msgstr "الخرج:"
msgid "Copy Selection"
msgstr "Ø­Ø°Ù Ø§Ù„Ù…ÙØ­Ø¯Ø¯"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2122,6 +2118,50 @@ msgstr "خالي"
msgid "Clear Output"
msgstr "أخلاء الخرج"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "إيقاÙ"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "بدء!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "تنزيل"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "عقدة"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2709,6 +2749,19 @@ msgstr "مشروع"
msgid "Project Settings..."
msgstr "إعدادات المشروع"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "النسخة:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2936,10 +2989,6 @@ msgstr "إيقا٠مؤقت للمشهد"
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 "تشغيل المشهد Ø§Ù„Ù…ÙØ¹Ø¯Ù„."
@@ -2995,10 +3044,6 @@ msgid "Inspector"
msgstr "Ù…ÙØ±Ø§Ù‚ب"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "عقدة"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "توسيع الكل"
@@ -3022,15 +3067,21 @@ msgstr "إدارة قوالب التصدير"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3093,6 +3144,11 @@ msgstr "ÙØªØ­ ÙÙŠ Ø§Ù„Ù…ÙØ¹Ø¯Ù„ التالي"
msgid "Open the previous Editor"
msgstr "Ø¥ÙØªØ­ Ø§Ù„Ù…ÙØ¹Ø¯Ù„ السابق"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "لا مصدر للسطح تم تحديده."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "ÙŠÙنشئ مستعرضات الميش"
@@ -3103,6 +3159,11 @@ msgstr "الصورة المصغرة..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "ÙØªØ­ الكود"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "تعديل البولي"
@@ -3132,12 +3193,6 @@ msgstr "الحالة:"
msgid "Edit:"
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:"
msgstr "قياس:"
@@ -3965,8 +4020,9 @@ msgstr " Ù…Ù„ÙØ§Øª"
msgid "Import As:"
msgstr "إستيراد كـ:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
msgstr "إعداد Ù…ÙØ³Ø¨Ù‚..."
#: editor/import_dock.cpp
@@ -4436,6 +4492,7 @@ msgid "Change Animation Name:"
msgstr "تغيير إسم الحركة:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "مسح الحركة؟"
@@ -4731,7 +4788,7 @@ msgstr "تحول"
#: editor/plugins/animation_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "AnimationTree"
-msgstr "شجرة الحركة"
+msgstr "مسارات التحريك"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
@@ -5024,11 +5081,6 @@ msgid "Sort:"
msgstr "ترتيب:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "جار الطلب..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Ø§Ù„ÙØ¦Ø©:"
@@ -5315,6 +5367,11 @@ msgstr "وضع السحب"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "تحديد الوضع"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ الكبس"
@@ -5802,9 +5859,8 @@ 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"
@@ -6420,7 +6476,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6638,11 +6694,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6727,7 +6783,7 @@ msgstr "إخلاء المشاهد الحالية"
msgid "Connections to method:"
msgstr "صلها بالعقدة:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "مورد"
@@ -6976,9 +7032,8 @@ msgid "Create physical bones"
msgstr "أنشئ ميش التنقل"
#: editor/plugins/skeleton_editor_plugin.cpp
-#, fuzzy
msgid "Skeleton"
-msgstr "Ø§Ù„ÙØ±Ø¯ÙŠØ©"
+msgstr "الهيكل"
#: editor/plugins/skeleton_editor_plugin.cpp
#, fuzzy
@@ -7536,6 +7591,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "وضع التحريك"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "صورة متحركة"
@@ -7873,6 +7933,15 @@ msgid "Enable Priority"
msgstr "تعديل المصاÙÙŠ"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Ùلتر Ø§Ù„Ù…Ù„ÙØ§Øª..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -8020,6 +8089,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "مسح المدخلة الحالية"
@@ -8197,6 +8271,109 @@ msgstr "هذه العملية لا يمكن الإكتمال من غير مشهØ
msgid "TileSet"
msgstr "مجموعة البلاط"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "لا أسم Ù…Ùقدم"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "المجتمع"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "إنشاء %s جديد"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "تغير"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "إعادة التسمية"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "مسح"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "تغير"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "تكبير المحدد"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Ø§Ø­ÙØ¸ الكل"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "مزامنة تغييرات الكود"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8217,9 +8394,8 @@ msgid "Scalar"
msgstr "تكبير/تصغير:"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Ù…ÙØ±Ø§Ù‚ب"
+msgstr "متجه"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
@@ -8453,6 +8629,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9669,6 +9850,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "حرك النقطة داخل المنحنى"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9733,9 +9919,8 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Action"
-msgstr "عملية التحريك"
+msgstr "Ø§Ù„ÙØ¹Ù„"
#: editor/project_settings_editor.cpp
msgid "Deadzone"
@@ -9808,6 +9993,10 @@ msgid "Plugins"
msgstr "Ø¥Ø¶Ø§ÙØ§Øª"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "إعداد Ù…ÙØ³Ø¨Ù‚..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9979,10 +10168,6 @@ msgstr ""
msgid "Reset"
msgstr "إرجاع التكبير"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10038,6 +10223,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10079,10 +10268,24 @@ msgid "Make node as Root"
msgstr "Ø­ÙØ¸ المشهد"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "إنشاء عقدة"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "إنشاء عقدة"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10487,11 +10690,42 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
+#, fuzzy
+msgid "Warning:"
+msgstr "تحذيرات"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "خطأ!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "خطأ ÙÙŠ نسخ"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "خطأ ÙÙŠ نسخ"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "مورد"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "مورد"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "مورد"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10499,14 +10733,20 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "غير متصل"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr "خطأ ÙÙŠ نسخ"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "مسح النقاط"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10523,6 +10763,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "تصدير المشروع"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10535,6 +10780,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10737,10 +10986,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10749,6 +10994,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "الخطوة (المتغيرة المدخلة/argument) تساوي ØµÙØ± !"
@@ -10911,6 +11160,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "وضع Ø§Ù„Ù…ÙØµÙÙŠ:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11049,6 +11307,10 @@ msgid "Create a new variable."
msgstr "إنشاء %s جديد"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "الإشارات:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "أنشئ شكل جديد من لا شئ."
@@ -11209,6 +11471,11 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "أنشئ عظام"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11358,7 +11625,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12027,6 +12295,38 @@ msgstr "يمكن تعيين المتغيرات Ùقط ÙÙŠ الذروة ."
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Properties:"
+#~ msgstr "خصائص:"
+
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "قائمة الطرق"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "خصائص"
+
+#~ msgid "Enumerations:"
+#~ msgstr "التعدادات:"
+
+#~ msgid "Constants:"
+#~ msgstr "الثوابت:"
+
+#~ msgid "Class Description:"
+#~ msgstr "وص٠الصÙ:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "وص٠الملكية:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "وص٠الطريقة:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "جار الطلب..."
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12200,9 +12500,6 @@ msgstr ""
#~ msgid "Poly"
#~ msgstr "تعديل البولي"
-#~ msgid "No name provided"
-#~ msgstr "لا أسم Ù…Ùقدم"
-
#~ msgid "Create Poly"
#~ msgstr "إنشاء بولي"
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index eab5310b25..56196b743f 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -65,6 +65,34 @@ msgstr "Ðевалидени агрументи за конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ '%s'
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
#, fuzzy
msgid "Free"
@@ -487,6 +515,10 @@ msgid "Select None"
msgstr "Избиране на вÑичко"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -816,7 +848,8 @@ msgstr "Свържи Сигнала: "
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -922,7 +955,8 @@ msgstr "ТърÑене:"
msgid "Matches:"
msgstr "Съвпадащи:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1226,7 +1260,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1419,6 +1453,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Път:"
@@ -1653,6 +1688,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1732,6 +1768,7 @@ msgid "New Folder..."
msgstr "Ðова папка..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1893,7 +1930,8 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Кратко ОпиÑание:"
#: editor/editor_help.cpp
@@ -1901,41 +1939,19 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Методи"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "Методи"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "ПоÑтавÑне на възелите"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-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 ""
@@ -1944,21 +1960,12 @@ msgid "Constants"
msgstr "КонÑтанти"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "КонÑтанти:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "ОпиÑание"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "ОпиÑание:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1974,11 +1981,6 @@ msgid "Property Descriptions"
msgstr "Кратко ОпиÑание:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -1990,11 +1992,6 @@ msgid "Method Descriptions"
msgstr "ОпиÑание"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "ОпиÑание:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2069,8 +2066,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Ðова Ñцена"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2084,6 +2081,49 @@ msgstr "ИзчиÑтване"
msgid "Clear Output"
msgstr "Ðова Ñцена"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "ПремеÑти Ðадоло"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Възел"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2640,6 +2680,19 @@ msgstr "Проект"
msgid "Project Settings..."
msgstr "ÐаÑтройки на проекта"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "ВерÑиÑ:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2848,10 +2901,6 @@ msgstr "ПреуÑтановÑване на Ñцената"
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 "Възпроизвеждане на редактирана Ñцена."
@@ -2903,10 +2952,6 @@ msgid "Inspector"
msgstr "ИнÑпектор"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Възел"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Разшири Ð”Ð¾Ð»Ð½Ð¸Ñ ÐŸÐ°Ð½ÐµÐ»"
@@ -2929,15 +2974,21 @@ msgstr "Шаблони"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3001,6 +3052,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -3011,6 +3066,11 @@ msgstr ""
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Ðова Ñцена"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "ПриÑтавки"
@@ -3039,11 +3099,6 @@ msgstr ""
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 ""
@@ -3879,8 +3934,8 @@ msgstr "Файл:"
msgid "Import As:"
msgstr "ВнаÑÑне като:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4347,6 +4402,7 @@ msgid "Change Animation Name:"
msgstr "Промени Името на ÐнимациÑта:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Изтриване на анимациÑта?"
@@ -4928,11 +4984,6 @@ msgid "Sort:"
msgstr "Подреждане:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Запитване..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "КатегориÑ:"
@@ -5215,6 +5266,11 @@ msgid "Pan Mode"
msgstr "Панорамен режим на ОтмеÑтване (на Ñ€Ð°Ð±Ð¾Ñ‚Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð·Ð¾Ñ€ÐµÑ†)"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Режим на Селектиране"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6294,7 +6350,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Тип:"
@@ -6508,11 +6564,11 @@ msgid "Toggle Scripts Panel"
msgstr "ВидимоÑÑ‚ на Панела ÑÑŠÑ Ð¡ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ð²Ðµ"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6598,7 +6654,7 @@ msgstr "ЗатварÑне на Ñцената"
msgid "Connections to method:"
msgstr "Свързване..."
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7398,6 +7454,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Режим на ПремеÑтване"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Ðнимационни ИнÑтрументи"
@@ -7729,6 +7790,15 @@ msgid "Enable Priority"
msgstr "Промени Филтрите"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "ПоÑтавÑне на възелите"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7877,6 +7947,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "ПремеÑтване на пътечката нагоре."
@@ -8055,6 +8130,105 @@ msgstr ""
msgid "TileSet"
msgstr "Файл:"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Ð’ÑÑка дума Ñ Ð“Ð»Ð°Ð²Ð½Ð° буква"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Създай нови възли."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Възел"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Изтрий"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Покажи СелекциÑта (вмеÑти в Ñ†ÐµÐ»Ð¸Ñ Ð¿Ñ€Ð¾Ð·Ð¾Ñ€ÐµÑ†)"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Запази Ð’Ñичко"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8305,6 +8479,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9528,6 +9707,10 @@ msgid "Settings saved OK."
msgstr "ÐаÑтройките Ñа запазени."
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9668,6 +9851,10 @@ msgid "Plugins"
msgstr "ПриÑтавки"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9837,10 +10024,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9896,6 +10079,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9938,10 +10125,24 @@ msgid "Make node as Root"
msgstr "Запазване на Ñцената"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Избиране на вÑичко"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Избиране на вÑичко"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10346,11 +10547,39 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+#, fuzzy
+msgid "Warning:"
+msgstr "ПредупреждениÑ:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Error:"
+msgstr "Грешки:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Грешки"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Грешки:"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10358,8 +10587,9 @@ msgid "Errors"
msgstr "Грешки"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Разкачи"
#: editor/script_editor_debugger.cpp
#, fuzzy
@@ -10367,6 +10597,11 @@ msgid "Copy Error"
msgstr "Грешки"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Създай точки."
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10383,6 +10618,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "ИзнаÑÑне на проекта"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10395,6 +10635,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10596,10 +10840,6 @@ msgid "Library"
msgstr "ИзнаÑÑне на библиотеката"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10608,6 +10848,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "Стъпката на range() е нула!"
@@ -10778,6 +11022,15 @@ msgstr "ÐаÑтройки"
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "ПоÑтавÑне на възелите"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10915,6 +11168,10 @@ msgid "Create a new variable."
msgstr "Създай нови възли."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Създай нов полигон от нулата."
@@ -11078,6 +11335,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11227,7 +11488,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11923,6 +12185,33 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "Методи"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "ПоÑтавÑне на възелите"
+
+#~ msgid "Constants:"
+#~ msgstr "КонÑтанти:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "ОпиÑание:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Кратко ОпиÑание:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "ОпиÑание:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Запитване..."
+
#~ msgid "No faces!"
#~ msgstr "ÐÑма лица!"
@@ -12005,9 +12294,6 @@ msgstr ""
#~ msgid "Create Exterior Connector"
#~ msgstr "Създаване на нов проект"
-#~ msgid "Warnings:"
-#~ msgstr "ПредупреждениÑ:"
-
#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "Изглед Отпред."
@@ -12074,9 +12360,6 @@ msgstr ""
#~ msgid "Search in files"
#~ msgstr "ТърÑи във файлове"
-#~ msgid "Errors:"
-#~ msgstr "Грешки:"
-
#~ msgid "Length (s):"
#~ msgstr "Дължина (Ñек.):"
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index 44a7be497c..8e009dc63c 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -2,30 +2,29 @@
# Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur.
# Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md)
# This file is distributed under the same license as the Godot source code.
-#
# Abu Md. Maruf Sarker <maruf.webdev@gmail.com>, 2016-2017.
# Abdullah Zubair <abdullahzubair109@gmail.com>, 2017.
# Tahmid Karim <tahmidk15@gmail.com>, 2016.
-#
+# Tawhid H. <Tawhidk757@yahoo.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-12-13 14:38+0100\n"
-"Last-Translator: Abdullah Zubair <abdullahzubair109@gmail.com>\n"
+"PO-Revision-Date: 2019-09-26 11:50+0000\n"
+"Last-Translator: Tawhid H. <Tawhidk757@yahoo.com>\n"
"Language-Team: Bengali <https://hosted.weblate.org/projects/godot-engine/"
"godot/bn/>\n"
"Language: bn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Poedit 2.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 3.9-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 "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ মান/আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿ convert()-ঠগিয়েছে, TYPE_* ধà§à¦°à§à¦¬à¦• বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨à¥¤"
+msgstr "অবৈধ পà§à¦°à¦•ার রূপানà§à¦¤à¦° করার যà§à¦•à§à¦¤à¦¿(),use TYPE_* constants."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
@@ -35,11 +34,12 @@ msgstr "বিনà§à¦¯à¦¾à¦¸ জানার জনà§à¦¯ যথেষà§à¦Ÿ à¦
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr ""
+msgstr "অবৈধ ইনপà§à¦Ÿ %i (পাস করা হয়নি) পà§à¦°à¦•াশে"
#: core/math/expression.cpp
+#, fuzzy
msgid "self can't be used because instance is null (not passed)"
-msgstr ""
+msgstr "সà§à¦¬ বà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাবে না কারণ উদাহরণটি হলো null(উতà§à¦¤à§€à¦°à§à¦£ হয়নি)"
#: core/math/expression.cpp
#, fuzzy
@@ -53,15 +53,44 @@ msgstr "%s নোডে সূচক/ইনডেকà§à¦¸ মানের অà¦
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr ""
+msgstr "অবৈধ নামকরণ সূচক I '%s' for ভিতà§à¦¤à¦¿ type %s"
#: core/math/expression.cpp
#, fuzzy
msgid "Invalid arguments to construct '%s'"
-msgstr ": অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ মান/আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿ-à¦à¦° ধরণ: "
+msgstr ": অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ মান/আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿ-à¦à¦° ধরণ:"
#: core/math/expression.cpp
msgid "On call to '%s':"
+msgstr "কল করà§à¦¨ '%s'"
+
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "মিশà§à¦°à¦¿à¦¤ করà§à¦¨"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
msgstr ""
#: editor/animation_bezier_editor.cpp
@@ -70,7 +99,7 @@ msgstr "মà§à¦•à§à¦¤ করে দিন"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
-msgstr ""
+msgstr "সà§à¦¥à¦¿à¦°"
#: editor/animation_bezier_editor.cpp
#, fuzzy
@@ -82,9 +111,8 @@ msgid "Time:"
msgstr "সময়:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "মান"
+msgstr "মান:"
#: editor/animation_bezier_editor.cpp
#, fuzzy
@@ -112,8 +140,9 @@ msgid "Move Bezier Points"
msgstr "বিনà§à¦¦à§ সরান"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+#, fuzzy
msgid "Anim Duplicate Keys"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) কি ডà§à¦ªà§à¦²à¦¿à¦•েট করà§à¦¨"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) ডà§à¦ªà§à¦²à¦¿à¦•েট করà§à¦¨ কি"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
@@ -508,6 +537,12 @@ msgid "Select None"
msgstr "কোনোটাই নিরà§à¦¬à¦¾à¦šà¦¨ করবেন না"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ করতে দৃশà§à¦¯à§‡à¦° তালিকা থেকে à¦à¦•টি AnimationPlayer নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤"
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -845,7 +880,8 @@ msgstr "সংযোজক সংকেত/সিগনà§à¦¯à¦¾à¦²:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -957,7 +993,8 @@ msgstr "অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨:"
msgid "Matches:"
msgstr "মিলসমূহ:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1279,7 +1316,8 @@ msgid "Delete Bus Effect"
msgstr "বাস ইফেকà§à¦Ÿ ডিলিট করà§à¦¨"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "অডিও বাস, পà§à¦¨à¦°à¦¾à¦¯à¦¼ সাজানোর জনà§à¦¯ ডà§à¦°à§à¦¯à¦¾à¦— à¦à¦¨à§à¦¡ ডà§à¦°à¦ª অà§à¦¯à¦¾à¦ªà§à¦²à¦¾à¦‡ করà§à¦¨à¥¤"
#: editor/editor_audio_buses.cpp
@@ -1482,6 +1520,7 @@ msgid "Add AutoLoad"
msgstr "AutoLoad সংযà§à¦•à§à¦¤ করà§à¦¨"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "পথ:"
@@ -1728,6 +1767,7 @@ msgstr "বরà§à¦¤à¦®à¦¾à¦¨:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "নতà§à¦¨"
@@ -1810,6 +1850,7 @@ msgid "New Folder..."
msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨"
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "রিফà§à¦°à§‡à¦¸ করà§à¦¨"
@@ -1974,7 +2015,8 @@ msgid "Inherited by:"
msgstr "গৃহীত হয়েছে:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "সংকà§à¦·à¦¿à¦ªà§à¦¤ বরà§à¦£à¦¨à¦¾:"
#: editor/editor_help.cpp
@@ -1983,44 +2025,21 @@ msgid "Properties"
msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Methods"
msgstr "মেথডের তালিকা:"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "মেথডের তালিকা:"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Theme Properties:"
-msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "সিগনà§à¦¯à¦¾à¦²à¦¸/সংকেতসমূহ:"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Enumerations:"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -2030,22 +2049,13 @@ msgid "Constants"
msgstr "ধà§à¦°à§à¦¬à¦•সমূহ:"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "ধà§à¦°à§à¦¬à¦•সমূহ:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "বরà§à¦£à¦¨à¦¾:"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "বরà§à¦£à¦¨à¦¾:"
-
-#: editor/editor_help.cpp
-#, fuzzy
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "টিউটোরিয়ালসমূহ"
#: editor/editor_help.cpp
@@ -2065,11 +2075,6 @@ msgid "Property Descriptions"
msgstr "মান/পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿à¦° বরà§à¦£à¦¨à¦¾:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -2084,11 +2089,6 @@ msgid "Method Descriptions"
msgstr "মেথডের বরà§à¦£à§à¦¨à¦¾:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "মেথডের বরà§à¦£à§à¦¨à¦¾:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2169,8 +2169,8 @@ msgstr " আউটপà§à¦Ÿ/ফলাফল:"
msgid "Copy Selection"
msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2184,6 +2184,49 @@ msgstr "পরিসà§à¦•ার করà§à¦¨/কà§à¦²à§€à§Ÿà¦¾à¦°"
msgid "Clear Output"
msgstr "আউটপà§à¦Ÿ/ফলাফল"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "থামান"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "আরমà§à¦­!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "নীচে"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "উপরে"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "নোড"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
#, fuzzy
msgid "New Window"
@@ -2794,6 +2837,19 @@ msgstr "নতà§à¦¨ পà§à¦°à¦•লà§à¦ª"
msgid "Project Settings..."
msgstr "পà§à¦°à¦•লà§à¦ªà§‡à¦° সেটিংস"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "সংসà§à¦•রণ:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr "à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ..."
@@ -3025,10 +3081,6 @@ msgstr "দৃশà§à¦¯à¦•ে বিরতি দিন"
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 "সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ দৃশà§à¦¯à¦Ÿà¦¿ চালান।"
@@ -3084,10 +3136,6 @@ msgid "Inspector"
msgstr "পরিদরà§à¦¶à¦•/পরীকà§à¦·à¦•"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "নোড"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "ধারক/বাহক পরà§à¦¯à¦¨à§à¦¤ বিসà§à¦¤à§ƒà¦¤ করà§à¦¨"
@@ -3111,15 +3159,21 @@ msgstr "à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿà¦¸à¦®à§‚হ লোà
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3189,6 +3243,11 @@ msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡ খà§à¦²à§à¦¨"
msgid "Open the previous Editor"
msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡ খà§à¦²à§à¦¨"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "কোনো পৃষà§à¦ à¦¤à¦²à§‡à¦° উৎস নিরà§à¦¦à¦¿à¦·à§à¦Ÿ করা নেই।"
+
#: editor/editor_plugin.cpp
#, fuzzy
msgid "Creating Mesh Previews"
@@ -3200,6 +3259,11 @@ msgstr "থামà§à¦¬à¦¨à§‡à¦‡à¦²..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "পরবরà§à¦¤à§€ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Poly সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
@@ -3229,12 +3293,6 @@ msgstr "অবসà§à¦¥à¦¾:"
msgid "Edit:"
msgstr "সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨ (Edit)"
-#: 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:"
msgstr "মাপ:"
@@ -4124,8 +4182,9 @@ msgstr "ফাইল"
msgid "Import As:"
msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿ"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
msgstr "পà§à¦°à¦¿à¦¸à§‡à¦Ÿ..."
#: editor/import_dock.cpp
@@ -4606,6 +4665,7 @@ msgid "Change Animation Name:"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নাম পরিবরà§à¦¤à¦¨ করà§à¦¨:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Delete Animation?"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
@@ -5207,11 +5267,6 @@ msgid "Sort:"
msgstr "সাজান:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "পরীকà§à¦·à¦¾à¦®à§‚লক উৎস"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "বিভাগ:"
@@ -5504,6 +5559,11 @@ msgstr "পà§à¦¯à¦¾à¦¨ মোড"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "চালানোর মোড:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "ছেদবিনà§à¦¦à§ অদলবদল করà§à¦¨ (টগল বà§à¦°à§‡à¦•পয়েনà§à¦Ÿ)"
@@ -6641,7 +6701,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "ধরণ:"
@@ -6867,14 +6927,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "ধাপ লাফিয়ে যান"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "বিরতি/ভাঙà§à¦—ন"
@@ -6959,7 +7019,7 @@ msgstr "বোনà§â€Œ/হাড় পরিষà§à¦•ার করà§à¦¨"
msgid "Connections to method:"
msgstr "নোডের সাথে সংযà§à¦•à§à¦¤ করà§à¦¨:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "উৎস:"
@@ -7801,6 +7861,11 @@ msgstr "(খালি/শূনà§à¦¯)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "ফà§à¦°à§‡à¦® পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨ করà§à¦¨"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ"
@@ -8152,6 +8217,15 @@ msgstr "নোড ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ কর
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
+msgid "Filter tiles"
+msgstr "দà§à¦°à§à¦¤ ফাইলসমূহ ফিলà§à¦Ÿà¦¾à¦° করà§à¦¨..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
msgid "Paint Tile"
msgstr "TileMap আà¦à¦•à§à¦¨"
@@ -8301,6 +8375,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "পথের বিনà§à¦¦à§ অপসারণ করà§à¦¨"
@@ -8480,6 +8559,112 @@ msgstr "দৃশà§à¦¯ ছাড়া à¦à¦Ÿà¦¿ করা সমà§à¦­à¦¬ হবà
msgid "TileSet"
msgstr "TileSet (টাইল-সেট)..."
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "সমসà§à¦¯à¦¾/ভà§à¦²"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "কোন নাম বà§à¦¯à¦¾à¦¬à¦¹à¦¾à¦° করা হয়নি"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "কমিউনিটি/যৌথ-সামাজিক উৎস"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "বড় হাতের অকà§à¦·à¦°à§‡ পরিবরà§à¦¤à¦¨à§‡ করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "নতà§à¦¨ তৈরি করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "অপসারণ করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "সকলà§à¦—à§à¦²à¦¿ সংরকà§à¦·à¦£ করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿà§‡à¦° পরিবরà§à¦¤à¦¨à¦¸à¦®à§‚হ সà§à¦¸à¦‚গত/সমনà§à¦¬à§Ÿ করà§à¦¨"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+#, fuzzy
+msgid "Status"
+msgstr "অবসà§à¦¥à¦¾:"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "কোনো ফাইল নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ হয়নি!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8739,6 +8924,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -10027,6 +10217,11 @@ msgid "Settings saved OK."
msgstr "সেটিংস সংরকà§à¦·à¦£ সফল হয়েছে।"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন ইভেনà§à¦Ÿ যোগ করà§à¦¨"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "ফিচার ওভাররাইড"
@@ -10170,6 +10365,10 @@ msgid "Plugins"
msgstr "পà§à¦²à¦¾à¦—ইন-সমূহ"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "পà§à¦°à¦¿à¦¸à§‡à¦Ÿ..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "শূনà§à¦¯"
@@ -10348,10 +10547,6 @@ msgstr "বড় হাতের অকà§à¦·à¦°"
msgid "Reset"
msgstr "সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¨/সংকোচন অপসারণ করà§à¦¨ (রিসেট জà§à¦®à§)"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "সমসà§à¦¯à¦¾/ভà§à¦²"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "নোডের নতà§à¦¨ অভিভাবক দান করà§à¦¨"
@@ -10409,6 +10604,11 @@ msgid "Instance Scene(s)"
msgstr "দৃশà§à¦¯(সমূহ) ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করà§à¦¨"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "পà§à¦°à¦¶à¦¾à¦–াকে দৃশà§à¦¯ হিসেবে সংরকà§à¦·à¦£ করà§à¦¨"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "শীষà§à¦¯ নোড ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করà§à¦¨"
@@ -10450,8 +10650,23 @@ msgid "Make node as Root"
msgstr "অরà§à¦¥à¦ªà§‚রà§à¦¨!"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "নোড(সমূহ) অপসারণ করবেন?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "নোড(সমূহ) অপসারণ করà§à¦¨"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Shader Graph Node(s) অপসারণ করà§à¦¨"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "নোড(সমূহ) অপসারণ করà§à¦¨"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10896,19 +11111,50 @@ msgstr "বাইটস:"
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Stack Trace"
-msgstr "ফà§à¦°à§‡à¦®à¦¸à¦®à§‚হ সà§à¦¤à§‚প করà§à¦¨"
+msgid "Warning:"
+msgstr "সতরà§à¦•তা"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "গà§à¦°à¦¾à¦« পà§à¦°à¦¦à¦°à§à¦¶à¦¨ করতে তালিকা থেকে à¦à¦• বা à¦à¦•াধিক আইটেম বাছাই করà§à¦¨à¥¤"
+msgid "Error:"
+msgstr "সমসà§à¦¯à¦¾:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "ভà§à¦²/সমসà§à¦¯à¦¾-সমূহ লোড করà§à¦¨"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "সমসà§à¦¯à¦¾:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "উৎস:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "উৎস:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "উৎস:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Stack Trace"
+msgstr "ফà§à¦°à§‡à¦®à¦¸à¦®à§‚হ সà§à¦¤à§‚প করà§à¦¨"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "সমসà§à¦¯à¦¾à¦¸à¦®à§‚হ"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "চাইলà§à¦¡ পà§à¦°à¦¸à§‡à¦¸ সংযà§à¦•à§à¦¤ হয়েছে"
#: editor/script_editor_debugger.cpp
@@ -10917,6 +11163,11 @@ msgid "Copy Error"
msgstr "ভà§à¦²/সমসà§à¦¯à¦¾-সমূহ লোড করà§à¦¨"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "বিনà§à¦¦à§ অপসারণ করà§à¦¨"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€ ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ পরীকà§à¦·à¦¾ করà§à¦¨"
@@ -10933,6 +11184,11 @@ msgid "Profiler"
msgstr "পà§à¦°à§‹à¦«à¦¾à¦‡à¦²à¦¾à¦°"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "পà§à¦°à¦•লà§à¦ª à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "মনিটর"
@@ -10945,6 +11201,10 @@ msgid "Monitors"
msgstr "মনিটরস"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "গà§à¦°à¦¾à¦« পà§à¦°à¦¦à¦°à§à¦¶à¦¨ করতে তালিকা থেকে à¦à¦• বা à¦à¦•াধিক আইটেম বাছাই করà§à¦¨à¥¤"
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "রিসোরà§à¦¸ অনà§à¦¸à¦¾à¦°à§‡ ভিডিও মেমোরির বà§à¦¯à¦¬à¦¹à¦¾à¦°à§‡à¦° তালিকা করà§à¦¨:"
@@ -11157,11 +11417,6 @@ msgid "Library"
msgstr "MeshLibrary (মেস-লাইবà§à¦°à§‡à¦°à¦¿)..."
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
-msgid "Status"
-msgstr "অবসà§à¦¥à¦¾:"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "লাইবà§à¦°à§‡à¦°à¦¿: "
@@ -11170,6 +11425,10 @@ msgid "GDNative"
msgstr "জিডিনà§à¦¯à¦¾à¦Ÿà¦¿à¦­"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "ধাপ মান/আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿ শূনà§à¦¯!"
@@ -11339,6 +11598,15 @@ msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª সেটিংস"
msgid "Pick Distance:"
msgstr "ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11498,6 +11766,10 @@ msgid "Create a new variable."
msgstr "নতà§à¦¨ তৈরি করà§à¦¨"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "সিগনà§à¦¯à¦¾à¦²à¦¸/সংকেতসমূহ:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "আরমà§à¦­ হতে নতà§à¦¨ polygon তৈরি করà§à¦¨à¥¤"
@@ -11678,6 +11950,11 @@ msgid "Editing Signal:"
msgstr "সংকেত/সিগনà§à¦¯à¦¾à¦² সমà§à¦ªà¦¾à¦¦à¦¨:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ করà§à¦¨"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "তলের ধরণ (Base Type):"
@@ -11830,7 +12107,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12558,6 +12836,43 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Properties:"
+#~ msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:"
+
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "মেথডের তালিকা:"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:"
+
+#, fuzzy
+#~ msgid "Enumerations:"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ"
+
+#~ msgid "Constants:"
+#~ msgstr "ধà§à¦°à§à¦¬à¦•সমূহ:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "বরà§à¦£à¦¨à¦¾:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "মান/পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿à¦° বরà§à¦£à¦¨à¦¾:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "মেথডের বরà§à¦£à§à¦¨à¦¾:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "পরীকà§à¦·à¦¾à¦®à§‚লক উৎস"
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "নোড(সমূহ) অপসারণ করবেন?"
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12819,10 +13134,6 @@ msgstr ""
#~ msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ দৃশà§à¦¯(সমূহ)-কে নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোডের অংশ হিসেবে ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করà§à¦¨à¥¤"
#, fuzzy
-#~ msgid "Warnings:"
-#~ msgstr "সতরà§à¦•তা"
-
-#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "উৎস ফনà§à¦Ÿà§‡à¦° আকার:"
@@ -12864,9 +13175,6 @@ msgstr ""
#~ msgid "Select a split to erase it."
#~ msgstr "à¦à¦•টি সেটিং আইটেম পà§à¦°à¦¥à¦® নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨!"
-#~ msgid "No name provided"
-#~ msgstr "কোন নাম বà§à¦¯à¦¾à¦¬à¦¹à¦¾à¦° করা হয়নি"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "নোড সংযোজন করà§à¦¨"
@@ -13006,9 +13314,6 @@ msgstr ""
#~ msgid "Warning"
#~ msgstr "সতরà§à¦•তা"
-#~ msgid "Error:"
-#~ msgstr "সমসà§à¦¯à¦¾:"
-
#~ msgid "Function:"
#~ msgstr "ফাংশন:"
@@ -13088,9 +13393,6 @@ msgstr ""
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "গà§à¦°à¦¾à¦« নোড(সমূহ) পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "Shader Graph Node(s) অপসারণ করà§à¦¨"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "সমসà§à¦¯à¦¾: আবরà§à¦¤à¦¨à¦¶à§€à¦² সংযোগ লিঙà§à¦•"
@@ -13522,9 +13824,6 @@ msgstr ""
#~ msgid "Pick New Name and Location For:"
#~ msgstr "নতà§à¦¨ নাম à¦à¦¬à¦‚ অবসà§à¦¥à¦¾à¦¨ বাছাই করà§à¦¨:"
-#~ msgid "No files selected!"
-#~ msgstr "কোনো ফাইল নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ হয়নি!"
-
#~ msgid "Info"
#~ msgstr "তথà§à¦¯"
@@ -13926,12 +14225,6 @@ msgstr ""
#~ msgid "Scaling to %s%%."
#~ msgstr "%s%% -ঠমাপিত হচà§à¦›à§‡à¥¤"
-#~ msgid "Up"
-#~ msgstr "উপরে"
-
-#~ msgid "Down"
-#~ msgstr "নীচে"
-
#~ msgid "Bucket"
#~ msgstr "বাকেটà§â€Œ"
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index 44afcb8066..36548b1f29 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-04 14:23+0000\n"
+"PO-Revision-Date: 2019-09-11 03:10+0000\n"
"Last-Translator: roger <616steam@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/"
"godot/ca/>\n"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -62,6 +62,35 @@ msgstr "Els arguments per a construir '%s' no són vàlids"
msgid "On call to '%s':"
msgstr "En la crida a '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mesclar"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Allibera"
@@ -477,6 +506,12 @@ msgid "Select None"
msgstr "No seleccionar-ne cap"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Selecciona un AnimationPlayer a l'Arbre de l'Escena per editar-ne l'animació."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Mostra les pistes dels nodes seleccionats en l'arbre."
@@ -800,7 +835,8 @@ msgstr "No es pot connectar el senyal"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -902,7 +938,8 @@ msgstr "Cerca:"
msgid "Matches:"
msgstr "Coincidències:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1215,7 +1252,8 @@ msgid "Delete Bus Effect"
msgstr "Elimina l'Efecte de Bus"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Bus d'Àudio, reorganitza Arrossegant i Deixant anar."
#: editor/editor_audio_buses.cpp
@@ -1414,6 +1452,7 @@ msgid "Add AutoLoad"
msgstr "Afegeix AutoCàrrega"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Camí:"
@@ -1646,6 +1685,7 @@ msgstr "Fer Actual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Nou"
@@ -1716,6 +1756,7 @@ msgid "New Folder..."
msgstr "Nou Directori..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Refresca"
@@ -1803,9 +1844,8 @@ msgid "Go to parent folder."
msgstr "Anar al directori pare."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Refresh files."
-msgstr "Actualitzar Fitxers"
+msgstr "Actualitzar fitxers."
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
@@ -1874,7 +1914,8 @@ msgid "Inherited by:"
msgstr "Heretat per:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Descripció breu:"
#: editor/editor_help.cpp
@@ -1882,38 +1923,18 @@ msgid "Properties"
msgstr "Propietats"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Propietats:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Mètodes"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Mètodes:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Propietats del tema"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Propietats del tema:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Senyals:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumeracions"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumeracions:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1922,19 +1943,12 @@ msgid "Constants"
msgstr "Constants"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Constants:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Descripció de la classe"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Descripció de la classe:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Tutorials en línia:"
#: editor/editor_help.cpp
@@ -1952,10 +1966,6 @@ msgid "Property Descriptions"
msgstr "Descripcions de la Propietat"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Descripcions de la Propietat:"
-
-#: 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]!"
@@ -1968,10 +1978,6 @@ msgid "Method Descriptions"
msgstr "Descripcions del Mètode"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Descripcions del Mètode:"
-
-#: 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]!"
@@ -2040,8 +2046,8 @@ msgstr "Sortida:"
msgid "Copy Selection"
msgstr "Copiar Selecció"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2054,9 +2060,52 @@ msgstr "Neteja"
msgid "Clear Output"
msgstr "Buida la Sortida"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Atura"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Inicia"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Baixa"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Node"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
-msgstr ""
+msgstr "Nova finestra"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2646,6 +2695,19 @@ msgstr "Projecte"
msgid "Project Settings..."
msgstr "Configuració del Projecte"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versió:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2873,10 +2935,6 @@ msgstr "Pausa Escena"
msgid "Stop the scene."
msgstr "Atura l'escena."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Atura"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Reprodueix l'escena editada."
@@ -2928,10 +2986,6 @@ msgid "Inspector"
msgstr "Inspector"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Node"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Expandeix el Quadre inferior"
@@ -2955,15 +3009,22 @@ msgstr "Administrar Plantilles"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"La plantilla de compilació d'Android ja està instal·lada i no se "
"sobreescriurà.\n"
@@ -3030,6 +3091,11 @@ msgstr "Obre l'Editor Següent"
msgid "Open the previous Editor"
msgstr "Obre l'Editor precedent"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Manca una superfície d'origen."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Creant Previsualitzacions de Malles"
@@ -3039,6 +3105,11 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Obrir Script:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Edita Connector"
@@ -3067,11 +3138,6 @@ msgstr "Estat:"
msgid "Edit:"
msgstr "Edita:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Inicia"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Mesura:"
@@ -3301,6 +3367,8 @@ msgstr "Baixa"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Les plantilles oficials d'exportació no estan disponibles per a les versions "
+"de desenvolupament."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3763,7 +3831,7 @@ msgstr "Nodes del Grup"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Els grups buits s'eliminaran automàticament."
#: editor/groups_editor.cpp
#, fuzzy
@@ -3867,9 +3935,10 @@ msgstr " Fitxers"
msgid "Import As:"
msgstr "Importar com a:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Configuració..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Configuracions prestablertes"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4312,6 +4381,7 @@ msgid "Change Animation Name:"
msgstr "Modifica el Nom de l'Animació:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Eliminar l'Animació?"
@@ -4774,7 +4844,7 @@ msgstr "No es pot desar el Tema:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Error d'escriptura."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
@@ -4886,11 +4956,6 @@ msgid "Sort:"
msgstr "Ordena:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Ordenació inversa."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Categoria:"
@@ -5181,6 +5246,11 @@ msgid "Pan Mode"
msgstr "Mode d'Escombratge lateral"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Mode d'Execució:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Commutar Ajustament."
@@ -5847,7 +5917,7 @@ msgstr "Temps de generació (s):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Les cares de la geometria no contenen cap àrea."
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
@@ -5855,8 +5925,9 @@ msgid "The geometry doesn't contain any faces."
msgstr "El Node no conté cap geometria (cares)."
#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"% s\" no hereta de Spatial."
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
@@ -6268,7 +6339,7 @@ msgstr "Instància:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Tipus:"
@@ -6474,14 +6545,14 @@ msgid "Toggle Scripts Panel"
msgstr "Panell d'Scripts"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Pas a Pas (per Procediments)"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Pas a Pas (per instruccions)"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Pas a Pas (per Procediments)"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Atura"
@@ -6562,7 +6633,7 @@ msgstr "Buida les Escenes Recents"
msgid "Connections to method:"
msgstr "Connexions al mètode:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Font"
@@ -6629,7 +6700,7 @@ msgstr "Ressaltador de sintaxi"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Go To"
-msgstr ""
+msgstr "Anar a"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
@@ -7062,8 +7133,9 @@ msgid "Snap Nodes To Floor"
msgstr "Ajustar Nodes al Terra"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "No ha pogut trobar un terra sòlid per ajustar la selecció."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7370,6 +7442,11 @@ msgid "(empty)"
msgstr "(buit)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Enganxa el Fotograma"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animacions:"
@@ -7698,6 +7775,15 @@ msgid "Enable Priority"
msgstr "Habilitar Prioritat"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrat de Fitxers..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Pinta Rajola"
@@ -7844,6 +7930,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Mostrar noms de les rajoles (manteniu pressionada la tecla Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Eliminar la textura seleccionada? Això eliminarà totes les rajoles que "
@@ -8022,9 +8113,115 @@ msgstr "Aquesta propietat no es pot canviar."
msgid "TileSet"
msgstr "Conjunt de rajoles"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nom del pare del node, si està disponible"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Error"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Manca Nom"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Comunitat"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Converteix a Majúscules"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Crear un nou rectangle."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Modifica"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Reanomena"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Esborra"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Modifica"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Elimina Seleccionats"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Desa-ho Tot"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sincronitzar Canvis en Scripts"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Estat"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Cap fitxer seleccionat!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
-msgstr ""
+msgstr "(Només GLES3)"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8232,15 +8429,15 @@ msgstr "Retorna l'invers de l'arrel quadrada del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Equal (==)"
-msgstr ""
+msgstr "Igual (= =)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Greater Than (>)"
-msgstr ""
+msgstr "Major Que (>)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Greater Than or Equal (>=)"
-msgstr ""
+msgstr "Major o Igual Que (>=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8251,28 +8448,34 @@ msgstr ""
"o menors."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns the boolean result of the comparison between INF and a scalar "
"parameter."
msgstr ""
+"Retorna el resultat booleà de la comparació entre un paràmetre INF i un "
+"escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns the boolean result of the comparison between NaN and a scalar "
"parameter."
msgstr ""
+"Retorna el resultat booleà de la comparació entre NaN i un paràmetre escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Less Than (<)"
-msgstr ""
+msgstr "Menor Que (<)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Less Than or Equal (<=)"
-msgstr ""
+msgstr "Menor o Igual Que (<=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Not Equal (!=)"
-msgstr ""
+msgstr "No Igual (!=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8282,14 +8485,24 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Retorna un vector associat si el valor booleà proporcionat és cert o fals."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Retorna la tangent del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns the boolean result of the comparison between INF (or NaN) and a "
"scalar parameter."
msgstr ""
+"Retorna el resultat booleà de la comparació entre INF (o NaN) i un paràmetre "
+"escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -9227,8 +9440,9 @@ msgid "Missing Project"
msgstr "Importa un Projecte existent"
#: editor/project_manager.cpp
+#, fuzzy
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Error: falta el projecte al sistema de fitxers."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9597,6 +9811,11 @@ msgid "Settings saved OK."
msgstr "Configuració desada correctament."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Afegeix un Incidència d'Acció de Entrada"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Substitutiu per a Característica"
@@ -9733,6 +9952,10 @@ msgid "Plugins"
msgstr "Connectors"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Configuració..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Zero"
@@ -9902,10 +10125,6 @@ msgstr "A Majúscules"
msgid "Reset"
msgstr "Resetejar"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Error"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Torna a Parentar el Node"
@@ -9963,6 +10182,11 @@ msgid "Instance Scene(s)"
msgstr "Instància les Escenes"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Desa la Branca com un Escena"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Instancia una Escena Filla"
@@ -9987,8 +10211,11 @@ msgid "Duplicate Node(s)"
msgstr "Duplica els Nodes"
#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
msgstr ""
+"No es poden re-emparentar els nodes en escenes heretades, l'ordre de nodes "
+"no pot canviar."
#: editor/scene_tree_dock.cpp
msgid "Node must belong to the edited scene to become root."
@@ -10005,8 +10232,23 @@ msgid "Make node as Root"
msgstr "Convertir node en arrel"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Elimina els Nodes?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Eliminar Nodes"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Elimina el(s) Node(s) de Graf d'Ombreig"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Eliminar Nodes"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10021,10 +10263,13 @@ msgid "Save New Scene As..."
msgstr "Anomena i Desa la Nova Escena..."
#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid ""
"Disabling \"editable_instance\" will cause all properties of the node to be "
"reverted to their default."
msgstr ""
+"Deshabilitar \"editable_instance\" provocarà que totes les propietats del "
+"node tornin al seu valor per defecte."
#: editor/scene_tree_dock.cpp
msgid "Editable Children"
@@ -10412,19 +10657,50 @@ msgstr "Bytes:"
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Stack Trace"
-msgstr "Fotogrames de la Pila"
+msgid "Warning:"
+msgstr "Avisos:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Trieu un o més elements de la llista per mostrar el Graf."
+msgid "Error:"
+msgstr "Error:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Error de Còpia"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Error:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Font"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Font"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Font"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Stack Trace"
+msgstr "Fotogrames de la Pila"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Errors"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Procés Fill Connectat"
#: editor/script_editor_debugger.cpp
@@ -10432,6 +10708,11 @@ msgid "Copy Error"
msgstr "Error de Còpia"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Crea punts."
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Inspecciona la Instància anterior"
@@ -10448,6 +10729,11 @@ msgid "Profiler"
msgstr "Perfilador"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Exportar Perfil"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -10460,6 +10746,10 @@ msgid "Monitors"
msgstr "Monitors"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Trieu un o més elements de la llista per mostrar el Graf."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Llista d'Ús de la Memòria de Vídeo per Recurs:"
@@ -10663,10 +10953,6 @@ msgid "Library"
msgstr "Biblioteca"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Estat"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Biblioteques: "
@@ -10675,6 +10961,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "L'argument pas és zero!"
@@ -10834,6 +11124,15 @@ msgstr "Configuració del GridMap"
msgid "Pick Distance:"
msgstr "Trieu la distància:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filtra Mode:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "El nom de la classe no pot ser una paraula clau reservada"
@@ -10982,6 +11281,10 @@ msgid "Create a new variable."
msgstr "Crear un nou rectangle."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Senyals:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Crear un nou polígon."
@@ -11145,6 +11448,11 @@ msgid "Editing Signal:"
msgstr "Edició del Senyal:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Fer Local"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Tipus Base:"
@@ -11311,7 +11619,8 @@ msgstr ""
#: platform/android/export/export.cpp
#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"El projecte Android no està instal·lat per a la compilació. Instal·leu-lo "
"des del menú Editor."
@@ -11348,8 +11657,9 @@ msgstr ""
"'Projecte'."
#: platform/android/export/export.cpp
+#, fuzzy
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "Construint Projecte Android (gradle)"
#: platform/android/export/export.cpp
#, fuzzy
@@ -12104,6 +12414,36 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr "Les constants no es poden modificar."
+#~ msgid "Properties:"
+#~ msgstr "Propietats:"
+
+#~ msgid "Methods:"
+#~ msgstr "Mètodes:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Propietats del tema:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumeracions:"
+
+#~ msgid "Constants:"
+#~ msgstr "Constants:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Descripció de la classe:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Descripcions de la Propietat:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Descripcions del Mètode:"
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Ordenació inversa."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Elimina els Nodes?"
+
#~ msgid "No Matches"
#~ msgstr "Cap Coincidència"
@@ -12384,9 +12724,6 @@ msgstr "Les constants no es poden modificar."
#~ msgstr ""
#~ "Instancia les escenes seleccionades com a filles del node seleccionat."
-#~ msgid "Warnings:"
-#~ msgstr "Avisos:"
-
#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "Mida de la lletra:"
@@ -12430,9 +12767,6 @@ msgstr "Les constants no es poden modificar."
#~ msgid "Select a split to erase it."
#~ msgstr "Cal seleccionar un Element!"
-#~ msgid "No name provided"
-#~ msgstr "Manca Nom"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "Afegeix un Node"
@@ -12573,9 +12907,6 @@ msgstr "Les constants no es poden modificar."
#~ msgid "Warning"
#~ msgstr "Avís"
-#~ msgid "Error:"
-#~ msgstr "Error:"
-
#~ msgid "Function:"
#~ msgstr "Funció:"
@@ -12654,9 +12985,6 @@ msgstr "Les constants no es poden modificar."
#~ 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"
@@ -13072,9 +13400,6 @@ msgstr "Les constants no es poden modificar."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Tria un Nou Nom i Ubicació per a:"
-#~ msgid "No files selected!"
-#~ msgstr "Cap fitxer seleccionat!"
-
#~ msgid "Info"
#~ msgstr "Informació"
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index a9cae4a444..3b805043f5 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -68,6 +68,34 @@ msgstr "Neplatné argumenty pro zkonstruování '%s'"
msgid "On call to '%s':"
msgstr "Při volání '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Volný"
@@ -485,6 +513,11 @@ msgid "Select None"
msgstr "Nevybrat nic"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "Pro úpravu animací vyberte ze stromu scény uzel AnimationPlayer."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Zobrazit pouze stopy vybraných uzlů."
@@ -806,7 +839,8 @@ msgstr "Připojit Signál"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -911,7 +945,8 @@ msgstr "Hledat:"
msgid "Matches:"
msgstr "Shody:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1230,7 +1265,7 @@ msgid "Delete Bus Effect"
msgstr "Smazat Bus efekt"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1428,6 +1463,7 @@ msgid "Add AutoLoad"
msgstr "Přidat AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Cesta:"
@@ -1670,6 +1706,7 @@ msgstr "Aktuální:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Nový"
@@ -1747,6 +1784,7 @@ msgid "New Folder..."
msgstr "Nová složka..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Obnovit"
@@ -1910,7 +1948,8 @@ msgid "Inherited by:"
msgstr "Děděná z:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "StruÄný popis:"
#: editor/editor_help.cpp
@@ -1918,38 +1957,18 @@ msgid "Properties"
msgstr "Vlastnosti"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Vlastnosti:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metody"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Metody:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Vlastnosti motivu"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Vlastnosti motivu:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signály:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "VýÄty"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "VýÄty:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "výÄet "
@@ -1958,19 +1977,12 @@ msgid "Constants"
msgstr "Konstanty"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstanty:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Popis třídy"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Popis třídy:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Online návody:"
#: editor/editor_help.cpp
@@ -1988,10 +2000,6 @@ msgid "Property Descriptions"
msgstr "Popis vlastnosti"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Popis vlastnosti:"
-
-#: 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]!"
@@ -2004,10 +2012,6 @@ msgid "Method Descriptions"
msgstr "Popis metody"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Popis metody:"
-
-#: 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]!"
@@ -2077,8 +2081,8 @@ msgstr "Výstup:"
msgid "Copy Selection"
msgstr "Kopírovat výběr"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2091,6 +2095,49 @@ msgstr "VyÄistit"
msgid "Clear Output"
msgstr "Vymazat výstup"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Zastavit"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Start"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Stáhnout"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Uzel"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2674,6 +2721,19 @@ msgstr "Projekt"
msgid "Project Settings..."
msgstr "Nastavení projektu"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Verze:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2899,10 +2959,6 @@ msgstr "Pozastavit scénu"
msgid "Stop the scene."
msgstr "Zastavit scénu."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Zastavit"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Spustit upravenou scénu."
@@ -2956,10 +3012,6 @@ msgid "Inspector"
msgstr "Inspektor"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Uzel"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2982,15 +3034,21 @@ msgstr "Spravovat exportní šablony"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3053,6 +3111,11 @@ msgstr "Otevřít další editor"
msgid "Open the previous Editor"
msgstr "Otevřít předchozí editor"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "DílÄí zdroje"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -3062,6 +3125,11 @@ msgid "Thumbnail..."
msgstr "Náhled..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Otevřít skript"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Upravit plugin"
@@ -3090,11 +3158,6 @@ msgstr "Stav:"
msgid "Edit:"
msgstr "Upravit:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Start"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Měření:"
@@ -3904,9 +3967,10 @@ msgstr " Soubory"
msgid "Import As:"
msgstr "Importovat jako:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Předvolba..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Předvolby"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4347,6 +4411,7 @@ msgid "Change Animation Name:"
msgstr "Změnit název animace:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Smazat animaci?"
@@ -4917,11 +4982,6 @@ msgid "Sort:"
msgstr "Řadit:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Posílá se žádost..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategorie:"
@@ -5202,6 +5262,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Režim škálování"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Přepnout přichycování."
@@ -6286,7 +6351,7 @@ msgstr "Instance:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Typ:"
@@ -6493,15 +6558,15 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "PÅ™eskoÄit"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Step Into"
msgstr "Vstoupit"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "PÅ™eskoÄit"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Přerušit"
@@ -6583,7 +6648,7 @@ msgstr "Vymazat nedávné scény"
msgid "Connections to method:"
msgstr "Připojit k uzlu:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Zdroj:"
@@ -7386,6 +7451,11 @@ msgid "(empty)"
msgstr "(prázdný)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Vložit snímek"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animace:"
@@ -7719,6 +7789,15 @@ msgid "Enable Priority"
msgstr "Editovat filtry"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrovat soubory..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7866,6 +7945,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Odstranit vybranou texturu? Toto odstraní všechny dlaždice, které ji "
@@ -8038,6 +8122,111 @@ msgstr "Tato vlastnost nemůže být změněna."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Jméno rodiÄe uzlu, pokud dostupné"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Chyba"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Nebylo poskytnuto žádné jméno"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Komunita"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Velká písmena"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Vytvořit nové uzly."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Změnit"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Přejmenovat"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Odstranit"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Změnit"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Smazat vybraný"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Uložit vše"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Synchornizace změn skriptu"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Status"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8296,6 +8485,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Vrátí tangens parametru."
@@ -9534,6 +9728,11 @@ msgid "Settings saved OK."
msgstr "Nastavení úspěšně uloženo."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Změnit měřítko výběru"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9673,6 +9872,10 @@ msgid "Plugins"
msgstr "Pluginy"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Předvolba..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Nula"
@@ -9839,10 +10042,6 @@ msgstr "Na velká písmena"
msgid "Reset"
msgstr "Resetovat"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Chyba"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9898,6 +10097,11 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Uložit větev jako scénu"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9939,8 +10143,22 @@ msgid "Make node as Root"
msgstr "Dává smysl!"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Odstranit uzel/uzly?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Smazat uzel"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Smazat uzel"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10348,11 +10566,41 @@ msgid "Bytes:"
msgstr "Bajtů:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
+#, fuzzy
+msgid "Warning:"
+msgstr "Varování:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr "Chyba:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Kopírovat chybu"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Chyba:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Zdroj:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Zdroj:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Zdroj:"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10360,14 +10608,20 @@ msgid "Errors"
msgstr "Chyby"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Odpojené uzly"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr "Kopírovat chybu"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Vytvořit body."
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10384,6 +10638,11 @@ msgid "Profiler"
msgstr "Profiler"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Exportovat projekt"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10396,6 +10655,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10602,10 +10865,6 @@ msgid "Library"
msgstr "Knihovna"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Status"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Knihovny: "
@@ -10614,6 +10873,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "Argument kroku je nula!"
@@ -10773,6 +11036,15 @@ msgstr "Nastavení GridMap"
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Režim filtru:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Název třídy nemůže být rezervované klíÄové slovo"
@@ -10919,6 +11191,10 @@ msgid "Create a new variable."
msgstr "Vytvořit nové uzly."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signály:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Vytvořit nový polygon."
@@ -11085,6 +11361,11 @@ msgid "Editing Signal:"
msgstr "Úprava signálu:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Místní"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Základní typ:"
@@ -11237,7 +11518,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11972,6 +12254,37 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr "Konstanty není možné upravovat."
+#~ msgid "Properties:"
+#~ msgstr "Vlastnosti:"
+
+#~ msgid "Methods:"
+#~ msgstr "Metody:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Vlastnosti motivu:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "VýÄty:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstanty:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Popis třídy:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Popis vlastnosti:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Popis metody:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Posílá se žádost..."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Odstranit uzel/uzly?"
+
#~ msgid "No Matches"
#~ msgstr "Žádné shody"
@@ -12177,9 +12490,6 @@ msgstr "Konstanty není možné upravovat."
#~ msgid "Insert keys."
#~ msgstr "Vložit klíÄe."
-#~ msgid "Warnings:"
-#~ msgstr "Varování:"
-
#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "Pohled zepředu"
@@ -12217,9 +12527,6 @@ msgstr "Konstanty není možné upravovat."
#~ msgid "Select a split to erase it."
#~ msgstr "Vyberte složku pro skenování"
-#~ msgid "No name provided"
-#~ msgstr "Nebylo poskytnuto žádné jméno"
-
#~ msgid "Add Node.."
#~ msgstr "Přidat uzel.."
@@ -12333,9 +12640,6 @@ msgstr "Konstanty není možné upravovat."
#~ msgid "Warning"
#~ msgstr "Varování"
-#~ msgid "Error:"
-#~ msgstr "Chyba:"
-
#~ msgid "Function:"
#~ msgstr "Funkce:"
diff --git a/editor/translations/da.po b/editor/translations/da.po
index bacbf07ff6..3dc3b082aa 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -12,12 +12,13 @@
# Jonathan B. Jørgensen <pizzaernam@gmail.com>, 2018.
# Peter G. Laursen <GhostReven@gmail.com>, 2018.
# Rémi Verschelde <akien@godotengine.org>, 2019.
+# Mads K. Bredager <mbredager@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-01-13 15:06+0000\n"
-"Last-Translator: Rémi Verschelde <akien@godotengine.org>\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
+"Last-Translator: Mads K. Bredager <mbredager@gmail.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/godot-engine/"
"godot/da/>\n"
"Language: da\n"
@@ -25,7 +26,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.4-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -66,6 +67,34 @@ msgstr "Ugyldige argumenter til at konstruere '%s'"
msgid "On call to '%s':"
msgstr "Ved kald til '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Gratis"
@@ -84,7 +113,7 @@ msgstr "Tid:"
#: editor/animation_bezier_editor.cpp
msgid "Value:"
-msgstr ""
+msgstr "Værdi:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -104,9 +133,8 @@ msgid "Add Bezier Point"
msgstr "Tilføj punkt"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Move Bezier Points"
-msgstr "Fjern punkt"
+msgstr "Flyt punkt"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
@@ -169,7 +197,7 @@ msgstr "Ændre Animation Navn:"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr ""
+msgstr "Redigér animationsløkke"
#: editor/animation_track_editor.cpp
msgid "Property Track"
@@ -257,7 +285,7 @@ msgstr "Tid (s): "
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
-msgstr ""
+msgstr "Skift bane slået til"
#: editor/animation_track_editor.cpp
msgid "Continuous"
@@ -477,10 +505,20 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Animationen hører til en importeret scene, og ændringer til importerede spor "
+"vil ikke blive gemt.\n"
+"\n"
+"For at slå muligheden for at tilføje brugerdefinerede spor til, naviger til "
+"scenens importerings-\n"
+"muligheder og sæt \"Animation > Lager\" til \"Filer\", slå \"animation > "
+"Behold brugerdefinerede\n"
+"spor\" til, og importer igen.\n"
+"Alternativt, brug en import forudindstilling, der importerer animationer til "
+"separate filer."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Advarsel: Redigerer importeret animation"
#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
@@ -493,6 +531,12 @@ msgid "Select None"
msgstr "Vælg Node"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Vælg en Animations afspiller fra Scene Tree for at redigere i animationer."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Vis kun spor fra noder valgt in træ."
@@ -511,11 +555,11 @@ msgstr "Animation trin værdi."
#: editor/animation_track_editor.cpp
msgid "Seconds"
-msgstr ""
+msgstr "Sekunder"
#: editor/animation_track_editor.cpp
msgid "FPS"
-msgstr ""
+msgstr "FPS"
#: editor/animation_track_editor.cpp editor/editor_properties.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -642,11 +686,11 @@ msgstr "Lydklip:"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip Start Offset"
-msgstr ""
+msgstr "Forskyd lydsporets start"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip End Offset"
-msgstr ""
+msgstr "Forskyd lydsporets slutning"
#: editor/array_property_edit.cpp
msgid "Resize Array"
@@ -724,7 +768,7 @@ msgstr "Nulstil Zoom"
#: editor/code_editor.cpp
msgid "Warnings"
-msgstr ""
+msgstr "Advarsler"
#: editor/code_editor.cpp
msgid "Line and column numbers."
@@ -822,7 +866,8 @@ msgstr "Forbind Signal: "
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -927,7 +972,8 @@ msgstr "Søgning:"
msgid "Matches:"
msgstr "Matches:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1244,7 +1290,8 @@ msgid "Delete Bus Effect"
msgstr "Slet Bus Effekt"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Audio Bus, Træk og Slip for at omarrangere."
#: editor/editor_audio_buses.cpp
@@ -1445,6 +1492,7 @@ msgid "Add AutoLoad"
msgstr "Tilføj AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Sti:"
@@ -1684,6 +1732,7 @@ msgstr "(Nuværende)"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1761,6 +1810,7 @@ msgid "New Folder..."
msgstr "Opret mappe..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Opdater"
@@ -1924,7 +1974,8 @@ msgid "Inherited by:"
msgstr "Arvet af:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Kort Beskrivelse:"
#: editor/editor_help.cpp
@@ -1932,38 +1983,18 @@ msgid "Properties"
msgstr "Egenskaber"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metoder"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Metoder:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Tema Egenskaber"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Tema Egenskaber:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signaler:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Tællinger"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Tællinger:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1972,19 +2003,12 @@ msgid "Constants"
msgstr "Konstanter"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstanter:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Klasse beskrivelse"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Klasse beskrivelse:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Online Undervisning:"
#: editor/editor_help.cpp
@@ -2002,10 +2026,6 @@ msgid "Property Descriptions"
msgstr "Egenskab beskrivelser"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Egenskab beskrivelser:"
-
-#: 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]!"
@@ -2018,10 +2038,6 @@ msgid "Method Descriptions"
msgstr "Metode beskrivelser"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Metode beskrivelser:"
-
-#: 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]!"
@@ -2092,8 +2108,8 @@ msgstr "Output:"
msgid "Copy Selection"
msgstr "Fjern Markering"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2106,6 +2122,49 @@ msgstr "Clear"
msgid "Clear Output"
msgstr "Ryd Output"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Stop"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Download"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Node"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2694,6 +2753,19 @@ msgstr "Projekt"
msgid "Project Settings..."
msgstr "Projekt Indstillinger"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Version:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2920,10 +2992,6 @@ msgstr "Sæt scenen på pause"
msgid "Stop the scene."
msgstr "Stop scenen."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Stop"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Spil den redigerede scene."
@@ -2978,10 +3046,6 @@ msgid "Inspector"
msgstr "Inspektør"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Node"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Udvid nederste panel"
@@ -3004,15 +3068,21 @@ msgstr "Organiser Eksport Skabeloner"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3075,6 +3145,11 @@ msgstr "Åbn næste Editor"
msgid "Open the previous Editor"
msgstr "Ã…ben den forrige Editor"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Sub-Ressourcer:"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Opretter Maske Forhåndsvisninger"
@@ -3084,6 +3159,11 @@ msgid "Thumbnail..."
msgstr "Miniature..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Ã…ben script"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Redigere tilslutning"
@@ -3112,11 +3192,6 @@ msgstr "Status:"
msgid "Edit:"
msgstr "Rediger:"
-#: 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 "MÃ¥ling:"
@@ -3949,8 +4024,9 @@ msgstr " Filer"
msgid "Import As:"
msgstr "Importer Som:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
msgstr "Forudindstillet..."
#: editor/import_dock.cpp
@@ -4418,6 +4494,7 @@ msgid "Change Animation Name:"
msgstr "Ændre Animation Navn:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Slet Animation?"
@@ -5006,11 +5083,6 @@ msgid "Sort:"
msgstr "Sorter:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Anmoder..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategori:"
@@ -5293,6 +5365,11 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "Skifter Modus"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "Skift snapping mode"
@@ -6378,7 +6455,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6596,11 +6673,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6685,7 +6762,7 @@ msgstr "Ryd Seneste Scener"
msgid "Connections to method:"
msgstr "Forbind Til Node:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Ressource"
@@ -7490,6 +7567,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Flyt Node(s)"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Tilføj animation"
@@ -7819,6 +7901,15 @@ msgid "Enable Priority"
msgstr "Rediger filtre"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrer filer..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7963,6 +8054,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Fjern Kurve Punkt"
@@ -8140,6 +8236,109 @@ msgstr "Denne handling kan ikke udføres uden en scene."
msgid "TileSet"
msgstr "TileSet..."
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Intet navn angivet"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Fællesskab"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Opret Ny %s"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Skift"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Omdøb"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Slet"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Skift"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Slet Valgte"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Vælg alle"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Synkroniser Script Ændringer"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8395,6 +8594,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9620,6 +9824,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Slet valgte"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9758,6 +9967,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Forudindstillet..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9930,10 +10143,6 @@ msgstr ""
msgid "Reset"
msgstr "Nulstil Zoom"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9989,6 +10198,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10030,10 +10243,24 @@ msgid "Make node as Root"
msgstr "Gem Scene"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Vælg Node"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Vælg Node"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10442,11 +10669,42 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
+#, fuzzy
+msgid "Warning:"
+msgstr "Advarsler:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Spejl"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Indlæs Fejl"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Indlæs Fejl"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Ressource"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Ressource"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Ressource"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10454,8 +10712,9 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Afbrudt"
#: editor/script_editor_debugger.cpp
#, fuzzy
@@ -10463,6 +10722,11 @@ msgid "Copy Error"
msgstr "Indlæs Fejl"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Slet points"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10479,6 +10743,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Eksporter Projekt"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10491,6 +10760,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10690,10 +10963,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10702,6 +10971,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "trin argument er nul!"
@@ -10860,6 +11133,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filter mode:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11006,6 +11288,10 @@ msgid "Create a new variable."
msgstr "Opret Ny %s"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signaler:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Opret Poly"
@@ -11166,6 +11452,10 @@ msgid "Editing Signal:"
msgstr "Redigerer Signal:"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Basis Type:"
@@ -11320,7 +11610,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12046,7 +12337,32 @@ msgstr ""
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Konstanter kan ikke ændres."
+
+#~ msgid "Methods:"
+#~ msgstr "Metoder:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Tema Egenskaber:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Tællinger:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstanter:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Klasse beskrivelse:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Egenskab beskrivelser:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Metode beskrivelser:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Anmoder..."
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
@@ -12173,9 +12489,6 @@ msgstr ""
#~ msgid "Edit Variable:"
#~ msgstr "Rediger Variabel:"
-#~ msgid "Warnings:"
-#~ msgstr "Advarsler:"
-
#~ msgid "Font Size:"
#~ msgstr "Skrifttype Størrelse:"
@@ -12210,9 +12523,6 @@ msgstr ""
#~ msgid "Poly"
#~ msgstr "Rediger Poly"
-#~ msgid "No name provided"
-#~ msgstr "Intet navn angivet"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "Tilføj Node"
diff --git a/editor/translations/de.po b/editor/translations/de.po
index bc00839d04..bab1cae627 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -50,8 +50,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-18 10:23+0000\n"
-"Last-Translator: Linux User <no-ads@mail.de>\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
+"Last-Translator: So Wieso <sowieso@dukun.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -59,7 +59,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.8\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -102,6 +102,35 @@ msgstr "Ungültige Parameter für die Konstruktion von ‚%s‘"
msgid "On call to '%s':"
msgstr "Im Aufruf von ‚%s‘:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mischen"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Kostenlos"
@@ -519,6 +548,13 @@ msgid "Select None"
msgstr "Nichts auswählen"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Es ist kein Pfad zu einem Animationsspieler mit Animationen festgelegt "
+"worden."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Nur Spuren der aktuell ausgewählten Nodes anzeigen."
@@ -697,14 +733,12 @@ msgid "Replaced %d occurrence(s)."
msgstr "Suchbegriff wurde %d mal ersetzt."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "%d Übereinstimmung(en) gefunden."
+msgstr "%d Übereinstimmung gefunden."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "%d Übereinstimmung(en) gefunden."
+msgstr "%d Übereinstimmungen gefunden."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -842,7 +876,8 @@ msgstr "Signal kann nicht verbunden werden"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -943,7 +978,8 @@ msgstr "Suche:"
msgid "Matches:"
msgstr "Treffer:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1160,12 +1196,10 @@ msgid "License"
msgstr "Lizenz"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Drittpartei-Lizenz"
+msgstr "Drittpartei-Lizenzen"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
@@ -1191,7 +1225,6 @@ msgid "Licenses"
msgstr "Lizenzen"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
msgstr "Fehler beim Öffnen der Paketdatei, kein ZIP-Format."
@@ -1261,7 +1294,8 @@ msgid "Delete Bus Effect"
msgstr "Audiobuseffekt löschen"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Audiobus, Drag & Drop zum Umsortieren."
#: editor/editor_audio_buses.cpp
@@ -1452,6 +1486,7 @@ msgid "Add AutoLoad"
msgstr "Autoload hinzufügen"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Pfad:"
@@ -1682,6 +1717,7 @@ msgstr "Als aktuell auswählen"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Neu"
@@ -1752,6 +1788,7 @@ msgid "New Folder..."
msgstr "Neuer Ordner..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Aktualisieren"
@@ -1909,7 +1946,8 @@ msgid "Inherited by:"
msgstr "Vererbt an:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Kurze Beschreibung:"
#: editor/editor_help.cpp
@@ -1917,38 +1955,18 @@ msgid "Properties"
msgstr "Eigenschaften"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Eigenschaften:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Methoden"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Methoden:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Motiv-Eigenschaften"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Motiv-Eigenschaften:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signale:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Aufzählungen"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enums:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "Enum "
@@ -1957,19 +1975,12 @@ msgid "Constants"
msgstr "Konstanten"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstanten:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Klassenbeschreibung"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Klassenbeschreibung:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Anleitungen im Netz:"
#: editor/editor_help.cpp
@@ -1987,10 +1998,6 @@ msgid "Property Descriptions"
msgstr "Eigenschaften-Beschreibung"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Eigenschaften-Beschreibung:"
-
-#: 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]!"
@@ -2003,10 +2010,6 @@ msgid "Method Descriptions"
msgstr "Methoden-Beschreibung"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Methoden-Beschreibung:"
-
-#: 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]!"
@@ -2075,8 +2078,8 @@ msgstr "Ausgabe:"
msgid "Copy Selection"
msgstr "Auswahl kopieren"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2089,10 +2092,51 @@ msgstr "Löschen"
msgid "Clear Output"
msgstr "Ausgabe löschen"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Stop"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Start"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Herunter"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Hoch"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Node"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "Fenster"
+msgstr "Neues Fenster"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2425,9 +2469,8 @@ msgid "Close Scene"
msgstr "Szene schließen"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Szene schließen"
+msgstr "Geschlossene Szene erneut öffnen"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2550,9 +2593,8 @@ msgid "Close Tab"
msgstr "Tab schließen"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Tab schließen"
+msgstr "Tab-Schließen rückgängig machen"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2685,18 +2727,29 @@ msgid "Project"
msgstr "Projekt"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Projekteinstellungen"
+msgstr "Projekteinstellungen..."
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Version:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "Exportieren..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Android-Build-Vorlage installieren"
+msgstr "Android-Build-Vorlage installieren..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2707,9 +2760,8 @@ msgid "Tools"
msgstr "Werkzeuge"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Unbenutzte Dateien ansehen"
+msgstr "Verwaiste-Ressourcen-Dateimanager…"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2813,9 +2865,8 @@ msgid "Editor"
msgstr "Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Editoreinstellungen"
+msgstr "Editoreinstellungen…"
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2851,14 +2902,12 @@ msgid "Open Editor Settings Folder"
msgstr "Editoreinstellungenordner öffnen"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Editorfunktionen verwalten"
+msgstr "Editorfunktionen verwalten…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Verwalte Exportvorlagen"
+msgstr "Exportvorlagen verwalten…"
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2914,10 +2963,6 @@ msgstr "Szene pausieren"
msgid "Stop the scene."
msgstr "Szene stoppen."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Stop"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Spiele die bearbeitete Szene."
@@ -2968,10 +3013,6 @@ msgid "Inspector"
msgstr "Inspektor"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Node"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Unteres Panel vergrößern"
@@ -2994,18 +3035,22 @@ msgstr "Vorlagen verwalten"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"Dies wird das Android-Projekt für eigene Builds installieren.\n"
-"Hinweis: Um es zu benutzen muss es in den jeweiligen Exportvoreinstellungen "
-"aktivierten werden."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Android-Build-Vorlage wurde bereits installiert und wird nicht "
"überschrieben.\n"
@@ -3072,6 +3117,11 @@ msgstr "Nächsten Editor öffnen"
msgid "Open the previous Editor"
msgstr "Vorigen Editor öffnen"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Keine Quelle für Oberfläche angegeben."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Mesh-Vorschauen erzeugen"
@@ -3081,6 +3131,11 @@ msgid "Thumbnail..."
msgstr "Vorschau..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Offenes Skript:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Plugin bearbeiten"
@@ -3109,11 +3164,6 @@ msgstr "Status:"
msgid "Edit:"
msgstr "Bearbeiten:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Start"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Messung:"
@@ -3330,7 +3380,6 @@ msgid "Import From Node:"
msgstr "Aus Node importieren:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Erneut herunterladen"
@@ -3350,6 +3399,8 @@ msgstr "Herunterladen"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Für Entwicklungsversionen werden keine offizielle Exportvorlagen bereit "
+"gestellt."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3432,23 +3483,20 @@ msgid "Download Complete."
msgstr "Download abgeschlossen."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Kann Motiv nicht speichern in Datei:"
+msgstr "Temporäre Datei kann nicht entfernt werden:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Template-Installation fehlgeschlagen. Des problematische Template-Archiv "
-"befindet sich hier: ‚%s‘."
+"Exportvorlagen-Installation fehlgeschlagen.\n"
+"Das problematische Exportvorlagen-Archiv befindet sich hier in ‚%s‘."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Fehler beim Abrufen der URL: "
+msgstr "Fehler beim Abrufen der URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3634,9 +3682,8 @@ msgid "Move To..."
msgstr "Verschiebe zu..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Neue Szene"
+msgstr "Neue Szene…"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3706,9 +3753,8 @@ msgid "Overwrite"
msgstr "Überschreiben"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Von Szene erstellen"
+msgstr "Szene erstellen"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3788,23 +3834,20 @@ msgid "Invalid group name."
msgstr "Ungültiger Gruppenname."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Gruppen verwalten"
+msgstr "Gruppe umbenennen"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Lösche Bildergruppe"
+msgstr "Gruppe löschen"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Gruppen"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
-msgstr "Nodes nicht in der Gruppe"
+msgstr "Nodes nicht in Gruppe"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
@@ -3817,12 +3860,11 @@ msgstr "Nodes in der Gruppe"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Leere Gruppen werden automatisch entfernt."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group Editor"
-msgstr "Skripteditor"
+msgstr "Gruppeneditor"
#: editor/groups_editor.cpp
msgid "Manage Groups"
@@ -3921,9 +3963,10 @@ msgstr " Dateien"
msgid "Import As:"
msgstr "Importiere als:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Voreinstellungen..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Vorlagen"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4032,9 +4075,9 @@ msgid "MultiNode Set"
msgstr "MultiNode setzen"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Node auswählen um Signale und Gruppen zu bearbeiten."
+msgstr ""
+"Ein einzelnes Node auswählen um seine Signale und Gruppen zu bearbeiten."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4366,6 +4409,7 @@ msgid "Change Animation Name:"
msgstr "Animationsname ändern:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Animation löschen?"
@@ -4813,37 +4857,32 @@ msgid "Request failed, return code:"
msgstr "Anfrage fehlgeschlagen: Rückgabewert:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
msgstr "Anfrage fehlgeschlagen."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Kann Motiv nicht speichern in Datei:"
+msgstr "Kann Antwort nicht speichern in:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Schreibfehler."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "Anfrage fehlgeschlagen, zu viele Weiterleitungen"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
msgstr "Weiterleitungsschleife."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Anfrage fehlgeschlagen: Rückgabewert:"
+msgstr "Anfrage fehlgeschlagen, Zeitüberschreitung"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Zeit"
+msgstr "Zeitüberschreitung."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4922,24 +4961,18 @@ msgid "All"
msgstr "Alle"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Neuimport..."
+msgstr "Importieren…"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Erweiterungen"
+msgstr "Erweiterungen…"
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Sortiere:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Sortierung umkehren."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategorie:"
@@ -4949,9 +4982,8 @@ msgid "Site:"
msgstr "Seite:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Stabilität..."
+msgstr "Stabilität"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4962,9 +4994,8 @@ msgid "Testing"
msgstr "Testphase"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Lade..."
+msgstr "Lade…"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5133,9 +5164,8 @@ msgid "Paste Pose"
msgstr "Pose einfügen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Knochen löschen"
+msgstr "Hilfslinien löschen"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5224,6 +5254,11 @@ msgid "Pan Mode"
msgstr "Schwenkmodus"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Ausführungsmodus:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Einrasten umschalten."
@@ -5875,26 +5910,23 @@ msgstr "Erzeugungszeit (s):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Die Faces der Geometrie enthalten keine Area."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "Knoten enthält keine Geometrie (Flächen)."
+msgstr "Die Geometrie enthält keine Faces."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "„%s“ erbt nicht von Spatial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "Knoten enthält keine Geometrie."
+msgstr "„%s“ enthält keine Geometrie."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "Knoten enthält keine Geometrie."
+msgstr "„%s“ enthält keine Face-Geometrie."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6294,7 +6326,7 @@ msgstr "Instanz:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Typ:"
@@ -6333,9 +6365,8 @@ msgid "Error writing TextFile:"
msgstr "Fehler beim Schreiben von Textdatei:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Konnte Kachel nicht finden:"
+msgstr "Datei konnte nicht geladen werden von:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6358,9 +6389,8 @@ msgid "Error Importing"
msgstr "Fehler beim Importieren"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
-msgstr "Neue Textdatei..."
+msgstr "Neue Textdatei…"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open File"
@@ -6440,9 +6470,8 @@ msgid "Open..."
msgstr "Öffnen..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Skript öffnen"
+msgstr "Geschlossenes Skript erneut öffnen"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6498,14 +6527,14 @@ msgid "Toggle Scripts Panel"
msgstr "Seitenleiste umschalten"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Überspringen"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Hineinspringen"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Überspringen"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Unterbrechen"
@@ -6578,15 +6607,14 @@ msgid "Search Results"
msgstr "Suchergebnisse"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Verlauf leeren"
+msgstr "Skript-Verlauf leeren"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Verbindungen mit Methode:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Quelle"
@@ -6704,9 +6732,8 @@ msgid "Complete Symbol"
msgstr "Symbol vervollständigen"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Auswahl skalieren"
+msgstr "Auswahl auswerten"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -7017,9 +7044,8 @@ msgid "Audio Listener"
msgstr "Audiosenke"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Filtern aktivieren"
+msgstr "Dopplereffekt aktivieren"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7076,6 +7102,8 @@ msgstr "Nodes am Boden einrasten"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
msgstr ""
+"Es wurde kein fester Boden gefunden an dem die Auswahl eingerastet werden "
+"könnte."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7088,9 +7116,8 @@ msgstr ""
"Alt+RMT: Tiefenauswahl"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Lokalkoordinatenmodus (%s)"
+msgstr "Lokalkoordinaten verwenden"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7187,9 +7214,8 @@ msgstr "Zeige Gitter"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Einstellungen"
+msgstr "Einstellungen…"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7370,6 +7396,11 @@ msgid "(empty)"
msgstr "(leer)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Frame einfügen"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animationen:"
@@ -7567,14 +7598,12 @@ msgid "Submenu"
msgstr "Untermenü"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Element 1"
+msgstr "Unterelement 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Element 2"
+msgstr "Unterelement 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7686,17 +7715,25 @@ msgid "Enable Priority"
msgstr "Priorität aktivieren"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Dateien filtern..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Kachel zeichnen"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
"Umsch+RMT: Linie zeichnen\n"
-"Umsch+Strg+RMT: Rechteck einfärben"
+"Umsch+Strg+RMT: Rechteck bemalen"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7820,6 +7857,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Kachelnamen anzeigen (Alt-Taste halten)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Ausgewählte Textur entfernen? Alle Kacheln die sie nutzen werden entfernt."
@@ -7992,6 +8034,112 @@ msgstr "Diese Eigenschaft kann nicht geändert werden."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Name des Eltern-Nodes, falls vorhanden"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Fehler"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Kein Name angegeben"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Community (Gemeinschaft)"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Kapitalisiere"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Neues Rechteck erstellen."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Ändern"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Umbenennen"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Löschen"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Ändern"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Ausgewähltes löschen"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Alle speichern"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Skriptänderungen synchronisieren"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Status"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Keine Dateien ausgewählt!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Nur GLES3)"
@@ -8098,9 +8246,8 @@ msgid "Light"
msgstr "Licht"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Shader-Node erzeugen"
+msgstr "Resultierenden Shader-Code zeigen."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8234,6 +8381,14 @@ msgstr ""
"oder falsch ist."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Gibt einen geeigneten Vektor zurück je nach dem ob der übergebene Wert wahr "
+"oder falsch ist."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Gibt den Wahrheitswert des Vergleiches zweier Parameter zurück."
@@ -8468,7 +8623,6 @@ msgid "Returns the square root of the parameter."
msgstr "Gibt die Quadratwurzel des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8476,20 +8630,19 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
-"Weichschrittfunktion ( Skalar(Kante0), Skalar(Kante1), Skalar(x) ).\n"
+"Glatte Stufenfunktion ( Skalar(Kante0), Skalar(Kante1), Skalar(x) ).\n"
"\n"
"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante0‘, gibt 1.0 zurück falls ‚x‘ "
"größer ‚Kante1‘. Ansonsten wird ein durch Hermite-Polynome interpolierter "
"Wert zwischen 0.0 und 1.0 zurück gegeben."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
msgstr ""
-"Schrittfunktion ( Skalar(Kante), Skalar(x) ).\n"
+"Stufenfunktion ( Skalar(Kante), Skalar(x) ).\n"
"\n"
"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante‘, ansonsten 1.0."
@@ -8660,9 +8813,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Lineare Interpolation zwischen zwei Vektoren."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Lineare Interpolation zwischen zwei Vektoren."
+msgstr "Lineare Interpolation zwischen zwei Vektoren, benutzt ein Skalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8689,7 +8841,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Gibt den Vektor zurück der in Richtung der Brechung zeigt."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8697,14 +8848,13 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
-"Weiche Stufenfunktion ( Vektor(Kante0), Vektor(Kante1), Vektor(x) ).\n"
+"Glatte Stufenfunktion ( Vektor(Kante0), Vektor(Kante1), Vektor(x) ).\n"
"\n"
"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante0‘, gibt 1.0 zurück falls ‚x‘ "
"größer als ‚Kante1‘. Ansonsten wird ein durch Hermite-Polynome "
"interpolierter Wert zwischen 0.0 und 1.0 zurückgegeben."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8719,7 +8869,6 @@ msgstr ""
"interpolierter Wert zwischen 0.0 und 1.0 zurückgegeben."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8730,7 +8879,6 @@ msgstr ""
"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante‘, ansonsten 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8794,6 +8942,11 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Ein selbst-erstellter Ausdruck in der Godot-Shader-Sprache, welcher vor dem "
+"resultierten Shader platziert wird. Hier können beliebige "
+"Funktionsdefinitionen eingefügt werden die dann in späteren Ausdrücken "
+"verwendet werden können. Das gleiche gilt für Varyings, Uniforms und "
+"Konstanten."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9187,13 +9340,12 @@ msgid "Unnamed Project"
msgstr "Unbenanntes Projekt"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Existierendes Projekt importieren"
+msgstr "Fehlendes Projekt"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Fehler: Projekt ist nicht im Dateisystem vorhanden."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9294,13 +9446,12 @@ msgstr ""
"Inhalte des Projektordners werden nicht geändert."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"%d Projekte aus der Liste entfernen?\n"
-"Inhalte der Projektordner werden nicht geändert."
+"Alle fehlenden Projekte aus der Liste entfernen?\n"
+"Inhalte des Projektordners werden nicht geändert."
#: editor/project_manager.cpp
msgid ""
@@ -9324,9 +9475,8 @@ msgid "Project Manager"
msgstr "Projektverwaltung"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Projekt"
+msgstr "Projekte"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9558,6 +9708,11 @@ msgid "Settings saved OK."
msgstr "Einstellungen gespeichert OK."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Eingabeaktionsereignis hinzufügen"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Für Funktion überschreiben"
@@ -9695,6 +9850,10 @@ msgid "Plugins"
msgstr "Erweiterungen"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Voreinstellungen..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Null"
@@ -9863,10 +10022,6 @@ msgstr "Zu Großbuchstaben"
msgid "Reset"
msgstr "Zurücksetzen"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Fehler"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Node umhängen"
@@ -9925,6 +10080,11 @@ msgid "Instance Scene(s)"
msgstr "Instanz-Szene(n)"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Speichere Verzweigung als Szene"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Szene hier instantiieren"
@@ -9967,8 +10127,23 @@ msgid "Make node as Root"
msgstr "Node zur Szenenwurzel machen"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Node(s) wirklich löschen?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Nodes löschen"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Entferne Shade-Graph-Node(s)"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Nodes löschen"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10043,9 +10218,8 @@ msgid "Remove Node(s)"
msgstr "Entferne Node(s)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Ausgangsschnittstellenname ändern"
+msgstr "Nodetyp(en) ändern"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10168,30 +10342,27 @@ msgid "Node configuration warning:"
msgstr "Node-Konfigurationswarnung:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"Node hat Verbindungen und Gruppen.\n"
-"Klicken um Signalverwaltung aufzurufen."
+"Node hat %s Verbindung(en) und %s Gruppe(n).\n"
+"Hier klicken um Signalverwaltung aufzurufen."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"Node hat Verbindungen.\n"
+"Node hat %s Verbindung(en).\n"
"Hier klicken zur Signalverwaltung."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"Node ist in Gruppe(n).\n"
+"Node ist %s Gruppe(n).\n"
"Hier klicken zur Gruppenverwaltung."
#: editor/scene_tree_editor.cpp
@@ -10288,9 +10459,8 @@ msgid "Error loading script from %s"
msgstr "Fehler beim Laden des Skripts von %s"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Überschreiben"
+msgstr "Überschreibungen"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10369,19 +10539,50 @@ msgid "Bytes:"
msgstr "Bytes:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Stacktrace"
+#, fuzzy
+msgid "Warning:"
+msgstr "Warnungen:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Ein oder mehrere Einträge der Liste auswählen um Graph anzuzeigen."
+msgid "Error:"
+msgstr "Fehler:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Fehlermeldung kopieren"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Fehler:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Quelle"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Quelle"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Quelle"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Stacktrace"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Fehler"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Unterprozess verbunden"
#: editor/script_editor_debugger.cpp
@@ -10389,6 +10590,11 @@ msgid "Copy Error"
msgstr "Fehlermeldung kopieren"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Haltepunkte"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Vorherige Instanz untersuchen"
@@ -10405,6 +10611,11 @@ msgid "Profiler"
msgstr "Profiler"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Profil exportieren"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -10417,6 +10628,10 @@ msgid "Monitors"
msgstr "Monitore"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Ein oder mehrere Einträge der Liste auswählen um Graph anzuzeigen."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Auflistung der Grafikspeichernutzung nach Ressource:"
@@ -10613,10 +10828,6 @@ msgid "Library"
msgstr "Bibliothek"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Status"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Bibliotheken: "
@@ -10625,6 +10836,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "Schrittargument ist null!"
@@ -10778,6 +10993,15 @@ msgstr "GridMap-Einstellungen"
msgid "Pick Distance:"
msgstr "Auswahlradius:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Methoden filtern"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Der Klassenname kann nicht ein reserviertes Schlüsselwort sein"
@@ -10905,28 +11129,28 @@ msgid "Set Variable Type"
msgstr "Variablentyp festlegen"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "Darf nicht mit existierenden eingebauten Typnamen übereinstimmen."
+msgstr "Eine existierende eingebaute Funktion überschreiben."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Neues Rechteck erstellen."
+msgstr "Eine neue Funktion erstellen."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variablen:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Neues Rechteck erstellen."
+msgstr "Eine neue Variable erstellen."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signale:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Neues Polygon erstellen."
+msgstr "Ein neues Signal erstellen."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11085,6 +11309,11 @@ msgid "Editing Signal:"
msgstr "bearbeite Signal:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Lokal machen"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Basistyp:"
@@ -11241,8 +11470,10 @@ msgstr ""
"Ungültiger Android-SDK-Pfad für eigene Builds in den Editoreinstellungen."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"Es ist kein Android-Projekt zum Kompilieren installiert worden. Es kann im "
"Editormenü installiert werden."
@@ -12054,6 +12285,44 @@ msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden."
msgid "Constants cannot be modified."
msgstr "Konstanten können nicht verändert werden."
+#~ msgid "Properties:"
+#~ msgstr "Eigenschaften:"
+
+#~ msgid "Methods:"
+#~ msgstr "Methoden:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Motiv-Eigenschaften:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enums:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstanten:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Klassenbeschreibung:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Eigenschaften-Beschreibung:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Methoden-Beschreibung:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Dies wird das Android-Projekt für eigene Builds installieren.\n"
+#~ "Hinweis: Um es zu benutzen muss es in den jeweiligen "
+#~ "Exportvoreinstellungen aktivierten werden."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Sortierung umkehren."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Node(s) wirklich löschen?"
+
#~ msgid "No Matches"
#~ msgstr "Keine Übereinstimmungen"
@@ -12472,9 +12741,6 @@ msgstr "Konstanten können nicht verändert werden."
#~ msgstr ""
#~ "Instantiiere gewählte Szene(n) als Unterobjekt des ausgewählten Nodes."
-#~ msgid "Warnings:"
-#~ msgstr "Warnungen:"
-
#~ msgid "Font Size:"
#~ msgstr "Schriftgröße:"
@@ -12519,9 +12785,6 @@ msgstr "Konstanten können nicht verändert werden."
#~ msgid "Select a split to erase it."
#~ msgstr "Teilung zum Löschen auswählen."
-#~ msgid "No name provided"
-#~ msgstr "Kein Name angegeben"
-
#~ msgid "Add Node.."
#~ msgstr "Node hinzufügen.."
@@ -12657,9 +12920,6 @@ msgstr "Konstanten können nicht verändert werden."
#~ msgid "Warning"
#~ msgstr "Warnung"
-#~ msgid "Error:"
-#~ msgstr "Fehler:"
-
#~ msgid "Function:"
#~ msgstr "Funktion:"
@@ -12741,9 +13001,6 @@ msgstr "Konstanten können nicht verändert werden."
#~ 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"
@@ -13191,9 +13448,6 @@ msgstr "Konstanten können nicht verändert werden."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Wähle neuen Namen und Ort für:"
-#~ msgid "No files selected!"
-#~ msgstr "Keine Dateien ausgewählt!"
-
#~ msgid "Info"
#~ msgstr "Info"
@@ -13592,12 +13846,6 @@ msgstr "Konstanten können nicht verändert werden."
#~ msgid "Scaling to %s%%."
#~ msgstr "Skaliere auf %s%%."
-#~ msgid "Up"
-#~ msgstr "Hoch"
-
-#~ msgid "Down"
-#~ msgstr "Herunter"
-
#~ msgid "Bucket"
#~ msgstr "Eimer"
diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po
index ad007f96c5..e61cbeec84 100644
--- a/editor/translations/de_CH.po
+++ b/editor/translations/de_CH.po
@@ -59,6 +59,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -483,6 +511,10 @@ msgid "Select None"
msgstr "Node(s) löschen"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -810,7 +842,8 @@ msgstr "Connections editieren"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -917,7 +950,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1223,7 +1257,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1418,6 +1452,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1646,6 +1681,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1726,6 +1762,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1884,48 +1921,28 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "Script hinzufügen"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Theme Properties"
msgstr "Node erstellen"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-msgstr "Node erstellen"
-
-#: 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 ""
@@ -1934,21 +1951,12 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Script hinzufügen"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "Script hinzufügen"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1964,11 +1972,6 @@ msgid "Property Descriptions"
msgstr "Script hinzufügen"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Script hinzufügen"
-
-#: 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]!"
@@ -1980,11 +1983,6 @@ msgid "Method Descriptions"
msgstr "Script hinzufügen"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Script hinzufügen"
-
-#: 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]!"
@@ -2052,8 +2050,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Script hinzufügen"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2067,6 +2065,48 @@ msgstr ""
msgid "Clear Output"
msgstr "Script hinzufügen"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Node"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2625,6 +2665,18 @@ msgstr "Projektname:"
msgid "Project Settings..."
msgstr "Projekteinstellungen"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2831,10 +2883,6 @@ msgstr ""
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 "Spiele die editierte Szene."
@@ -2888,10 +2936,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Node"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2914,15 +2958,21 @@ msgstr "Ungültige Bilder löschen"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2988,6 +3038,11 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Keine Oberflächen Quelle spezifiziert."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2998,6 +3053,11 @@ msgstr ""
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Script hinzufügen"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Script hinzufügen"
@@ -3026,11 +3086,6 @@ msgstr ""
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 ""
@@ -3846,8 +3901,8 @@ msgstr "Datei(en) öffnen"
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4306,6 +4361,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Delete Animation?"
msgstr "Bild einfügen"
@@ -4889,10 +4945,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5173,6 +5225,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "TimeScale-Node"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6264,7 +6321,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6478,11 +6535,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6565,7 +6622,7 @@ msgstr "Script hinzufügen"
msgid "Connections to method:"
msgstr "Verbindung zu Node:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7360,6 +7417,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Bild bewegen/einfügen"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animations-Node"
@@ -7688,6 +7750,15 @@ msgid "Enable Priority"
msgstr "Node Filter editieren"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Node erstellen"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7834,6 +7905,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Ungültige Bilder löschen"
@@ -8010,6 +8086,106 @@ msgstr "Ohne eine Szene kann das nicht funktionieren."
msgid "TileSet"
msgstr "Datei(en) öffnen"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Node erstellen"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Typ ändern"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Node"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Node(s) löschen"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Typ ändern"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Verbindung zu Node:"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Typ ändern"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8259,6 +8435,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9479,6 +9660,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9619,6 +9804,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9788,10 +9977,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9847,6 +10032,10 @@ msgid "Instance Scene(s)"
msgstr "Instanziere Szene(n)"
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9889,8 +10078,22 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Node(s) löschen?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Node(s) löschen"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Node(s) löschen"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10292,27 +10495,60 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Szene kann nicht gespeichert werden."
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Connections editieren"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Connections editieren"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+msgid "Source:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
#, fuzzy
+msgid "Child process connected."
+msgstr "Verbindung zu Node:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
msgid "Copy Error"
msgstr "Connections editieren"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Bild einfügen"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10329,6 +10565,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Projekt exportieren"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10341,6 +10582,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10538,10 +10783,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10550,6 +10791,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10707,6 +10952,15 @@ msgstr "Projekteinstellungen"
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Node erstellen"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10846,6 +11100,10 @@ msgid "Create a new variable."
msgstr "Node erstellen"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Node erstellen"
@@ -11019,6 +11277,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Base Type:"
msgstr "Typ ändern"
@@ -11171,7 +11433,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11853,6 +12116,25 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Node erstellen"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Script hinzufügen"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Script hinzufügen"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Script hinzufügen"
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Node(s) löschen?"
+
#~ msgid "Faces contain no area!"
#~ msgstr "Flächen enthalten keinen Bereich!"
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index e27bfdfe87..ca6da01f4c 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -51,6 +51,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -450,6 +478,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -767,7 +799,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -868,7 +901,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1168,7 +1202,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1359,6 +1393,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1578,6 +1613,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1648,6 +1684,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1803,7 +1840,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1811,38 +1848,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1851,19 +1868,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1878,10 +1887,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1892,10 +1897,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1962,8 +1963,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1976,6 +1977,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2515,6 +2558,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2714,10 +2769,6 @@ msgstr ""
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 ""
@@ -2768,10 +2819,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2793,15 +2840,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2864,6 +2917,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2873,6 +2930,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2901,11 +2962,6 @@ msgstr ""
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 ""
@@ -3681,8 +3737,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4108,6 +4164,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4666,10 +4723,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4932,6 +4985,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5980,7 +6037,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6180,11 +6237,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6264,7 +6321,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7031,6 +7088,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7345,6 +7406,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7475,6 +7544,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7629,6 +7703,99 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Deleted"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage Selected"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7862,6 +8029,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9052,6 +9224,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9188,6 +9364,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9351,10 +9531,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9410,6 +9586,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9450,7 +9630,19 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9828,11 +10020,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9840,7 +10056,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9848,6 +10064,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9864,6 +10084,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9876,6 +10100,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10072,10 +10300,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10084,6 +10308,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10235,6 +10463,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10370,6 +10606,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10526,6 +10766,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10673,7 +10917,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/el.po b/editor/translations/el.po
index 8b5b93ec94..9dbb9c49e6 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -4,12 +4,13 @@
# This file is distributed under the same license as the Godot source code.
# George Tsiamasiotis <gtsiam@windowslive.com>, 2017-2018, 2019.
# Georgios Katsanakis <geo.elgeo@gmail.com>, 2019.
+# Overloaded <manoschool@yahoo.gr>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-21 15:57+0000\n"
-"Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
+"Last-Translator: Overloaded <manoschool@yahoo.gr>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/"
"el/>\n"
"Language: el\n"
@@ -61,6 +62,35 @@ msgstr "ΆκυÏα οÏίσματα στην κατασκευή του '%s'"
msgid "On call to '%s':"
msgstr "Στην κλήση στο '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Μείξη"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "ΕλεÏθεÏο"
@@ -478,6 +508,13 @@ msgid "Select None"
msgstr "Αποεπιλογή Όλων"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Επιλέξτε ένα AnimationPlayer από την ιεÏαÏχία της σκηνής για να "
+"επεξεÏγαστείτε animations."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Δείξε μόνο κομμάτια απο επιλεγμένους κόμβους στο δέντÏο."
@@ -801,7 +838,8 @@ msgstr "ΑδÏνατη η σÏνδεση σήματος"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -904,7 +942,8 @@ msgstr "Αναζήτηση:"
msgid "Matches:"
msgstr "Αντιστοιχίες:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1117,12 +1156,10 @@ msgid "License"
msgstr "Άδεια"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Άδεια Ï„Ïίτων ομάδων"
+msgstr "Άδειες Ï„Ïίτων κατασκευαστών"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
@@ -1130,10 +1167,10 @@ msgid ""
"respective copyright statements and license terms."
msgstr ""
"Η μηχανή Godot βασίζεται σε μια σειÏά από δωÏεάν και Î±Î½Î¿Î¹Ï‡Ï„Î¿Ï ÎºÏŽÎ´Î¹ÎºÎ± "
-"βιβλιοθήκες Ï„Ïίτων ομάδων, όλες συμβατές με τους ÏŒÏους της άδειας MIT. "
-"Ακολουθεί μία εκτενής λίστα με όλα τα σχετικά συστατικά της μηχανής μαζί με "
-"όλες τις αντοίστοιχες δηλώσεις Ï€Ïοστασίας πνευματικών δικαιωμάτων και τους "
-"ÏŒÏους των αδειών τους."
+"βιβλιοθήκες Ï„Ïίτων κατασκευαστών, όλες συμβατές με τους ÏŒÏους της άδειας "
+"MIT. Ακολουθεί μία εκτενής λίστα με όλα τα σχετικά συστατικά της μηχανής "
+"μαζί με όλες τις αντοίστοιχες δηλώσεις Ï€Ïοστασίας πνευματικών δικαιωμάτων "
+"και τους ÏŒÏους των αδειών τους."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1218,7 +1255,8 @@ msgid "Delete Bus Effect"
msgstr "ΔιαγÏαφή εφέ διαÏλου ήχου"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Δίαυλος ήχου, ΣÏÏσιμο και απόθεση για αναδιάταξη."
#: editor/editor_audio_buses.cpp
@@ -1410,6 +1448,7 @@ msgid "Add AutoLoad"
msgstr "ΠÏοσθήκη AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "ΔιαδÏομή:"
@@ -1639,6 +1678,7 @@ msgstr "Κάνε ΤÏέχων"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Îέο"
@@ -1709,6 +1749,7 @@ msgid "New Folder..."
msgstr "Îέος φάκελος..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Αναναίωση"
@@ -1866,7 +1907,8 @@ msgid "Inherited by:"
msgstr "ΚληÏονομείται από:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "ΣÏντομη πεÏιγÏαφή:"
#: editor/editor_help.cpp
@@ -1874,38 +1916,18 @@ msgid "Properties"
msgstr "Ιδιότητες"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Ιδιότητες:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "ΣυναÏτήσεις"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Μεθόδοι:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Ιδιότητες θέματος"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 "απαÏίθμηση "
@@ -1914,19 +1936,12 @@ msgid "Constants"
msgstr "ΣταθεÏές"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "ΣταθεÏές:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "ΠεÏιγÏαφή κλάσης"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "ΠεÏιγÏαφή κλάσης:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Online Tutorial:"
#: editor/editor_help.cpp
@@ -1944,10 +1959,6 @@ msgid "Property Descriptions"
msgstr "ΠεÏιγÏαφές ιδιοτήτων"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1960,10 +1971,6 @@ msgid "Method Descriptions"
msgstr "ΠεÏιγÏαφές μεθόδων"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "ΠεÏιγÏαφές μεθόδων:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2032,8 +2039,8 @@ msgstr "Έξοδος:"
msgid "Copy Selection"
msgstr "ΑντιγÏαφή Επιλογής"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2046,10 +2053,51 @@ msgstr "ΕκκαθάÏιση"
msgid "Clear Output"
msgstr "ΕκκαθάÏιση εξόδου"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Διακοπή"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Εκκινιση"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Κάτω"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Πάνω"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Κόμβος"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "ΠαÏάθυÏο"
+msgstr "Îέο ΠαÏάθυÏο"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2384,9 +2432,8 @@ msgid "Close Scene"
msgstr "Κλείσιμο σκηνής"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Κλείσιμο σκηνής"
+msgstr "Άνοιγμα Εκ Îέου Κλειστής Σκηνής"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2509,9 +2556,8 @@ msgid "Close Tab"
msgstr "Κλείσιμο καÏτέλας"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Κλείσιμο καÏτέλας"
+msgstr "ΑναίÏεση Κλεισίματος ΚαÏτέλας"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2648,6 +2694,19 @@ msgstr "ΈÏγο"
msgid "Project Settings..."
msgstr "Ρυθμίσεις έÏγου"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Έκδοση:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2875,10 +2934,6 @@ msgstr "ΠαÏση της σκηνής"
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 "ΑναπαÏαγωγή επεξεÏγαζόμενης σκηνής."
@@ -2929,10 +2984,6 @@ msgid "Inspector"
msgstr "ΕπιθεωÏητής"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Κόμβος"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Ανάπτυξη κάτω πλαισίου"
@@ -2956,18 +3007,22 @@ msgstr "ΔιαχείÏιση ΠÏοτÏπων"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"Αυτό θα εγκαταστήσει το έÏγο Android για Ï€ÏοσαÏμοσμένα χτισίματα.\n"
-"Σημειώστε πως, για τη χÏήση του, Ï€Ïέπει να ενεÏγοποιηθεί ανά διαμόÏφωση "
-"εξαγωγής."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Το Ï€Ïότυπο χτισίματος Android είναι εγκατεστημένο και δεν θα "
"αντικατασταθεί.\n"
@@ -3033,6 +3088,11 @@ msgstr "Άνοιγμα του επόμενου επεξεÏγαστή"
msgid "Open the previous Editor"
msgstr "Άνοιγμα του Ï€ÏοηγοÏμενου επεξεÏγαστή"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Δεν οÏίστηκε πηγαία επιφάνεια."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "ΔημιουÏγία Ï€Ïοεπισκοπήσεων πλεγμάτων"
@@ -3042,6 +3102,11 @@ msgid "Thumbnail..."
msgstr "ΜικÏογÏαφία..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Άνοιγμα Δέσμης ΕνεÏγειών:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "ΕπεγεÏγασία επέκτασης"
@@ -3070,11 +3135,6 @@ msgstr "Κατάσταση:"
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 "ΜέτÏο:"
@@ -3290,7 +3350,6 @@ msgid "Import From Node:"
msgstr "Εισαγωγή σκηνής από κόμβο:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Εκ νέου λήψη"
@@ -3308,8 +3367,11 @@ msgid "Download"
msgstr "Λήψη"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Τα επίσημα Ï€Ïότυπα εξαγωγής δεν είναι διαθέσιμα για τις εκδόσεις που "
+"βÏίσκονται ακόμα σε εξέλιξη"
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3778,7 +3840,7 @@ msgstr "Κόμβοι σε ομάδα"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Οι άδειες ομάδες θα διαγÏάφονται αυτομάτως."
#: editor/groups_editor.cpp
#, fuzzy
@@ -3884,9 +3946,10 @@ msgstr " ΑÏχεία"
msgid "Import As:"
msgstr "Εισαγωγή ώς:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "ΔιαμόÏφωση..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "ΔιαμοÏφώσεις"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4327,6 +4390,7 @@ msgid "Change Animation Name:"
msgstr "Αλλαγή ονόματος κίνησης:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "ΔιαγÏαφή κίνησης;"
@@ -4785,7 +4849,7 @@ msgstr "Δεν ήταν δυνατή η αποθήκευση θέματος σε
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Σφάλμα κατά την εγγÏαφή."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
@@ -4898,10 +4962,6 @@ msgid "Sort:"
msgstr "Ταξινόμηση:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "ΑντιστÏοφή ταξινόμησης."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "ΚατηγοÏία:"
@@ -5185,6 +5245,11 @@ msgid "Pan Mode"
msgstr "ΛειτουÏγία Μετακίνησης κάμεÏας"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "ΛειτουÏγία εκτέλεσης:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Εναλλαγή κουμπώματος."
@@ -5834,8 +5899,9 @@ msgid "Generation Time (sec):"
msgstr "ΧÏόνος παÏαγωγής (sec):"
#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Οι όψεις της γεωμετÏίας δεν πεÏιέχουν καμία πεÏιοχή."
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
@@ -5843,8 +5909,9 @@ msgid "The geometry doesn't contain any faces."
msgstr "Ο κόμβος δεν πεÏιέχει γεωμετÏία (Επιφάνειες)."
#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "Το \"%s\" δεν κληÏονομείται από το Spatial."
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
@@ -6255,7 +6322,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "ΤÏπος:"
@@ -6458,14 +6525,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "Βήμα πάνω"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Διακοπή"
@@ -6545,7 +6612,7 @@ msgstr "ΕκκαθάÏιση Ï€Ïόσφατων σκηνών"
msgid "Connections to method:"
msgstr "ΣÏνδεση σε μέθοδο:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Πηγή"
@@ -7329,6 +7396,11 @@ msgid "(empty)"
msgstr "(άδειο)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Επικόλληση καÏέ"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Κινήσεις:"
@@ -7645,6 +7717,15 @@ msgid "Enable Priority"
msgstr "ΕπεξεÏγασία ΠÏοτεÏαιότητας"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "ΦιλτÏάÏισμα αÏχείων..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Βάψιμο πλακιδίου"
@@ -7780,6 +7861,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "ΑπενεÏγοποίηση Ονομάτων Πλακιδίων (ΚÏατήστε πατημένο το Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"ΑφαίÏεση επιλεγμένης υφής; Αυτό θα αφαιÏέσει όλα τα πλακίδια που την "
@@ -7949,6 +8035,112 @@ msgstr "Αυτή η ιδιότητα δεν μποÏεί να αλλάξει."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Όνομα Î³Î¿Î½Î¹ÎºÎ¿Ï ÎºÏŒÎ¼Î²Î¿Ï…, εάν είναι διαθέσιμο"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Σφάλμα"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Δεν δόθηκε όνομα"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Κοινότητα"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Κεφαλαιοποίηση"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "ΔημιουÏγία νέου οÏθογωνίου."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Αλλαγή"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Μετονομασία"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "ΔιαγÏαφή"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Αλλαγή"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "ΔιαγÏαφή επιλεγμένου"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Αποθήκευση όλων"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "ΣυγχÏονισμός αλλαγών στις δεσμές ενεÏγειών"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Κατάσταση"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Δεν επιλέχθηκαν αÏχεία!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Μόνο GLES3)"
@@ -8188,6 +8380,13 @@ msgstr ""
"ΕπιστÏέφει ένα συσχετισμένο διάνυσμα εάν η λογική τιμή είναι αληθής ή ψευδής."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"ΕπιστÏέφει ένα συσχετισμένο διάνυσμα εάν η λογική τιμή είναι αληθής ή ψευδής."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "ΕπιστÏέφει το λογικό αποτέλεσμα της σÏγκÏισης δÏο παÏαμέτÏων."
@@ -9147,7 +9346,7 @@ msgstr "Εισαγωγή υπαÏÎºÏ„Î¿Ï Î­Ïγου"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Σφάλμα: Το έÏγο λείπει από το σÏστημα αÏχείων."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9509,6 +9708,11 @@ msgid "Settings saved OK."
msgstr "Οι Ïυθμίσεις αποθηκεÏτικαν εντάξει."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "ΠÏοσθήκη συμβάντος εισόδου"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "ΠαÏάκαμψη για δυνατότητα"
@@ -9645,6 +9849,10 @@ msgid "Plugins"
msgstr "ΠÏόσθετα"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "ΔιαμόÏφωση..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Μηδέν"
@@ -9812,10 +10020,6 @@ msgstr "Κάνε Κεφαλαία"
msgid "Reset"
msgstr "ΕπαναφοÏά"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Σφάλμα"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "ΕπαναπÏοσδιοÏισμός γονέα κόμβου"
@@ -9873,6 +10077,11 @@ msgid "Instance Scene(s)"
msgstr "ΔημιουÏγία στιγμιοτÏπυ σκηνών"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Αποθήκευσι ÎºÎ»Î±Î´Î¹Î¿Ï Ï‰Ï‚ σκηνή"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "ΑÏχικοποίηση σκηνής ως παιδί"
@@ -9916,8 +10125,23 @@ msgid "Make node as Root"
msgstr "Κάνε κόμβο Ïίζα"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "ΔιαγÏαφή κόμβων;"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "ΔιαγÏαφή Κόμβων"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "ΔιαγÏαφή κόμβων γÏαφήματος"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "ΔιαγÏαφή Κόμβων"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10321,21 +10545,50 @@ msgid "Bytes:"
msgstr "Ψηφιολέξεις:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Ίχνος Στοίβας"
+#, fuzzy
+msgid "Warning:"
+msgstr "ΠÏοειδοποιήσεις:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr ""
-"Επιλέξτε ένα ή πεÏισσότεÏα αντικείμενα από την λίστα για να εμφανιστεί το "
-"γÏάφημα."
+msgid "Error:"
+msgstr "Σφάλμα:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "ΑντιγÏαφή σφάλματος"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Σφάλμα:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Πηγή"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Πηγή"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Πηγή"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Ίχνος Στοίβας"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Σφάλματα"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Η παιδική διαδικασία συνδέθηκε"
#: editor/script_editor_debugger.cpp
@@ -10343,6 +10596,11 @@ msgid "Copy Error"
msgstr "ΑντιγÏαφή σφάλματος"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Σημεία Διακοπής"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "ΕπιθεώÏηση του Ï€ÏοηγοÏμενου στιγμιοτÏπου"
@@ -10359,6 +10617,11 @@ msgid "Profiler"
msgstr "ΠÏόγÏαμμα δημιουÏγίας Ï€Ïοφιλ"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Εξαγωγή ΠÏοφίλ"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Κλειδί"
@@ -10371,6 +10634,12 @@ msgid "Monitors"
msgstr "ΠαÏακολοÏθηση"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+"Επιλέξτε ένα ή πεÏισσότεÏα αντικείμενα από την λίστα για να εμφανιστεί το "
+"γÏάφημα."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Λίστα χÏήσης βίντεο-μνήμης ανά πόÏο:"
@@ -10578,10 +10847,6 @@ msgid "Library"
msgstr "Βιβλιοθήκη"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Κατάσταση"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Βιβλιοθήκες: "
@@ -10590,6 +10855,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "Η παÏάμετÏος step είναι μηδέν!"
@@ -10746,6 +11015,15 @@ msgstr "Ρυθμίσεις GridMap"
msgid "Pick Distance:"
msgstr "Επιλογή απόστασης:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "ΦιλτÏάÏισμα μεθόδων"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Το όνομα της κλάσης δεν μποÏεί να είναι λέξη-κλειδί"
@@ -10755,8 +11033,9 @@ msgid "End of inner exception stack trace"
msgstr "Τέλος ιχνηλάτησης στοίβας εσωτεÏικής εξαίÏεσης"
#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
msgid "Bake NavMesh"
-msgstr ""
+msgstr "Ψήσιμο NavMesh (πλέγματος πλοήγησης)"
#: modules/recast/navigation_mesh_editor_plugin.cpp
msgid "Clear the navigation mesh."
@@ -10892,6 +11171,10 @@ msgid "Create a new variable."
msgstr "ΔημιουÏγία νέου οÏθογωνίου."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Σήματα:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "ΔημιουÏγία νέου πολυγώνου."
@@ -11058,6 +11341,11 @@ msgid "Editing Signal:"
msgstr "ΕπεξεÏγασία σήματος:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Κάνε τοπικό"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "ΤÏπος βάσης:"
@@ -11167,56 +11455,75 @@ msgstr ""
#: platform/android/export/export.cpp
msgid "Package name is missing."
-msgstr ""
+msgstr "Το όνομα του πακέτου λείπει."
#: platform/android/export/export.cpp
msgid "Package segments must be of non-zero length."
-msgstr ""
+msgstr "Τα τμήματα του πακέτου Ï€Ïέπει να έχουν μη μηδενικό μήκος."
#: platform/android/export/export.cpp
+#, fuzzy
msgid "The character '%s' is not allowed in Android application package names."
msgstr ""
+"Ο χαÏακτήÏας '%s' δεν επιτÏέπεται στα ονόματα των πακέτων εφαÏμογών Android."
#: platform/android/export/export.cpp
msgid "A digit cannot be the first character in a package segment."
msgstr ""
+"Ένα ψηφίο δεν μποÏεί να είναι ο Ï€Ïώτος χαÏακτήÏας σε ένα τμήμα πακέτου."
#: platform/android/export/export.cpp
msgid "The character '%s' cannot be the first character in a package segment."
msgstr ""
+"Ο χαÏακτήÏας '%s' δεν μποÏεί να είναι ο Ï€Ïώτος χαÏακτήÏας σε ένα τμήμα "
+"πακέτου."
#: platform/android/export/export.cpp
msgid "The package must have at least one '.' separator."
-msgstr ""
+msgstr "Το πακέτο Ï€Ïέπει να έχει τουλάχιστον έναν '.' διαχωÏιστή."
#: platform/android/export/export.cpp
msgid "ADB executable not configured in the Editor Settings."
msgstr ""
+"Το εκτελέσιμο αÏχείο ADB δεν έχει Ïυθμιστεί στις Ρυθμίσεις ΕπεξεÏγαστή."
#: platform/android/export/export.cpp
msgid "OpenJDK jarsigner not configured in the Editor Settings."
-msgstr ""
+msgstr "Το OpenJDK jarsigner δεν έχει Ïυθμιστεί στις Ρυθμίσεις ΕπεξεÏγαστή."
#: platform/android/export/export.cpp
+#, fuzzy
msgid "Debug keystore not configured in the Editor Settings nor in the preset."
msgstr ""
+"Το Debug keystore δεν έχει Ïυθμιστεί στις Ρυθμίσεις ΕπεξεÏγαστή ή στην "
+"Ï€Ïοεπιλεγμένη ÏÏθμιση."
#: platform/android/export/export.cpp
+#, fuzzy
msgid "Custom build requires a valid Android SDK path in Editor Settings."
msgstr ""
+"Η Ï€ÏοσαÏμοσμένη κατασκευή απαιτεί μια έγκυÏη διαδÏομή για το Android SDK "
+"στις Ρυθμίσεις ΕπεξεÏγαστή."
#: platform/android/export/export.cpp
+#, fuzzy
msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr ""
+"Μη έγκυÏη διαδÏομή Android SDK για Ï€ÏοσαÏμοσμένη κατασκευή στις Ρυθμίσεις "
+"ΕπεξεÏγαστή."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
+"Λείπει το Ï€Ïότυπο χτισίματος Android, παÏακαλοÏμε εγκαταστήστε τα σχετικά "
+"Ï€Ïότυπα."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
-msgstr ""
+msgstr "Μη έγκυÏο δημόσιο κλειδί (public key) για επέκταση APK."
#: platform/android/export/export.cpp
#, fuzzy
@@ -11238,26 +11545,32 @@ msgid ""
msgstr ""
#: platform/android/export/export.cpp
+#, fuzzy
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "Κατασκευή ΈÏγου Android (gradle)"
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
+"Η κατασκευή του έÏγου Android απέτυχε, ελέγξτε την έξοδο για το σφάλμα.\n"
+"Εναλλακτικά, επισκεφτείτε τη σελίδα docs.godotengine.org για το εγχειÏίδιο "
+"πάνω στο θέμα της κατασκευής για Android."
#: platform/android/export/export.cpp
+#, fuzzy
msgid "No build apk generated at: "
-msgstr ""
+msgstr "Δεν παÏάχθηκε κατασκευή apk στο: "
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
-msgstr ""
+msgstr "Το αναγνωÏιστικό λείπει."
#: platform/iphone/export/export.cpp
msgid "Identifier segments must be of non-zero length."
-msgstr ""
+msgstr "Τα τμήματα του αναγνωÏÎ¹ÏƒÏ„Î¹ÎºÎ¿Ï Ï€Ïέπει να έχουν μη μηδενικό μήκος."
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -11267,19 +11580,26 @@ msgstr "Το όνομα δεν είναι έγκυÏο αναγνωÏιστικÏ
#: platform/iphone/export/export.cpp
msgid "A digit cannot be the first character in a Identifier segment."
msgstr ""
+"Ένα ψηφίο δεν μποÏεί να είναι ο Ï€Ïώτος χαÏακτήÏας σε ένα τμήμα "
+"αναγνωÏιστικοÏ."
#: platform/iphone/export/export.cpp
msgid ""
"The character '%s' cannot be the first character in a Identifier segment."
msgstr ""
+"Ο χαÏακτήÏας '%s' δεν μποÏεί να είναι ο Ï€Ïώτος χαÏακτήÏας σε ένα τμήμα "
+"αναγνωÏιστικοÏ."
#: platform/iphone/export/export.cpp
msgid "The Identifier must have at least one '.' separator."
-msgstr ""
+msgstr "Το αναγνωÏιστικό Ï€Ïέπει να έχει τουλάχιστον έναν '.' διαχωÏιστή."
#: platform/iphone/export/export.cpp
+#, fuzzy
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
+"Το ομαδικό αναγνωÏιστικό (Team ID) App Store δεν έχει καθοÏιστεί - δεν "
+"είναι δυνατή η διαμόÏφωση του έÏγου."
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -11287,8 +11607,9 @@ msgid "Invalid Identifier:"
msgstr "Το όνομα δεν είναι έγκυÏο αναγνωÏιστικό:"
#: platform/iphone/export/export.cpp
+#, fuzzy
msgid "Required icon is not specified in the preset."
-msgstr ""
+msgstr "Το απαιτοÏμενο εικονίδιο δεν έχει καθοÏιστεί στην Ï€Ïοεπιλογή."
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
@@ -11670,6 +11991,8 @@ msgid ""
"Plane shapes don't work well and will be removed in future versions. Please "
"don't use them."
msgstr ""
+"Τα επίπεδα σχήματα δεν λειτουÏγοÏν καλά και θα αφαιÏεθοÏν σε μελλοντικές "
+"εκδόσεις. ΠαÏακαλώ μην τα χÏησιμοποιήσετε."
#: scene/3d/cpu_particles.cpp
#, fuzzy
@@ -11688,14 +12011,20 @@ msgid "Plotting Meshes"
msgstr "Τοποθέτηση πλεγμάτων"
#: scene/3d/gi_probe.cpp
+#, fuzzy
msgid ""
"GIProbes are not supported by the GLES2 video driver.\n"
"Use a BakedLightmap instead."
msgstr ""
+"Ται GIProbes δεν υποστηÏίζονται από το Ï€ÏόγÏαμμα οδήγησης οθόνης GLES2.\n"
+"ΧÏησιμοποιήστε ένα BakedLightmap αντ 'αυτοÏ."
#: scene/3d/light.cpp
+#, fuzzy
msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
msgstr ""
+"Ένα SpotLight (Ï€Ïοβολέας) με γωνία ευÏÏτεÏη από 90 μοίÏες δεν μποÏεί να "
+"δημιουÏγεί σκιές."
#: scene/3d/navigation_mesh.cpp
msgid "A NavigationMesh resource must be set or created for this node to work."
@@ -11762,7 +12091,7 @@ msgstr ""
#: scene/3d/soft_body.cpp
msgid "This body will be ignored until you set a mesh."
-msgstr ""
+msgstr "Το σώμα αυτό δε θα ληφθεί υπόψιν μέχÏι να οÏίσετε ένα πλέγμα (mesh)."
#: scene/3d/soft_body.cpp
#, fuzzy
@@ -11823,8 +12152,9 @@ msgid "Animation not found: '%s'"
msgstr "ΕÏγαλεία κινήσεων"
#: scene/animation/animation_tree.cpp
+#, fuzzy
msgid "In node '%s', invalid animation: '%s'."
-msgstr ""
+msgstr "Στον κόμβο '%s', μη έγκυÏο animation: '%s'."
#: scene/animation/animation_tree.cpp
#, fuzzy
@@ -11859,14 +12189,15 @@ msgstr "Το δέντÏο κίνησης δεν είναι έγκυÏο."
#: scene/animation/animation_tree_player.cpp
msgid "This node has been deprecated. Use AnimationTree instead."
msgstr ""
+"Αυτός ο κόμβος έχει καταÏγηθεί. ΧÏησιμοποιήστε το AnimationTree αντ 'αυτοÏ."
#: scene/gui/color_picker.cpp
msgid "Pick a color from the screen."
-msgstr ""
+msgstr "Διαλέξτε ένα χÏώμα από την οθόνη."
#: scene/gui/color_picker.cpp
msgid "HSV"
-msgstr ""
+msgstr "HSV"
#: scene/gui/color_picker.cpp
#, fuzzy
@@ -11991,7 +12322,45 @@ msgstr ""
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Οι σταθεÏές δεν μποÏοÏν να Ï„ÏοποποιηθοÏν."
+
+#~ msgid "Properties:"
+#~ msgstr "Ιδιότητες:"
+
+#~ msgid "Methods:"
+#~ msgstr "Μεθόδοι:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Ιδιότητες θέματος:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "ΑπαÏιθμήσεις:"
+
+#~ msgid "Constants:"
+#~ msgstr "ΣταθεÏές:"
+
+#~ msgid "Class Description:"
+#~ msgstr "ΠεÏιγÏαφή κλάσης:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "ΠεÏιγÏαφές ιδιοτήτων:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "ΠεÏιγÏαφές μεθόδων:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Αυτό θα εγκαταστήσει το έÏγο Android για Ï€ÏοσαÏμοσμένα χτισίματα.\n"
+#~ "Σημειώστε πως, για τη χÏήση του, Ï€Ïέπει να ενεÏγοποιηθεί ανά διαμόÏφωση "
+#~ "εξαγωγής."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "ΑντιστÏοφή ταξινόμησης."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "ΔιαγÏαφή κόμβων;"
#~ msgid "No Matches"
#~ msgstr "Δεν υπάÏχουν αντιστοιχίες"
@@ -12415,9 +12784,6 @@ msgstr ""
#~ "ΔημιουÏγία στιγμιοτÏπων των επιλεγμένων σκηνών ως παιδιά του επιλεγμένου "
#~ "κόμβου."
-#~ msgid "Warnings:"
-#~ msgstr "ΠÏοειδοποιήσεις:"
-
#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "Μέγεθος πηγαίας γÏαμματοσειÏάς:"
@@ -12460,9 +12826,6 @@ msgstr ""
#~ msgid "Select a split to erase it."
#~ msgstr "Επιλέξτε ένα αντικείμενο ÏÏθμισης Ï€Ïώτα!"
-#~ msgid "No name provided"
-#~ msgstr "Δεν δόθηκε όνομα"
-
#~ msgid "Add Node.."
#~ msgstr "ΠÏοσθήκη κόμβου.."
@@ -12601,9 +12964,6 @@ msgstr ""
#~ msgid "Warning"
#~ msgstr "ΠÏοειδοποίηση"
-#~ msgid "Error:"
-#~ msgstr "Σφάλμα:"
-
#~ msgid "Function:"
#~ msgstr "ΣυνάÏτηση:"
@@ -12682,9 +13042,6 @@ msgstr ""
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "Διπλασιασμός κόμβων γÏαφήματος"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "ΔιαγÏαφή κόμβων γÏαφήματος"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "Σφάλμα: Κυκλικός σÏνδεσμος"
@@ -13124,9 +13481,6 @@ msgstr ""
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Επιλέξτε νέο όνομα και θέση για:"
-#~ msgid "No files selected!"
-#~ msgstr "Δεν επιλέχθηκαν αÏχεία!"
-
#~ msgid "Info"
#~ msgstr "ΠληÏοφοÏίες"
@@ -13521,12 +13875,6 @@ msgstr ""
#~ msgid "Scaling to %s%%."
#~ msgstr "Κλιμάκωση to %s%%."
-#~ msgid "Up"
-#~ msgstr "Πάνω"
-
-#~ msgid "Down"
-#~ msgstr "Κάτω"
-
#~ msgid "Bucket"
#~ msgstr "Κουβάς"
diff --git a/editor/translations/eo.po b/editor/translations/eo.po
index 7434ca1246..a1906a2985 100644
--- a/editor/translations/eo.po
+++ b/editor/translations/eo.po
@@ -5,11 +5,12 @@
# Scott Starkey <yekrats@gmail.com>, 2019.
# AlexHoratio <yukithetupper@gmail.com>, 2019.
# Teashrock <kajitsu22@gmail.com>, 2019.
+# Brandon Dyer <brandondyer64@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2019-08-29 13:34+0000\n"
-"Last-Translator: Teashrock <kajitsu22@gmail.com>\n"
+"PO-Revision-Date: 2019-09-15 20:01+0000\n"
+"Last-Translator: Brandon Dyer <brandondyer64@gmail.com>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/"
"godot/eo/>\n"
"Language: eo\n"
@@ -57,9 +58,37 @@ msgstr "Malvalidaj argumentoj por konstrui '%s'"
msgid "On call to '%s':"
msgstr "En voko al '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
-msgstr "Libera"
+msgstr "Senkosta"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
@@ -475,6 +504,10 @@ msgid "Select None"
msgstr "Elektaro nur"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Nur vidigi vojetojn el elektis nodojn en arbo."
@@ -734,7 +767,7 @@ msgstr "Konektu al skripto:"
#: editor/connections_dialog.cpp
msgid "From Signal:"
-msgstr ""
+msgstr "De Signalo:"
#: editor/connections_dialog.cpp
msgid "Scene does not contain any script."
@@ -777,6 +810,7 @@ msgstr "Diferita"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Prokrastas la signalon, memoras Äin en atendovico kaj nur pafas atende."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -797,16 +831,17 @@ msgstr "Ne povas konekti signalo"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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 "FermiÄu"
+msgstr "FermiÄi"
#: editor/connections_dialog.cpp
msgid "Connect"
-msgstr "Konektu"
+msgstr "Konekti"
#: editor/connections_dialog.cpp
msgid "Signal:"
@@ -814,24 +849,24 @@ msgstr "Signalo:"
#: editor/connections_dialog.cpp
msgid "Connect '%s' to '%s'"
-msgstr "Konektu '%s' al '%s'"
+msgstr "Konekti '%s' al '%s'"
#: editor/connections_dialog.cpp
msgid "Disconnect '%s' from '%s'"
-msgstr "Malkonektu '%s' de '%s'"
+msgstr "Malkonekti '%s' de '%s'"
#: editor/connections_dialog.cpp
msgid "Disconnect all from signal: '%s'"
-msgstr "Malkonektu ĉiuj de signalo: '%s'"
+msgstr "Malkonekti ĉiuj de signalo: '%s'"
#: editor/connections_dialog.cpp
msgid "Connect..."
-msgstr ""
+msgstr "Konekti..."
#: editor/connections_dialog.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
-msgstr "Malkonektu"
+msgstr "Malkonekti"
#: editor/connections_dialog.cpp
msgid "Connect a Signal to a Method"
@@ -839,7 +874,7 @@ msgstr "Konektu la signalo al metodo"
#: editor/connections_dialog.cpp
msgid "Edit Connection:"
-msgstr ""
+msgstr "Redakti Konekton:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -855,11 +890,11 @@ msgstr ""
#: editor/connections_dialog.cpp
msgid "Disconnect All"
-msgstr "Malkonektu ĉiuj"
+msgstr "Malkonektigi ĉiun"
#: editor/connections_dialog.cpp
msgid "Edit..."
-msgstr "Redaktu..."
+msgstr "Redakti..."
#: editor/connections_dialog.cpp
msgid "Go To Method"
@@ -898,7 +933,8 @@ msgstr "Serĉo:"
msgid "Matches:"
msgstr "Matĉoj:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -937,7 +973,7 @@ msgstr "Rimedo"
#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp
#: editor/project_settings_editor.cpp editor/script_create_dialog.cpp
msgid "Path"
-msgstr "Pado"
+msgstr "Vojo"
#: editor/dependency_editor.cpp
msgid "Dependencies:"
@@ -1198,7 +1234,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1389,6 +1425,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1608,6 +1645,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1678,6 +1716,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1835,46 +1874,27 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "Priskribo:"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1883,19 +1903,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1910,10 +1922,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1924,10 +1932,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1994,8 +1998,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2008,6 +2012,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2548,6 +2594,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2748,10 +2806,6 @@ msgstr ""
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 ""
@@ -2803,10 +2857,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2828,15 +2878,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2899,6 +2955,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2908,6 +2968,11 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Konektu al skripto:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2936,11 +3001,6 @@ msgstr ""
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 ""
@@ -3717,8 +3777,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4144,6 +4204,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4703,10 +4764,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4971,6 +5028,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6020,7 +6081,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6220,11 +6281,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6304,7 +6365,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7072,6 +7133,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7386,6 +7451,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7516,6 +7589,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7670,6 +7748,105 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "ÅœanÄu"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Forigi Åœlosilo(j)n"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "ÅœanÄu"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Skali Elektaron"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Elektaro ĉiuj"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "ÅœanÄu"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7903,6 +8080,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9093,6 +9275,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9229,6 +9415,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9392,10 +9582,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9451,6 +9637,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9491,10 +9681,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Forigi Åœlosilo(j)n"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Forigi Åœlosilo(j)n"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -9869,11 +10073,38 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+#, fuzzy
+msgid "Warning:"
+msgstr "Avertoj"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Error:"
+msgstr "Spegulo"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Rimedo"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9881,7 +10112,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9889,6 +10120,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9905,6 +10140,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9917,6 +10156,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10113,10 +10356,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10125,6 +10364,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10276,6 +10519,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10411,6 +10662,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Kreu novan %s"
@@ -10568,6 +10823,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10715,7 +10974,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/es.po b/editor/translations/es.po
index 08a6012cc2..8479f11639 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -18,7 +18,7 @@
# Jose Maria Martinez <josemar1992@hotmail.com>, 2018.
# Juan Quiroga <juanquiroga9@gmail.com>, 2017.
# Kiji Pixel <raccoon.fella@gmail.com>, 2017.
-# Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2017.
+# Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2017, 2019.
# Lonsfor <lotharw@protonmail.com>, 2017-2018.
# Mario Nachbaur <manachbaur@gmail.com>, 2018.
# Oscar Carballal <oscar.carballal@protonmail.com>, 2017-2018.
@@ -44,7 +44,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-22 17:23+0000\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
@@ -95,6 +95,35 @@ msgstr "Argumentos inválidos para construir '%s'"
msgid "On call to '%s':"
msgstr "En llamada a '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mix"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libre"
@@ -515,6 +544,12 @@ msgid "Select None"
msgstr "Deseleccionar todo"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"No hay asignada una ruta a un nodo AnimationPlayer conteniendo animaciones."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Mostrar solo las pistas de los nodos seleccionados en el árbol."
@@ -693,18 +728,16 @@ msgid "Replaced %d occurrence(s)."
msgstr "%d ocurrencia(s) reemplazada(s)."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "Se encontraron %d coincidencias."
+msgstr "%d coincidencia."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "Se encontraron %d coincidencias."
+msgstr "%d coincidencias."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
-msgstr "Coincidir mayús/minúsculas"
+msgstr "Coincidir Mayús./Minús."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Whole Words"
@@ -838,7 +871,8 @@ msgstr "No se puede conectar la señal"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -941,7 +975,8 @@ msgstr "Buscar:"
msgid "Matches:"
msgstr "Coincidencias:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1156,20 +1191,18 @@ msgid "License"
msgstr "Licencia"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
msgstr "Licencia de Terceros"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot Engine se basa en una serie de bibliotecas libres y de código abierto "
-"de terceros, todas ellas compatibles con los términos de su licencia MIT. La "
+"Godot Engine se basa en una serie de librerías libres y de código abierto de "
+"terceros, todas ellas compatibles con los términos de su licencia MIT. La "
"siguiente es una lista exhaustiva de todos estos componentes de terceros con "
"sus respectivas declaraciones de derechos de autor y términos de licencia."
@@ -1186,9 +1219,8 @@ msgid "Licenses"
msgstr "Licencias"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Error al abrir el archivo empaquetado, no tiene formato zip."
+msgstr "Error al abrir el archivo comprimido, no está en formato ZIP."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1256,7 +1288,8 @@ msgid "Delete Bus Effect"
msgstr "Eliminar Efecto de Bus"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Bus de audio, arrastra y suelta para reordenar."
#: editor/editor_audio_buses.cpp
@@ -1447,6 +1480,7 @@ msgid "Add AutoLoad"
msgstr "Añadir AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Ruta:"
@@ -1680,6 +1714,7 @@ msgstr "Hacer Actual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Nuevo"
@@ -1750,6 +1785,7 @@ msgid "New Folder..."
msgstr "Nueva Carpeta..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Recargar"
@@ -1907,7 +1943,8 @@ msgid "Inherited by:"
msgstr "Heredada por:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Descripción Breve:"
#: editor/editor_help.cpp
@@ -1915,38 +1952,18 @@ msgid "Properties"
msgstr "Propiedades"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Propiedades:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Métodos"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Métodos:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Propiedades del Tema"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Propiedades del Tema:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Señales:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumeraciones"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumeraciones:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1955,19 +1972,12 @@ msgid "Constants"
msgstr "Constantes"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Constantes:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Descripción de la Clase"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Descripción de la Clase:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Tutoriales en línea:"
#: editor/editor_help.cpp
@@ -1985,10 +1995,6 @@ msgid "Property Descriptions"
msgstr "Descripción de Propiedades"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Descripción de Propiedades:"
-
-#: 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]!"
@@ -2001,10 +2007,6 @@ msgid "Method Descriptions"
msgstr "Descripción de Métodos"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Descripción de Métodos:"
-
-#: 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]!"
@@ -2076,8 +2078,8 @@ msgstr "Salida:"
msgid "Copy Selection"
msgstr "Copiar Selección"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2090,10 +2092,51 @@ msgstr "Limpiar"
msgid "Clear Output"
msgstr "Limpiar Salida"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Detener"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Iniciar"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Abajo"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Arriba"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nodos"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "Ventana"
+msgstr "Nueva Ventana"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2424,9 +2467,8 @@ msgid "Close Scene"
msgstr "Cerrar Escena"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Cerrar Escena"
+msgstr "Reabrir Escena Cerrada"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2549,9 +2591,8 @@ msgid "Close Tab"
msgstr "Cerrar Pestaña"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Cerrar Pestaña"
+msgstr "Deshacer Cerrar Pestaña"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2684,18 +2725,29 @@ msgid "Project"
msgstr "Proyecto"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Ajustes del proyecto"
+msgstr "Ajustes del Proyecto..."
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versión:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "Exportar…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Instalar plantilla de compilación de Android"
+msgstr "Instalar plantilla de compilación de Android..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2706,9 +2758,8 @@ msgid "Tools"
msgstr "Herramientas"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Explorador de Recursos Huérfanos"
+msgstr "Explorador de Recursos Huérfanos..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2811,9 +2862,8 @@ msgid "Editor"
msgstr "Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Configuración del Editor"
+msgstr "Configuración del Editor..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2850,14 +2900,12 @@ msgid "Open Editor Settings Folder"
msgstr "Abrir Carpeta de Configuración del Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Administrar Características del Editor"
+msgstr "Administrar Características del Editor..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Administrar Plantillas de Exportación"
+msgstr "Administrar Plantillas de Exportación..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2913,10 +2961,6 @@ msgstr "Pausar Escena"
msgid "Stop the scene."
msgstr "Detener la escena."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Detener"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Reproducir la escena editada."
@@ -2967,10 +3011,6 @@ msgid "Inspector"
msgstr "Inspector"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nodos"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Expandir Panel Inferior"
@@ -2994,17 +3034,22 @@ msgstr "Administrar Plantillas"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"Esto instalará el proyecto Android para compilaciones personalizadas.\n"
-"Para utilizarlo, es necesario habilitarlo mediante un preset de exportación."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"La plantilla de compilación de Android ya está instalada y no se "
"sobrescribirá.\n"
@@ -3071,6 +3116,11 @@ msgstr "Abrir Editor siguiente"
msgid "Open the previous Editor"
msgstr "Abrir Editor anterior"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Ningún origen para la superficie especificado."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Creando Vistas Previas de Mesh/es"
@@ -3080,6 +3130,11 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Abrir Script:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Editar Plugin"
@@ -3108,11 +3163,6 @@ msgstr "Estado:"
msgid "Edit:"
msgstr "Editar:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Iniciar"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Medida:"
@@ -3330,7 +3380,6 @@ msgid "Import From Node:"
msgstr "Importar Desde Nodo:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Volver a Descargar"
@@ -3350,6 +3399,8 @@ msgstr "Descargar"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Las plantillas de exportación oficiales no están disponibles para las "
+"versiones de desarrollo."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3432,23 +3483,20 @@ msgid "Download Complete."
msgstr "Descarga Completada."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "No se pudo guardar el tema a un archivo:"
+msgstr "No se puede eliminar el archivo temporal:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Fallo la instalación de plantillas. Las plantillas problemáticas pueden ser "
-"encontradas en '%s'."
+"Falló la instalación de plantillas.\n"
+"Las plantillas problemáticas se pueden encontrar en '%s'."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Error al solicitar url: "
+msgstr "Error al solicitar la URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3636,9 +3684,8 @@ msgid "Move To..."
msgstr "Mover a..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Nueva Escena"
+msgstr "Nueva Escena..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3706,9 +3753,8 @@ msgid "Overwrite"
msgstr "Sobreescribir"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Crear desde escena"
+msgstr "Crear Escena"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3788,23 +3834,20 @@ msgid "Invalid group name."
msgstr "Nombre de grupo inválido."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Administrar Grupos"
+msgstr "Renombrar Grupo"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Eliminar grupo de imágenes"
+msgstr "Eliminar Grupo"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Grupos"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
-msgstr "Nodos fuera del Grupo"
+msgstr "Nodos Fuera del Grupo"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
@@ -3817,7 +3860,7 @@ msgstr "Nodos dentro del Grupo"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Los grupos vacíos se eliminarán automáticamente."
#: editor/groups_editor.cpp
msgid "Group Editor"
@@ -3921,9 +3964,10 @@ msgstr " Archivos"
msgid "Import As:"
msgstr "Importar como:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Ajustes preestablecidos"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4030,9 +4074,8 @@ msgid "MultiNode Set"
msgstr "Establecer multinodo"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Selecciona un nodo para editar señales y grupos."
+msgstr "Selecciona un único nodo para editar sus señales y grupos."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4366,6 +4409,7 @@ msgid "Change Animation Name:"
msgstr "Cambiar nombre de animación:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "¿Eliminar Animación?"
@@ -4815,37 +4859,32 @@ msgid "Request failed, return code:"
msgstr "Petición fallida, código:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
-msgstr "Petición Fallida."
+msgstr "Petición fallida."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "No se pudo guardar el tema a un archivo:"
+msgstr "No se pudo guardar la respuesta a:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Error de escritura."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "Petición fallida, demasiadas redirecciones"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
-msgstr "Redireccionar Loop."
+msgstr "Redireccionar loop."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Petición fallida, código:"
+msgstr "Petición fallida, expiración del tiempo de espera"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Tiempo"
+msgstr "Tiempo de espera."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4924,24 +4963,18 @@ msgid "All"
msgstr "Todos"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Reimportar..."
+msgstr "Importar..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Plugins"
+msgstr "Plugins..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Ordenar:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Orden inverso."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Categoría:"
@@ -4951,9 +4984,8 @@ msgid "Site:"
msgstr "Sitio:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Soporte..."
+msgstr "Soporte"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4964,7 +4996,6 @@ msgid "Testing"
msgstr "Prueba"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
msgstr "Cargar..."
@@ -5134,9 +5165,8 @@ msgid "Paste Pose"
msgstr "Pegar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Limpiar Huesos"
+msgstr "Limpiar Guías"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5225,6 +5255,11 @@ msgid "Pan Mode"
msgstr "Modo desplazamiento lateral"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Modo de ejecución:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Act./Desact. alineado."
@@ -5873,26 +5908,23 @@ msgstr "Tiempo de Generación (seg):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Las caras de la geometría no contienen ningún área."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "El nodo no posee geometría (caras)."
+msgstr "La geometría no contiene ninguna cara."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" no hereda de Spatial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "El nodo no tiene geometría."
+msgstr "\"%s\" no tiene geometría."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "El nodo no tiene geometría."
+msgstr "\"%s\" no tiene geometría de caras."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6293,7 +6325,7 @@ msgstr "Instancia:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Tipo:"
@@ -6331,9 +6363,8 @@ msgid "Error writing TextFile:"
msgstr "Error al escribir el TextFile:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "No se pudo cargar el tile:"
+msgstr "No se pudo cargar el archivo en:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6356,9 +6387,8 @@ msgid "Error Importing"
msgstr "Error al Importar"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
-msgstr "Nuevo TextFile..."
+msgstr "Nuevo Archivo de Texto..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Open File"
@@ -6438,9 +6468,8 @@ msgid "Open..."
msgstr "Abrir..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Abrir Script"
+msgstr "Reabrir Script Cerrado"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6496,14 +6525,14 @@ msgid "Toggle Scripts Panel"
msgstr "Act./Desact. Panel de Scripts"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Step Over"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Step Into"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Step Over"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Break"
@@ -6575,15 +6604,14 @@ msgid "Search Results"
msgstr "Resultados de la Búsqueda"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Limpiar escenas recientes"
+msgstr "Limpiar Scripts Recientes"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Conexiones al método:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Fuente"
@@ -6628,7 +6656,7 @@ msgstr "Seleccionar Color"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
-msgstr "Convertir Mayúsculas y Minúsculas"
+msgstr "Convertir Mayús./Minús."
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
@@ -6702,9 +6730,8 @@ msgid "Complete Symbol"
msgstr "Completar Símbolo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Escalar Selección"
+msgstr "Evaluar Selección"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -7012,9 +7039,8 @@ msgid "Audio Listener"
msgstr "Oyente de Audio"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Habilitar Filtrado"
+msgstr "Activar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7070,7 +7096,7 @@ msgstr "Ajustar Nodos al Suelo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "No se pudo encontrar un suelo sólido para ajustar la selección."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7083,9 +7109,8 @@ msgstr ""
"Alt + Clic Derecho: Selección en la lista de superposición"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Modo de Espacio Local (%s)"
+msgstr "Usar Espacio Local"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7182,9 +7207,8 @@ msgstr "Ver Grid"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Configuración"
+msgstr "Configuración..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7363,6 +7387,11 @@ msgid "(empty)"
msgstr "(vacío)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Pegar Frame"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animaciones:"
@@ -7560,14 +7589,12 @@ msgid "Submenu"
msgstr "Submenú"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Ãtem 1"
+msgstr "Subítem 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Ãtem 2"
+msgstr "Subítem 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7679,17 +7706,25 @@ msgid "Enable Priority"
msgstr "Activar Prioridad"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrar Archivos..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Dibujar tile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift + Clic derecho: Trazar línea\n"
-"Shift + Ctrl + Clic derecho: Pintar Rectángulo"
+"Shift + Clic izq: Dibujar línea\n"
+"Shift + Ctrl + Clic izq: Pintar Rectángulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7812,6 +7847,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Mostrar Nombres de Tiles (mantener Tecla Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"¿Eliminar la textura seleccionada? Esto eliminará todas las tiles que lo "
@@ -7983,6 +8023,112 @@ msgstr "Esta propiedad no se puede cambiar."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nombre del padre del nodo, si está disponible"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Error"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "No se proporcionó un nombre"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Comunidad"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Capitalizar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Cree un nuevo rectángulo."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Cambiar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Renombrar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Eliminar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Cambiar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Eliminar Seleccionados"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Guardar Todo"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sincronizar Cambios en Scripts"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Estado"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "¡No has seleccionado ningún archivo!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Sólo GLES3)"
@@ -8089,9 +8235,8 @@ msgid "Light"
msgstr "Luz"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Crear Nodo Shader"
+msgstr "Mostrar el código del shader resultante."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8226,6 +8371,14 @@ msgstr ""
"o falso."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Devuelve un vector asociado si el valor booleano proporcionado es verdadero "
+"o falso."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Devuelve el resultado booleano de la comparación entre dos parámetros."
@@ -8461,7 +8614,6 @@ msgid "Returns the square root of the parameter."
msgstr "Devuelve la raíz cuadrada del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8476,7 +8628,6 @@ msgstr ""
"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
@@ -8654,9 +8805,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Interpolación lineal entre dos vectores."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Interpolación lineal entre dos vectores."
+msgstr "Interpolación lineal entre dos vectores usando escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8683,7 +8833,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Devuelve el vector que apunta en la dirección de refracción."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8698,7 +8847,6 @@ msgstr ""
"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8713,7 +8861,6 @@ msgstr ""
"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8724,7 +8871,6 @@ msgstr ""
"Devuelve 0.0 si 'x' es menor que 'edge' y 1.0 en caso contrario."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8788,6 +8934,10 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Expresión personalizada del lenguaje de shader de Godot, que se coloca "
+"encima del shader resultante. Puedes colocar varias definiciones de "
+"funciones dentro y llamarlas más tarde en las Expresiones. También puedes "
+"declarar variaciones, uniformes y constantes."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9180,13 +9330,12 @@ msgid "Unnamed Project"
msgstr "Proyecto Sin Nombre"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Importar Proyecto Existente"
+msgstr "Proyecto Faltante"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Error: Proyecto faltante en el sistema de archivos."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9285,12 +9434,11 @@ msgstr ""
"El contenido de la carpeta de proyecto no se modificará."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"¿Eliminar %d proyectos de la lista?\n"
+"¿Eliminar todos los proyectos faltantes de la lista?\n"
"El contenido de las carpetas del proyecto no se modificará."
#: editor/project_manager.cpp
@@ -9316,9 +9464,8 @@ msgid "Project Manager"
msgstr "Administrador de Proyectos"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Proyecto"
+msgstr "Proyectos"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9549,6 +9696,11 @@ msgid "Settings saved OK."
msgstr "Los ajustes se han guardado correctamente."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Añadir Evento de Acción de Entrada"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Sobrescribir la Característica"
@@ -9685,6 +9837,10 @@ msgid "Plugins"
msgstr "Plugins"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Preset..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Cero"
@@ -9838,7 +9994,7 @@ msgstr "under_scored a CamelCase"
#: editor/rename_dialog.cpp
msgid "Case"
-msgstr "Mayus./Minus."
+msgstr "Mayús./Minús."
#: editor/rename_dialog.cpp
msgid "To Lowercase"
@@ -9852,10 +10008,6 @@ msgstr "A mayúsculas"
msgid "Reset"
msgstr "Resetear"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Error"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Reemparentar nodo"
@@ -9913,6 +10065,11 @@ msgid "Instance Scene(s)"
msgstr "Instanciar Escena(s)"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Guardar Rama como Escena"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Instanciar Escena Hija"
@@ -9955,8 +10112,23 @@ msgid "Make node as Root"
msgstr "Convertir nodo como Raíz"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "¿Eliminar Nodo(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Eliminar Nodos"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Eliminar nodo(s) gráfico(s) del shader"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Eliminar Nodos"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10031,9 +10203,8 @@ msgid "Remove Node(s)"
msgstr "Eliminar Nodo(s)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Cambiar nombre del puerto de salida"
+msgstr "Cambiar tipo de nodo(s)"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10156,31 +10327,28 @@ msgid "Node configuration warning:"
msgstr "Alerta de configuración de nodos:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"El nodo tiene conexión/es y grupo/s.\n"
+"El nodo tiene %s conexión(es) y %(s) grupo(s).\n"
"Clic para mostrar el panel de señales."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"El nodo tiene conexiones.\n"
-"Haz clic para mostrar el panel de señales."
+"El nodo tiene %s conexión(es).\n"
+"Clic para mostrar el panel de señales."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"El nodo está en el/los grupo(s).\n"
-"Haz clic para mostrar el panel de grupos."
+"El nodo está en %s grupo(s).\n"
+"Clic para mostrar el panel de grupos."
#: editor/scene_tree_editor.cpp
msgid "Open Script:"
@@ -10276,9 +10444,8 @@ msgid "Error loading script from %s"
msgstr "Error al cargar script desde %s"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Sobreescribir"
+msgstr "Sobreescritura"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10357,19 +10524,50 @@ msgid "Bytes:"
msgstr "Bytes:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Stack Trace"
+#, fuzzy
+msgid "Warning:"
+msgstr "Advertencias:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Elige uno o más elementos de la lista para mostrar el gráfico."
+msgid "Error:"
+msgstr "Error:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Copiar Error"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Error:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Fuente"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Fuente"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Fuente"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Stack Trace"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Errores"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Proceso Hijo Conectado"
#: editor/script_editor_debugger.cpp
@@ -10377,6 +10575,11 @@ msgid "Copy Error"
msgstr "Copiar Error"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Puntos de interrupción"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Inspeccionar Instancia Anterior"
@@ -10393,6 +10596,11 @@ msgid "Profiler"
msgstr "Profiler"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Exportar Perfil"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -10405,6 +10613,10 @@ msgid "Monitors"
msgstr "Monitores"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Elige uno o más elementos de la lista para mostrar el gráfico."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Lista de uso de memoria de video por recurso:"
@@ -10601,10 +10813,6 @@ msgid "Library"
msgstr "Biblioteca"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Estado"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Bibliotecas: "
@@ -10613,6 +10821,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "¡El argumento step es cero!"
@@ -10768,6 +10980,15 @@ msgstr "Configuración de GridMap"
msgid "Pick Distance:"
msgstr "Seleccionar Distancia:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filtrar métodos"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "El nombre de la clase no puede ser una palabra reservada"
@@ -10895,28 +11116,28 @@ msgid "Set Variable Type"
msgstr "Establecer Tipo de la Variable"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "No debe coincidir con un nombre de tipo built-in existente."
+msgstr "Sobrescribir una función incorporada existente."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Cree un nuevo rectángulo."
+msgstr "Crear una nueva función."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variables:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Cree un nuevo rectángulo."
+msgstr "Crear una nueva variable."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Señales:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Crear un nuevo polígono."
+msgstr "Crear una nueva señal."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11075,6 +11296,11 @@ msgid "Editing Signal:"
msgstr "Editando señal:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Crear Local"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Tipo Base:"
@@ -11233,8 +11459,10 @@ msgstr ""
"Configuración del Editor."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"El proyecto Android no está instalado para la compilación. Instálalo desde "
"el menú Editor."
@@ -12040,6 +12268,44 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice."
msgid "Constants cannot be modified."
msgstr "Las constantes no pueden modificarse."
+#~ msgid "Properties:"
+#~ msgstr "Propiedades:"
+
+#~ msgid "Methods:"
+#~ msgstr "Métodos:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Propiedades del Tema:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumeraciones:"
+
+#~ msgid "Constants:"
+#~ msgstr "Constantes:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Descripción de la Clase:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Descripción de Propiedades:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Descripción de Métodos:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Esto instalará el proyecto Android para compilaciones personalizadas.\n"
+#~ "Para utilizarlo, es necesario habilitarlo mediante un preset de "
+#~ "exportación."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Orden inverso."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "¿Eliminar Nodo(s)?"
+
#~ msgid "No Matches"
#~ msgstr "Sin Coincidencias"
@@ -12476,9 +12742,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgstr ""
#~ "Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado."
-#~ msgid "Warnings:"
-#~ msgstr "Advertencias:"
-
#~ msgid "Font Size:"
#~ msgstr "Tamaño de la tipografía:"
@@ -12523,9 +12786,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgid "Select a split to erase it."
#~ msgstr "Selecciona una división para borrarla."
-#~ msgid "No name provided"
-#~ msgstr "No se proporcionó un nombre"
-
#~ msgid "Add Node.."
#~ msgstr "Añadir Nodo..."
@@ -12661,9 +12921,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgid "Warning"
#~ msgstr "Advertencia"
-#~ msgid "Error:"
-#~ msgstr "Error:"
-
#~ msgid "Function:"
#~ msgstr "Función:"
@@ -12745,9 +13002,6 @@ msgstr "Las constantes no pueden modificarse."
#~ 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"
@@ -13206,9 +13460,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Elige un nombre nuevo y ubicación para:"
-#~ msgid "No files selected!"
-#~ msgstr "¡No has seleccionado ningún archivo!"
-
#~ msgid "Info"
#~ msgstr "Info"
@@ -13611,12 +13862,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgid "Scaling to %s%%."
#~ msgstr "Escalando al %s%%."
-#~ msgid "Up"
-#~ msgstr "Arriba"
-
-#~ msgid "Down"
-#~ msgstr "Abajo"
-
#~ msgid "Bucket"
#~ msgstr "Cubo"
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index 9208cc669c..d6f7409cbd 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-11 10:24+0000\n"
+"PO-Revision-Date: 2019-09-07 13:52+0000\n"
"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
@@ -25,7 +25,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -67,6 +67,35 @@ msgstr "Argumentos inválidos para construir '%s'"
msgid "On call to '%s':"
msgstr "En la llamada a '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mix"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Gratis"
@@ -485,6 +514,12 @@ msgid "Select None"
msgstr "No Seleccionar Ninguno"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"No hay asignada una ruta a un nodo AnimationPlayer conteniendo animaciones."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Mostrar solo las pistas de los nodos seleccionados en el árbol."
@@ -663,14 +698,12 @@ msgid "Replaced %d occurrence(s)."
msgstr "%d ocurrencia(s) Reemplazadas."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "Se encontraron %d coincidencias."
+msgstr "%d coincidencia."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "Se encontraron %d coincidencias."
+msgstr "%d coincidencias."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -808,7 +841,8 @@ msgstr "No se puede conectar la señal"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -910,7 +944,8 @@ msgstr "Buscar:"
msgid "Matches:"
msgstr "Coincidencias:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1125,22 +1160,20 @@ msgid "License"
msgstr "Licencia"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
msgstr "Licencia de Terceros"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot Engine depende de un número de licencias de terceros, libres y de "
-"código abierto, todas compatibles con los términos de su licencia MIT. La "
-"siguiente es una lista exhaustiva de los mencionados componentes de terceros "
-"con sus respectivas declaraciones de copyright y términos de licencia."
+"Godot Engine se basa en una serie de librerías libres y de código abierto de "
+"terceros, todas ellas compatibles con los términos de su licencia MIT. La "
+"siguiente es una lista exhaustiva de todos estos componentes de terceros con "
+"sus respectivas declaraciones de derechos de autor y términos de licencia."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1155,9 +1188,8 @@ msgid "Licenses"
msgstr "Licencias"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Error al abrir el archivo de paquete. No está en formato zip."
+msgstr "Error al abrir el archivo comprimido, no está en formato ZIP."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1225,7 +1257,8 @@ msgid "Delete Bus Effect"
msgstr "Eliminar Efecto de Bus"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Audio Bus, Arrastrar y Soltar para reordenar."
#: editor/editor_audio_buses.cpp
@@ -1416,6 +1449,7 @@ msgid "Add AutoLoad"
msgstr "Agregar AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Ruta:"
@@ -1648,6 +1682,7 @@ msgstr "Hacer Actual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Nuevo"
@@ -1718,6 +1753,7 @@ msgid "New Folder..."
msgstr "Nueva Carpeta..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Refrescar"
@@ -1875,7 +1911,8 @@ msgid "Inherited by:"
msgstr "Heredada por:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Descripción Breve:"
#: editor/editor_help.cpp
@@ -1883,38 +1920,18 @@ msgid "Properties"
msgstr "Propiedades"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Propiedades:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Métodos"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Métodos:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Propiedades de Tema"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Propiedades de Tema:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Señales:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumeraciones"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumeraciones:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1923,19 +1940,12 @@ msgid "Constants"
msgstr "Constantes"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Constantes:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Descripción de Clase"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Descripción de Clase:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Tutoriales En Linea:"
#: editor/editor_help.cpp
@@ -1953,10 +1963,6 @@ msgid "Property Descriptions"
msgstr "Descripción de Propiedades"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Descripción de Propiedades:"
-
-#: 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]!"
@@ -1969,10 +1975,6 @@ msgid "Method Descriptions"
msgstr "Descripción de Método"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Descripción de Métodos:"
-
-#: 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]!"
@@ -2041,8 +2043,8 @@ msgstr "Salida:"
msgid "Copy Selection"
msgstr "Copiar Selección"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2055,10 +2057,51 @@ msgstr "Limpiar"
msgid "Clear Output"
msgstr "Limpiar Salida"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Detener"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Iniciar"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Abajo"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Arriba"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nodo"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "Ventana"
+msgstr "Nueva Ventana"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2389,9 +2432,8 @@ msgid "Close Scene"
msgstr "Cerrar Escena"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Cerrar Escena"
+msgstr "Reabrir Escena Cerrada"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2514,9 +2556,8 @@ msgid "Close Tab"
msgstr "Cerrar Pestaña"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Cerrar Pestaña"
+msgstr "Deshacer Cerrar Pestaña"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2649,18 +2690,29 @@ msgid "Project"
msgstr "Proyecto"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Configuración de Proyecto"
+msgstr "Ajustes del Proyecto..."
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Version:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "Exportar..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Instalar plantilla de compilación de Android"
+msgstr "Instalar Plantilla de Compilación de Android..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2671,9 +2723,8 @@ msgid "Tools"
msgstr "Herramientas"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Explorador de Recursos Huérfanos"
+msgstr "Explorador de Recursos Huérfanos..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2777,9 +2828,8 @@ msgid "Editor"
msgstr "Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Configuración del Editor"
+msgstr "Configuración del Editor..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2814,14 +2864,12 @@ msgid "Open Editor Settings Folder"
msgstr "Abrir Carpeta de Configuración del Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Administrar Características del Editor"
+msgstr "Administrar Características del Editor..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Gestionar Plantillas de Exportación"
+msgstr "Administrar Plantillas de Exportación..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2877,10 +2925,6 @@ msgstr "Pausar Escena"
msgid "Stop the scene."
msgstr "Parar la escena."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Detener"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Reproducir la escena editada."
@@ -2931,10 +2975,6 @@ msgid "Inspector"
msgstr "Inspector"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nodo"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Expandir Panel Inferior"
@@ -2958,18 +2998,22 @@ msgstr "Administrar Plantillas"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"Esto instalará el proyecto de Android para compilaciones personalizadas.\n"
-"Tené en cuenta que, para usarlo, necesita estar activado por cada preset de "
-"exportación."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"La plantilla de compilación de Android ya está instalada y no se "
"sobrescribirá.\n"
@@ -3036,6 +3080,11 @@ msgstr "Abrir el Editor siguiente"
msgid "Open the previous Editor"
msgstr "Abrir el Editor anterior"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Ninguna superficie de origen especificada."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Creando Vistas Previas de Mesh/es"
@@ -3045,6 +3094,11 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Abrir Script:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Editar Plugin"
@@ -3073,11 +3127,6 @@ msgstr "Estado:"
msgid "Edit:"
msgstr "Editar:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Iniciar"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Medida:"
@@ -3294,7 +3343,6 @@ msgid "Import From Node:"
msgstr "Importar Desde Nodo:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Volver a Descargar"
@@ -3314,6 +3362,8 @@ msgstr "Descargar"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Las plantillas de exportación oficiales no están disponibles para las "
+"versiones de desarrollo."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3396,23 +3446,20 @@ msgid "Download Complete."
msgstr "Descarga Completa."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "No se pudo guardar el tema a un archivo:"
+msgstr "No se puede eliminar el archivo temporal:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Fallo la instalación de plantillas. Las plantillas problemáticas pueden ser "
-"encontradas en '%s'."
+"Falló la instalación de plantillas.\n"
+"Las plantillas problemáticas se pueden encontrar en '%s'."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Error al pedir el url: "
+msgstr "Error al solicitar la URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3600,9 +3647,8 @@ msgid "Move To..."
msgstr "Mover A..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Nueva Escena"
+msgstr "Nueva Escena..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3670,9 +3716,8 @@ msgid "Overwrite"
msgstr "Sobreescribir"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Crear desde Escena"
+msgstr "Crear Escena"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3752,23 +3797,20 @@ msgid "Invalid group name."
msgstr "Nombre de grupo inválido."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Administrar Grupos"
+msgstr "Renombrar Grupo"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Eliminar Grupo de Imágenes"
+msgstr "Eliminar Grupo"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Grupos"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
-msgstr "Nodos fuera del Grupo"
+msgstr "Nodos Fuera del Grupo"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
@@ -3781,7 +3823,7 @@ msgstr "Nodos dentro del Grupo"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Los grupos vacíos se eliminarán automáticamente."
#: editor/groups_editor.cpp
msgid "Group Editor"
@@ -3884,9 +3926,10 @@ msgstr " Archivos"
msgid "Import As:"
msgstr "Importar Como:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Preseteo..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Presets"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3995,9 +4038,8 @@ msgid "MultiNode Set"
msgstr "Setear MultiNodo"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Seleccionar un Nodo para editar Señales y Grupos."
+msgstr "Selecciona un único nodo para editar sus señales y grupos."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4331,6 +4373,7 @@ msgid "Change Animation Name:"
msgstr "Cambiar Nombre de Animación:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Eliminar Animación?"
@@ -4780,37 +4823,32 @@ msgid "Request failed, return code:"
msgstr "Solicitud fallida. Código de retorno:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
msgstr "Solicitud fallida."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "No se pudo guardar el tema a un archivo:"
+msgstr "No se puede guardar la respuesta a:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Error de escritura."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "Solicitud fallida, demasiadas redireccinoes"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
msgstr "Bucle de redireccionamiento."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Solicitud fallida. Código de retorno:"
+msgstr "Solicitud fallida, tiempo de espera agotado"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Tiempo"
+msgstr "Tiempo de espera."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4889,24 +4927,18 @@ msgid "All"
msgstr "Todos"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Reimportando..."
+msgstr "Importar..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Plugins"
+msgstr "Plugins..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Ordenar:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Orden inverso."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Categoría:"
@@ -4916,9 +4948,8 @@ msgid "Site:"
msgstr "Sitio:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Soporte..."
+msgstr "Soporte"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4929,9 +4960,8 @@ msgid "Testing"
msgstr "Prueba"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Cargar..."
+msgstr "Cargando..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5099,9 +5129,8 @@ msgid "Paste Pose"
msgstr "Pegar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Restablecer Huesos"
+msgstr "Restablecer Guías"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5189,6 +5218,11 @@ msgid "Pan Mode"
msgstr "Modo Paneo"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Modo de Ejecución:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Act/Desact. alineado."
@@ -5837,26 +5871,23 @@ msgstr "Tiempo de Generación (seg):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Las caras de la geometría no contienen ningún área."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "El nodo no contiene geometría (caras)."
+msgstr "La geometría no contiene ninguna cara."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" no hereda de Spatial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "El nodo no contiene geometría."
+msgstr "\"%s\" no contiene geometría."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "El nodo no contiene geometría."
+msgstr "\"%s\" no tiene geometría de caras."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6257,7 +6288,7 @@ msgstr "Instancia:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Tipo:"
@@ -6295,9 +6326,8 @@ msgid "Error writing TextFile:"
msgstr "Error al escribir el TextFile:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "No se pudo cargar el tile:"
+msgstr "No se pudo cargar el archivo en:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6320,9 +6350,8 @@ msgid "Error Importing"
msgstr "Error al Importar"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
-msgstr "Nuevo TextFile..."
+msgstr "Nuevo Archivo de Texto..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Open File"
@@ -6402,9 +6431,8 @@ msgid "Open..."
msgstr "Abrir..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Abrir Script"
+msgstr "Reabrir Script Cerrado"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6460,14 +6488,14 @@ msgid "Toggle Scripts Panel"
msgstr "Act/Desact. Panel de Scripts"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Step Over"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Step Into"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Step Over"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Break"
@@ -6539,15 +6567,14 @@ msgid "Search Results"
msgstr "Resultados de la Búsqueda"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Restablecer Escenas Recientes"
+msgstr "Restablecer Scripts Recientes"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Conexiones al método:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Fuente"
@@ -6666,9 +6693,8 @@ msgid "Complete Symbol"
msgstr "Completar Símbolo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Escalar Selección"
+msgstr "Evaluar Selección"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -6976,9 +7002,8 @@ msgid "Audio Listener"
msgstr "Oyente de Audio"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Habilitar Filtrado"
+msgstr "Activar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7034,7 +7059,7 @@ msgstr "Ajustar Nodos al Suelo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "No se pudo encontrar un suelo sólido al que ajustar la selección."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7047,9 +7072,8 @@ msgstr ""
"Alt+Click Der.: Selección en depth list"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Modo de Espacio Local (%s)"
+msgstr "Usar Espacio Local"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7146,9 +7170,8 @@ msgstr "Ver Grilla"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Configuración"
+msgstr "Configuración..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7327,6 +7350,11 @@ msgid "(empty)"
msgstr "(vacío)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Pegar Frame"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animaciones:"
@@ -7524,14 +7552,12 @@ msgid "Submenu"
msgstr "Submenú"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Ãtem 1"
+msgstr "Subítem 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Ãtem 2"
+msgstr "Subítem 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7643,17 +7669,25 @@ msgid "Enable Priority"
msgstr "Activar Prioridad"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrar Archivos..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Pintar Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift + Clic derecho: Dibujar línea\n"
-"Shift + Ctrl + Clic derecho: Pintar Rectángulo"
+"Shift + Clic izq: Dibujar línea\n"
+"Shift + Ctrl + Clic izq: Pintar Rectángulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7776,6 +7810,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Mostrar Nombres de Tiles (mantener Tecla Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"¿Remover la textura seleccionada? Esto removerá todos los tiles que la usan."
@@ -7946,6 +7985,112 @@ msgstr "Esta propiedad no se puede cambiar."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nombre del padre del nodo, si está disponible"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Error"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "No se indicó ningún nombre"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Comunidad"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Capitalizar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Crear un rectángulo nuevo."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Cambiar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Renombrar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Eliminar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Cambiar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Eliminar Seleccionados"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Guardar Todo"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sincronizar Cambios en Scripts"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Estado"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Ningún Archivo seleccionado!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Sólo GLES3)"
@@ -8052,9 +8197,8 @@ msgid "Light"
msgstr "Luz"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Crear Nodo Shader"
+msgstr "Mostrar el código del shader resultante."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8189,6 +8333,14 @@ msgstr ""
"o falso."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Devuelve un vector asociado si el valor booleano proporcionado es verdadero "
+"o falso."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Devuelve el resultado booleano de la comparación entre dos parámetros."
@@ -8424,7 +8576,6 @@ msgid "Returns the square root of the parameter."
msgstr "Devuelve la raíz cuadrada del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8439,7 +8590,6 @@ msgstr ""
"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
@@ -8617,9 +8767,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Interpolación lineal entre dos vectores."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Interpolación lineal entre dos vectores."
+msgstr "Interpolación lineal entre dos vectores usando escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8646,7 +8795,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Devuelve el vector que apunta en la dirección de refracción."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8661,7 +8809,6 @@ msgstr ""
"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8676,7 +8823,6 @@ msgstr ""
"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8687,7 +8833,6 @@ msgstr ""
"Devuelve 0.0 si 'x' es menor que 'edge' y 1.0 en caso contrario."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8750,6 +8895,10 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Expresión personalizada del lenguaje de shader de Godot, que se coloca "
+"encima del shader resultante. Puedes colocar varias definiciones de "
+"funciones dentro y llamarlas más tarde en las Expresiones. También puedes "
+"declarar varyings, uniforms y constantes."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9144,13 +9293,12 @@ msgid "Unnamed Project"
msgstr "Proyecto Sin Nombre"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Importar Proyecto Existente"
+msgstr "Proyecto Faltante"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Error: Proyecto faltante en el sistema de archivos."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9250,13 +9398,12 @@ msgstr ""
"El contenido de la carpeta de proyecto no será modificado."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"¿Quitar %d proyectos de la lista?\n"
-"El contenido de las carpetas de proyecto no será modificado."
+"¿Eliminar todos los proyectos faltantes de la lista?\n"
+"El contenido de las carpetas del proyecto no se modificará."
#: editor/project_manager.cpp
msgid ""
@@ -9281,9 +9428,8 @@ msgid "Project Manager"
msgstr "Gestor de Proyectos"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Proyecto"
+msgstr "Proyectos"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9514,6 +9660,11 @@ msgid "Settings saved OK."
msgstr "Ajustes guardados satisfactoriamente."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Agregar Evento de Acción de Entrada"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Sobreescribir para Característica"
@@ -9650,6 +9801,10 @@ msgid "Plugins"
msgstr "Plugins"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Preseteo..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Zero"
@@ -9817,10 +9972,6 @@ msgstr "A Mayúsculas"
msgid "Reset"
msgstr "Resetear"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Error"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Reemparentar Nodo"
@@ -9878,6 +10029,11 @@ msgid "Instance Scene(s)"
msgstr "Instanciar Escena(s)"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Guardar Rama como Escena"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Instanciar Escena Hija"
@@ -9920,8 +10076,23 @@ msgid "Make node as Root"
msgstr "Convertir nodo en Raíz"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Eliminar Nodo(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Eliminar Nodos"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Quitar Nodo(s) de Gráfico de Shaders"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Eliminar Nodos"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -9997,9 +10168,8 @@ msgid "Remove Node(s)"
msgstr "Quitar Nodo(s)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Cambiar nombre del puerto de salida"
+msgstr "Cambiar tipo de nodo(s)"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10122,31 +10292,28 @@ msgid "Node configuration warning:"
msgstr "Advertencia de configuración de nodo:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"El nodo tiene conexión/es y grupo/s.\n"
+"El nodo tiene %s conexión(es) y %(s) grupo(s).\n"
"Clic para mostrar el panel de señales."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"El nodo tiene conexiones.\n"
-"Click para mostrar el panel de señales."
+"El nodo tiene %s conexión(es).\n"
+"Clic para mostrar el panel de señales."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"El nodo está en un grupo/s.\n"
-"Click para mostrar el panel de grupos."
+"El nodo está en %s grupo(s).\n"
+"Clic para mostrar el panel de grupos."
#: editor/scene_tree_editor.cpp
msgid "Open Script:"
@@ -10242,9 +10409,8 @@ msgid "Error loading script from %s"
msgstr "Error al cargar el script desde %s"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Sobreescribir"
+msgstr "Reemplazos(Overrides)"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10323,19 +10489,50 @@ msgid "Bytes:"
msgstr "Bytes:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Stack Trace"
+#, fuzzy
+msgid "Warning:"
+msgstr "Advertencias:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Elegir uno o mas items de la lista para mostrar el gráfico."
+msgid "Error:"
+msgstr "Error:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Copiar Error"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Error:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Fuente"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Fuente"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Fuente"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Stack Trace"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Errores"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Proceso Hijo Conectado"
#: editor/script_editor_debugger.cpp
@@ -10343,6 +10540,11 @@ msgid "Copy Error"
msgstr "Copiar Error"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Puntos de interrupción"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Inspeccionar Instancia Previa"
@@ -10359,6 +10561,11 @@ msgid "Profiler"
msgstr "Profiler"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Exportar Perfil"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -10371,6 +10578,10 @@ msgid "Monitors"
msgstr "Monitores"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Elegir uno o mas items de la lista para mostrar el gráfico."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Lista de Uso de Memoria de Video por Recurso:"
@@ -10567,10 +10778,6 @@ msgid "Library"
msgstr "Biblioteca"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Estado"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Bibliotecas: "
@@ -10579,6 +10786,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "El argumento step es cero!"
@@ -10733,6 +10944,15 @@ msgstr "Ajustes de GridMap"
msgid "Pick Distance:"
msgstr "Elegir Instancia:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filtrar métodos"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "El nombre de la clase no puede ser una palabra reservada"
@@ -10859,28 +11079,28 @@ msgid "Set Variable Type"
msgstr "Editar Tipo de Variable"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "No debe coincidir con el nombre de un tipo built-in ya existente."
+msgstr "Reemplazar(Override) una función integrada existente."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Crear un rectángulo nuevo."
+msgstr "Crear una nueva función."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variables:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Crear un rectángulo nuevo."
+msgstr "Crear una nueva variable."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Señales:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Crear un nuevo polígono."
+msgstr "Crear una nueva señal."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11039,6 +11259,11 @@ msgid "Editing Signal:"
msgstr "Editando Señal:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Crear Local"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Tipo Base:"
@@ -11197,8 +11422,10 @@ msgstr ""
"Configuración del Editor."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"El proyecto Android no está instalado para la compilación. Instálalo desde "
"el menú Editor."
@@ -11999,6 +12226,44 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice."
msgid "Constants cannot be modified."
msgstr "Las constantes no pueden modificarse."
+#~ msgid "Properties:"
+#~ msgstr "Propiedades:"
+
+#~ msgid "Methods:"
+#~ msgstr "Métodos:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Propiedades de Tema:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumeraciones:"
+
+#~ msgid "Constants:"
+#~ msgstr "Constantes:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Descripción de Clase:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Descripción de Propiedades:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Descripción de Métodos:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Esto instalará el proyecto de Android para compilaciones personalizadas.\n"
+#~ "Tené en cuenta que, para usarlo, necesita estar activado por cada preset "
+#~ "de exportación."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Orden inverso."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Eliminar Nodo(s)?"
+
#~ msgid "No Matches"
#~ msgstr "Sin Coincidencias"
@@ -12249,9 +12514,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgstr ""
#~ "Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado."
-#~ msgid "Warnings:"
-#~ msgstr "Advertencias:"
-
#~ msgid "Font Size:"
#~ msgstr "Tamaño de Tipografía:"
@@ -12296,9 +12558,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgid "Select a split to erase it."
#~ msgstr "Seleccioná una división para borrarla."
-#~ msgid "No name provided"
-#~ msgstr "No se indicó ningún nombre"
-
#~ msgid "Add Node.."
#~ msgstr "Agregar Nodo.."
@@ -12434,9 +12693,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgid "Warning"
#~ msgstr "Advertencia"
-#~ msgid "Error:"
-#~ msgstr "Error:"
-
#~ msgid "Function:"
#~ msgstr "Funcion:"
@@ -12518,9 +12774,6 @@ msgstr "Las constantes no pueden modificarse."
#~ 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"
@@ -12969,9 +13222,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Elejí un Nuevo Nombre y Ubicación Para:"
-#~ msgid "No files selected!"
-#~ msgstr "Ningún Archivo seleccionado!"
-
#~ msgid "Info"
#~ msgstr "Info"
@@ -13372,12 +13622,6 @@ msgstr "Las constantes no pueden modificarse."
#~ msgid "Scaling to %s%%."
#~ msgstr "Escalando a %s%%."
-#~ msgid "Up"
-#~ msgstr "Arriba"
-
-#~ msgid "Down"
-#~ msgstr "Abajo"
-
#~ msgid "Bucket"
#~ msgstr "Balde"
diff --git a/editor/translations/et.po b/editor/translations/et.po
index 1540cf65d0..df0c1148a7 100644
--- a/editor/translations/et.po
+++ b/editor/translations/et.po
@@ -57,6 +57,34 @@ msgstr "Kehtetud argumendid '%s' ehitamise jaoks"
msgid "On call to '%s':"
msgstr "'%' kutsudes:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Vaba"
@@ -457,6 +485,10 @@ msgid "Select None"
msgstr "Tühista Valik"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -774,7 +806,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -875,7 +908,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1175,7 +1209,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1366,6 +1400,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1585,6 +1620,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1655,6 +1691,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1812,7 +1849,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1820,38 +1857,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1860,19 +1877,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1887,10 +1896,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1901,10 +1906,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1971,8 +1972,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1985,6 +1986,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2525,6 +2568,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2724,10 +2779,6 @@ msgstr ""
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 ""
@@ -2778,10 +2829,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2803,15 +2850,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2874,6 +2927,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2883,6 +2940,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2911,11 +2972,6 @@ msgstr ""
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 ""
@@ -3692,8 +3748,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4119,6 +4175,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4678,10 +4735,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4946,6 +4999,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5994,7 +6051,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6194,11 +6251,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6278,7 +6335,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7046,6 +7103,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7360,6 +7421,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7490,6 +7559,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7644,6 +7718,102 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Kustuta Võti (Võtmed)"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Kustuta Valitud Võti (Võtmed)"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Vali Kõik"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7877,6 +8047,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9067,6 +9242,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9203,6 +9382,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9366,10 +9549,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9425,6 +9604,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9465,10 +9648,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Kustuta Võti (Võtmed)"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Kustuta Võti (Võtmed)"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -9843,11 +10040,36 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Peegel"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9855,7 +10077,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9863,6 +10085,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9879,6 +10105,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9891,6 +10121,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10087,10 +10321,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10099,6 +10329,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10250,6 +10484,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10385,6 +10627,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10541,6 +10787,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10688,7 +10938,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/eu.po b/editor/translations/eu.po
index 881afb2b7c..069836ce69 100644
--- a/editor/translations/eu.po
+++ b/editor/translations/eu.po
@@ -56,6 +56,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -455,6 +483,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -772,7 +804,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -873,7 +906,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1173,7 +1207,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1364,6 +1398,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1583,6 +1618,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1653,6 +1689,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1808,7 +1845,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1816,38 +1853,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1856,19 +1873,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1883,10 +1892,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1897,10 +1902,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1967,8 +1968,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1981,6 +1982,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2520,6 +2563,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2719,10 +2774,6 @@ msgstr ""
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 ""
@@ -2773,10 +2824,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2798,15 +2845,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2869,6 +2922,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2878,6 +2935,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2906,11 +2967,6 @@ msgstr ""
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 ""
@@ -3686,8 +3742,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4113,6 +4169,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4671,10 +4728,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4937,6 +4990,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5985,7 +6042,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6185,11 +6242,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6269,7 +6326,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7036,6 +7093,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7350,6 +7411,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7480,6 +7549,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7634,6 +7708,99 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Deleted"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage Selected"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7867,6 +8034,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9057,6 +9229,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9193,6 +9369,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9356,10 +9536,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9415,6 +9591,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9455,7 +9635,19 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9833,11 +10025,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9845,7 +10061,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9853,6 +10069,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9869,6 +10089,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9881,6 +10105,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10077,10 +10305,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10089,6 +10313,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10240,6 +10468,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10375,6 +10611,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10531,6 +10771,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10678,7 +10922,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index 9c919cfa50..f66805fbdd 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -11,12 +11,13 @@
# Behrooz Kashani <bkashani@gmail.com>, 2018.
# Mahdi <sadisticwarlock@gmail.com>, 2018.
# hpn33 <hamed.hpn332@gmail.com>, 2019.
+# Focus <saeeddashticlash@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-07-09 10:47+0000\n"
-"Last-Translator: hpn33 <hamed.hpn332@gmail.com>\n"
+"PO-Revision-Date: 2019-09-26 11:50+0000\n"
+"Last-Translator: Focus <saeeddashticlash@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/godot-engine/"
"godot/fa/>\n"
"Language: fa\n"
@@ -24,7 +25,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -62,15 +63,42 @@ msgstr "نام دارایی ایندکس نامعتبر 's%' در گره s%."
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr ""
+msgstr "شاخص نامگذاری شده \"٪ s\" برای نوع پایه٪ s نامعتبر است"
#: core/math/expression.cpp
-#, fuzzy
msgid "Invalid arguments to construct '%s'"
-msgstr ": آرگومان نوع نامعتبر "
+msgstr ": آرگومان نوع نامعتبر آرگومان های نامعتبر برای ساخت '٪ s'"
#: core/math/expression.cpp
msgid "On call to '%s':"
+msgstr "در تماس با '٪ s':"
+
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
msgstr ""
#: editor/animation_bezier_editor.cpp
@@ -91,7 +119,7 @@ msgstr "زمان:"
#: editor/animation_bezier_editor.cpp
msgid "Value:"
-msgstr ""
+msgstr "ارزش:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -106,9 +134,8 @@ msgid "Delete Selected Key(s)"
msgstr "کلید‌ها را پاک کن"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Add Bezier Point"
-msgstr "Ø§ÙØ²ÙˆØ¯Ù† نقطه"
+msgstr "Bezier Point را اضاÙÙ‡ کنید"
#: editor/animation_bezier_editor.cpp
#, fuzzy
@@ -176,20 +203,19 @@ msgstr "طول انیمیشن را تغییر بده"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr ""
+msgstr "حلقه(loop) انیمیشن را تغییر دهید"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Property Track"
-msgstr "ویژگی:"
+msgstr "ویژگی مسیر"
#: editor/animation_track_editor.cpp
msgid "3D Transform Track"
-msgstr ""
+msgstr "مسیر 3D Transform"
#: editor/animation_track_editor.cpp
msgid "Call Method Track"
-msgstr ""
+msgstr "صدا زدن Method Track"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
@@ -197,21 +223,19 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Audio Playback Track"
-msgstr ""
+msgstr "مسیر Audio Playback"
#: editor/animation_track_editor.cpp
msgid "Animation Playback Track"
-msgstr ""
+msgstr "مسیر پخش Animation"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (frames)"
-msgstr "طول انیمیشن (به ثانیه)"
+msgstr "طول انیمیشن ( frames)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (seconds)"
-msgstr "طول انیمیشن (به ثانیه)"
+msgstr "طول انیمیشن (seconds)"
#: editor/animation_track_editor.cpp
msgid "Add Track"
@@ -228,46 +252,43 @@ msgstr "وظایÙ:"
#: editor/animation_track_editor.cpp
msgid "Audio Clips:"
-msgstr ""
+msgstr "کلیپ های صوتی:"
#: editor/animation_track_editor.cpp
msgid "Anim Clips:"
-msgstr ""
+msgstr "کلیپ های انیمیشن:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Track Path"
-msgstr "مقدار آرایه را تغییر بده"
+msgstr "تغییرمیسر path"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
-msgstr ""
+msgstr "روشن / خاموش کردن این Track."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
-msgstr ""
+msgstr "حالت بروزرسانی (نحوه تنظیم این ویژگی)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Interpolation Mode"
-msgstr "گره انیمیشن"
+msgstr "حالت درون یابی(درون‌یابی روشی است برای ÛŒØ§ÙØªÙ† مقدار تابع درون یک بازه)"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
+msgstr "حالت بسته بندی حلقه (انتهای درون قطبی با شروع در حلقه)"
#: editor/animation_track_editor.cpp
msgid "Remove this track."
msgstr "این ترک را حذ٠کن."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Time (s): "
-msgstr "زمان:"
+msgstr "زمان(s): "
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
-msgstr ""
+msgstr "Toggle Track Enabled"
#: editor/animation_track_editor.cpp
msgid "Continuous"
@@ -283,11 +304,11 @@ msgstr "تریگر"
#: editor/animation_track_editor.cpp
msgid "Capture"
-msgstr ""
+msgstr "Ú¯Ø±ÙØªÙ†"
#: editor/animation_track_editor.cpp
msgid "Nearest"
-msgstr ""
+msgstr "نزدیکترین"
#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
@@ -296,45 +317,40 @@ msgstr "خطی"
#: editor/animation_track_editor.cpp
msgid "Cubic"
-msgstr ""
+msgstr "مکعب"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
-msgstr ""
+msgstr "رابط گره حلقه(Loop)"
#: editor/animation_track_editor.cpp
msgid "Wrap Loop Interp"
-msgstr ""
+msgstr "رابط پوشش حلقه"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr ""
+msgstr "درج کلید"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Duplicate Key(s)"
-msgstr "تکرار کلید‌های انیمیشن"
+msgstr "کپی کردن (Duplicate ) کلید(key)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Delete Key(s)"
-msgstr "حذ٠گره(ها)"
+msgstr "حذ٠کلید(key)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Update Mode"
-msgstr "تغییر مقدار دیکشنری"
+msgstr "تغییر حالت بروزرسانی انیمیشن"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Interpolation Mode"
-msgstr "گره انیمیشن"
+msgstr "تغییر حالت درون یابی(Interpolation ) انیمیشن"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Loop Mode"
-msgstr "حلقه انیمیشن را تغییر بده"
+msgstr "تغییر حالت تکررار (Loop) انیمیشن"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
@@ -365,7 +381,7 @@ msgstr "در انیمیشن درج کن"
#: editor/animation_track_editor.cpp
msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
+msgstr "انیمیشن پلیر نمی تواند خود را انیمیت کند. Ùقط پلیر دیگر."
#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
@@ -380,18 +396,16 @@ msgid "Anim Insert Key"
msgstr "کلید را در انیمیشن درج کن"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Step"
-msgstr "طول انیمیشن را تغییر بده"
+msgstr "تغییر گام(Step)انیمیشن"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Rearrange Tracks"
-msgstr "مسیر به سمت گره:"
+msgstr "تنظیم مجدد مسیر"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr ""
+msgstr "مسیر تبدیل (Transform) Ùقط برای گرههای مبتنی بر مکانی اعمال Ù…ÛŒ شوند."
#: editor/animation_track_editor.cpp
msgid ""
@@ -400,6 +414,10 @@ msgid ""
"-AudioStreamPlayer2D\n"
"-AudioStreamPlayer3D"
msgstr ""
+"آهنگ های صوتی Ùقط Ù…ÛŒ توانند به گره های نوع (nodes) اشاره کنند\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
#: editor/animation_track_editor.cpp
msgid "Animation tracks can only point to AnimationPlayer nodes."
@@ -501,6 +519,12 @@ msgid "Select None"
msgstr "گره انتخاب"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"یک AnimationPlayer از درخت صحنه انتخاب کنید تا انیمیشن‌ها را ویرایش کنید."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -835,7 +859,8 @@ msgstr "اتصال سیگنال:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -943,7 +968,8 @@ msgstr "جستجو:"
msgid "Matches:"
msgstr "تطبیق‌ها:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1257,7 +1283,7 @@ msgid "Delete Bus Effect"
msgstr "حذ٠اثر گذرا"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1456,6 +1482,7 @@ msgid "Add AutoLoad"
msgstr "بارگذاری خودکار (AutoLoad) را اضاÙÙ‡ Ú©Ù†"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "مسیر:"
@@ -1694,6 +1721,7 @@ msgstr "تابع را بساز"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1775,6 +1803,7 @@ msgid "New Folder..."
msgstr "ساختن پوشه..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1935,7 +1964,8 @@ msgid "Inherited by:"
msgstr "به ارث رسیده به وسیله:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "خلاصه توضیحات:"
#: editor/editor_help.cpp
@@ -1943,41 +1973,19 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "روش ها"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "روش ها"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "صاÙÛŒ کردن گره‌ها"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-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 ""
@@ -1986,21 +1994,12 @@ msgid "Constants"
msgstr "ثابت ها"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "توضیحات"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "توضیح:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -2016,11 +2015,6 @@ msgid "Property Descriptions"
msgstr "توضیحات مشخصه:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -2032,11 +2026,6 @@ msgid "Method Descriptions"
msgstr "توضیحات"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "توضیح:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2112,8 +2101,8 @@ msgstr "خروجی:"
msgid "Copy Selection"
msgstr "برداشتن انتخاب شده"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2127,6 +2116,48 @@ msgstr "پاک کردن"
msgid "Clear Output"
msgstr "خروجی"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "گره"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2680,6 +2711,19 @@ msgstr "پروژه"
msgid "Project Settings..."
msgstr "ترجیحات پروژه"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "نسخه:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2890,10 +2934,6 @@ msgstr ""
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 ""
@@ -2947,10 +2987,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "گره"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2973,15 +3009,21 @@ msgstr "مدیریت صدور قالب ها"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3044,6 +3086,11 @@ msgstr "گشودن ویرایشگر متن"
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "زیرمنبع‌ها:"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -3054,6 +3101,11 @@ msgstr ""
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "باز کردن و اجرای یک اسکریپت"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "ویرایش سیگنال"
@@ -3083,11 +3135,6 @@ msgstr "وضعیت:"
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 ""
@@ -3916,9 +3963,10 @@ msgstr " پوشه ها"
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "بازنشانی بزرگنمایی"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4376,6 +4424,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "انیمیشن حذ٠شود؟"
@@ -4965,11 +5014,6 @@ msgid "Sort:"
msgstr "مرتب‌سازی:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "در حال درخواست..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "طبقه‌بندی:"
@@ -5252,6 +5296,11 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "انتخاب حالت"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "یک Breakpoint درج کن"
@@ -6336,7 +6385,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6556,11 +6605,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6646,7 +6695,7 @@ msgstr "صحنه جدید"
msgid "Connections to method:"
msgstr "اتصال به گره:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "منبع"
@@ -7459,6 +7508,11 @@ msgstr "(خالی)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "حرکت دادن گره(ها)"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "گره انیمیشن"
@@ -7794,6 +7848,15 @@ msgid "Enable Priority"
msgstr "ویرایش صاÙÛŒ ها"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "صاÙÛŒ کردن گره‌ها"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7938,6 +8001,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "حذ٠نقطهٔ منحنی"
@@ -8114,6 +8182,109 @@ msgstr ""
msgid "TileSet"
msgstr "صدور مجموعه کاشی"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "انجمن"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "ساختن %s جدید"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "تغییر بده"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "تغییر نام"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "حذ٠کن"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "تغییر بده"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "انتخاب شده را حذ٠کن"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "انتخاب همه"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "تغییر بده"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+#, fuzzy
+msgid "Status"
+msgstr "وضعیت:"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8368,6 +8539,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9599,6 +9775,11 @@ msgid "Settings saved OK."
msgstr "تنظیمات با موÙقیت ذخیره شد."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "حذ٠رویداد عمل ورودی"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9738,6 +9919,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9912,10 +10097,6 @@ msgstr ""
msgid "Reset"
msgstr "بازنشانی بزرگنمایی"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "گره تغییر والد"
@@ -9971,6 +10152,11 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "ذخیرهٔ شاخه به عنوان صحنه"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "ارث‌بری صحنهٔ ÙØ±Ø²Ù†Ø¯"
@@ -10012,8 +10198,22 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "حذ٠گره(ها)؟"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "حذ٠گره(ها)"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "حذ٠گره(ها)"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10428,11 +10628,41 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "بازتاب"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "خطاهای بارگذاری"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "خطاهای بارگذاری"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "منبع"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "منبع"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "منبع"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10440,8 +10670,9 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "اتصال قطع شده"
#: editor/script_editor_debugger.cpp
#, fuzzy
@@ -10449,6 +10680,11 @@ msgid "Copy Error"
msgstr "خطاهای بارگذاری"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "حذ٠کن"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10465,6 +10701,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "صدور پروژه"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10477,6 +10718,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10678,11 +10923,6 @@ msgid "Library"
msgstr "صادکردن ÙØ§ÛŒÙ„ کتابخانه ای"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
-msgid "Status"
-msgstr "وضعیت:"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10691,6 +10931,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "آرگومان step ØµÙØ± است!"
@@ -10857,6 +11101,15 @@ msgstr "ترجیحات"
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "حالت صاÙÛŒ:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11007,6 +11260,10 @@ msgid "Create a new variable."
msgstr "ساختن %s جدید"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "سیگنال ها:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "انتخاب شده را تغییر مقیاس بده"
@@ -11170,6 +11427,11 @@ msgid "Editing Signal:"
msgstr "ویرایش سیگنال:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "محلی"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "نوع پایه:"
@@ -11326,7 +11588,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12060,6 +12323,36 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "روش ها"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "صاÙÛŒ کردن گره‌ها"
+
+#~ msgid "Enumerations:"
+#~ msgstr "شمارش ها:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "توضیح:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "توضیحات مشخصه:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "توضیح:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "در حال درخواست..."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "حذ٠گره(ها)؟"
+
+#, fuzzy
#~ msgid "Error: could not load file."
#~ msgstr "نمی‌تواند یک پوشه ایجاد شود."
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index 9905d85038..429ff2b24d 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-04 14:23+0000\n"
+"PO-Revision-Date: 2019-09-26 11:50+0000\n"
"Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/"
"godot/fi/>\n"
@@ -22,7 +22,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -64,6 +64,35 @@ msgstr "Virheelliset argumentit rakenteelle '%s'"
msgid "On call to '%s':"
msgstr "Kutsuttaessa funktiota '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Sekoita"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Vapauta"
@@ -475,6 +504,11 @@ msgid "Select None"
msgstr "Tyhjennä valinta"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "Polku animaatiot sisältävään AnimationPlayer solmuun on asettamatta."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Näytä raidat vain puussa valituista solmuista."
@@ -653,14 +687,12 @@ msgid "Replaced %d occurrence(s)."
msgstr "Korvattu %d osuvuutta."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "Löydettiin %d osuma(a)."
+msgstr "%d osuma."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "Löydettiin %d osuma(a)."
+msgstr "%d osumaa."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -797,7 +829,8 @@ msgstr "Ei voida yhdistää signaalia"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -898,7 +931,8 @@ msgstr "Hae:"
msgid "Matches:"
msgstr "Osumat:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1112,19 +1146,17 @@ msgid "License"
msgstr "Lisenssi"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Kolmannen osapuolen lisenssi"
+msgstr "Kolmannen osapuolen lisenssit"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot moottori käyttää useita kolmannen osapuolen ilmaisia ja avoimia "
+"Godot-pelimoottori käyttää useita kolmannen osapuolen ilmaisia ja avoimia "
"kirjastoja, jotka kaikki ovat yhteensopivia sen MIT lisenssin kanssa. "
"Seuraava tyhjentävä listaus sisältää kaikki tällaiset kolmannen osapuolen "
"komponentit ja niiden vastaavat tekijänoikeustiedot ja käyttöoikeusehdot."
@@ -1142,9 +1174,8 @@ msgid "Licenses"
msgstr "Lisenssit"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Virhe avattaessa pakettitiedostoa, ei zip-muodossa."
+msgstr "Virhe avattaessa pakettitiedostoa, ei ZIP-muodossa."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1212,7 +1243,8 @@ msgid "Delete Bus Effect"
msgstr "Poista väylän efekti"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Ääniväylä, tartu ja vedä järjestelläksesi uudelleen."
#: editor/editor_audio_buses.cpp
@@ -1406,6 +1438,7 @@ msgid "Add AutoLoad"
msgstr "Lisää automaattisesti ladattava"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Polku:"
@@ -1637,6 +1670,7 @@ msgstr "Aseta nykyiseksi"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Uusi"
@@ -1707,6 +1741,7 @@ msgid "New Folder..."
msgstr "Uusi kansio..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Päivitä"
@@ -1863,7 +1898,8 @@ msgid "Inherited by:"
msgstr "Perivät:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Lyhyt kuvaus:"
#: editor/editor_help.cpp
@@ -1871,38 +1907,18 @@ msgid "Properties"
msgstr "Ominaisuudet"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Ominaisuudet:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metodit"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Metodit:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Teeman ominaisuudet"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Teeman ominaisuudet:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signaalit:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumeraatiot"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumeraatiot:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1911,19 +1927,12 @@ msgid "Constants"
msgstr "Vakiot"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Vakiot:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Luokan kuvaus"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Luokan kuvaus:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Online-oppaat:"
#: editor/editor_help.cpp
@@ -1941,10 +1950,6 @@ msgid "Property Descriptions"
msgstr "Ominaisuuksien kuvaukset"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Ominaisuuksien kuvaukset:"
-
-#: 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]!"
@@ -1957,10 +1962,6 @@ msgid "Method Descriptions"
msgstr "Metodien kuvaukset"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Metodien kuvaukset:"
-
-#: 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]!"
@@ -2029,8 +2030,8 @@ msgstr "Tuloste:"
msgid "Copy Selection"
msgstr "Kopioi valinta"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2043,10 +2044,51 @@ msgstr "Tyhjennä"
msgid "Clear Output"
msgstr "Tyhjennä tuloste"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Pysäytä"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Aloita"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Alas"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Ylös"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Solmu"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "Ikkuna"
+msgstr "Uusi ikkuna"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2374,9 +2416,8 @@ msgid "Close Scene"
msgstr "Sulje skene"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Sulje skene"
+msgstr "Avaa uudelleen suljettu skene"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2486,9 +2527,8 @@ msgid "Close Tab"
msgstr "Sulje välilehti"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Sulje välilehti"
+msgstr "Peruuta välilehden sulkeminen"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2621,19 +2661,29 @@ msgid "Project"
msgstr "Projekti"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Projektin asetukset"
+msgstr "Projektin asetukset..."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Versio:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Export..."
-msgstr "Vie"
+msgstr "Vie..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Asenna Androidin käännösmalli"
+msgstr "Asenna Androidin käännösmalli..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2644,9 +2694,8 @@ msgid "Tools"
msgstr "Työkalut"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Irrallisten resurssien hallinta"
+msgstr "Irrallisten resurssien hallinta..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2748,9 +2797,8 @@ msgid "Editor"
msgstr "Editori"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Editorin asetukset"
+msgstr "Editorin asetukset..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2785,14 +2833,12 @@ msgid "Open Editor Settings Folder"
msgstr "Avaa editorin asetuskansio"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Hallinnoi editorin ominaisuuksia"
+msgstr "Hallinnoi editorin ominaisuuksia..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Hallinnoi vientimalleja"
+msgstr "Hallinnoi vientimalleja..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2848,10 +2894,6 @@ msgstr "Keskeytä skene"
msgid "Stop the scene."
msgstr "Lopeta skenen suorittaminen."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Pysäytä"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Käynnistä muokattavana oleva skene."
@@ -2902,10 +2944,6 @@ msgid "Inspector"
msgstr "Tarkastelu"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Solmu"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Laajenna alapaneeli"
@@ -2927,18 +2965,22 @@ msgstr "Hallinnoi malleja"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"Tämä asentaa Android-projektin mukautettuja käännöksiä varten.\n"
-"Huomaa, että käyttääksesi sitä, se täytyy ottaa käyttöön kussakin "
-"vientiesiasetuksessa."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Androidin käännösmalli on jo asennettu, eikä sitä ylikirjoiteta.\n"
"Poista \"build\" hakemisto käsin ennen kuin yrität tätä toimenpidettä "
@@ -3004,6 +3046,11 @@ msgstr "Avaa seuraava editori"
msgid "Open the previous Editor"
msgstr "Avaa edellinen editori"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Pinnan lähdettä ei ole määritelty."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Luodaan meshien esikatseluita"
@@ -3013,6 +3060,11 @@ msgid "Thumbnail..."
msgstr "Pienoiskuva..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Avaa skripti:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Muokkaa liitännäistä"
@@ -3041,11 +3093,6 @@ msgstr "Tila:"
msgid "Edit:"
msgstr "Muokkaa:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Aloita"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Mittaa:"
@@ -3262,7 +3309,6 @@ msgid "Import From Node:"
msgstr "Tuo solmusta:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Lataa uudelleen"
@@ -3281,7 +3327,7 @@ msgstr "Lataa"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
-msgstr ""
+msgstr "Viralliset vientimallit eivät ole saatavilla kehityskäännöksille."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3364,23 +3410,20 @@ msgid "Download Complete."
msgstr "Lataus valmis."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Teemaa ei voi tallentaa tiedostoon:"
+msgstr "Väliaikaista tiedosta ei voida poistaa:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Vientimallien asennus epäonnistui. Ongelmallisten vientimallien arkisto "
-"löytyy kohteesta '%s'."
+"Vientimallien asennus epäonnistui.\n"
+"Ongelmallisten vientimallien arkisto löytyy kohteesta '%s'."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Virhe pyydettäessä osoitetta: "
+msgstr "Virhe pyydettäessä osoitetta:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3566,9 +3609,8 @@ msgid "Move To..."
msgstr "Siirrä..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Uusi skene"
+msgstr "Uusi skene..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3636,9 +3678,8 @@ msgid "Overwrite"
msgstr "Ylikirjoita"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Luo skenestä"
+msgstr "Luo skene"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3679,7 +3720,7 @@ msgstr "Korvaa..."
#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
msgid "Cancel"
-msgstr "Peru"
+msgstr "Peruuta"
#: editor/find_in_files.cpp
msgid "Find: "
@@ -3718,21 +3759,18 @@ msgid "Invalid group name."
msgstr "Virheellinen ryhmän nimi."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Hallinnoi ryhmiä"
+msgstr "Nimeä ryhmä uudelleen"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Poista asettelu"
+msgstr "Poista ryhmä"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Ryhmät"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
msgstr "Ryhmään kuulumattomat solmut"
@@ -3747,12 +3785,11 @@ msgstr "Ryhmään kuuluvat solmut"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Tyhjät ryhmät poistetaan automaattisesti."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group Editor"
-msgstr "Skriptieditori"
+msgstr "Ryhmäeditori"
#: editor/groups_editor.cpp
msgid "Manage Groups"
@@ -3852,9 +3889,10 @@ msgstr " Tiedostot"
msgid "Import As:"
msgstr "Tuo nimellä:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Esiasetus..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Esiasetukset"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3963,9 +4001,8 @@ msgid "MultiNode Set"
msgstr "Aseta usealle solmulle"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Valitse solmu, jonka signaaleja ja ryhmiä haluat muokata."
+msgstr "Valitse yksittäinen solmu muokataksesi sen signaaleja ja ryhmiä."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4296,6 +4333,7 @@ msgid "Change Animation Name:"
msgstr "Vaihda animaation nimi:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Poista animaatio?"
@@ -4743,37 +4781,32 @@ msgid "Request failed, return code:"
msgstr "Pyyntö epäonnistui, virhekoodi:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
msgstr "Pyyntö epäonnistui."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Teemaa ei voi tallentaa tiedostoon:"
+msgstr "Vastausta ei voida tallentaa tiedostoon:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Kirjoitusvirhe."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "Pyyntö epäonnistui, liikaa uudelleenohjauksia"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
msgstr "Loputon uudelleenohjaus."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Pyyntö epäonnistui, virhekoodi:"
+msgstr "Pyyntö epäonnistui, aikakatkaisu"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Aika"
+msgstr "Aikakatkaisu."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4853,24 +4886,18 @@ msgid "All"
msgstr "Kaikki"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Tuo uudelleen..."
+msgstr "Tuo..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Liitännäiset"
+msgstr "Liitännäiset..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Lajittele:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Käännä lajittelu."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategoria:"
@@ -4880,9 +4907,8 @@ msgid "Site:"
msgstr "Sivu:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Tuki..."
+msgstr "Tuki"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4893,9 +4919,8 @@ msgid "Testing"
msgstr "Testaus"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Lataa..."
+msgstr "Ladataan..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5063,9 +5088,8 @@ msgid "Paste Pose"
msgstr "Liitä asento"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Poista luut"
+msgstr "Poista apuviivat"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5153,6 +5177,11 @@ msgid "Pan Mode"
msgstr "Panorointitila"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Käynnistystila:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Aseta tarttuminen."
@@ -5802,26 +5831,23 @@ msgstr "Luontiaika (s):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Geometrian tahkot eivät sisällä mitään alaa."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "Solmulta puuttuu geometria (tahkot)."
+msgstr "Geometria ei sisällä yhtään tahkoja."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" ei periydy Spatial solmusta."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "Solmu ei sisällä geometriaa."
+msgstr "\"%s\" ei sisällä geometriaa."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "Solmu ei sisällä geometriaa."
+msgstr "\"%s\" ei sisällä tahkogeometriaa."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6221,7 +6247,7 @@ msgstr "Ilmentymä:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Tyyppi:"
@@ -6259,9 +6285,8 @@ msgid "Error writing TextFile:"
msgstr "Virhe kirjoitettaessa teksitiedostoa:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Ruutua ei löytynyt:"
+msgstr "Ei voitu ladata tiedostoa:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6284,7 +6309,6 @@ msgid "Error Importing"
msgstr "Virhe tuonnissa"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
msgstr "Uusi tekstitiedosto..."
@@ -6366,9 +6390,8 @@ msgid "Open..."
msgstr "Avaa..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Avaa skripti"
+msgstr "Avaa uudelleen suljettu skripti"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6424,14 +6447,14 @@ msgid "Toggle Scripts Panel"
msgstr "Näytä/piilota skriptipaneeli"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Siirry seuraavaan"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Siirry sisään"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Siirry seuraavaan"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Keskeytä"
@@ -6503,15 +6526,14 @@ msgid "Search Results"
msgstr "Haun tulokset"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Tyhjennä viimeisimmät skenet"
+msgstr "Tyhjennä viimeisimmät skriptit"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Yhteydet metodiin:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Lähde"
@@ -6547,7 +6569,7 @@ msgstr "Vain tiedostojärjestelmän resursseja voi raahata ja pudottaa."
#: editor/plugins/script_text_editor.cpp
msgid "Lookup Symbol"
-msgstr "Haettava symboli"
+msgstr "Hae symboli"
#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
@@ -6629,9 +6651,8 @@ msgid "Complete Symbol"
msgstr "Täydennä symboli"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Skaalaa valintaa"
+msgstr "Laske valinnan tulos"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -6939,9 +6960,8 @@ msgid "Audio Listener"
msgstr "Äänikuuntelija"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Kytke suodatus"
+msgstr "Kytke Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -6997,7 +7017,7 @@ msgstr "Tarraa solmut lattiaan"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "Ei löydetty kiinteää lattiaa, johon kohdistaa valinta."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7010,9 +7030,8 @@ msgstr ""
"Alt + Hiiren oikea painike: Syvyyslistan valinta"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Paikallisavaruuden tila (%s)"
+msgstr "Käytä paikallisavaruutta"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7109,9 +7128,8 @@ msgstr "Näytä ruudukko"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Asetukset"
+msgstr "Asetukset..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7290,6 +7308,11 @@ msgid "(empty)"
msgstr "(tyhjä)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Liitä ruutu"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animaatiot:"
@@ -7487,12 +7510,10 @@ msgid "Submenu"
msgstr "Alivalikko"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
msgstr "Osanen 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
msgstr "Osanen 2"
@@ -7606,17 +7627,25 @@ msgid "Enable Priority"
msgstr "Ota prioriteetti käyttöön"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Suodata tiedostot..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Maalaa ruutu"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift+Hiiren oikea: Piirrä viiva\n"
-"Shift+Ctrl+Hiiren oikea: Suorakaidemaalaus"
+"Shift+Hiiren vasen: Piirrä viiva\n"
+"Shift+Ctrl+Hiiren vasen: Suorakaidemaalaus"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7739,6 +7768,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Näytä ruutujen nimet (pidä Alt-näppäin pohjassa)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Poista valittu tekstuuri? Tämä poistaa kaikki ruudut, jotka käyttävät sitä."
@@ -7909,6 +7943,112 @@ msgstr "Tätä ominaisuutta ei voi muuttaa."
msgid "TileSet"
msgstr "Ruutuvalikoima"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Solmun yläsolmun nimi, jos saatavilla"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Virhe"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Nimeä ei annettu"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Yhteisö"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Isot alkukirjaimet"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Luo uusi suorakulmio."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Muuta"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Nimeä uudelleen"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Poista"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Muuta"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Poista valitut"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Tallenna kaikki"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Synkronoi skriptin muutokset"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Tila"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Ei valittuja tiedostoja!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Vain GLES3)"
@@ -8015,9 +8155,8 @@ msgid "Light"
msgstr "Valo"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Luo Shader solmu"
+msgstr "Näytä syntyvä sävytinkoodi."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8146,6 +8285,13 @@ msgstr ""
"Palauttaa liitetyn vektorin, jos annettu totuusarvo on tosi tai epätosi."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Palauttaa liitetyn vektorin, jos annettu totuusarvo on tosi tai epätosi."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Palauttaa kahden parametrin vertailun totuusarvon."
@@ -8383,7 +8529,6 @@ msgid "Returns the square root of the parameter."
msgstr "Palauttaa parametrin neliöjuuren."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8398,13 +8543,12 @@ msgstr ""
"polynomeilla."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
msgstr ""
-"Step function( scalar(edge), scalar(x) ).\n"
+"Step-funktio( skalaari(edge), skalaari(x) ).\n"
"\n"
"Palauttaa 0.0, jos 'x' on pienempi kuin 'edge', ja muuten 1.0."
@@ -8575,9 +8719,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Kahden vektorin välinen lineaari-interpolaatio."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Kahden vektorin välinen lineaari-interpolaatio."
+msgstr "Kahden vektorin välinen lineaari-interpolaatio skalaarilla."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8604,7 +8747,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Palauttaa vektorin, joka osoittaa taittumisen suuntaan."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8619,7 +8761,6 @@ msgstr ""
"polynomeilla."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8634,7 +8775,6 @@ msgstr ""
"polynomeilla."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8645,7 +8785,6 @@ msgstr ""
"Palauttaa 0.0, jos 'x' on pienempi kuin 'edge', ja muutoin 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8707,6 +8846,10 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Mukautettu Godotin sävytinkielen lauseke, joka sijoitetaan syntyvän "
+"sävyttimen alkuun. Voit lisätä siihen erilaisia funktiomäärityksiä ja kutsua "
+"niitä myöhemmin Expressions-osuudessa. Voit myös esitellä siinä varyingejä, "
+"uniformeja ja vakioita."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9100,13 +9243,12 @@ msgid "Unnamed Project"
msgstr "Nimetön projekti"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Tuo olemassaoleva projekti"
+msgstr "Puuttuva projekti"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Virhe: projekti puuttuu tiedostojärjestelmästä."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9203,12 +9345,11 @@ msgstr ""
"Projektikansion sisältöä ei muuteta."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Poista %d projektia listalta?\n"
+"Poista kaikki puuttuvat projektit listalta?\n"
"Projektikansioiden sisältöjä ei muuteta."
#: editor/project_manager.cpp
@@ -9233,9 +9374,8 @@ msgid "Project Manager"
msgstr "Projektinhallinta"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Projekti"
+msgstr "Projektit"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9466,6 +9606,11 @@ msgid "Settings saved OK."
msgstr "Asetukset tallennettu onnistuneesti."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Lisää syötetoiminnon tapahtuma"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Ominaisuuden ohitus"
@@ -9602,6 +9747,10 @@ msgid "Plugins"
msgstr "Liitännäiset"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Esiasetus..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Nolla"
@@ -9769,10 +9918,6 @@ msgstr "Isoiksi kirjaimiksi"
msgid "Reset"
msgstr "Palauta"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Virhe"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Vaihda solmun isäntää"
@@ -9830,12 +9975,17 @@ msgid "Instance Scene(s)"
msgstr "Luo ilmentymä skenestä tai skeneistä"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Tallenna haara skenenä"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Luo aliskenen ilmentymä"
#: editor/scene_tree_dock.cpp
msgid "Clear Script"
-msgstr "Tyhjennä skripti"
+msgstr "Poista skripti"
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
@@ -9874,8 +10024,23 @@ msgid "Make node as Root"
msgstr "Tee solmusta juurisolmu"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Poista solmu(t)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Poista solmut"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Poista sävytingraafin solmuja"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Poista solmut"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -9935,11 +10100,11 @@ msgstr "Toinen solmu"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
-msgstr "Ei voida käyttää ulkopuolisen skenen solmuja!"
+msgstr "Ei voida suorittaa ulkopuolisen skenen solmuille!"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes the current scene inherits from!"
-msgstr "Ei voida käyttää solmuja, joista nykyinen skene periytyy!"
+msgstr "Ei voida suorittaa solmuille, joista nykyinen skene periytyy!"
#: editor/scene_tree_dock.cpp
msgid "Attach Script"
@@ -9950,9 +10115,8 @@ msgid "Remove Node(s)"
msgstr "Poista solmu(t)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Vaihda lähtöportin nimi"
+msgstr "Vaihda solmujen tyyppiä"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10075,30 +10239,27 @@ msgid "Node configuration warning:"
msgstr "Solmun konfiguroinnin varoitus:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"Solmulla on yhteyksiä ja ryhmiä.\n"
+"Solmulla on %s yhteyttä ja %s ryhmää.\n"
"Napsauta näyttääksesi signaalitelakan."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"Solmulla on liitäntöjä.\n"
+"Solmulla on %s liitäntää.\n"
"Napsauta näyttääksesi signaalitelakan."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"Solmu kuuluu ryhmään.\n"
+"Solmu kuuluu %s ryhmään.\n"
"Napsauta näyttääksesi ryhmätelakan."
#: editor/scene_tree_editor.cpp
@@ -10194,9 +10355,8 @@ msgid "Error loading script from %s"
msgstr "Virhe ladattaessa skripti %s:stä"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Ylikirjoita"
+msgstr "Ylikirjoittaa"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10275,19 +10435,50 @@ msgid "Bytes:"
msgstr "Tavu(j)a:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Pinojäljitys"
+#, fuzzy
+msgid "Warning:"
+msgstr "Varoitukset:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Valitse yksi tai useampi kohde listasta näyttääksesi graafin."
+msgid "Error:"
+msgstr "Virhe:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Kopioi virhe"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Virhe:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Lähde"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Lähde"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Lähde"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Pinojäljitys"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Virheet"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Aliprosessi yhdistetty"
#: editor/script_editor_debugger.cpp
@@ -10295,6 +10486,11 @@ msgid "Copy Error"
msgstr "Kopioi virhe"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Keskeytyskohdat"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Tarkastele edellistä ilmentymää"
@@ -10311,6 +10507,11 @@ msgid "Profiler"
msgstr "Profiloija"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Vie profiili"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitoroija"
@@ -10323,6 +10524,10 @@ msgid "Monitors"
msgstr "Monitoroijat"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Valitse yksi tai useampi kohde listasta näyttääksesi graafin."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Lista näyttömuistin käytöstä resurssikohtaisesti:"
@@ -10519,10 +10724,6 @@ msgid "Library"
msgstr "Kirjasto"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Tila"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Kirjastot: "
@@ -10531,6 +10732,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "Askeleen argumentti on nolla!"
@@ -10686,6 +10891,15 @@ msgstr "Ruudukon asetukset"
msgid "Pick Distance:"
msgstr "Poimintaetäisyys:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Suodata metodeja"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Luokan nimi ei voi olla varattu avainsana"
@@ -10811,30 +11025,28 @@ msgid "Set Variable Type"
msgstr "Aseta muuttujan tyyppi"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr ""
-"Ei saa mennä päällekkäin olemassa olevan sisäänrakennetun tyypin nimen "
-"kanssa."
+msgstr "Ylikirjoita olemassa oleva sisäänrakennettu funktio."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Luo uusi suorakulmio."
+msgstr "Luo uusi funktio."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Muuttujat:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Luo uusi suorakulmio."
+msgstr "Luo uusi muuttuja."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signaalit:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Luo uusi polygoni."
+msgstr "Luo uusi signaali."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -10994,6 +11206,11 @@ msgid "Editing Signal:"
msgstr "Muokataan signaalia:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Tee paikallinen"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Kantatyyppi:"
@@ -11148,8 +11365,10 @@ msgstr ""
"asetuksissa."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"Android-projektia ei ole asennettu kääntämistä varten. Asenna se Editori-"
"valikosta."
@@ -11930,6 +12149,44 @@ msgstr "Varying tyypin voi sijoittaa vain vertex-funktiossa."
msgid "Constants cannot be modified."
msgstr "Vakioita ei voi muokata."
+#~ msgid "Properties:"
+#~ msgstr "Ominaisuudet:"
+
+#~ msgid "Methods:"
+#~ msgstr "Metodit:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Teeman ominaisuudet:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumeraatiot:"
+
+#~ msgid "Constants:"
+#~ msgstr "Vakiot:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Luokan kuvaus:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Ominaisuuksien kuvaukset:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Metodien kuvaukset:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Tämä asentaa Android-projektin mukautettuja käännöksiä varten.\n"
+#~ "Huomaa, että käyttääksesi sitä, se täytyy ottaa käyttöön kussakin "
+#~ "vientiesiasetuksessa."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Käännä lajittelu."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Poista solmu(t)?"
+
#~ msgid "No Matches"
#~ msgstr "Ei osumia"
@@ -12233,9 +12490,6 @@ msgstr "Vakioita ei voi muokata."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "Luo valituista skeneistä ilmentymä valitun solmun alle."
-#~ msgid "Warnings:"
-#~ msgstr "Varoitukset:"
-
#~ msgid "Font Size:"
#~ msgstr "Fontin koko:"
@@ -12277,9 +12531,6 @@ msgstr "Vakioita ei voi muokata."
#~ msgid "Select a split to erase it."
#~ msgstr "Valitse jako poistaaksesi sen."
-#~ msgid "No name provided"
-#~ msgstr "Nimeä ei annettu"
-
#~ msgid "Add Node.."
#~ msgstr "Lisää solmu..."
@@ -12415,9 +12666,6 @@ msgstr "Vakioita ei voi muokata."
#~ msgid "Warning"
#~ msgstr "Varoitus"
-#~ msgid "Error:"
-#~ msgstr "Virhe:"
-
#~ msgid "Function:"
#~ msgstr "Funktio:"
@@ -12499,9 +12747,6 @@ msgstr "Vakioita ei voi muokata."
#~ 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ä"
@@ -12887,9 +13132,6 @@ msgstr "Vakioita ei voi muokata."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Valitse uusi nimi ja sijainti:"
-#~ msgid "No files selected!"
-#~ msgstr "Ei valittuja tiedostoja!"
-
#~ msgid "Info"
#~ msgstr "Tietoja"
@@ -13141,12 +13383,6 @@ msgstr "Vakioita ei voi muokata."
#~ msgid "8 Bits"
#~ msgstr "8 bittiä"
-#~ msgid "Up"
-#~ msgstr "Ylös"
-
-#~ msgid "Down"
-#~ msgstr "Alas"
-
#~ msgid "Bucket"
#~ msgstr "Sanko"
diff --git a/editor/translations/fil.po b/editor/translations/fil.po
index c089099228..fc6b4085a0 100644
--- a/editor/translations/fil.po
+++ b/editor/translations/fil.po
@@ -62,6 +62,34 @@ msgstr "Mga invalid na argument para i-construct ang '%s'"
msgid "On call to '%s':"
msgstr "On call sa '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Malaya"
@@ -461,6 +489,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -778,7 +810,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -879,7 +912,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1179,7 +1213,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1370,6 +1404,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1589,6 +1624,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1659,6 +1695,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1814,7 +1851,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1822,38 +1859,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1862,19 +1879,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1889,10 +1898,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1903,10 +1908,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1973,8 +1974,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1987,6 +1988,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2526,6 +2569,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2725,10 +2780,6 @@ msgstr ""
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 ""
@@ -2780,10 +2831,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2805,15 +2852,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2876,6 +2929,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2885,6 +2942,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2913,11 +2974,6 @@ msgstr ""
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 ""
@@ -3693,8 +3749,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4120,6 +4176,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4679,10 +4736,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4946,6 +4999,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5997,7 +6054,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6197,11 +6254,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6281,7 +6338,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7048,6 +7105,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7362,6 +7423,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7493,6 +7562,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7647,6 +7721,100 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Deleted"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Burahin ang (mga) Napiling Key"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7880,6 +8048,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9071,6 +9244,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9207,6 +9384,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9370,10 +9551,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9429,6 +9606,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9469,7 +9650,19 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9847,11 +10040,36 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Salamin"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9859,7 +10077,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9867,6 +10085,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9883,6 +10105,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9895,6 +10121,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10091,10 +10321,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10103,6 +10329,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10254,6 +10484,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10389,6 +10627,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10545,6 +10787,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10692,7 +10938,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index efa3da542a..d2a4da4e25 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -61,12 +61,18 @@
# Ducoté <Raphalielle@gmail.com>, 2019.
# Corentin Pacaud Boehm <corentin.pacaudboehm@gmail.com>, 2019.
# Kentarosan <jacquin.yannis@gmail.com>, 2019.
+# Julien Deswaef <julien+weblate@xuv.be>, 2019.
+# AMIOT David <david.amiot@live.fr>, 2019.
+# Fabrice <fabricecipolla@gmail.com>, 2019.
+# Romain Paquet <titou.paquet@gmail.com>, 2019.
+# Xavier Sellier <contact@binogure-studio.com>, 2019.
+# Sofiane <Sofiane-77@caramail.fr>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-21 15:57+0000\n"
-"Last-Translator: Kentarosan <jacquin.yannis@gmail.com>\n"
+"PO-Revision-Date: 2019-09-26 11:50+0000\n"
+"Last-Translator: Sofiane <Sofiane-77@caramail.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -116,6 +122,35 @@ msgstr "Arguments invalides pour construire '%s'"
msgid "On call to '%s':"
msgstr "Sur appel à '%s' :"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mixer"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libre"
@@ -201,7 +236,6 @@ msgid "Anim Multi Change Keyframe Value"
msgstr "Changer la valeur de l'image-clé de l'animation"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Call"
msgstr "Changer l'appel de l'animation"
@@ -538,6 +572,13 @@ msgid "Select None"
msgstr "Tout désélectionner"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Le chemin d'accès à un nœud AnimationPlayer contenant des animations n'est "
+"pas défini."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
"Afficher seulement les pistes provenant des nœuds sélectionnés dans "
@@ -718,12 +759,10 @@ msgid "Replaced %d occurrence(s)."
msgstr "%d occurrence(s) remplacée(s)."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
msgstr "%d correspondance(s) trouvée(s)."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
msgstr "%d correspondance(s) trouvée(s)."
@@ -863,7 +902,8 @@ msgstr "Impossible de connecter le signal"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -964,7 +1004,8 @@ msgstr "Rechercher :"
msgid "Matches:"
msgstr "Correspondances :"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1179,22 +1220,20 @@ msgid "License"
msgstr "Licence"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Licences tierce partie"
+msgstr "Licences tierces"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Le moteur Godot s'appuie sur un certain nombre de bibliothèques libres et "
-"open source tierces, toutes compatibles avec les termes de sa licence MIT. "
-"Voici une liste exhaustive de ces composants tiers avec leurs énoncés de "
-"droits d'auteur respectifs ainsi que les termes de leurs licences."
+"Le moteur Godot s'appuie sur un certain nombre de bibliothèques tierces "
+"libres et open source , toutes compatibles avec les termes de sa licence "
+"MIT. Voici une liste exhaustive de ces composants tiers avec leurs énoncés "
+"de droits d'auteur respectifs ainsi que les termes de leurs licences."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1209,9 +1248,8 @@ msgid "Licenses"
msgstr "Licences"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Erreur d'ouverture de paquetage, pas au format zip."
+msgstr "Erreur d'ouverture de paquetage, pas au format ZIP."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1224,7 +1262,7 @@ msgstr "Paquetage installé avec succès !"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Success!"
-msgstr "Succès !"
+msgstr "Ça marche !"
#: editor/editor_asset_installer.cpp editor/editor_node.cpp
msgid "Install"
@@ -1279,7 +1317,8 @@ msgid "Delete Bus Effect"
msgstr "Supprimer l'effet de transport"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Bus audio, glisser-déposer pour réorganiser."
#: editor/editor_audio_buses.cpp
@@ -1469,9 +1508,10 @@ msgstr "Pas dans le chemin de la ressource."
#: editor/editor_autoload_settings.cpp
msgid "Add AutoLoad"
-msgstr "Ajouter l'AutoLoad"
+msgstr "Ajouter le chargement automatique"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Chemin :"
@@ -1702,6 +1742,7 @@ msgstr "Rendre actuel"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Nouveau"
@@ -1772,6 +1813,7 @@ msgid "New Folder..."
msgstr "Nouveau dossier..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Rafraîchir"
@@ -1929,7 +1971,8 @@ msgid "Inherited by:"
msgstr "Héritée par :"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Brève description :"
#: editor/editor_help.cpp
@@ -1937,38 +1980,18 @@ msgid "Properties"
msgstr "Propriétés"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Propriétés :"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Méthodes"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Méthodes :"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Propriétés du thème"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Propriétés du thème :"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signaux :"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Énumérations"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Recensements :"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum_ "
@@ -1977,19 +2000,12 @@ msgid "Constants"
msgstr "Constantes"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Constantes :"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Description de la classe"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Description de la classe :"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Tutoriels en ligne :"
#: editor/editor_help.cpp
@@ -2007,10 +2023,6 @@ msgid "Property Descriptions"
msgstr "Description des propriétés"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Description des propriétés :"
-
-#: 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]!"
@@ -2023,10 +2035,6 @@ msgid "Method Descriptions"
msgstr "Descriptions des méthodes"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Descriptions des méthode :"
-
-#: 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]!"
@@ -2095,8 +2103,8 @@ msgstr "Sortie :"
msgid "Copy Selection"
msgstr "Copier la sélection"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2109,9 +2117,52 @@ msgstr "Effacer"
msgid "Clear Output"
msgstr "Effacer la sortie"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Arrêter"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Démarrer"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Télécharger"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nœud"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
-msgstr ""
+msgstr "Nouvelle Fenêtre"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2448,9 +2499,8 @@ msgid "Close Scene"
msgstr "Fermer la scène"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Fermer la scène"
+msgstr "Rouvrir la scène fermée"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2574,9 +2624,8 @@ msgid "Close Tab"
msgstr "Fermer l'onglet"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Fermer l'onglet"
+msgstr "Rouvrir l'onglet fermé"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2709,19 +2758,29 @@ msgid "Project"
msgstr "Projet"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Paramètres du projet"
+msgstr "Paramètres du projet..."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Version :"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Export..."
-msgstr "Exporter"
+msgstr "Exporter..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Installer un modèle de compilation Android"
+msgstr "Installer un modèle de compilation Android..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2732,9 +2791,8 @@ msgid "Tools"
msgstr "Outils"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Explorateur de ressources orphelines"
+msgstr "Explorateur de ressources orphelines..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2839,9 +2897,8 @@ msgid "Editor"
msgstr "Éditeur"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Paramètres de l'éditeur"
+msgstr "Paramètres de l'éditeur..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2877,14 +2934,12 @@ msgid "Open Editor Settings Folder"
msgstr "Ouvrir le dossier des paramètres de l'éditeur"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Gérer les fonctionnalités de l'éditeur"
+msgstr "Gérer les fonctionnalités de l'éditeur..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Gérer les modèles d'exportation"
+msgstr "Gérer les modèles d'exportation..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2940,10 +2995,6 @@ msgstr "Mettre en pause la scène"
msgid "Stop the scene."
msgstr "Arrêter la scène."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Arrêter"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Lancer la scène actuellement en cours d'édition."
@@ -2994,10 +3045,6 @@ msgid "Inspector"
msgstr "Inspecteur"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nœud"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Développez le panneau inférieur"
@@ -3021,18 +3068,22 @@ msgstr "Gérer les modèles"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"Ceci va installer le projet Android pour des compilations personnalisées.\n"
-"Notez que pour l'utiliser, vous devez l'activer pour chaque préréglage "
-"d'exportation."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Le modèle de build Android est déjà installé et ne va pas être remplacé.\n"
"Supprimez le répertoire « build » manuellement avant de retenter cette "
@@ -3098,6 +3149,11 @@ msgstr "Ouvrir l'éditeur suivant"
msgid "Open the previous Editor"
msgstr "Ouvrir l'éditeur précédant"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Pas de surface source spécifiée."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Création des prévisualisations des maillages"
@@ -3107,6 +3163,11 @@ msgid "Thumbnail..."
msgstr "Aperçu…"
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Ouvrir le script :"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Modifier le Plugin"
@@ -3135,11 +3196,6 @@ msgstr "État :"
msgid "Edit:"
msgstr "Modifier :"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Démarrer"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Mesure :"
@@ -3356,7 +3412,6 @@ msgid "Import From Node:"
msgstr "Importer à partir d'un nœud :"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Télécharger à nouveau"
@@ -3376,6 +3431,8 @@ msgstr "Télécharger"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Les modèles d'exportation officiels ne sont pas disponibles pour les "
+"versions de développement."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3459,23 +3516,20 @@ msgid "Download Complete."
msgstr "Téléchargement terminé."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Impossible d'enregistrer le thème dans le fichier :"
+msgstr "Impossible de supprimer le fichier temporaire :"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"L'installation des modèles a échoué. Les archives des modèles posant "
-"problème peuvent être trouvées à « %s »."
+"L'installation des modèles a échoué.\n"
+"Les archives des modèles problématiques se trouvent dans '%s'."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Erreur lors de la requête de l’URL : "
+msgstr "Erreur lors de la demande de l’URL :"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3664,9 +3718,8 @@ msgid "Move To..."
msgstr "Déplacer vers…"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Nouvelle scène"
+msgstr "Nouvelle scène..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3735,9 +3788,8 @@ msgid "Overwrite"
msgstr "Écraser"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Créer depuis la scène"
+msgstr "Créer une scène"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3817,23 +3869,20 @@ msgid "Invalid group name."
msgstr "Nom de groupe invalide."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Gérer les groupes"
+msgstr "Renommer le groupe"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Supprimer la disposition"
+msgstr "Supprimer le groupe"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Groupes"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
-msgstr "Nœuds non groupés"
+msgstr "Noeuds hors du groupe"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
@@ -3846,12 +3895,11 @@ msgstr "Nœuds groupés"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Les groupes vides seront automatiquement supprimés."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group Editor"
-msgstr "Éditeur de Script"
+msgstr "Editeur de groupe"
#: editor/groups_editor.cpp
msgid "Manage Groups"
@@ -3951,9 +3999,10 @@ msgstr " Fichiers"
msgid "Import As:"
msgstr "Importer comme :"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Pré-réglage…"
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Pré-réglages"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4061,9 +4110,8 @@ msgid "MultiNode Set"
msgstr "Ensemble multi-nœud"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Sélectionnez un nœud pour modifier les signaux et groupes."
+msgstr "Sélectionnez un seul nœud pour éditer ses signaux et groupes."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4400,6 +4448,7 @@ msgid "Change Animation Name:"
msgstr "Modifier le nom de l'animation :"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Supprimer l'animation ?"
@@ -4849,37 +4898,32 @@ msgid "Request failed, return code:"
msgstr "La requête a échoué, code retourné :"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
-msgstr "Échec de la requête."
+msgstr "La requête a échoué."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Impossible d'enregistrer le thème dans le fichier :"
+msgstr "Impossible d'enregistrer la réponse dans :"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Erreur d'écriture."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "La requête a échoué, trop de redirections"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
msgstr "Boucle de Redirection."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "La requête a échoué, code retourné :"
+msgstr "La requête a échoué, délai dépassé"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Temps"
+msgstr "Délai dépassé."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4958,24 +5002,18 @@ msgid "All"
msgstr "Tout"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Importer"
+msgstr "Importer..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Extensions"
+msgstr "Extensions..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Trier :"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Tri inverse."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Catégorie :"
@@ -4985,9 +5023,8 @@ msgid "Site:"
msgstr "Site :"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Support…"
+msgstr "Support"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4998,9 +5035,8 @@ msgid "Testing"
msgstr "En période de test"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Charger..."
+msgstr "Chargement..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5169,9 +5205,8 @@ msgid "Paste Pose"
msgstr "Coller la pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Effacer les os"
+msgstr "Effacé Guides"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5259,6 +5294,11 @@ msgid "Pan Mode"
msgstr "Mode navigation"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Mode d'exécution :"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Activer/Désactiver le magnétisme."
@@ -5914,26 +5954,23 @@ msgstr "Temps de Génération (sec) :"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Les faces de la géométrie ne contiennent aucune zone."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "Le nœud ne contient pas de géométrie (faces)."
+msgstr "Le maillage ne comporte aucune faces."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" n'hérite pas de Spatial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "Le nœud ne contient pas de géométrie."
+msgstr "\"%s\" ne contient pas de géométrie."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "Le nœud ne contient pas de géométrie."
+msgstr "Le maillage de \"%s\" ne contient aucunes faces."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6334,7 +6371,7 @@ msgstr "Instance :"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Type :"
@@ -6372,9 +6409,8 @@ msgid "Error writing TextFile:"
msgstr "Erreur lors de l'écriture du fichier texte :"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Erreur de chargement de fichier."
+msgstr "Le fichier suivant n'a pas pu être chargé :"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6397,7 +6433,6 @@ msgid "Error Importing"
msgstr "Erreur d'importation"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
msgstr "Nouveau fichier texte..."
@@ -6479,9 +6514,8 @@ msgid "Open..."
msgstr "Ouvrir..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Ouvrir un script"
+msgstr "Réouvrir le script fermé"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6537,14 +6571,14 @@ msgid "Toggle Scripts Panel"
msgstr "Afficher/Cacher le panneau des scripts"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Sortir"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Rentrer"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Sortir"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Mettre en pause"
@@ -6616,15 +6650,14 @@ msgid "Search Results"
msgstr "Résultats de recherche"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Effacer la liste des scènes récentes"
+msgstr "Effacer la liste des scripts récents"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Connexions à la méthode :"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Source"
@@ -6743,9 +6776,8 @@ msgid "Complete Symbol"
msgstr "Compléter le symbole"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Mettre à l'échelle la sélection"
+msgstr "Évaluer la sélection"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -7055,9 +7087,8 @@ msgid "Audio Listener"
msgstr "Écouteur audio"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Activer le filtrage"
+msgstr "Activer l'effet Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7114,7 +7145,7 @@ msgstr "Aligner les nœuds au sol"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "N'a pas pu trouvé de sol solide pour y attacher la sélection."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7127,9 +7158,8 @@ msgstr ""
"Alt+Bouton droit : Sélection détaillée par liste"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Mode d'échelle local (%s)"
+msgstr "Utiliser l'espace local"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7226,9 +7256,8 @@ msgstr "Afficher la grille"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Paramètres"
+msgstr "Paramètres..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7409,6 +7438,11 @@ msgid "(empty)"
msgstr "(vide)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Coller une image"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animations :"
@@ -7599,21 +7633,19 @@ msgstr "Item radio coché"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Séparateur nommé."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
msgstr "Sous-menu"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Élément 1"
+msgstr "Sous-élément 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Élément 2"
+msgstr "Sous-élément 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7725,17 +7757,25 @@ msgid "Enable Priority"
msgstr "Activer la priorité"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrer Fichiers..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Peindre la case"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift + Clic droit : Dessiner une ligne\n"
-"Shift + Ctrl + Clic droit : Dessiner un rectangle"
+"Shift + Clic gauche : Dessiner une ligne\n"
+"Shift + Ctrl + Clic gauche : Dessiner un rectangle"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7859,6 +7899,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Afficher les noms des tuiles (maintenez Alt enfoncé)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Supprimer la texture sélectionnée ? Cela entraînera la suppression de toutes "
@@ -7909,15 +7954,15 @@ msgid "Delete polygon."
msgstr "Supprimer le polygone."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
"Shift+LMB: Set wildcard bit.\n"
"Click on another Tile to edit it."
msgstr ""
-"Bouton gauche : Activer le bit.\n"
-"Bouton droit : Désactiver le bit.\n"
+"Bouton gauche de la souris : Activer le bit.\n"
+"Bouton droit de la souris : Désactiver le bit.\n"
+"Shift + Bouton gauche de la souris : Activer le «wildcard bit»\n"
"Cliquez sur une autre tuile pour la modifier."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -8030,6 +8075,110 @@ msgstr "Cette propriété ne peut être changée."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nom parent du nœud, si disponible"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Erreur"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Communauté"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Majuscule à chaque mot"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Créer un nouveau rectangle."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Changer"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Renommer"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Supprimer"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Changer"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Supprimer la selection"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Tout enregistrer"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Synchroniser les modifications des scripts"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "État"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(GLES3 seulement)"
@@ -8136,9 +8285,8 @@ msgid "Light"
msgstr "Lumière"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Créer un nœud Shader"
+msgstr "Afficher le code de shader obtenu."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8170,7 +8318,7 @@ msgstr "Fonction Sepia."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Opérateur de gravure."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
@@ -8271,6 +8419,13 @@ msgstr ""
"Renvoi un vecteur associé si la valeur booléen fournie est vrai ou fausse."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Renvoi un vecteur associé si la valeur booléen fournie est vrai ou fausse."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Renvoie le résultat booléen de la comparaison de deux paramètres."
@@ -8420,11 +8575,11 @@ msgstr "Convertit une quantité de radians en degrés."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Exponentiel en base e."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Exponentiel en base 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
@@ -8516,6 +8671,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
+"\n"
+"Retourne 0.0 si 'x' est inférieur à 'edge0' et 1.0 si x est supérieur à "
+"'edge1'. Sinon, la valeur de retour est interpolée entre 0.0 et 1.0 à l'aide "
+"de Polynômes d'Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8523,6 +8683,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
msgstr ""
+"Step function( scalar(edge), scalar(x) ).\n"
+"\n"
+"Retourne 0.0 si 'x' est inférieur à 'edge' sinon 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
@@ -8566,23 +8729,23 @@ msgstr "Scalaire uniforme."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "Effectuer la recherche de texture cubique."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "Effectuer la recherche de texture."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Cubic texture uniform lookup."
-msgstr ""
+msgstr "Recherche uniforme de texture cubique."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "2D texture uniform lookup."
-msgstr ""
+msgstr "Recherche uniforme de texture 2D."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "2D texture uniform lookup with triplanar."
-msgstr ""
+msgstr "Recherche de texture uniforme en 2D avec triplan."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Transform function."
@@ -8598,6 +8761,14 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"Calculez le produit extérieur d'une paire de vecteurs.\n"
+"\n"
+"OuterProduct considère le premier paramètre 'c' comme un vecteur colonne "
+"(matrice à une colonne) et le second paramètre 'r' comme un vecteur ligne "
+"(matrice à une ligne) et multiplie la matrice algébrique linéaire par 'c * "
+"r', ce qui donne un matrice dont le nombre de lignes est le nombre de "
+"composants dans 'c' et dont le nombre de colonnes est le nombre de "
+"composants dans 'r'."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
@@ -8685,9 +8856,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Interpolation linéaire de deux vecteurs."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Interpolation linéaire de deux vecteurs."
+msgstr "Interpolation linéaire de deux vecteurs avec scalaire."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8721,6 +8891,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
+"\n"
+"Retourne 0.0 si 'x' est inférieur à 'edge0' et 1.0 si 'x' est supérieur à "
+"'edge1'. Sinon, la valeur de retour est interpolée entre 0.0 et 1.0 à l'aide "
+"de polynômes d'Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8730,6 +8905,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
+"\n"
+"Retourne 0.0 si 'x' est inférieur à 'edge0' et 1.0 si 'x' est supérieur à "
+"'edge1'. Sinon, la valeur de retour est interpolée entre 0.0 et 1.0 à l'aide "
+"de polynômes d'Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8737,6 +8917,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
msgstr ""
+"Step function( vector(edge), vector(x) ).\n"
+"\n"
+"Retourne 0.0 si 'x' est inférieur à 'edge', sinon 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8744,6 +8927,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
msgstr ""
+"Step function( scalar(edge), vector(x) ).\n"
+"\n"
+"Retourne 0.0 si 'x' est inférieur à 'edge', sinon 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
@@ -8785,10 +8971,13 @@ msgstr ""
"déclarations de fonction à l'intérieur."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
+"Renvoie l'atténuation en fonction du produit scalaire de la surface normale "
+"et de la direction de la caméra (transmettez-lui les entrées associées)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8796,6 +8985,11 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Expression personnalisée du langage de shader Godot, qui est placée au-"
+"dessus du shader obtenu. Vous pouvez insérer diverses définitions de "
+"fonctions à l'intérieur et les appeler ultérieurement dans les expressions. "
+"Vous pouvez également déclarer des variations, des uniformes et des "
+"constantes."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9191,13 +9385,12 @@ msgid "Unnamed Project"
msgstr "Projet sans titre"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Importer un projet existant"
+msgstr "Projet manquant"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Erreur : Le projet n'existe pas dans le système de fichier."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9297,13 +9490,12 @@ msgstr ""
"Le contenu du dossier de projet ne sera pas modifié."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Supprimer %d projets de la liste ?\n"
-"Le contenu des dossiers de projet ne sera pas modifié."
+"Supprimer tous les projets manquants de la liste ?\n"
+"Le contenu des dossiers du projet ne sera pas modifié."
#: editor/project_manager.cpp
msgid ""
@@ -9328,9 +9520,8 @@ msgid "Project Manager"
msgstr "Gestionnaire de projets"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Projet"
+msgstr "Projets"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9561,6 +9752,11 @@ msgid "Settings saved OK."
msgstr "Paramètres enregistrés avec succès."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Ajouter un événement d'action d'entrée"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Écrasement d'un paramètre, dédié à un tag de fonctionnalité"
@@ -9697,6 +9893,10 @@ msgid "Plugins"
msgstr "Extensions"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Pré-réglage…"
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Zéro"
@@ -9864,10 +10064,6 @@ msgstr "Convertir en majuscule"
msgid "Reset"
msgstr "Réinitialiser"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Erreur"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Re-parenter le nœud"
@@ -9925,6 +10121,11 @@ msgid "Instance Scene(s)"
msgstr "Instancier scène(s)"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Sauvegarder la branche comme scène"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Instancier une scène enfant"
@@ -9967,8 +10168,22 @@ msgid "Make node as Root"
msgstr "Choisir le nœud comme racine de scène"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Supprimer le(s) nœud(s) ?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Supprimer des nœuds"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Supprimer des nœuds"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10043,9 +10258,8 @@ msgid "Remove Node(s)"
msgstr "Supprimer le(s) nœud(s)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Changer le nom du port de sortie"
+msgstr "Changer le type de nœud (s)"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10169,30 +10383,27 @@ msgid "Node configuration warning:"
msgstr "Avertissement de configuration de nœud :"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"Le nœud possède des connexions et/ou des groupes.\n"
+"Le nœud possède %s connexion(s) et %s groupe(s).\n"
"Cliquez pour afficher le panneau de connexion des signaux."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"Le nœud possède des connections.\n"
+"Le nœud possède %s connexion(s).\n"
"Cliquez pour afficher le panneau de connexion des signaux."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"Le nœud fait partie de groupes.\n"
+"Le nœud fait partie de %s groupe(s).\n"
"Cliquez pour afficher le panneau de gestion des groupes."
#: editor/scene_tree_editor.cpp
@@ -10288,9 +10499,8 @@ msgid "Error loading script from %s"
msgstr "Erreur de chargement de script depuis %s"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Écraser"
+msgstr "Redéfinition"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10369,20 +10579,51 @@ msgid "Bytes:"
msgstr "Octets :"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Pile des appels"
+#, fuzzy
+msgid "Warning:"
+msgstr "Avertissements :"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr ""
-"Sélectionnez un ou plusieurs éléments de la liste pour afficher le graphique."
+#, fuzzy
+msgid "Error:"
+msgstr "Erreur"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Copier l'erreur"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Copier l'erreur"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Source"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Source"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Source"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Pile des appels"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Erreurs"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Processus enfant connecté"
#: editor/script_editor_debugger.cpp
@@ -10390,6 +10631,11 @@ msgid "Copy Error"
msgstr "Copier l'erreur"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Point d'arrêts"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Inspecter l'instance précédente"
@@ -10406,6 +10652,11 @@ msgid "Profiler"
msgstr "Profileur"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Profil d'exportation"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Moniteur"
@@ -10418,6 +10669,11 @@ msgid "Monitors"
msgstr "Moniteurs"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+"Sélectionnez un ou plusieurs éléments de la liste pour afficher le graphique."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Liste de l'utilisation de la mémoire vidéo par ressource :"
@@ -10614,10 +10870,6 @@ msgid "Library"
msgstr "Bibliothèque"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "État"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Bibliothèques: "
@@ -10626,6 +10878,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "L'argument du pas est zéro !"
@@ -10781,6 +11037,15 @@ msgstr "Paramètres GridMap"
msgid "Pick Distance:"
msgstr "Choisissez distance :"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Méthodes de filtrage"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Le nom de classe ne peut pas être un mot-clé réservé"
@@ -10908,29 +11173,28 @@ msgid "Set Variable Type"
msgstr "Définir type de variable"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr ""
-"Ne doit pas entrer en conflit avec un nom de type existant intégré au moteur."
+msgstr "Remplacer une fonction intégrée existante."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Créer un nouveau rectangle."
+msgstr "Créer une nouvelle fonction."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variables :"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Créer un nouveau rectangle."
+msgstr "Créer une nouvelle variable."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signaux :"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Créer un nouveau polygone."
+msgstr "Créer un nouveau signal."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11089,6 +11353,11 @@ msgid "Editing Signal:"
msgstr "Modification du signal :"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Rendre local"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Type de base :"
@@ -11251,8 +11520,10 @@ msgstr ""
"paramètres de l'éditeur."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"Le projet Android n'est pas installé et ne peut donc pas être compilé. "
"Installez-le depuis le menu Éditeur."
@@ -11281,6 +11552,10 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
+"La version d'Android ne correspond pas :\n"
+" Modèle installé : %s\n"
+" Version Godot : %s\n"
+"Veuillez réinstaller la version d'Android depuis le menu 'Projet'."
#: platform/android/export/export.cpp
msgid "Building Android Project (gradle)"
@@ -11609,7 +11884,6 @@ msgstr ""
"Skeleton2D et définissez-en une."
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid ""
"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
@@ -12061,6 +12335,45 @@ msgstr "Les variations ne peuvent être affectées que dans la fonction vertex."
msgid "Constants cannot be modified."
msgstr "Les constantes ne peuvent être modifiées."
+#~ msgid "Properties:"
+#~ msgstr "Propriétés :"
+
+#~ msgid "Methods:"
+#~ msgstr "Méthodes :"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Propriétés du thème :"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Recensements :"
+
+#~ msgid "Constants:"
+#~ msgstr "Constantes :"
+
+#~ msgid "Class Description:"
+#~ msgstr "Description de la classe :"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Description des propriétés :"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Descriptions des méthode :"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Ceci va installer le projet Android pour des compilations "
+#~ "personnalisées.\n"
+#~ "Notez que pour l'utiliser, vous devez l'activer pour chaque préréglage "
+#~ "d'exportation."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Tri inverse."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Supprimer le(s) nœud(s) ?"
+
#~ msgid "No Matches"
#~ msgstr "Pas de correspondances"
@@ -12305,9 +12618,6 @@ msgstr "Les constantes ne peuvent être modifiées."
#~ "Instancie la(les) scène(s) sélectionnée(s) en tant qu'enfant(s) du nœud "
#~ "sélectionné."
-#~ msgid "Warnings:"
-#~ msgstr "Avertissements :"
-
#~ msgid "Font Size:"
#~ msgstr "Taille de police :"
diff --git a/editor/translations/ga.po b/editor/translations/ga.po
index 9f7166b719..c749cd35f8 100644
--- a/editor/translations/ga.po
+++ b/editor/translations/ga.po
@@ -56,6 +56,35 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Measc"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -455,6 +484,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -772,7 +805,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -873,7 +907,8 @@ msgstr "Cuardach:"
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1173,7 +1208,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1364,6 +1399,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1583,6 +1619,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1653,6 +1690,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1808,46 +1846,27 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "Cuntas:"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1856,19 +1875,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1883,10 +1894,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1897,10 +1904,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1967,8 +1970,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1981,6 +1984,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2520,6 +2565,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2719,10 +2776,6 @@ msgstr ""
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 ""
@@ -2773,10 +2826,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2798,15 +2847,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2869,6 +2924,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2878,6 +2937,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2906,11 +2969,6 @@ msgstr ""
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 ""
@@ -3688,8 +3746,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4115,6 +4173,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4673,10 +4732,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4939,6 +4994,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5987,7 +6046,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6187,11 +6246,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6271,7 +6330,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7038,6 +7097,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7352,6 +7415,15 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Scagairí..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7482,6 +7554,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7636,6 +7713,101 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Ainm nua:"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Scrios ionchur"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage Selected"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7869,6 +8041,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9059,6 +9236,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9195,6 +9376,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9358,10 +9543,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9417,6 +9598,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9457,7 +9642,19 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9835,11 +10032,36 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Acmhainn"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9847,7 +10069,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9855,6 +10077,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9871,6 +10097,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9883,6 +10113,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10079,10 +10313,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10091,6 +10321,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10242,6 +10476,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Scagairí..."
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10377,6 +10620,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10533,6 +10780,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10680,7 +10931,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/he.po b/editor/translations/he.po
index 4847730e69..bb7ef89008 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-11 10:23+0000\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/"
"godot/he/>\n"
@@ -24,7 +24,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -67,6 +67,34 @@ msgstr ": ×רגומנט שגוי מסוג: "
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
#, fuzzy
msgid "Free"
@@ -74,11 +102,11 @@ msgstr "×—×™× ×"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
-msgstr ""
+msgstr "מ×וזן"
#: editor/animation_bezier_editor.cpp
msgid "Mirror"
-msgstr ""
+msgstr "מר××”"
#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
msgid "Time:"
@@ -233,8 +261,9 @@ msgid "Audio Clips:"
msgstr "מ×זין לשמע"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Anim Clips:"
-msgstr ""
+msgstr "קטעי הנפשה:"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -263,7 +292,7 @@ msgstr "הסרת רצועה."
#: editor/animation_track_editor.cpp
msgid "Time (s): "
-msgstr "זמן: "
+msgstr "זמן (שניות): "
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -283,7 +312,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Capture"
-msgstr ""
+msgstr "לכידה"
#: editor/animation_track_editor.cpp
msgid "Nearest"
@@ -291,7 +320,6 @@ msgstr "הקרוב ביותר"
#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
-#, fuzzy
msgid "Linear"
msgstr "ליני×רי"
@@ -331,22 +359,20 @@ msgid "Change Animation Interpolation Mode"
msgstr "החלפת ערך מילון"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Loop Mode"
msgstr "שינוי מצב לול×ת הנפשה"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Remove Anim Track"
-msgstr "מחק רצועת הנפשה"
+msgstr "מחיקת רצועת הנפשה"
#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
-msgstr "ליצור רצועה חדשה ל%s ולהכניס מפתח?"
+msgstr "×”×× ×œ×™×¦×•×¨ רצועה חדשה ל%s ולהכניס מפתח?"
#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
-msgstr "ליצור %d רצועות חדשות ולהכניס מפתחות?"
+msgstr "×”×× ×œ×™×¦×•×¨ %d רצועות חדשות ולהכניס מפתחות?"
#: editor/animation_track_editor.cpp editor/create_dialog.cpp
#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
@@ -370,9 +396,8 @@ msgid "AnimationPlayer can't animate itself, only other players."
msgstr "נגן הנפשות ×œ× ×™×›×•×œ להנפיש ×ת עצמו, רק ×©×—×§× ×™× ×חרי×."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Create & Insert"
-msgstr "יצירת הנפשה"
+msgstr "יצירה והוספה של הנפשה"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
@@ -504,6 +529,10 @@ msgid "Select None"
msgstr "בחירה"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -834,7 +863,8 @@ msgstr "שגי×ת חיבור"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -941,7 +971,8 @@ msgstr "חיפוש:"
msgid "Matches:"
msgstr "הת×מות:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1247,7 +1278,8 @@ msgid "Delete Bus Effect"
msgstr "מחיקת ×פקט ×פיק"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "×פיק שמע, יש לגרור ולשחרר כדי לסדר מחדש."
#: editor/editor_audio_buses.cpp
@@ -1443,6 +1475,7 @@ msgid "Add AutoLoad"
msgstr "הוספת טעינה ×וטומטית"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "נתיב:"
@@ -1681,6 +1714,7 @@ msgstr "(נוכחי)"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "חדש"
@@ -1760,6 +1794,7 @@ msgid "New Folder..."
msgstr "תיקייה חדשה…"
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "רענון"
@@ -1923,7 +1958,8 @@ msgid "Inherited by:"
msgstr "מוריש ×ל:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "תי×ור קצר:"
#: editor/editor_help.cpp
@@ -1931,41 +1967,19 @@ msgid "Properties"
msgstr "מ×פייני×"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "שיטות"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "שיטות"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "מ×פייני×"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-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 "מונה "
@@ -1974,22 +1988,14 @@ msgid "Constants"
msgstr "קבועי×"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "קבועי×:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "תי×ור"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "תי×ור:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
-msgstr ""
+msgid "Online Tutorials"
+msgstr "×ž×¡×ž×›×™× ×ž×§×•×•× ×™×"
#: editor/editor_help.cpp
msgid ""
@@ -2004,11 +2010,6 @@ msgid "Property Descriptions"
msgstr "תי×ור המ×פיין:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -2020,11 +2021,6 @@ msgid "Method Descriptions"
msgstr "תי×ור השיטה:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "תי×ור השיטה:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2101,8 +2097,8 @@ msgstr "פלט:"
msgid "Copy Selection"
msgstr "הסרת הבחירה"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2115,6 +2111,49 @@ msgstr "מחיקה"
msgid "Clear Output"
msgstr "מחיקת הפלט"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "עצירה"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "הורדה"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "מפרק"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2671,6 +2710,19 @@ msgstr "מיז×"
msgid "Project Settings..."
msgstr "הגדרות מיז×"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "גרסה:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2883,10 +2935,6 @@ msgstr "השהיית סצנה"
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 "נגינת הסצנה שנערכה."
@@ -2942,10 +2990,6 @@ msgid "Inspector"
msgstr "חוקר"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "מפרק"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "להרחיב הכול"
@@ -2969,15 +3013,21 @@ msgstr "ניהול תבניות ייצו×"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3040,6 +3090,10 @@ msgstr "פתיחת העורך הב×"
msgid "Open the previous Editor"
msgstr "פתיחת העורך הקוד×"
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -3050,6 +3104,11 @@ msgstr "תמונה ממוזערת…"
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "הרצת סקריפט"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "עריכת מצולע"
@@ -3079,11 +3138,6 @@ msgstr "מצב:"
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 "מדידה:"
@@ -3903,8 +3957,9 @@ msgstr " קבצי×"
msgid "Import As:"
msgstr "×™×™×‘×•× ×‘×ª×•×¨:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
msgstr "ערכה מוגדרת…"
#: editor/import_dock.cpp
@@ -4364,6 +4419,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4950,11 +5006,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "מוגשת בקשה…"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5235,6 +5286,11 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "מצב שינוי קנה מידה (R)"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "החלפת מצב נקודת עצירה"
@@ -6317,7 +6373,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6533,14 +6589,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "לצעוד מעל"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "עצירה"
@@ -6624,7 +6680,7 @@ msgstr "מחיקת ×§×‘×¦×™× ×חרוני×"
msgid "Connections to method:"
msgstr "התחברות למפרק:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "מש×ב"
@@ -7438,6 +7494,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "מצב הזזה (W)"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "×נימציות"
@@ -7766,6 +7827,15 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "מ×פייני פריט."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7913,6 +7983,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "להסיר ×ת ×”×§×‘×¦×™× ×”× ×‘×—×¨×™× ×ž×”×ž×™×–×? (××™ ×פשר לשחזר)"
@@ -8085,6 +8160,110 @@ msgstr "×œ× × ×™×ª×Ÿ לבצע פעולה זו ×œ×œ× ×¡×¦× ×”."
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "×œ× ×¦×•×™×Ÿ ש×"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "קהילה"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "הגדלת ×ות ר×שונה"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "יצירת %s חדש"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "שינוי"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "שינוי ש×"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "למחוק"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "שינוי"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "מחובר"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "לשמור הכול"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "סנכרון ×”×©×™× ×•×™×™× ×‘×¡×§×¨×™×¤×˜"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8338,6 +8517,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9556,6 +9740,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9695,6 +9883,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "ערכה מוגדרת…"
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9868,10 +10060,6 @@ msgstr "×ותיות גדולות"
msgid "Reset"
msgstr "×יפוס התקריב"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9927,6 +10115,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9968,10 +10160,24 @@ msgid "Make node as Root"
msgstr "שמירת סצנה"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "מחיקת שורה"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "מחיקת שורה"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10376,11 +10582,41 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+#, fuzzy
+msgid "Warning:"
+msgstr "×זהרות"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Error:"
+msgstr "מר××”"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "שגי×ות טעינה"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "C++ Source"
+msgstr "מש×ב"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "מש×ב"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "מש×ב"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10388,14 +10624,20 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "מנותק"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "מחיקת נקודות"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10412,6 +10654,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "×™×™×¦×•× ×ž×™×–×"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10424,6 +10671,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10622,10 +10873,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10634,6 +10881,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10788,6 +11039,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr "בחירת מרחק:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "מ×פייני פריט."
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10926,6 +11186,10 @@ msgid "Create a new variable."
msgstr "יצירת %s חדש"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "×ותות:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "יצירת מצולע"
@@ -11086,6 +11350,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11235,7 +11503,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11899,6 +12168,36 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "שיטות"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "מ×פייני×"
+
+#~ msgid "Enumerations:"
+#~ msgstr "מוני×:"
+
+#~ msgid "Constants:"
+#~ msgstr "קבועי×:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "תי×ור:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "תי×ור המ×פיין:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "תי×ור השיטה:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "מוגשת בקשה…"
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12026,10 +12325,6 @@ msgstr ""
#~ msgstr "צעד/×™×:"
#, fuzzy
-#~ msgid "Warnings:"
-#~ msgstr "×זהרות"
-
-#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "מבט קדמי"
@@ -12063,9 +12358,6 @@ msgstr ""
#~ msgid "Select a split to erase it."
#~ msgstr "יש לבחור פריט הגדרה ×§×•×“× ×›×œ!"
-#~ msgid "No name provided"
-#~ msgstr "×œ× ×¦×•×™×Ÿ ש×"
-
#~ msgid "Create Poly"
#~ msgstr "יצירת מצולע"
diff --git a/editor/translations/hi.po b/editor/translations/hi.po
index d4030266c5..053555ba11 100644
--- a/editor/translations/hi.po
+++ b/editor/translations/hi.po
@@ -60,6 +60,34 @@ msgstr "'%s' बनाने के लिठअवैध तरà¥à¤•"
msgid "On call to '%s':"
msgstr "'%s ' को कॉल करने पर:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "मà¥à¤«à¥à¤¤"
@@ -484,6 +512,10 @@ msgid "Select None"
msgstr "डà¥à¤ªà¥à¤²à¤¿à¤•ेट चयन"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -815,7 +847,8 @@ msgstr "कनेकà¥à¤Ÿ करने के लिठसंकेत:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -927,7 +960,8 @@ msgstr "खोज कर:"
msgid "Matches:"
msgstr "à¤à¤• जैसा:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1257,7 +1291,8 @@ msgid "Delete Bus Effect"
msgstr "बस पà¥à¤°à¤­à¤¾à¤µ हटाना"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "पà¥à¤¨: वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ करने के लिठऑडियो बस, खींचें और डà¥à¤°à¥‰à¤ª |"
#: editor/editor_audio_buses.cpp
@@ -1450,6 +1485,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1674,6 +1710,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1746,6 +1783,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1902,46 +1940,27 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "विवरण:"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1950,21 +1969,12 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "विवरण:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "विवरण:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1980,11 +1990,6 @@ msgid "Property Descriptions"
msgstr "विवरण:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -1996,11 +2001,6 @@ msgid "Method Descriptions"
msgstr "विवरण:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "विवरण:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2069,8 +2069,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "सभी खंड"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2083,6 +2083,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2628,6 +2670,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2830,10 +2884,6 @@ msgstr ""
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 ""
@@ -2884,10 +2934,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2909,15 +2955,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2980,6 +3032,11 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "संसाधन"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2989,6 +3046,11 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "निरà¥à¤­à¤°à¤¤à¤¾ संपादक"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -3017,11 +3079,6 @@ msgstr ""
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 ""
@@ -3824,9 +3881,10 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "रीसेट आकार"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4263,6 +4321,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4832,10 +4891,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5108,6 +5163,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6167,7 +6226,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6376,11 +6435,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6461,7 +6520,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "संसाधन"
@@ -7243,6 +7302,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Animations:"
msgstr "कारà¥à¤¯à¥‹à¤‚:"
@@ -7564,6 +7627,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7701,6 +7772,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "परियोजना से चयनित फ़ाइलें निकालें? (कोई पूरà¥à¤µà¤µà¤¤ नहीं)"
@@ -7867,6 +7943,104 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "समà¥à¤¦à¤¾à¤¯"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "à¤à¤• नया बनाà¤à¤‚"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "ऑडियो बस का नाम बदलें"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "को हटा दें"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "जà¥à¤¡à¤¿à¤¯à¥‡"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8111,6 +8285,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9312,6 +9491,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9449,6 +9632,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9613,10 +9800,6 @@ msgstr ""
msgid "Reset"
msgstr "रीसेट आकार"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9672,6 +9855,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9712,10 +9899,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "को हटा दें"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "को हटा दें"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10101,26 +10302,60 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "पà¥à¤°à¤¤à¤¿à¤®à¤¾"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "संसाधन"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "संसाधन"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "संसाधन"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Child process connected."
+msgstr "डिसà¥à¤•नेकà¥à¤Ÿ"
+
+#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "à¤à¤• नया बनाà¤à¤‚"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10137,6 +10372,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10149,6 +10388,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10345,10 +10588,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10357,6 +10596,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10511,6 +10754,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10648,6 +10899,10 @@ msgid "Create a new variable."
msgstr "à¤à¤• नया बनाà¤à¤‚"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚"
@@ -10805,6 +11060,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10952,7 +11211,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11608,6 +11868,18 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "विवरण:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "विवरण:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "विवरण:"
+
#~ msgid "Invalid font size."
#~ msgstr "गलत फॉणà¥à¤Ÿ का आकार |"
diff --git a/editor/translations/hr.po b/editor/translations/hr.po
index b9d3494ea2..841272aed4 100644
--- a/editor/translations/hr.po
+++ b/editor/translations/hr.po
@@ -4,11 +4,12 @@
# This file is distributed under the same license as the Godot source code.
# Unlimited Creativity <marinosah1@gmail.com>, 2019.
# Patik <patrikfs5@gmail.com>, 2019.
+# Nikola Bunjevac <nikola.bunjevac@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2019-05-20 11:49+0000\n"
-"Last-Translator: Patik <patrikfs5@gmail.com>\n"
+"PO-Revision-Date: 2019-09-11 03:10+0000\n"
+"Last-Translator: Nikola Bunjevac <nikola.bunjevac@gmail.com>\n"
"Language-Team: Croatian <https://hosted.weblate.org/projects/godot-engine/"
"godot/hr/>\n"
"Language: hr\n"
@@ -16,12 +17,12 @@ 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.7-dev\n"
+"X-Generator: Weblate 3.9-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 "Neispravni argument za convert(), upotrijebi konstantu TYPE_*"
+msgstr "Neispravan argument za convert(), upotrijebi konstantu TYPE_*."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
@@ -57,9 +58,37 @@ msgstr "Nevažeći argumenti za konstrukciju '%s'"
msgid "On call to '%s':"
msgstr "Pri pozivu '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
-msgstr ""
+msgstr "Slobodno"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
@@ -67,15 +96,15 @@ msgstr "Balansiran"
#: editor/animation_bezier_editor.cpp
msgid "Mirror"
-msgstr ""
+msgstr "Zrcaljenje"
#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
msgid "Time:"
-msgstr ""
+msgstr "Vrijeme:"
#: editor/animation_bezier_editor.cpp
msgid "Value:"
-msgstr ""
+msgstr "Vrijednost:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -459,6 +488,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Pokaži samo staze Ävorova oznaÄenih u stablu."
@@ -525,35 +558,35 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Go to Previous Step"
-msgstr ""
+msgstr "Idi na prethodni korak"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
-msgstr ""
+msgstr "Optimiraj animaciju"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation"
-msgstr ""
+msgstr "OÄisti animaciju"
#: editor/animation_track_editor.cpp
msgid "Pick the node that will be animated:"
-msgstr ""
+msgstr "Odaberi Ävor koji će se animirati:"
#: editor/animation_track_editor.cpp
msgid "Use Bezier Curves"
-msgstr ""
+msgstr "Koristi Bezierove krivulje"
#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
-msgstr ""
+msgstr "Anim. optimizator"
#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
-msgstr ""
+msgstr "Najveća linearna pogreška:"
#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
-msgstr ""
+msgstr "Najveća kutna pogreška:"
#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
@@ -561,15 +594,15 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Optimize"
-msgstr ""
+msgstr "Optimiraj"
#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
-msgstr ""
+msgstr "Ukloni neispravne kljuÄeve"
#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
-msgstr ""
+msgstr "Ukloni nepronađene i prazne trake"
#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
@@ -626,23 +659,23 @@ msgstr ""
#: editor/code_editor.cpp
msgid "Go to Line"
-msgstr ""
+msgstr "Idi na liniju"
#: editor/code_editor.cpp
msgid "Line Number:"
-msgstr ""
+msgstr "Broj linije:"
#: editor/code_editor.cpp
msgid "Replaced %d occurrence(s)."
-msgstr ""
+msgstr "Zamijenjeno %d pojavljivanja."
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "%d match."
-msgstr ""
+msgstr "%d pojavljivanje."
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "%d matches."
-msgstr ""
+msgstr "%d pojavljivanja."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -650,19 +683,19 @@ msgstr ""
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Whole Words"
-msgstr ""
+msgstr "Cijele rijeÄi"
#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
-msgstr ""
+msgstr "Zamijeni"
#: editor/code_editor.cpp
msgid "Replace All"
-msgstr ""
+msgstr "Zamijeni sve"
#: editor/code_editor.cpp
msgid "Selection Only"
-msgstr ""
+msgstr "Samo odabir"
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
@@ -673,57 +706,59 @@ msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom In"
-msgstr ""
+msgstr "Zumiraj"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Out"
-msgstr ""
+msgstr "Odzumiraj"
#: editor/code_editor.cpp
msgid "Reset Zoom"
-msgstr ""
+msgstr "Resetiraj zoom"
#: editor/code_editor.cpp
msgid "Warnings"
-msgstr ""
+msgstr "Upozorenja"
#: editor/code_editor.cpp
msgid "Line and column numbers."
-msgstr ""
+msgstr "Brojevi linija i stupaca."
#: editor/connections_dialog.cpp
msgid "Method in target node must be specified."
-msgstr ""
+msgstr "Metoda u ciljnom Ävoru mora biti odreÄ‘ena."
#: editor/connections_dialog.cpp
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
+"Ciljna metoda nije pronađena. Specificiraj ispravnu metodu ili dodaj skriptu "
+"na ciljni Ävor."
#: editor/connections_dialog.cpp
msgid "Connect to Node:"
-msgstr ""
+msgstr "Spoji s Ävorom:"
#: editor/connections_dialog.cpp
msgid "Connect to Script:"
-msgstr ""
+msgstr "Spoji sa skriptom:"
#: editor/connections_dialog.cpp
msgid "From Signal:"
-msgstr ""
+msgstr "Iz signala:"
#: editor/connections_dialog.cpp
msgid "Scene does not contain any script."
-msgstr ""
+msgstr "Scena ne sadrži niti jednu skriptu."
#: 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 ""
+msgstr "Dodaj"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/editor_feature_profile.cpp editor/groups_editor.cpp
@@ -734,15 +769,15 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
-msgstr ""
+msgstr "Ukloni"
#: editor/connections_dialog.cpp
msgid "Add Extra Call Argument:"
-msgstr ""
+msgstr "Dodaj argument poziva:"
#: editor/connections_dialog.cpp
msgid "Extra Call Arguments:"
-msgstr ""
+msgstr "Dodatni argumenti poziva:"
#: editor/connections_dialog.cpp
#, fuzzy
@@ -751,24 +786,24 @@ msgstr "Balansiran"
#: editor/connections_dialog.cpp
msgid "Deferred"
-msgstr ""
+msgstr "Odgođeno"
#: editor/connections_dialog.cpp
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
+msgstr "Odgađa signal spremanjem u red i okidanjem prilikom dokolice."
#: editor/connections_dialog.cpp
msgid "Oneshot"
-msgstr ""
+msgstr "Jednookidajući"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Odspaja signal nakon prvog slanja."
#: editor/connections_dialog.cpp
msgid "Cannot connect signal"
-msgstr ""
+msgstr "Ne mogu spojiti signal"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -777,142 +812,148 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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 ""
+msgstr "Zatvori"
#: editor/connections_dialog.cpp
msgid "Connect"
-msgstr ""
+msgstr "Spoji"
#: editor/connections_dialog.cpp
msgid "Signal:"
-msgstr ""
+msgstr "Signal:"
#: editor/connections_dialog.cpp
msgid "Connect '%s' to '%s'"
-msgstr ""
+msgstr "Spoji '%s' na '%s'"
#: editor/connections_dialog.cpp
msgid "Disconnect '%s' from '%s'"
-msgstr ""
+msgstr "Odspoji '%s' od '%s'"
#: editor/connections_dialog.cpp
msgid "Disconnect all from signal: '%s'"
-msgstr ""
+msgstr "Odspoji sve sa signala: '%s'"
#: editor/connections_dialog.cpp
msgid "Connect..."
-msgstr ""
+msgstr "Spoji..."
#: editor/connections_dialog.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
-msgstr ""
+msgstr "Odspoji"
#: editor/connections_dialog.cpp
msgid "Connect a Signal to a Method"
-msgstr ""
+msgstr "Spoji signal na metodu"
#: editor/connections_dialog.cpp
msgid "Edit Connection:"
-msgstr ""
+msgstr "Uredi vezu:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr ""
+msgstr "Jesi li siguran da želiš ukloniti sve veze s \"%s\" signala?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr ""
+msgstr "Signali"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from this signal?"
-msgstr ""
+msgstr "Jesi li siguran da želiš ukloniti sve veze s ovog signala?"
#: editor/connections_dialog.cpp
msgid "Disconnect All"
-msgstr ""
+msgstr "Odspoji sve"
#: editor/connections_dialog.cpp
msgid "Edit..."
-msgstr ""
+msgstr "Uredi..."
#: editor/connections_dialog.cpp
msgid "Go To Method"
-msgstr ""
+msgstr "Idi na metodu"
#: editor/create_dialog.cpp
msgid "Change %s Type"
-msgstr ""
+msgstr "Promijeni tip %s"
#: editor/create_dialog.cpp editor/project_settings_editor.cpp
msgid "Change"
-msgstr ""
+msgstr "Promijeni"
#: editor/create_dialog.cpp
msgid "Create New %s"
-msgstr ""
+msgstr "Napravi novi %s"
#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
#: editor/filesystem_dock.cpp
msgid "Favorites:"
-msgstr ""
+msgstr "Favoriti:"
#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
msgid "Recent:"
-msgstr ""
+msgstr "Nedavno:"
#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
#: editor/property_selector.cpp editor/quick_open.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
-msgstr ""
+msgstr "Pretraga:"
#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
#: editor/property_selector.cpp editor/quick_open.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
-msgstr ""
+msgstr "Podudaranja:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
-msgstr ""
+msgstr "Opis:"
#: editor/dependency_editor.cpp
msgid "Search Replacement For:"
-msgstr ""
+msgstr "Traži zamjenu za:"
#: editor/dependency_editor.cpp
msgid "Dependencies For:"
-msgstr ""
+msgstr "Ovisnosti za:"
#: editor/dependency_editor.cpp
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
+"Scena '%s' se trenutno uređuje.\n"
+"Promjene će biti vidljive tek nakon osvježavanja."
#: editor/dependency_editor.cpp
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
+"Resurs '%s' je u upotrebi.\n"
+"Promjene će biti vidljive tek nakon osvježavanja."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Dependencies"
-msgstr ""
+msgstr "Ovisnosti"
#: editor/dependency_editor.cpp
msgid "Resource"
-msgstr ""
+msgstr "Resurs"
#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp
#: editor/project_settings_editor.cpp editor/script_create_dialog.cpp
@@ -921,15 +962,15 @@ msgstr ""
#: editor/dependency_editor.cpp
msgid "Dependencies:"
-msgstr ""
+msgstr "Ovisnosti:"
#: editor/dependency_editor.cpp
msgid "Fix Broken"
-msgstr ""
+msgstr "Popravi neispravne"
#: editor/dependency_editor.cpp
msgid "Dependency Editor"
-msgstr ""
+msgstr "UreÄ‘ivaÄ ovisnosti"
#: editor/dependency_editor.cpp
msgid "Search Replacement Resource:"
@@ -943,7 +984,7 @@ msgstr ""
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
msgid "Open"
-msgstr ""
+msgstr "Otvori"
#: editor/dependency_editor.cpp
msgid "Owners Of:"
@@ -951,7 +992,7 @@ msgstr ""
#: editor/dependency_editor.cpp
msgid "Remove selected files from the project? (Can't be restored)"
-msgstr ""
+msgstr "Ukloni odabrane datoteke iz projekta? (Neće ih biti moguće vratiti)"
#: editor/dependency_editor.cpp
msgid ""
@@ -959,46 +1000,49 @@ msgid ""
"work.\n"
"Remove them anyway? (no undo)"
msgstr ""
+"Datoteke koje se uklanjaju su nužne drugim resursima kako bi ispravno "
+"radili.\n"
+"Svejedno ih ukloni? (nema povratka)"
#: editor/dependency_editor.cpp
msgid "Cannot remove:"
-msgstr ""
+msgstr "Ne mogu ukloniti:"
#: editor/dependency_editor.cpp
msgid "Error loading:"
-msgstr ""
+msgstr "PogreÅ¡ka uÄitavanja:"
#: editor/dependency_editor.cpp
msgid "Load failed due to missing dependencies:"
-msgstr ""
+msgstr "UÄitavanje nije uspjelo zbog nepostojećih ovisnosti:"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Open Anyway"
-msgstr ""
+msgstr "Svejedno otvori"
#: editor/dependency_editor.cpp
msgid "Which action should be taken?"
-msgstr ""
+msgstr "Koju radnju treba izvesti?"
#: editor/dependency_editor.cpp
msgid "Fix Dependencies"
-msgstr ""
+msgstr "Popravi ovisnosti"
#: editor/dependency_editor.cpp
msgid "Errors loading!"
-msgstr ""
+msgstr "PogreÅ¡ke uÄitavanja!"
#: editor/dependency_editor.cpp
msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr ""
+msgstr "Trajno obriši %d stavki? (Nema povratka!)"
#: editor/dependency_editor.cpp
msgid "Show Dependencies"
-msgstr ""
+msgstr "Prikaži ovisnosti"
#: editor/dependency_editor.cpp
msgid "Orphan Resource Explorer"
-msgstr ""
+msgstr "IstraživaÄ napuÅ¡tenih resursa"
#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
@@ -1006,11 +1050,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
msgid "Delete"
-msgstr ""
+msgstr "Obriši"
#: editor/dependency_editor.cpp
msgid "Owns"
-msgstr ""
+msgstr "Posjeduje"
#: editor/dependency_editor.cpp
msgid "Resources Without Explicit Ownership:"
@@ -1018,75 +1062,75 @@ msgstr ""
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Key"
-msgstr ""
+msgstr "Promijeni kljuÄ u rjeÄniku"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Value"
-msgstr ""
+msgstr "Promijeni vrijednost u rjeÄniku"
#: editor/editor_about.cpp
msgid "Thanks from the Godot community!"
-msgstr ""
+msgstr "Hvala od Godot zajednice!"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
-msgstr ""
+msgstr "Godot Engine suradnici"
#: editor/editor_about.cpp
msgid "Project Founders"
-msgstr ""
+msgstr "OsnivaÄi projekta"
#: editor/editor_about.cpp
msgid "Lead Developer"
-msgstr ""
+msgstr "Glavni razvijatelj"
#: editor/editor_about.cpp
msgid "Project Manager "
-msgstr ""
+msgstr "Projektni menadžer "
#: editor/editor_about.cpp
msgid "Developers"
-msgstr ""
+msgstr "Razvijatelji"
#: editor/editor_about.cpp
msgid "Authors"
-msgstr ""
+msgstr "Autori"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "Platinasti sponzori"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "Zlatni sponzori"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "Mini sponzori"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "Zlatni donatori"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "Srebrni donatori"
#: editor/editor_about.cpp
msgid "Bronze Donors"
-msgstr ""
+msgstr "BronÄani donatori"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "Donatori"
#: editor/editor_about.cpp
msgid "License"
-msgstr ""
+msgstr "Licenca"
#: editor/editor_about.cpp
msgid "Third-party Licenses"
-msgstr ""
+msgstr "Licence trećih strana"
#: editor/editor_about.cpp
msgid ""
@@ -1098,19 +1142,19 @@ msgstr ""
#: editor/editor_about.cpp
msgid "All Components"
-msgstr ""
+msgstr "Sve komponente"
#: editor/editor_about.cpp
msgid "Components"
-msgstr ""
+msgstr "Komponente"
#: editor/editor_about.cpp
msgid "Licenses"
-msgstr ""
+msgstr "Licence"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Error opening package file, not in ZIP format."
-msgstr ""
+msgstr "Pogreška prilikom otvaranja datoteke paketa, nije u ZIP formatu."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1118,16 +1162,16 @@ msgstr ""
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Package installed successfully!"
-msgstr ""
+msgstr "Paket uspješno instaliran!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Success!"
-msgstr ""
+msgstr "Uspjeh!"
#: editor/editor_asset_installer.cpp editor/editor_node.cpp
msgid "Install"
-msgstr ""
+msgstr "Instaliraj"
#: editor/editor_asset_installer.cpp
msgid "Package Installer"
@@ -1135,19 +1179,19 @@ msgstr ""
#: editor/editor_audio_buses.cpp
msgid "Speakers"
-msgstr ""
+msgstr "ZvuÄnici"
#: editor/editor_audio_buses.cpp
msgid "Add Effect"
-msgstr ""
+msgstr "Dodaj efekt"
#: editor/editor_audio_buses.cpp
msgid "Rename Audio Bus"
-msgstr ""
+msgstr "Preimenuj zvuÄnu sabirnicu"
#: editor/editor_audio_buses.cpp
msgid "Change Audio Bus Volume"
-msgstr ""
+msgstr "Promijeni glasnoću zvuÄne sabirnice"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Solo"
@@ -1167,7 +1211,7 @@ msgstr ""
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus Effect"
-msgstr ""
+msgstr "Dodaj efekt zvuÄne sabirnice"
#: editor/editor_audio_buses.cpp
msgid "Move Bus Effect"
@@ -1178,7 +1222,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1369,6 +1413,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1588,6 +1633,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1658,6 +1704,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1671,50 +1718,50 @@ msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a File"
-msgstr ""
+msgstr "Otvori datoteku"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open File(s)"
-msgstr ""
+msgstr "Otvori datoteke"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a Directory"
-msgstr ""
+msgstr "Otvori direktorij"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a File or Directory"
-msgstr ""
+msgstr "Otvori datoteku ili direktorij"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
#: editor/editor_properties.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 ""
+msgstr "Spremi"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Save a File"
-msgstr ""
+msgstr "Spremi datoteku"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
-msgstr ""
+msgstr "Natrag"
#: editor/editor_file_dialog.cpp
msgid "Go Forward"
-msgstr ""
+msgstr "Naprijed"
#: editor/editor_file_dialog.cpp
msgid "Go Up"
-msgstr ""
+msgstr "Idi gore"
#: editor/editor_file_dialog.cpp
msgid "Toggle Hidden Files"
-msgstr ""
+msgstr "Prikaži/sakrij skrivene datoteke"
#: editor/editor_file_dialog.cpp
msgid "Toggle Favorite"
-msgstr ""
+msgstr "Prikaži/sakrij favorite"
#: editor/editor_file_dialog.cpp
msgid "Toggle Mode"
@@ -1726,27 +1773,27 @@ msgstr ""
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Up"
-msgstr ""
+msgstr "Pomakni favorita gore"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Down"
-msgstr ""
+msgstr "Pomakni favorita dolje"
#: editor/editor_file_dialog.cpp
msgid "Go to previous folder."
-msgstr ""
+msgstr "Idi u prethodni direktorij."
#: editor/editor_file_dialog.cpp
msgid "Go to next folder."
-msgstr ""
+msgstr "Idi u sljedeći direktorij."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Go to parent folder."
-msgstr ""
+msgstr "Idi u roditeljski direktorij."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Refresh files."
-msgstr ""
+msgstr "Osvježi datoteke."
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
@@ -1762,21 +1809,21 @@ msgstr ""
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a list."
-msgstr ""
+msgstr "Prikaži stavke kao listu."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
-msgstr ""
+msgstr "Direktoriji i datoteke:"
#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
#: editor/plugins/style_box_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
msgid "Preview:"
-msgstr ""
+msgstr "Pregled:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File:"
-msgstr ""
+msgstr "Datoteka:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
@@ -1813,46 +1860,27 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "Opis:"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1861,19 +1889,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1888,10 +1908,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1902,10 +1918,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1972,8 +1984,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1986,6 +1998,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2525,6 +2579,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2724,10 +2790,6 @@ msgstr ""
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 ""
@@ -2779,10 +2841,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2804,15 +2862,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2875,6 +2939,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2884,6 +2952,11 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Spoji sa skriptom:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2912,11 +2985,6 @@ msgstr ""
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 ""
@@ -3693,8 +3761,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4120,6 +4188,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4678,10 +4747,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4945,6 +5010,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "NaÄin Interpolacije"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5998,7 +6068,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6198,11 +6268,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6282,7 +6352,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7049,6 +7119,11 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Pomakni favorita gore"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7363,6 +7438,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7496,6 +7579,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7650,6 +7738,106 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Promijeni"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Preimenuj zvuÄnu sabirnicu"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Obriši"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Promijeni"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Brisati odabrani kljuÄ/odabrane kljuÄeve"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Zamijeni sve"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Promijeni"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7884,6 +8072,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9074,6 +9267,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9210,6 +9407,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9373,10 +9574,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9432,6 +9629,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9472,10 +9673,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "ObriÅ¡i kljuÄ(eve)"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "ObriÅ¡i kljuÄ(eve)"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -9852,11 +10067,38 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+#, fuzzy
+msgid "Warning:"
+msgstr "Upozorenja"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Error:"
+msgstr "Zrcaljenje"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Resurs"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9864,7 +10106,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9872,6 +10114,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9888,6 +10134,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9900,6 +10150,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10096,10 +10350,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10108,6 +10358,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10259,6 +10513,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10394,6 +10656,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10550,6 +10816,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10697,7 +10967,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index 4a2ef407d4..2935d5cb92 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -66,6 +66,35 @@ msgstr ""
msgid "On call to '%s':"
msgstr "'%s' hívásánál:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mixelés"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Ingyenes"
@@ -497,6 +526,13 @@ msgid "Select None"
msgstr "Kiválasztó Mód"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Válasszon egy AnimationPlayer-t a Jelenetfából, hogy animációkat "
+"szerkeszthessen."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -833,7 +869,8 @@ msgstr "Csatlakoztató Jelzés:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -941,7 +978,8 @@ msgstr "Keresés:"
msgid "Matches:"
msgstr "Találatok:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1260,7 +1298,8 @@ msgid "Delete Bus Effect"
msgstr "Busz Effektus Törlése"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Hangbusz, Húzd és Vidd az átrendezéshez."
#: editor/editor_audio_buses.cpp
@@ -1457,6 +1496,7 @@ msgid "Add AutoLoad"
msgstr "AutoLoad Hozzáadása"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Útvonal:"
@@ -1695,6 +1735,7 @@ msgstr "Jelenlegi:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Új"
@@ -1775,6 +1816,7 @@ msgid "New Folder..."
msgstr "Új Mappa..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Frissítés"
@@ -1938,7 +1980,8 @@ msgid "Inherited by:"
msgstr "Åt örökli:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Rövid Leírás:"
#: editor/editor_help.cpp
@@ -1946,41 +1989,19 @@ msgid "Properties"
msgstr "Tulajdonságok"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metódusok"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "Metódusok"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "Tulajdonságok"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-msgstr "Tulajdonságok"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Jelzések:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Felsorolások"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Felsorolások:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1989,21 +2010,13 @@ msgid "Constants"
msgstr "Konstansok"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstansok:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Leírás"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "Leírás:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "Online Oktatóanyagok:"
#: editor/editor_help.cpp
@@ -2022,11 +2035,6 @@ msgid "Property Descriptions"
msgstr "Tulajdonság Leírása:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Tulajdonság Leírása:"
-
-#: 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]!"
@@ -2040,11 +2048,6 @@ msgid "Method Descriptions"
msgstr "Metódus Leírás:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Metódus Leírás:"
-
-#: 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]!"
@@ -2123,8 +2126,8 @@ msgstr "Kimenet:"
msgid "Copy Selection"
msgstr "Kiválasztás eltávolítás"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2137,6 +2140,50 @@ msgstr "Töröl"
msgid "Clear Output"
msgstr "Kimenet Törlése"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Leállítás"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Letöltés"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Node"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2742,6 +2789,19 @@ msgstr "Projekt"
msgid "Project Settings..."
msgstr "Projekt Beállítások"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Verzió:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2972,10 +3032,6 @@ msgstr "Scene szüneteltetés"
msgid "Stop the scene."
msgstr "Leállítja a jelenetet."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Leállítás"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Szerkesztett Scene futtatása."
@@ -3031,10 +3087,6 @@ msgid "Inspector"
msgstr "Megfigyelő"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Node"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "Összes kibontása"
@@ -3058,15 +3110,21 @@ msgstr "Export Sablonok Kezelése"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3129,6 +3187,11 @@ msgstr "Következő Szerkesztő Megnyitása"
msgid "Open the previous Editor"
msgstr "Előző Szerkesztő Megnyitása"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Nincs felületi forrás meghatározva."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Háló Előnézetek Létrehozása"
@@ -3139,6 +3202,11 @@ msgstr "Indexkép..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Szkript Futtatása"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Sokszög Szerkesztése"
@@ -3168,12 +3236,6 @@ msgstr "Ãllapot:"
msgid "Edit:"
msgstr "Szerkesztés"
-#: 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:"
msgstr "Mérés:"
@@ -4004,8 +4066,9 @@ msgstr " Fájlok"
msgid "Import As:"
msgstr "Importálás Mint:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
msgstr "Beépített Beállítások..."
#: editor/import_dock.cpp
@@ -4476,6 +4539,7 @@ msgid "Change Animation Name:"
msgstr "Animáció Nevének Megváltoztatása:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Animáció Törlése?"
@@ -5067,11 +5131,6 @@ msgid "Sort:"
msgstr "Rendezés:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Lekérdezés..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategória:"
@@ -5371,6 +5430,11 @@ msgstr "Pásztázás Mód"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "Kiválasztó Mód"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "Illesztés be- és kikapcsolása"
@@ -6478,7 +6542,7 @@ msgstr "Példány:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Típus:"
@@ -6696,14 +6760,14 @@ msgid "Toggle Scripts Panel"
msgstr "Szkript Panel Megjelenítése"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Ãtlépés"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Belépés"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Ãtlépés"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Szünet"
@@ -6787,7 +6851,7 @@ msgstr "Legutóbbi Jelenetek Törlése"
msgid "Connections to method:"
msgstr "Csatlakoztatás Node-hoz:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Forrás"
@@ -7599,6 +7663,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Mozgás Mód"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animáció"
@@ -7931,6 +8000,15 @@ msgid "Enable Priority"
msgstr "Szűrők Szerkesztése"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Fájlok Szűrése..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -8079,6 +8157,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Jelenlegi tétel eltávolítása"
@@ -8254,6 +8337,110 @@ msgstr "Ezt a műveletet nem lehet végrehajtani egy Scene nélkül."
msgid "TileSet"
msgstr "TileSet-re..."
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Nincs név megadva"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Közösség"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Szó Eleji Nagybetű"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Új %s Létrehozása"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Változtatás"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Ãtnevezés"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Törlés"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Változtatás"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Kiválasztás átméretezés"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Összes Mentése"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Szkript Változtatások Szinkronizálása"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8511,6 +8698,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9733,6 +9925,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Pont Mozgatása a Görbén"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9872,6 +10069,10 @@ msgid "Plugins"
msgstr "Bővítmények"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Beépített Beállítások..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -10045,10 +10246,6 @@ msgstr "Mind Nagybetű"
msgid "Reset"
msgstr "Nagyítás Visszaállítása"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10104,6 +10301,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10145,10 +10346,24 @@ msgid "Make node as Root"
msgstr "Scene mentés"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Node létrehozás"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Node létrehozás"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10553,11 +10768,41 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Hiba!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Hiba Másolása"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Hiba Másolása"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Forrás"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Forrás"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Forrás"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10565,14 +10810,20 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Kapcsolat bontva"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr "Hiba Másolása"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Pontok Törlése"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10589,6 +10840,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Projekt Exportálása"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10601,6 +10857,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10803,10 +11063,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10815,6 +11071,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10969,6 +11229,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Objektumtulajdonságok."
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11113,6 +11382,10 @@ msgid "Create a new variable."
msgstr "Új %s Létrehozása"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Jelzések:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Új sokszög létrehozása a semmiből."
@@ -11273,6 +11546,11 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Csontok Létrehozása"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11422,7 +11700,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12089,6 +12368,36 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "Metódusok"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Tulajdonságok"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Felsorolások:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstansok:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Leírás:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Tulajdonság Leírása:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Metódus Leírás:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Lekérdezés..."
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12240,9 +12549,6 @@ msgstr ""
#~ msgid "Splits"
#~ msgstr "Útvonal Felosztása"
-#~ msgid "No name provided"
-#~ msgstr "Nincs név megadva"
-
#~ msgid "Create Poly"
#~ msgstr "Sokszög Létrehozása"
diff --git a/editor/translations/id.po b/editor/translations/id.po
index 580631d6bc..36aeec932e 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -25,7 +25,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-29 13:35+0000\n"
+"PO-Revision-Date: 2019-09-13 16:50+0000\n"
"Last-Translator: Sofyan Sugianto <sofyanartem@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
"godot/id/>\n"
@@ -53,9 +53,9 @@ msgid "Invalid input %i (not passed) in expression"
msgstr "Masukkan tidak sah %i (tidak diberikan) dalam ekspresi"
#: core/math/expression.cpp
-#, fuzzy
msgid "self can't be used because instance is null (not passed)"
-msgstr "self tidak dapat digunakan karena tidak memiliki instance (not passed)"
+msgstr ""
+"self tidak dapat digunakan karena tidak memiliki instance (tidak lolos)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
@@ -77,6 +77,35 @@ msgstr "argumen untuk membangun '%s' tidak sah"
msgid "On call to '%s':"
msgstr "Pada pemanggilan '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Bercampur"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Bebaskan"
@@ -492,6 +521,12 @@ msgid "Select None"
msgstr "Pilih Tidak Ada"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Lokasi untuk node AnimationPlayer yang mengandung animasi belum diatur."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Hanya tampilkan track dari node terpilih dalam tree."
@@ -670,12 +705,10 @@ msgid "Replaced %d occurrence(s)."
msgstr "kejadian %d diganti."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
msgstr "Ditemukan %d kecocokan."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
msgstr "Ditemukan %d kecocokan."
@@ -814,7 +847,8 @@ msgstr "Tidak dapat menghubungkan sinyal"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -915,7 +949,8 @@ msgstr "Cari:"
msgid "Matches:"
msgstr "Kecocokan:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1129,22 +1164,20 @@ msgid "License"
msgstr "Lisensi"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
msgstr "Lisensi Pihak Ketiga"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot Engine mengandalkan sejumlah perpustakaan bebas dan sumber terbuka "
-"pihak ketiga, semuanya cocok dengan persyaratan lisensi MIT. Berikut adalah "
-"daftar lengkap semua komponen pihak ketiga dengan pernyataan hak cipta dan "
-"lisensi masing-masing."
+"Godot Engine mengandalkan sejumlah pustaka bebas dan sumber terbuka pihak "
+"ketiga, semuanya cocok dengan persyaratan lisensi MIT. Berikut adalah daftar "
+"lengkap semua komponen pihak ketiga dengan pernyataan hak cipta dan lisensi "
+"masing-masing."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1159,7 +1192,6 @@ msgid "Licenses"
msgstr "Lisensi"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
msgstr "Gagal saat membuka paket, tidak dalam bentuk zip."
@@ -1229,7 +1261,8 @@ msgid "Delete Bus Effect"
msgstr "Hapus Effect Bus"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Suara Bus, Geser dan Taruh untuk atur ulang."
#: editor/editor_audio_buses.cpp
@@ -1420,6 +1453,7 @@ msgid "Add AutoLoad"
msgstr "Tambahkan AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Path:"
@@ -1649,6 +1683,7 @@ msgstr "Jadikan Profil Saat Ini"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Baru"
@@ -1719,6 +1754,7 @@ msgid "New Folder..."
msgstr "Buat Direktori..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Segarkan"
@@ -1876,7 +1912,8 @@ msgid "Inherited by:"
msgstr "Diturunkan oleh:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Deskripsi Singkat:"
#: editor/editor_help.cpp
@@ -1884,38 +1921,18 @@ msgid "Properties"
msgstr "Properti Objek"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Properti:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Fungsi"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Metode-metode:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Properti-properti Tema"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Properti-properti Tema:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Sinyal-sinyal:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumerasi"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumerasi:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1924,19 +1941,12 @@ msgid "Constants"
msgstr "Konstanta"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstanta:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Deskripsi Kelas"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Deskripsi Kelas:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Tutorial Daring:"
#: editor/editor_help.cpp
@@ -1954,10 +1964,6 @@ msgid "Property Descriptions"
msgstr "Deskripsi Properti"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Deskripsi Properti:"
-
-#: 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]!"
@@ -1970,10 +1976,6 @@ msgid "Method Descriptions"
msgstr "Deskripsi Metode"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Deskripsi Metode:"
-
-#: 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]!"
@@ -2042,8 +2044,8 @@ msgstr "Keluaran:"
msgid "Copy Selection"
msgstr "Salin Seleksi"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2056,9 +2058,52 @@ msgstr "Bersihkan"
msgid "Clear Output"
msgstr "Bersihkan Luaran"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Hentikan"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Mulai"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Unduh"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Node"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
-msgstr ""
+msgstr "Jendela Baru"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2386,9 +2431,8 @@ msgid "Close Scene"
msgstr "Tutup Skena"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Tutup Skena"
+msgstr "Buka Kembali Skena yang Ditutup"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2506,9 +2550,8 @@ msgid "Close Tab"
msgstr "Tutup Tab"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Tutup Tab"
+msgstr "Batalkan Tutup Tab"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2641,19 +2684,29 @@ msgid "Project"
msgstr "Proyek"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Pengaturan Proyek"
+msgstr "Pengaturan Proyek…"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Versi:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Export..."
-msgstr "Ekspor"
+msgstr "Ekspor…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Pasang Templat Build Android"
+msgstr "Pasang Templat Build Android..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2664,9 +2717,8 @@ msgid "Tools"
msgstr "Alat-alat"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Penjelajah Resource Orphan"
+msgstr "Penjelajah Resource Orphan…"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2769,9 +2821,8 @@ msgid "Editor"
msgstr "Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Pengaturan Editor"
+msgstr "Pengaturan Penyunting…"
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2806,14 +2857,12 @@ msgid "Open Editor Settings Folder"
msgstr "Buka Penyunting Direktori Pengaturan"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Kelola Penyunting Fitur"
+msgstr "Kelola Penyunting Fitur…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Mengatur Templat Ekspor"
+msgstr "Kelola Templat Ekspor…"
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2869,10 +2918,6 @@ msgstr "Hentikan Sementara Skena"
msgid "Stop the scene."
msgstr "Hentikan skena."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Hentikan"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Mainkan scene redaksi."
@@ -2923,10 +2968,6 @@ msgid "Inspector"
msgstr "Inspektur"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Node"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Perluas Panel Bawah"
@@ -2948,17 +2989,22 @@ msgstr "Kelola Templat"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"Ini akan memasang proyek Android untuk build kustom.\n"
-"Sebagai catatan, untuk menggunakannya, harus diaktifkan per preset ekspor."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Templat build Android sudah terpasang sebelumnya dan tidak akan ditimpa.\n"
"Hapus direktori \"build\" secara manual sebelum menjalankan perintah ini "
@@ -3024,6 +3070,11 @@ msgstr "Buka Penyunting Selanjutnya"
msgid "Open the previous Editor"
msgstr "Buka Penyunting Sebelumnya"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Sumber permukaan tidak ditentukan."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Buat Pratinjau Mesh"
@@ -3033,6 +3084,11 @@ msgid "Thumbnail..."
msgstr "Gambar Kecil..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Buka Cepat Script..."
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Sunting Plug-in"
@@ -3061,11 +3117,6 @@ msgstr "Status:"
msgid "Edit:"
msgstr "Sunting:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Mulai"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Ukuran:"
@@ -3282,7 +3333,6 @@ msgid "Import From Node:"
msgstr "Impor dari Node:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Unduh Ulang"
@@ -3301,7 +3351,7 @@ msgstr "Unduh"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
-msgstr ""
+msgstr "Templat ekspor resmi tidak tersedia untuk build pengembangan."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3384,23 +3434,20 @@ msgid "Download Complete."
msgstr "Unduhan Selesai."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Tidak dapat menyimpan tema ke dalam berkas:"
+msgstr "Tidak dapat menghapus berkas sementara:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Instalasi templat gagal. Arsip templat yang bermasalah dapat ditemukan di "
-"'%s'."
+"Instalasi templat gagal.\n"
+"Arsip templat yang bermasalah dapat ditemukan di '%s'."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Kesalahan saat meminta url: "
+msgstr "Galat saat meminta URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3449,9 +3496,8 @@ msgid "SSL Handshake Error"
msgstr "Kesalahan jabat tangan SSL"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Membuka Aset Terkompresi"
+msgstr "Mengekstrak Kode Sumber Build Android"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3588,9 +3634,8 @@ msgid "Move To..."
msgstr "Pindahkan ke..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Skena Baru"
+msgstr "Skena Baru…"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3607,9 +3652,8 @@ msgstr "Bentangkan Semua"
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Collapse All"
-msgstr "Ciutkan Semua"
+msgstr "Lipat Semua"
#: editor/filesystem_dock.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -3659,9 +3703,8 @@ msgid "Overwrite"
msgstr "Timpa"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Buat dari Skena"
+msgstr "Buat Skena"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3741,21 +3784,18 @@ msgid "Invalid group name."
msgstr "Nama grup tidak valid."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Kelola Grup"
+msgstr "Ubah Nama Grup"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Hapus Penampilan"
+msgstr "Hapus Grup"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Kelompok"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
msgstr "Node tidak dalam Grup"
@@ -3770,12 +3810,11 @@ msgstr "Node dalam Grup"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Grup yang kosong akan dihapus secara otomatis."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group Editor"
-msgstr "Penyunting Skrip"
+msgstr "Penyunting Grup"
#: editor/groups_editor.cpp
msgid "Manage Groups"
@@ -3874,9 +3913,10 @@ msgstr " Berkas"
msgid "Import As:"
msgstr "Impor sebagai:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Prasetel..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Prasetel"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3906,9 +3946,8 @@ msgid "Expand All Properties"
msgstr "Perluas Semua Properti"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Collapse All Properties"
-msgstr "Ciutkan semua properti"
+msgstr "Tutup Semua Properti"
#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -3984,9 +4023,8 @@ msgid "MultiNode Set"
msgstr "Set MultiNode"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Pilih sebuah node untuk menyunting Sinyal dan Grup."
+msgstr "Pilih sebuah node untuk menyunting sinyal dan grup."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4316,6 +4354,7 @@ msgid "Change Animation Name:"
msgstr "Ubah Nama Animasi:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Hapus Animasi?"
@@ -4761,18 +4800,16 @@ msgid "Request failed, return code:"
msgstr "Permintaan gagal, return code:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
-msgstr "Permintaan Gagal."
+msgstr "Permintaan gagal."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Tidak dapat menyimpan tema ke dalam berkas:"
+msgstr "Tidak dapat menyimpan respons ke:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Galat saat menyimpan ke dalam berkas."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
@@ -4781,17 +4818,15 @@ msgstr "Permintaan gagal, terlalu banyak pengalihan"
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Redirect loop."
-msgstr "Mengalihkan Loop."
+msgstr "Mengalihkan berulang-ulang."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Permintaan gagal, return code:"
+msgstr "Permintaan gagal, tenggat waktu habis"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Waktu"
+msgstr "Tenggat waktu habis."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4870,24 +4905,18 @@ msgid "All"
msgstr "Semua"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Impor Ulang..."
+msgstr "Impor…"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Pengaya"
+msgstr "Pengaya…"
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Sortir:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Penyortiran terbalik."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategori:"
@@ -4897,9 +4926,8 @@ msgid "Site:"
msgstr "Situs:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Dukungan..."
+msgstr "Dukungan"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4910,9 +4938,8 @@ msgid "Testing"
msgstr "Menguji"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Muat..."
+msgstr "Sedang memuat…"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5079,9 +5106,8 @@ msgid "Paste Pose"
msgstr "Tempel Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Bersihkan Pertulangan"
+msgstr "Bersihkan Panduan"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5168,6 +5194,11 @@ msgid "Pan Mode"
msgstr "Mode Geser Pandangan"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Mode Menjalankan:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Jungkitkan Pengancingan."
@@ -5817,26 +5848,23 @@ msgstr "Waktu Pembuatan (detik):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Bidang geometri tidak mengandung area apapun."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "Node tidak mengandung geometri (bidang)."
+msgstr "Geometri tidak mengandung bidang apapun."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" tidak mewarisi Spasial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "Node tidak mengandung geometri."
+msgstr "\"%s\" tidak mengandung geometri."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "Node tidak mengandung geometri."
+msgstr "\"%s\" tidak mengandung geometri bidang."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6235,7 +6263,7 @@ msgstr "Instansi:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Jenis:"
@@ -6273,9 +6301,8 @@ msgid "Error writing TextFile:"
msgstr "Galat saat menulis TextFile:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Galat tidak dapat memuat berkas."
+msgstr "Tidak dapat memuat berkas di:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6298,7 +6325,6 @@ msgid "Error Importing"
msgstr "Galat saat mengimpor"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
msgstr "Berkas Teks Baru..."
@@ -6380,9 +6406,8 @@ msgid "Open..."
msgstr "Buka..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Buka Cepat Script..."
+msgstr "Buka kembali Skrip yang Ditutup"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6438,14 +6463,14 @@ msgid "Toggle Scripts Panel"
msgstr "Jungkitkan Panel Skrip"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Langkahi"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Masuki"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Langkahi"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Putuskan"
@@ -6517,15 +6542,14 @@ msgid "Search Results"
msgstr "Hasil Pencarian"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Bersihkan Scenes baru-baru ini"
+msgstr "Bersihkan Skrip baru-baru ini"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Hubungan dengan fungsi:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Sumber"
@@ -6644,9 +6668,8 @@ msgid "Complete Symbol"
msgstr "Simbol Lengkap"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Seleksi Skala"
+msgstr "Evaluasi Seleksi"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -6955,9 +6978,8 @@ msgid "Audio Listener"
msgstr "Listener Audio"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Aktifkan penyaringan"
+msgstr "Aktifkan Efek Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7014,6 +7036,7 @@ msgstr "Kancingkan Node ke Lantai"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
msgstr ""
+"Tidak dapat menemukan floor yang solid untuk mengancingkan seleksi ke sana."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7026,9 +7049,8 @@ msgstr ""
"Alt+Klik Kanan: Daftar seleksi mendalam"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Mode Ruang Lokal (%s)"
+msgstr "Gunakan Ruang Lokal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7125,9 +7147,8 @@ msgstr "Tampilkan Kisi"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Pengaturan"
+msgstr "Pengaturan…"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7306,6 +7327,11 @@ msgid "(empty)"
msgstr "(kosong)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Rekat Frame"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animasi:"
@@ -7503,14 +7529,12 @@ msgid "Submenu"
msgstr "Submenu"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Item 1"
+msgstr "Sub menu 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Item 2"
+msgstr "Sub menu 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7622,17 +7646,25 @@ msgid "Enable Priority"
msgstr "Aktifkan Prioritas"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Saring berkas..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Cat Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift + Klik Kanan: Menggambar Garis\n"
-"Shift + Ctrl + Klik Kanan: Cat Persegi Panjang"
+"Shift + Klik Kiri: Menggambar Garis\n"
+"Shift + Ctrl + Klik Kiri: Cat Persegi Panjang"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7757,6 +7789,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Tampilkan Nama Tile (Tahan Tombol Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Hapus tekstur yang dipilih? Ini akan menghapus semua tile yang "
@@ -7928,6 +7965,111 @@ msgstr "Properti ini tidak dapat diubah."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nama node induk, jika tersedia"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Galat"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Nama masih kosong"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Komunitas"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Kapitalisasi"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Buat persegi panjang baru."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Ubah"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Ubah Nama"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Hapus"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Ubah"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Hapus yang Dipilih"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Simpan Semua"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sinkronkan Perubahan Script"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Hanya GLES3)"
@@ -8010,9 +8152,8 @@ msgstr "Duplikat Node"
#: editor/plugins/visual_shader_editor_plugin.cpp
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Paste Nodes"
-msgstr "Path ke Node:"
+msgstr "Rekatkan Node"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Delete Nodes"
@@ -8035,9 +8176,8 @@ msgid "Light"
msgstr "Cahaya"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Buat Node Shader"
+msgstr "Tampilkan kode shader yang dihasilkan."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8171,6 +8311,14 @@ msgstr ""
"salah."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Mengembalikan vektor terkait jika nilai boolean yang diberikan benar atau "
+"salah."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Mengembalikan hasil boolean dari perbandingan antara dua parameter."
@@ -8410,7 +8558,6 @@ msgid "Returns the square root of the parameter."
msgstr "Mengembalikan nilai akar kuadrat dari parameter."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8418,22 +8565,21 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
-"Fungsi SmoothStep( skalar(tepi0), skalar(tepi1), skalar(x) ).\n"
+"Fungsi SmoothStep( skalar(batas0), skalar(batas1), skalar(x) ).\n"
"\n"
-"Mengembalikan 0.0 jika 'x' lebih kecil dari 'tepi0' dan 1.0 jika x lebih "
-"besar dari 'tepi1'. Jika tidak, nilai balik diinterpolasi antara 0.0 dan 1.0 "
-"menggunakan polinomial Hermite."
+"Mengembalikan 0.0 jika 'x' lebih kecil dari 'batas0' dan 1.0 jika x lebih "
+"besar dari 'batas1'. Jika tidak, nilai kembalian diinterpolasi antara 0.0 "
+"dan 1.0 menggunakan polinomial Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
msgstr ""
-"Fungsi Step( skalar(tepi), skalar(x) ).\n"
+"Fungsi Step( skalar(batas), skalar(x) ).\n"
"\n"
-"Mengembalikan nilai 0.0 jika 'x' lebih kecil dari 'tepi' dan sebaliknya 1.0."
+"Mengembalikan nilai 0.0 jika 'x' lebih kecil dari 'batas' dan sebaliknya 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
@@ -8603,9 +8749,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Interpolasi linier antara dua vektor."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Interpolasi linier antara dua vektor."
+msgstr "Interpolasi linier antara dua vektor menggunakan skalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8632,7 +8777,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Mengembalikan vektor yang menunjuk ke arah refraksi."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8640,14 +8784,13 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
-"Fungsi SmoothStep( vektor(tepi0), vektor(tepi1), vektor (x)).\n"
+"Fungsi SmoothStep( vektor(batas0), vektor(batas1), vektor (x)).\n"
"\n"
-"Mengembalikan nilai 0.0 jika 'x' lebih kecil dari 'tepi0' dan 1.0 jika 'x' "
-"lebih besar dari 'tepi1'. Jika tidak, nilai balik diinterpolasi antara 0.0 "
+"Mengembalikan nilai 0.0 jika 'x' lebih kecil dari 'batas0' dan 1.0 jika 'x' "
+"lebih besar dari 'batas1'. Jika tidak, nilai balik diinterpolasi antara 0.0 "
"dan 1.0 menggunakan polinomial Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8655,33 +8798,31 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
-"Fungsi SmoothStep( skalar(tepi0), skalar(tepi1), skalar(x) ).\n"
+"Fungsi SmoothStep( skalar(batas0), skalar(batas1), skalar(x) ).\n"
"\n"
-"Mengembalikan 0.0 jika 'x' lebih kecil dari 'tepi0' dan 1.0 jika x lebih "
-"besar dari 'tepi1'. Jika tidak, nilai balik diinterpolasi antara 0.0 dan 1.0 "
-"menggunakan polinomial Hermite."
+"Mengembalikan 0.0 jika 'x' lebih kecil dari 'batas0' dan 1.0 jika x lebih "
+"besar dari 'batas1'. Jika tidak, nilai kembalian diinterpolasi antara 0.0 "
+"dan 1.0 menggunakan polinomial Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
msgstr ""
-"Fungsi Step( vektor(tepi), vektor(x)).\n"
+"Fungsi Step( vektor(batas), vektor(x)).\n"
"\n"
-"Mengembalikan nilai 0.0 jika 'x' lebih kecil dari 'tepi' dan sebaliknya 1.0."
+"Mengembalikan nilai 0.0 jika 'x' lebih kecil dari 'batas' dan sebaliknya 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
msgstr ""
-"Fungsi Step( skalar(tepi), vektor(x)).\n"
+"Fungsi Step( skalar(batas), vektor(x)).\n"
"\n"
-"Mengembalikan nilai 0.0 jika 'x' lebih kecil dari 'tepi' dan sebaliknya 1.0."
+"Mengembalikan nilai 0.0 jika 'x' lebih kecil dari 'batas' dan sebaliknya 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
@@ -8735,6 +8876,10 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Ekspresi Bahasa Kustom Godot Shader, yang ditempatkan di atas shader yang "
+"dihasilkan. Anda dapat menempatkan berbagai definisi fungsi di dalamnya dan "
+"memanggilnya nanti melalui Ekspresi. Anda juga dapat mendeklarasikan "
+"variasi, seragam, dan konstanta."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9125,13 +9270,12 @@ msgid "Unnamed Project"
msgstr "Proyek Tanpa Nama"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Impor Projek yang Sudah Ada"
+msgstr "Proyek hilang"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Galat: Proyek ini tidak ditemukan dalam berkas sistem."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9230,13 +9374,12 @@ msgstr ""
"Konten di folder proyek tidak akan dimodifikasi."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Hapus %d proyek dalam daftar?\n"
-"Konten di folder proyek tidak akan dimodifikasi."
+"Hapus semua proyek yang hilang dari daftar?\n"
+"Konten folder proyek tidak akan diubah."
#: editor/project_manager.cpp
msgid ""
@@ -9260,7 +9403,6 @@ msgid "Project Manager"
msgstr "Manajer Proyek"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
msgstr "Proyek"
@@ -9310,7 +9452,7 @@ msgstr "Tombol Joystick"
#: editor/project_settings_editor.cpp
msgid "Joy Axis"
-msgstr ""
+msgstr "Sumbu Joystick"
#: editor/project_settings_editor.cpp
msgid "Mouse Button"
@@ -9406,7 +9548,7 @@ msgstr "Tombol X 2"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
-msgstr ""
+msgstr "Indeks Sumbu Joypad:"
#: editor/project_settings_editor.cpp
msgid "Axis"
@@ -9414,20 +9556,19 @@ msgstr "Axis"
#: editor/project_settings_editor.cpp
msgid "Joypad Button Index:"
-msgstr ""
+msgstr "Indeks Tombol Joypad:"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Erase Input Action"
-msgstr "Beri Skala Seleksi"
+msgstr "Hapus Aksi Input"
#: editor/project_settings_editor.cpp
msgid "Erase Input Action Event"
-msgstr ""
+msgstr "Hapus Event Aksi Input"
#: editor/project_settings_editor.cpp
msgid "Add Event"
-msgstr ""
+msgstr "Tambah Event"
#: editor/project_settings_editor.cpp
msgid "Button"
@@ -9446,99 +9587,101 @@ msgid "Middle Button."
msgstr "Tombol Tengah."
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Wheel Up."
-msgstr "Scroll keatas."
+msgstr "Scroll ke atas."
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Wheel Down."
-msgstr "Scroll kebawah."
+msgstr "Scroll ke bawah."
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Add Global Property"
-msgstr "Tambahkan Properti Getter"
+msgstr "Tambah Properti Global"
#: editor/project_settings_editor.cpp
msgid "Select a setting item first!"
-msgstr ""
+msgstr "Pilih item pengaturan terlebih dahulu!"
#: editor/project_settings_editor.cpp
msgid "No property '%s' exists."
-msgstr ""
+msgstr "Tidak ada properti '%s'."
#: editor/project_settings_editor.cpp
msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr ""
+msgstr "Pengaturan '%s' bersifat internal dan tidak bisa dihapus."
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Delete Item"
-msgstr "Hapus"
+msgstr "Hapus Item"
#: editor/project_settings_editor.cpp
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'."
msgstr ""
+"Nama aksi tidak valid. Tidak boleh kosong atau mengandung '/', ':', '=', "
+"'\\' atau '\"'."
#: editor/project_settings_editor.cpp
msgid "Add Input Action"
-msgstr ""
+msgstr "Tampah Aksi Input"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
-msgstr ""
+msgstr "Galat saat menyimpan pengaturan."
#: editor/project_settings_editor.cpp
msgid "Settings saved OK."
-msgstr ""
+msgstr "OK, Pengaturan telah disimpan."
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Tambah Input Action Event"
#: editor/project_settings_editor.cpp
msgid "Override for Feature"
-msgstr ""
+msgstr "Timpa untuk Fitur"
#: editor/project_settings_editor.cpp
msgid "Add Translation"
-msgstr ""
+msgstr "Tambah Terjemahan"
#: editor/project_settings_editor.cpp
msgid "Remove Translation"
-msgstr ""
+msgstr "Hapus Terjemahan"
#: editor/project_settings_editor.cpp
msgid "Add Remapped Path"
-msgstr ""
+msgstr "Tambah Lokasi yang Dipetakan Ulang"
#: editor/project_settings_editor.cpp
msgid "Resource Remap Add Remap"
-msgstr ""
+msgstr "Sumber Daya Remap Tambah Remap"
#: editor/project_settings_editor.cpp
msgid "Change Resource Remap Language"
-msgstr ""
+msgstr "Ubah Sumber Daya Pemetaan Ulang Bahasa"
#: editor/project_settings_editor.cpp
msgid "Remove Resource Remap"
-msgstr ""
+msgstr "Hapus Remap Sumber Daya"
#: editor/project_settings_editor.cpp
msgid "Remove Resource Remap Option"
-msgstr ""
+msgstr "Hapus Opsi Remap Sumber Daya"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Changed Locale Filter"
-msgstr "Ganti Ukuran Kamera"
+msgstr "Penyaringan Lokalisasi Diubah"
#: editor/project_settings_editor.cpp
msgid "Changed Locale Filter Mode"
-msgstr ""
+msgstr "Mode Penyaringan Lokalisasi Diubah"
#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
-msgstr ""
+msgstr "Pengaturan Proyek (project.godot)"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
@@ -9546,24 +9689,23 @@ msgstr "Umum"
#: editor/project_settings_editor.cpp
msgid "Override For..."
-msgstr ""
+msgstr "Timpa untuk..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "The editor must be restarted for changes to take effect."
-msgstr ""
+msgstr "Penyunting harus dimulai ulang untuk menerapkan perubahan."
#: editor/project_settings_editor.cpp
msgid "Input Map"
-msgstr ""
+msgstr "Pemetaan Input"
#: editor/project_settings_editor.cpp
msgid "Action:"
-msgstr ""
+msgstr "Aksi:"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Action"
-msgstr "Tambahkan Fungsi"
+msgstr "Aksi"
#: editor/project_settings_editor.cpp
msgid "Deadzone"
@@ -9571,82 +9713,83 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Device:"
-msgstr ""
+msgstr "Perangkat:"
#: editor/project_settings_editor.cpp
msgid "Index:"
-msgstr ""
+msgstr "Indeks:"
#: editor/project_settings_editor.cpp
msgid "Localization"
-msgstr ""
+msgstr "Lokalisasi"
#: editor/project_settings_editor.cpp
msgid "Translations"
-msgstr ""
+msgstr "Terjemahan"
#: editor/project_settings_editor.cpp
msgid "Translations:"
-msgstr ""
+msgstr "Terjemahan:"
#: editor/project_settings_editor.cpp
msgid "Remaps"
-msgstr ""
+msgstr "Pemetaan Ulang"
#: editor/project_settings_editor.cpp
msgid "Resources:"
-msgstr ""
+msgstr "Sumber daya:"
#: editor/project_settings_editor.cpp
msgid "Remaps by Locale:"
-msgstr ""
+msgstr "Pemetaan ulang berdasar Pelokalan:"
#: editor/project_settings_editor.cpp
msgid "Locale"
-msgstr ""
+msgstr "Pelokalan"
#: editor/project_settings_editor.cpp
msgid "Locales Filter"
-msgstr ""
+msgstr "Penyaring Pelokalan"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
-msgstr "Tampilkan Tulang-tulang"
+msgstr "Tampilkan Semua Pelokalan"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
-msgstr "Hanya yang Dipilih"
+msgstr "Tampilkan Hanya Pelokalan yang Dipilih"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Filter mode:"
-msgstr "Filter:"
+msgstr "Mode penyaringan:"
#: editor/project_settings_editor.cpp
msgid "Locales:"
-msgstr ""
+msgstr "Pelokalan:"
#: editor/project_settings_editor.cpp
msgid "AutoLoad"
-msgstr ""
+msgstr "Muat Otomatis"
#: editor/project_settings_editor.cpp
msgid "Plugins"
msgstr "Pengaya"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Prasetel..."
+
+#: editor/property_editor.cpp
msgid "Zero"
-msgstr ""
+msgstr "Nol"
#: editor/property_editor.cpp
msgid "Easing In-Out"
-msgstr ""
+msgstr "Easing In-Out"
#: editor/property_editor.cpp
msgid "Easing Out-In"
-msgstr ""
+msgstr "Easing Out-In"
#: editor/property_editor.cpp
msgid "File..."
@@ -9654,228 +9797,220 @@ msgstr "Berkas..."
#: editor/property_editor.cpp
msgid "Dir..."
-msgstr ""
+msgstr "Direktori..."
#: editor/property_editor.cpp
msgid "Assign"
-msgstr ""
+msgstr "Tetapkan"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Select Node"
-msgstr "Metode Publik:"
+msgstr "Pilih Node"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Error loading file: Not a resource!"
-msgstr "Gagal saat memuat berkas: Bukan berkas resource!"
+msgstr "Galat saat memuat berkas: Bukan sumber daya!"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Pick a Node"
-msgstr "Path ke Node:"
+msgstr "Pilih Node"
#: editor/property_editor.cpp
msgid "Bit %d, val %d."
-msgstr ""
+msgstr "Bit %d, nilai %d."
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Property"
-msgstr "Tambahkan Properti Setter"
+msgstr "Pilih Properti"
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Virtual Method"
-msgstr "Metode Publik:"
+msgstr "Pilih Method/Fungsi Virtual"
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Method"
-msgstr "Metode Publik:"
+msgstr "Pilih Method/Fungsi"
#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Batch Rename"
-msgstr "Ubah Nama"
+msgstr "Ubah Nama Massal"
#: editor/rename_dialog.cpp
msgid "Prefix"
-msgstr ""
+msgstr "Awalan"
#: editor/rename_dialog.cpp
msgid "Suffix"
-msgstr ""
+msgstr "Akhiran"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
-msgstr "Opsi-opsi Snap"
+msgstr "Opsi Lanjutan"
#: editor/rename_dialog.cpp
msgid "Substitute"
-msgstr ""
+msgstr "Pengganti"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Node name"
-msgstr "Nama Node:"
+msgstr "Nama node"
#: editor/rename_dialog.cpp
msgid "Node's parent name, if available"
-msgstr ""
+msgstr "Nama node induk, jika tersedia"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Node type"
-msgstr "Cari Tipe Node"
+msgstr "Jenis node"
#: editor/rename_dialog.cpp
msgid "Current scene name"
msgstr "Nama skena saat ini"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Root node name"
-msgstr "Nama Node:"
+msgstr "Nama node akar"
#: editor/rename_dialog.cpp
msgid ""
"Sequential integer counter.\n"
"Compare counter options."
msgstr ""
+"Penghitung integer berurutan.\n"
+"Bandingkan opsi penghitung."
#: editor/rename_dialog.cpp
msgid "Per Level counter"
-msgstr ""
+msgstr "Penghitung per Level"
#: editor/rename_dialog.cpp
msgid "If set the counter restarts for each group of child nodes"
-msgstr ""
+msgstr "Jika diatur, penghitung akan dimulai ulang untuk setiap grup node anak"
#: editor/rename_dialog.cpp
msgid "Initial value for the counter"
-msgstr ""
+msgstr "Nilai awal untuk penghitung"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Step"
-msgstr "Langkah:"
+msgstr "Langkah"
#: editor/rename_dialog.cpp
msgid "Amount by which counter is incremented for each node"
-msgstr ""
+msgstr "Jumlah penghitung bertambah untuk setiap node"
#: editor/rename_dialog.cpp
msgid "Padding"
-msgstr ""
+msgstr "Padding"
#: editor/rename_dialog.cpp
msgid ""
"Minimum number of digits for the counter.\n"
"Missing digits are padded with leading zeros."
msgstr ""
+"Jumlah digit minimum untuk penghitung.\n"
+"Digit yang hilang diisi dengan angka nol di depan."
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Regular Expressions"
-msgstr "Ubah Pernyataan"
+msgstr "Ekspresi Reguler"
#: editor/rename_dialog.cpp
msgid "Post-Process"
-msgstr ""
+msgstr "Pasca Proses"
#: editor/rename_dialog.cpp
msgid "Keep"
-msgstr ""
+msgstr "Pertahankan"
#: editor/rename_dialog.cpp
msgid "CamelCase to under_scored"
-msgstr ""
+msgstr "CamelCase ke under_score"
#: editor/rename_dialog.cpp
msgid "under_scored to CamelCase"
-msgstr ""
+msgstr "under_score ke CamelCase"
#: editor/rename_dialog.cpp
msgid "Case"
-msgstr ""
+msgstr "Kapitalisasi"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "To Lowercase"
-msgstr "Sambungkan Ke Node:"
+msgstr "Jadikan Huruf Kecil"
#: editor/rename_dialog.cpp
msgid "To Uppercase"
-msgstr ""
+msgstr "Jadikan Huruf Kapital"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Reset"
-msgstr "Kebalikan Semula Pandangan"
-
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
+msgstr "Reset"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
-msgstr ""
+msgstr "Pengindukan Ulang Node"
#: editor/reparent_dialog.cpp
msgid "Reparent Location (Select new Parent):"
-msgstr ""
+msgstr "Pengindukan Ulang Lokasi (Pilih Induk Baru):"
#: editor/reparent_dialog.cpp
msgid "Keep Global Transform"
-msgstr ""
+msgstr "Pertahankan Transformasi Global"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Reparent"
-msgstr ""
+msgstr "Pengindukan Ulang"
#: editor/run_settings_dialog.cpp
msgid "Run Mode:"
-msgstr ""
+msgstr "Mode Menjalankan:"
#: editor/run_settings_dialog.cpp
msgid "Current Scene"
-msgstr ""
+msgstr "Skena Saat Ini"
#: editor/run_settings_dialog.cpp
msgid "Main Scene"
-msgstr ""
+msgstr "Skena Utama"
#: editor/run_settings_dialog.cpp
msgid "Main Scene Arguments:"
-msgstr ""
+msgstr "Argumen Skena Utama:"
#: editor/run_settings_dialog.cpp
msgid "Scene Run Settings"
-msgstr ""
+msgstr "Pengaturan Skena yang Dijalankan"
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
-msgstr ""
+msgstr "Tidak ada parent untuk menginstansi skena disana."
#: editor/scene_tree_dock.cpp
msgid "Error loading scene from %s"
-msgstr ""
+msgstr "Galat saat memuat skena dari %s"
#: editor/scene_tree_dock.cpp
msgid ""
"Cannot instance the scene '%s' because the current scene exists within one "
"of its nodes."
msgstr ""
+"Tidak dapat menginstansi skena '%s' karena skena saat ini ada dalam salah "
+"satu node-nya."
#: editor/scene_tree_dock.cpp
msgid "Instance Scene(s)"
+msgstr "Instansi Skena"
+
+#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
-msgstr ""
+msgstr "Instansi Skena Anak"
#: editor/scene_tree_dock.cpp
msgid "Clear Script"
@@ -9883,51 +10018,67 @@ msgstr "Bersihkan Skrip"
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
-msgstr ""
+msgstr "Operasi ini tidak dapat dilakukan pada root."
#: editor/scene_tree_dock.cpp
msgid "Move Node In Parent"
-msgstr ""
+msgstr "Pindah Node dalam Parent"
#: editor/scene_tree_dock.cpp
msgid "Move Nodes In Parent"
-msgstr ""
+msgstr "Pindah Beberapa Node dalam Parent"
#: editor/scene_tree_dock.cpp
msgid "Duplicate Node(s)"
-msgstr ""
+msgstr "Duplikat Node"
#: editor/scene_tree_dock.cpp
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
msgstr ""
+"Tidak dapat mengindukkan ulang node dalam skena turunan, urutan node tidak "
+"dapat diubah."
#: editor/scene_tree_dock.cpp
msgid "Node must belong to the edited scene to become root."
-msgstr ""
+msgstr "Node harus menjadi bagian skena yang disunting untuk bisa jadi root."
#: editor/scene_tree_dock.cpp
msgid "Instantiated scenes can't become root"
-msgstr ""
+msgstr "Skena yang diinstansi tidak dapat dijadikan root"
#: editor/scene_tree_dock.cpp
msgid "Make node as Root"
msgstr "Jadikan node sebagai Dasar"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Hapus Node"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Can not perform with the root node."
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Hapus Node"
+
+#: editor/scene_tree_dock.cpp
+msgid "Can not perform with the root node."
+msgstr "Tidak dapat melakukan dengan node root."
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on instanced scenes."
-msgstr ""
+msgstr "Operasi ini tidak dapat dilakukan pada skena yang diinstansi."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
-msgstr ""
+msgstr "Simpan Skena Baru sebagai..."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10332,11 +10483,42 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
+#, fuzzy
+msgid "Warning:"
+msgstr "Peringatan:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Galat"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Muat Galat"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Muat Galat"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Sumber"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Sumber"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Sumber"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10344,8 +10526,9 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Node Terputus"
#: editor/script_editor_debugger.cpp
#, fuzzy
@@ -10353,6 +10536,11 @@ msgid "Copy Error"
msgstr "Muat Galat"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Breakpoint"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10369,6 +10557,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Ekspor Profil"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10381,6 +10574,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10592,10 +10789,6 @@ msgid "Library"
msgstr "Ekspor Pustaka"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10604,6 +10797,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "Argumen langkah adalah nol!"
@@ -10765,6 +10962,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Penyaring fungsi"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10916,6 +11122,10 @@ msgid "Create a new variable."
msgstr "Buat persegi panjang baru."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Sinyal-sinyal:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Buat poligon baru."
@@ -11087,6 +11297,10 @@ msgid "Editing Signal:"
msgstr "Mengedit Sinyal:"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Tipe Dasar:"
@@ -11241,9 +11455,11 @@ msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr ""
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
-msgstr ""
+"Android build template not installed in the project. Install it from the "
+"Project menu."
+msgstr "Templat build Android tidak ada, harap pasang templat yang relevan."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -12007,6 +12223,44 @@ msgstr "Variasi hanya bisa ditetapkan dalam fungsi vertex."
msgid "Constants cannot be modified."
msgstr "Konstanta tidak dapat dimodifikasi."
+#~ msgid "Properties:"
+#~ msgstr "Properti:"
+
+#~ msgid "Methods:"
+#~ msgstr "Metode-metode:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Properti-properti Tema:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumerasi:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstanta:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Deskripsi Kelas:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Deskripsi Properti:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Deskripsi Metode:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Ini akan memasang proyek Android untuk build kustom.\n"
+#~ "Sebagai catatan, untuk menggunakannya, harus diaktifkan per preset "
+#~ "ekspor."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Penyortiran terbalik."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Hapus Node ?"
+
#~ msgid "No Matches"
#~ msgstr "Tidak ada yang cocok"
@@ -12205,9 +12459,6 @@ msgstr "Konstanta tidak dapat dimodifikasi."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "Instance scene terpilih sebagai anak node saat ini."
-#~ msgid "Warnings:"
-#~ msgstr "Peringatan:"
-
#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "Tampilan Depan."
@@ -12248,9 +12499,6 @@ msgstr "Konstanta tidak dapat dimodifikasi."
#~ msgid "Select a split to erase it."
#~ msgstr "Pilih Berkas untuk Dipindai"
-#~ msgid "No name provided"
-#~ msgstr "Nama masih kosong"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "Tambahkan Node"
diff --git a/editor/translations/is.po b/editor/translations/is.po
index 7a5faac0b8..36fbcdd3e3 100644
--- a/editor/translations/is.po
+++ b/editor/translations/is.po
@@ -58,6 +58,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -483,6 +511,10 @@ msgid "Select None"
msgstr "Afrita val"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -805,7 +837,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -907,7 +940,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1208,7 +1242,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1399,6 +1433,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1620,6 +1655,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1691,6 +1727,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1846,7 +1883,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1854,38 +1891,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1894,19 +1911,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1921,10 +1930,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1935,10 +1940,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2006,8 +2007,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Fjarlægja val"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2020,6 +2021,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2561,6 +2604,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2762,10 +2817,6 @@ msgstr ""
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 ""
@@ -2817,10 +2868,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2842,15 +2889,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2913,6 +2966,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2922,6 +2979,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Breyta Viðbót"
@@ -2950,11 +3011,6 @@ msgstr ""
msgid "Edit:"
msgstr "Breyta:"
-#: 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 ""
@@ -3734,8 +3790,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4166,6 +4222,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4730,10 +4787,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5002,6 +5055,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6057,7 +6114,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6257,11 +6314,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6341,7 +6398,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7113,6 +7170,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Hreyfa Viðbótar Lykil"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Stillið breyting á:"
@@ -7432,6 +7494,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7567,6 +7637,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Fjarlægja val"
@@ -7729,6 +7804,102 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Endurnefning Anim track"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Anim DELETE-lyklar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Val á kvarða"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7968,6 +8139,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9165,6 +9341,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9302,6 +9482,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9466,10 +9650,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9525,6 +9705,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9565,10 +9749,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Anim DELETE-lyklar"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Anim DELETE-lyklar"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -9945,11 +10143,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9957,7 +10179,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9965,6 +10187,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9981,6 +10207,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9993,6 +10223,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10189,10 +10423,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10201,6 +10431,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10355,6 +10589,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10491,6 +10733,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10647,6 +10893,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10794,7 +11044,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/it.po b/editor/translations/it.po
index fa32a7d606..e2fc3693f8 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -43,8 +43,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-04 14:23+0000\n"
-"Last-Translator: No <kingofwizards.kw7@gmail.com>\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
+"Last-Translator: Micila Micillotto <micillotto@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -52,7 +52,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -95,6 +95,35 @@ msgstr "Argomenti non validi per il costrutto '%s'"
msgid "On call to '%s':"
msgstr "Alla chiamata di '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mischia"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Libero"
@@ -511,6 +540,12 @@ msgid "Select None"
msgstr "Seleziona Nulla"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Il Percorso di un nodo AnimationPlayer contenente animazioni non è impostato."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Mostra solo le tracce dei nodi selezionati nell'albero."
@@ -689,14 +724,12 @@ msgid "Replaced %d occurrence(s)."
msgstr "Rimpiazzate %d occorrenze."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "Trovata/e %d corrispondenza/e."
+msgstr "%d corrispondenza."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "Trovata/e %d corrispondenza/e."
+msgstr "%d corrispondenza/e."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -834,7 +867,8 @@ msgstr "Impossibile connettere il segnale"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -935,7 +969,8 @@ msgstr "Cerca:"
msgid "Matches:"
msgstr "Corrispondenze:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1149,22 +1184,20 @@ msgid "License"
msgstr "Licenza"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
msgstr "Licenza di terze parti"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot Engine si basa su parecchie librerie libere ed open source, tutte "
-"compatibili con la licenza MIT. Qui di seguito una lista esaustiva di tali "
-"componenti di terze parti con le rispettive dichiarazioni sui diritti "
-"d'autore e termini di licenza."
+"Godot Engine si basa su parecchie librerie gratuite ed open source, tutte "
+"compatibili con i termini della licenza MIT dell'engine. Qui di seguito "
+"trovi una lista esaustiva di tutti i componenti di terze parti con le "
+"rispettive dichiarazioni sui diritti d'autore e termini di licenza."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1179,9 +1212,8 @@ msgid "Licenses"
msgstr "Licenze"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Errore nell'apertura del pacchetto, non è in formato zip."
+msgstr "Errore nell'apertura del file package: non è in formato ZIP."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1249,7 +1281,8 @@ msgid "Delete Bus Effect"
msgstr "Cancella effetto bus"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Bus audio, trascina e rilascia per riordinare."
#: editor/editor_audio_buses.cpp
@@ -1442,6 +1475,7 @@ msgid "Add AutoLoad"
msgstr "Aggiungi Autoload"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Percorso:"
@@ -1672,6 +1706,7 @@ msgstr "Rendi attuale"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Nuovo"
@@ -1742,6 +1777,7 @@ msgid "New Folder..."
msgstr "Nuova cartella..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Aggiorna"
@@ -1899,7 +1935,8 @@ msgid "Inherited by:"
msgstr "Ereditato da:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Breve descrizione:"
#: editor/editor_help.cpp
@@ -1907,38 +1944,18 @@ msgid "Properties"
msgstr "Proprietà"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Proprietà:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metodi"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Metodi:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Proprietà del tema"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Proprietà del tema:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Segnali:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumerazioni"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumerazioni:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1947,19 +1964,12 @@ msgid "Constants"
msgstr "Costanti"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Costanti:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Descrizione della classe"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Descrizione della classe:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Guide online:"
#: editor/editor_help.cpp
@@ -1977,10 +1987,6 @@ msgid "Property Descriptions"
msgstr "Descrizioni delle proprietà"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Descrizioni delle proprietà:"
-
-#: 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]!"
@@ -1993,10 +1999,6 @@ msgid "Method Descriptions"
msgstr "Descrizioni dei metodi"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Descrizioni dei metodi:"
-
-#: 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]!"
@@ -2065,8 +2067,8 @@ msgstr "Output:"
msgid "Copy Selection"
msgstr "Copia selezione"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2079,10 +2081,51 @@ msgstr "Rimuovi tutto"
msgid "Clear Output"
msgstr "Svuota output"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Ferma"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Inizia"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Giù"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Su"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nodo"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "Finestra"
+msgstr "Nuova Finestra"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2416,9 +2459,8 @@ msgid "Close Scene"
msgstr "Chiudi scena"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Chiudi scena"
+msgstr "Riapri Scena Chiusa"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2540,9 +2582,8 @@ msgid "Close Tab"
msgstr "Chiudi scheda"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Chiudi scheda"
+msgstr "Annulla Chiusura Tab"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2675,18 +2716,29 @@ msgid "Project"
msgstr "Progetto"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Impostazioni progetto"
+msgstr "Impostazioni Progetto…"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versione:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "Esporta..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Installa Android Build Template"
+msgstr "Installa il Build Template di Android…"
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2697,9 +2749,8 @@ msgid "Tools"
msgstr "Strumenti"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Esplora risorse orfane"
+msgstr "Explorer Risorse Orfane…"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2712,15 +2763,16 @@ msgstr "Debug"
#: editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr "Distribuzione con Debug remoto"
+msgstr "Distribuisci con Debug remoto"
#: 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 ""
-"All'esportazione o distribuzione, l'eseguibile risultante tenterà di "
-"connettersi all'IP di questo computer per poter effettuare il debug."
+"L'eseguibile, dopo l'esportazione o la distribuzione, attenterà di "
+"connettersi con l'indirizzo IP di questo computer per farsi eseguire il "
+"debug."
#: editor/editor_node.cpp
msgid "Small Deploy with Network FS"
@@ -2735,11 +2787,12 @@ msgid ""
"On Android, deploy will use the USB cable for faster performance. This "
"option speeds up testing for games with a large footprint."
msgstr ""
-"Quando questa opzione è abilitata, esportare o distribuire produrrà un "
-"eseguibile minimo.\n"
-"Il filesystem verrà fornito dal progetto dall'editor mediante rete.\n"
-"Su Android, la distribuzione userà il cavo USB per una performance migliore. "
-"Questa opzione accellera il testing di giochi di grande entità."
+"Quando questa opzione è abilitata, l'esportazione o distribuzione produrrà "
+"un eseguibile minimale.\n"
+"Il filesystem sarà provvisto dal progetto via l'editor dal network.\n"
+"Su Android, la distribuzione utilizzerà il cavo USB per una performance "
+"migliore. Questa opzione incrementerà la velocità di testing per i giochi "
+"più complessi."
#: editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -2802,9 +2855,8 @@ msgid "Editor"
msgstr "Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Impostazioni editor"
+msgstr "Impostazioni editor…"
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2840,14 +2892,12 @@ msgid "Open Editor Settings Folder"
msgstr "Apri cartella impostazioni editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Gestisci le funzionalità dell'editor"
+msgstr "Gestisci le funzionalità dell'editor…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Gestisci template d'esportazione"
+msgstr "Gestisci template d'esportazione…"
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2903,10 +2953,6 @@ msgstr "Pausa Scena"
msgid "Stop the scene."
msgstr "Ferma la scena."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Ferma"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Esegui la scena in modifica."
@@ -2957,10 +3003,6 @@ msgid "Inspector"
msgstr "Ispettore"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nodo"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Espandi pannello inferiore"
@@ -2984,18 +3026,22 @@ msgstr "Gestisci i template d'esportazione"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
-msgstr ""
-"Questo installerà il progetto Android per build personalizzate.\n"
-"Nota bene: per essere usato, deve essere abilitato per l'esportazione del "
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
"preset."
+msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Android build template è già installato e non sarà sovrascritto.\n"
"Rimuovi la cartella \"build\" manualmente prima di ritentare questa "
@@ -3061,6 +3107,11 @@ msgstr "Apri l'Editor successivo"
msgid "Open the previous Editor"
msgstr "Apri l'Editor precedente"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Nessuna sorgente di superficie specificata."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Creazione Anteprime Mesh"
@@ -3070,6 +3121,11 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Apri script:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Modifica Plugin"
@@ -3098,11 +3154,6 @@ msgstr "Stato:"
msgid "Edit:"
msgstr "Modifica:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Inizia"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Misura:"
@@ -3319,7 +3370,6 @@ msgid "Import From Node:"
msgstr "Importa Da Nodo:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Ri-Scarica"
@@ -3339,6 +3389,8 @@ msgstr "Scarica"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"I template ufficiali per l'esportazione non sono disponibili per le build di "
+"sviluppo."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3421,23 +3473,20 @@ msgid "Download Complete."
msgstr "Download Completato."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Impossibile salvare il tema su file:"
+msgstr "Impossibile rimuovere il file temporaneo:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Installazione dei template fallita. Gli archivi dei template che danno "
-"problemi possono essere trovati in '%s'."
+"Installazione del template fallita.\n"
+"Gli archivi dei template problematici possono essere trovati qui: '%s'."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Errore nella richiesta url: "
+msgstr "Errore nella richiesta URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3624,9 +3673,8 @@ msgid "Move To..."
msgstr "Sposta in..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Nuova scena"
+msgstr "Nuova scena…"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3694,9 +3742,8 @@ msgid "Overwrite"
msgstr "Sovrascrivi"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Crea da Scena"
+msgstr "Crea Scena"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3776,23 +3823,20 @@ msgid "Invalid group name."
msgstr "Nome del gruppo non valido."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Gestisci Gruppi"
+msgstr "Rinomina Gruppo"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Elimina Gruppo Immagini"
+msgstr "Elimina Gruppo"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Gruppi"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
-msgstr "Nodi non in Gruppo"
+msgstr "Nodi non nel Gruppo"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
@@ -3805,7 +3849,7 @@ msgstr "Nodi in Gruppo"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "I gruppi vuoti saranno rimossi automaticamente."
#: editor/groups_editor.cpp
msgid "Group Editor"
@@ -3908,9 +3952,10 @@ msgstr " Files"
msgid "Import As:"
msgstr "Importa Come:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Preset…"
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Presets"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4017,9 +4062,8 @@ msgid "MultiNode Set"
msgstr "MultiNode Set"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Seleziona un Nodo per modificare Segnali e Gruppi."
+msgstr "Seleziona un singolo nodo per eliminare i suoi segnali e gruppi."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4355,6 +4399,7 @@ msgid "Change Animation Name:"
msgstr "Cambia Nome Animazione:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Eliminare Animazione?"
@@ -4803,37 +4848,32 @@ msgid "Request failed, return code:"
msgstr "Richiesta fallita, codice di return:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
msgstr "Richiesta fallita."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Impossibile salvare il tema su file:"
+msgstr "Impossibile salvare risposta a:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Errore di scrittura."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "Richiesta fallita, troppi ridirezionamenti"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
-msgstr "Ridirigi Loop."
+msgstr "Ridirigi loop."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Richiesta fallita, codice di return:"
+msgstr "Richiesta fallita, timeout"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Tempo"
+msgstr "Timeout."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4912,24 +4952,18 @@ msgid "All"
msgstr "Tutti"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Re-Importa..."
+msgstr "Importa…"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Plugins"
+msgstr "Plugins…"
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Ordina:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Ordinamento inverso."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Categoria:"
@@ -4939,9 +4973,8 @@ msgid "Site:"
msgstr "Sito:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Supporta..."
+msgstr "Supporta"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4952,9 +4985,8 @@ msgid "Testing"
msgstr "Testing"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Carica..."
+msgstr "Caricamento…"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5123,9 +5155,8 @@ msgid "Paste Pose"
msgstr "Incolla Posa"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Rimuovi ossa"
+msgstr "Rimuvi Guide"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5213,6 +5244,11 @@ msgid "Pan Mode"
msgstr "Modalità di Pan"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Modalità esecuzione:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Abilita snapping."
@@ -5864,26 +5900,23 @@ msgstr "Tempo di Generazione (sec):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "La faccia della geometria non contiene alcuna area."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "Il nodo non contiene geometria (facce)."
+msgstr "La geometria non contiene facce."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" non è ereditario di Spatial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "Il nodo non contiene geometria."
+msgstr "\"%s\" non contiene geometria."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "Il nodo non contiene geometria."
+msgstr "\"%s\" non contiene geometria facciale."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6284,7 +6317,7 @@ msgstr "Istanza:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Tipo:"
@@ -6322,9 +6355,8 @@ msgid "Error writing TextFile:"
msgstr "Errore scrittura TextFile:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Impossibile trovare tile:"
+msgstr "Impossibile caricare il file:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6347,9 +6379,8 @@ msgid "Error Importing"
msgstr "Errore di Importazione"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
-msgstr "Nuovo TextFile..."
+msgstr "Nuovo Text File…"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open File"
@@ -6429,9 +6460,8 @@ msgid "Open..."
msgstr "Apri..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Apri Script"
+msgstr "Riapri Script Chiuso"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6487,14 +6517,14 @@ msgid "Toggle Scripts Panel"
msgstr "Attiva Pannello Scripts"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Passo Successivo"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Passo Precedente"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Passo Successivo"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Break"
@@ -6566,15 +6596,14 @@ msgid "Search Results"
msgstr "Cerca Risultati"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Rimuovi scene recenti"
+msgstr "Rimuovi Script Recenti"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Connessioni al metodo:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Sorgente"
@@ -6692,9 +6721,8 @@ msgid "Complete Symbol"
msgstr "Completa Simbolo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Scala selezione"
+msgstr "Valuta Selezione"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -7002,9 +7030,8 @@ msgid "Audio Listener"
msgstr "Listener Audio"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Abilita filtraggio"
+msgstr "Abilita Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7061,7 +7088,7 @@ msgstr "Sposta i Nodi sul Pavimento"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "Non si è trovato un pavimento solido al quale agganciare la selezione."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7074,9 +7101,8 @@ msgstr ""
"Alt+RMB: Selezione Lista Profondità"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Modalità Spazio Locale (%s)"
+msgstr "Usa lo Spazio Locale"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7173,9 +7199,8 @@ msgstr "Visualizza Griglia"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Impostazioni"
+msgstr "Impostazioni…"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7356,6 +7381,11 @@ msgid "(empty)"
msgstr "(vuoto)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Incolla Frame"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animazioni:"
@@ -7553,14 +7583,12 @@ msgid "Submenu"
msgstr "Sottomenù"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Elemento 1"
+msgstr "Sotto-Elemento 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Elemento 2"
+msgstr "Sotto-Elemento 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7672,17 +7700,25 @@ msgid "Enable Priority"
msgstr "Abilita Priorità Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtra file..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Disegna Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift + PDM: Traccia una linea\n"
-"Shift + Ctrl + PDM: Colora il rettangolo"
+"Shift + LMB: Traccia una linea\n"
+"Shift + Ctrl + LMB: Colora il rettangolo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7805,6 +7841,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Mostra i Nomi delle Tile (Tenere Premuto Tasto Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Rimuovere la texture selezionata? Questo rimuoverà tutte le tile che la "
@@ -7978,6 +8019,112 @@ msgstr "Questa proprietà non può essere cambiata."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nome del genitore del Nodo, se disponibile"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Errore"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Nessun nome fornito"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Comunità"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Aggiungi maiuscola iniziale"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Crea un nuovo rettangolo."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Cambia"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Rinomina"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Elimina"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Cambia"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Elimina selezionati"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Salva Tutto"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sincronizza cambiamenti script"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Stato"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Nessun File selezionato!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Solo GLES3)"
@@ -8084,9 +8231,8 @@ msgid "Light"
msgstr "Luce"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Crea Nodo Shader"
+msgstr "Visualizza codice shader risultante."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8217,6 +8363,13 @@ msgstr ""
"Ritorna un vettore associato se il valore booleano fornito è vero o falso."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Ritorna un vettore associato se il valore booleano fornito è vero o falso."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Ritorna il risultato booleano del confronto tra due parametri."
@@ -8454,7 +8607,6 @@ msgid "Returns the square root of the parameter."
msgstr "Ritorna la radice quadrata del parametro."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8464,12 +8616,11 @@ msgid ""
msgstr ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
-"Ritorna 0.0 se 'x' è più piccolo di 'edge0', o 1.0 se 'x' è più largo di "
+"Ritorna 0.0 se 'x' è più piccolo di 'edge0', o 1.0 se 'x' è più grande di "
"'edge1'. Altrimenti, il valore di ritorno è interpolato tra 0.0 ed 1.0 "
"usando i polinomi di Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
@@ -8647,9 +8798,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Interpolazione lineare tra due vettori."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Interpolazione lineare tra due vettori."
+msgstr "Interpolazione lineare tra due vettori usando scalare."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8676,7 +8826,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Ritorna un vettore che punta nella direzione della refrazione."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8686,12 +8835,11 @@ msgid ""
msgstr ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
-"Ritorna 0.0 se 'x' è minore di 'edge0', ed 1.0 se 'x' è maggiore di 'edge1'. "
-"Altrimenti, il valore di ritorno è interpolato tra 0.0 ed 1.0 usando i "
-"polinomiali di Hermite."
+"Ritorna 0.0 se 'x' è minore di 'edge0', ed 1.0 se 'x' è più grande di "
+"'edge1'. Altrimenti, il valore di ritorno è interpolato tra 0.0 ed 1.0 "
+"usando i polinomiali di Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8701,12 +8849,11 @@ msgid ""
msgstr ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
-"Ritorna 0.0 se 'x' è minore di 'edge0', ed 1.0 se 'x' è maggiore di 'edge1'. "
-"Altrimenti, il valore di ritorno è interpolato tra 0.0 ed 1.0 usando i "
-"polinomiali di Hermite."
+"Ritorna 0.0 se 'x' è minore di 'edge0', ed 1.0 se 'x' è più grande di "
+"'edge1'. Altrimenti, il valore di ritorno è interpolato tra 0.0 ed 1.0 "
+"usando i polinomiali di Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8717,7 +8864,6 @@ msgstr ""
"Ritorna 0.0 se 'x' è minore di 'edge', altrimenti 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8780,6 +8926,10 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"L'espresione Custom Godot Shader Language è piazzata al di sopra dello "
+"shader risultante. Puoi posizionare varie definizioni di fuzioni e chiamarle "
+"più tardi nelle Expressions. Puoi anche dichiarare variabilità, uniformi e "
+"costanti."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9174,13 +9324,12 @@ msgid "Unnamed Project"
msgstr "Progetto Senza Nome"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Importa Progetto Esistente"
+msgstr "Progetto Mancante"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Errore: il Progetto non è presente nel filesystem."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9279,12 +9428,11 @@ msgstr ""
"I contenuti della cartella di progetto non saranno modificati."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Rimuovere %d progetti dalla lista?\n"
+"Rimuovere tutti i progetti mancanti dalla lista?\n"
"I contenuti delle cartelle di progetto non saranno modificati."
#: editor/project_manager.cpp
@@ -9310,9 +9458,8 @@ msgid "Project Manager"
msgstr "Gestore dei progetti"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Progetto"
+msgstr "Progetti"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9543,6 +9690,11 @@ msgid "Settings saved OK."
msgstr "Impostazioni salvate OK."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Aggiungi Evento di Azione Input"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Sovrascrivi per Caratteristica"
@@ -9679,6 +9831,10 @@ msgid "Plugins"
msgstr "Plugins"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Preset…"
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Zero"
@@ -9846,10 +10002,6 @@ msgstr "In Maiuscolo"
msgid "Reset"
msgstr "Reset"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Errore"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Reparent Nodo"
@@ -9907,6 +10059,11 @@ msgid "Instance Scene(s)"
msgstr "Istanzia Scena(e)"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Salva Ramo come Scena"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Istanzia Scena Figlia"
@@ -9949,8 +10106,23 @@ msgid "Make node as Root"
msgstr "Rendi il nodo come Radice"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Elimina Nodo(i)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Elimina Nodi"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Elimina Nodo(i) Grafico di Shader"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Elimina Nodi"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10025,9 +10197,8 @@ msgid "Remove Node(s)"
msgstr "Rimuovi nodo(i)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Cambia Nome porta Input"
+msgstr "Cambia il tipo del/i nodo/i"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10150,31 +10321,28 @@ msgid "Node configuration warning:"
msgstr "Avviso confugurazione nodo:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"Il nodo ha connessione(i) e gruppo(i).\n"
-"Fai clic per mostrare i segnali dock."
+"Il nodo ha %s connessione/i e %s gruppo/i.\n"
+"Clicca per mostrare il dock dei segnali."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"Il nodo ha connessioni.\n"
-"Fai click per mostrare il dock segnali."
+"Il nodo ha %s connessione/i.\n"
+"Clicca per mostrare il dock dei segnali."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"Il nodo e in un gruppo.\n"
-"Fai click per mostrare il dock gruppi."
+"Il nodo è in %s gruppi.\n"
+"Clicca per mostrare il dock dei gruppi."
#: editor/scene_tree_editor.cpp
msgid "Open Script:"
@@ -10269,9 +10437,8 @@ msgid "Error loading script from %s"
msgstr "Errore caricamento script da %s"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Sovrascrivi"
+msgstr "Sovrascrizioni"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10350,19 +10517,50 @@ msgid "Bytes:"
msgstr "Bytes:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Analisi dello stack"
+#, fuzzy
+msgid "Warning:"
+msgstr "Avvertimento"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Scegli uno o più oggetti dalla lista per mostrare il grafico."
+msgid "Error:"
+msgstr "Errore:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Errore di Copia"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Errore:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Sorgente"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Sorgente"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Sorgente"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Analisi dello stack"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Errori"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Processo Figlio Connesso"
#: editor/script_editor_debugger.cpp
@@ -10370,6 +10568,11 @@ msgid "Copy Error"
msgstr "Errore di Copia"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Punti di rottura"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Ispeziona Istanza Precedente"
@@ -10386,6 +10589,11 @@ msgid "Profiler"
msgstr "Profiler"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Esporta profilo"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -10398,6 +10606,10 @@ msgid "Monitors"
msgstr "Monitor"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Scegli uno o più oggetti dalla lista per mostrare il grafico."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Lista di Utilizzo Memoria Video per Risorsa:"
@@ -10594,10 +10806,6 @@ msgid "Library"
msgstr "Libreria"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Stato"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Librerie: "
@@ -10606,6 +10814,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "L'argomento del passo è zero!"
@@ -10758,6 +10970,15 @@ msgstr "Impostazioni GridMap"
msgid "Pick Distance:"
msgstr "Scegli la Distanza:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Modalità di filtraggio"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Il nome della classe non può essere una parola chiave riservata"
@@ -10883,28 +11104,28 @@ msgid "Set Variable Type"
msgstr "Imposta Tipo di Variabile"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "Non deve essere in conflitto con un nome di tipo built-in esistente."
+msgstr "Sovrascrivi una funzione built-in esistente."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Crea un nuovo rettangolo."
+msgstr "Crea una nuova funzione."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Valiabili:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Crea un nuovo rettangolo."
+msgstr "Crea una nuova variabile."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Segnali:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Crea un nuovo poligono."
+msgstr "Crea un nuovo segnale."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11063,6 +11284,11 @@ msgid "Editing Signal:"
msgstr "Modifica Segnale:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Rendi Locale"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Tipo Base:"
@@ -11223,8 +11449,10 @@ msgstr ""
"dell'editor non è valido."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"Android Project non è installato per la compilazione. Installalo dal menu "
"Editor."
@@ -12029,6 +12257,44 @@ msgstr "Varyings può essere assegnato soltanto nella funzione del vertice."
msgid "Constants cannot be modified."
msgstr "Le constanti non possono essere modificate."
+#~ msgid "Properties:"
+#~ msgstr "Proprietà:"
+
+#~ msgid "Methods:"
+#~ msgstr "Metodi:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Proprietà del tema:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumerazioni:"
+
+#~ msgid "Constants:"
+#~ msgstr "Costanti:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Descrizione della classe:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Descrizioni delle proprietà:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Descrizioni dei metodi:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Questo installerà il progetto Android per build personalizzate.\n"
+#~ "Nota bene: per essere usato, deve essere abilitato per l'esportazione del "
+#~ "preset."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Ordinamento inverso."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Elimina Nodo(i)?"
+
#~ msgid "No Matches"
#~ msgstr "Nessuna corrispondenza"
@@ -12274,10 +12540,6 @@ msgstr "Le constanti non possono essere modificate."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "Istanzia le scene selezionate come figlie del nodo selezionato."
-#, fuzzy
-#~ msgid "Warnings:"
-#~ msgstr "Avvertimento"
-
#~ msgid "Font Size:"
#~ msgstr "Dimensione Font:"
@@ -12321,9 +12583,6 @@ msgstr "Le constanti non possono essere modificate."
#~ msgid "Select a split to erase it."
#~ msgstr "Prima seleziona un oggetto di impostazione!"
-#~ msgid "No name provided"
-#~ msgstr "Nessun nome fornito"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "Aggiungi Nodo"
@@ -12460,9 +12719,6 @@ msgstr "Le constanti non possono essere modificate."
#~ msgid "Warning"
#~ msgstr "Avvertimento"
-#~ msgid "Error:"
-#~ msgstr "Errore:"
-
#~ msgid "Function:"
#~ msgstr "Funzione:"
@@ -12545,9 +12801,6 @@ msgstr "Le constanti non possono essere modificate."
#~ 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"
@@ -12998,9 +13251,6 @@ msgstr "Le constanti non possono essere modificate."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Scegli un Nuovo Nome e Posizione Per:"
-#~ msgid "No files selected!"
-#~ msgstr "Nessun File selezionato!"
-
#~ msgid "Info"
#~ msgstr "Info"
@@ -13400,12 +13650,6 @@ msgstr "Le constanti non possono essere modificate."
#~ msgid "Scaling to %s%%."
#~ msgstr "Scalando a %s%%."
-#~ msgid "Up"
-#~ msgstr "Su"
-
-#~ msgid "Down"
-#~ msgstr "Giù"
-
#~ msgid "Bucket"
#~ msgstr "Secchiello"
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index 3e529af0cb..18e99b4730 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -26,12 +26,13 @@
# Takuya Watanabe <watanabe@zblog.sakura.ne.jp>, 2019.
# Sodium11 <Sodium11.for.gitserver@gmail.com>, 2019.
# leela <53352@protonmail.com>, 2019.
+# Tarou Yamada <mizuningyou@yahoo.co.jp>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-29 13:35+0000\n"
-"Last-Translator: leela <53352@protonmail.com>\n"
+"PO-Revision-Date: 2019-09-26 11:50+0000\n"
+"Last-Translator: Tarou Yamada <mizuningyou@yahoo.co.jp>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
"Language: ja\n"
@@ -80,6 +81,35 @@ msgstr "'%s' ã®å¼•æ•°ã¯ç„¡åйã§ã™"
msgid "On call to '%s':"
msgstr "'%s' ã¸ã®å‘¼ã³å‡ºã—:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "ミックス"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "解放"
@@ -506,6 +536,12 @@ msgid "Select None"
msgstr "é¸æŠžè§£é™¤"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"アニメーションをå«ã‚“ã  AnimationPlayer ノードã¸ã®ãƒ‘スãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“。"
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "ツリーã§é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã®ãƒˆãƒ©ãƒƒã‚¯ã®ã¿ã‚’表示ã—ã¾ã™ã€‚"
@@ -828,7 +864,8 @@ msgstr "ã‚·ã‚°ãƒŠãƒ«ã«æŽ¥ç¶šã§ãã¾ã›ã‚“"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -929,7 +966,8 @@ msgstr "検索:"
msgid "Matches:"
msgstr "一致:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1242,7 +1280,8 @@ msgid "Delete Bus Effect"
msgstr "ãƒã‚¹ã‚¨ãƒ•ェクトを削除"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "オーディオãƒã‚¹ã¯ãƒ‰ãƒ©ãƒƒã‚°ãƒ»ã‚¢ãƒ³ãƒ‰ãƒ»ãƒ‰ãƒ­ãƒƒãƒ—ã§ä¸¦ã¹æ›¿ãˆã‚‰ã‚Œã¾ã™ã€‚"
#: editor/editor_audio_buses.cpp
@@ -1433,6 +1472,7 @@ msgid "Add AutoLoad"
msgstr "自動読込ã¿ã‚’追加"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "パス:"
@@ -1663,6 +1703,7 @@ msgstr "最新ã«ã™ã‚‹"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "æ–°è¦"
@@ -1733,6 +1774,7 @@ msgid "New Folder..."
msgstr "æ–°è¦ãƒ•ォルダ..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "å†èª­è¾¼"
@@ -1890,7 +1932,8 @@ msgid "Inherited by:"
msgstr "継承先:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "è¦ç´„:"
#: editor/editor_help.cpp
@@ -1898,38 +1941,18 @@ msgid "Properties"
msgstr "プロパティ"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "プロパティ:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "メソッド"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "メソッド:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "テーマプロパティ"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 "列挙型 "
@@ -1938,19 +1961,12 @@ msgid "Constants"
msgstr "定数"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "定数:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "クラスã®èª¬æ˜Ž"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "クラスã®èª¬æ˜Žï¼š"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "オンラインãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«:"
#: editor/editor_help.cpp
@@ -1968,10 +1984,6 @@ msgid "Property Descriptions"
msgstr "プロパティã®èª¬æ˜Ž"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1984,10 +1996,6 @@ msgid "Method Descriptions"
msgstr "メソッドã®èª¬æ˜Ž"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "メソッドã®èª¬æ˜Ž:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2056,8 +2064,8 @@ msgstr "出力:"
msgid "Copy Selection"
msgstr "é¸æŠžç¯„å›²ã‚’ã‚³ãƒ”ãƒ¼"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2070,6 +2078,48 @@ msgstr "クリア"
msgid "Clear Output"
msgstr "出力をクリア"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "åœæ­¢"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "é–‹å§‹"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "下"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "上"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "ノード"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
#, fuzzy
msgid "New Window"
@@ -2658,6 +2708,19 @@ msgstr "プロジェクト"
msgid "Project Settings..."
msgstr "プロジェクト設定"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2881,10 +2944,6 @@ msgstr "ã‚·ãƒ¼ãƒ³ã‚’ä¸€æ™‚åœæ­¢"
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 "編集ã—ãŸã‚·ãƒ¼ãƒ³ã‚’実行。"
@@ -2935,10 +2994,6 @@ msgid "Inspector"
msgstr "インスペクタ"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "ノード"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "下パãƒãƒ«ã‚’展開"
@@ -2962,17 +3017,22 @@ msgstr "テンプレートã®ç®¡ç†"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"ã“れã«ã‚ˆã‚Šã€ã‚«ã‚¹ã‚¿ãƒ ãƒ“ルド用ã®AndroidプロジェクトãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã™ã€‚\n"
-"使用ã™ã‚‹ã«ã¯ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ—リセットã”ã¨ã«æœ‰åйã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Androidビルドテンプレートã¯ã™ã§ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ãŠã‚Šã€ä¸Šæ›¸ãã•れã¾ã›ã‚“。\n"
"ã“ã®æ“作をå†è©¦è¡Œã™ã‚‹å‰ã«ã€ \"build\"ディレクトリを手動ã§å‰Šé™¤ã—ã¦ãã ã•ã„。"
@@ -3037,6 +3097,11 @@ msgstr "次ã®ã‚¨ãƒ‡ã‚£ã‚¿ã‚’é–‹ã"
msgid "Open the previous Editor"
msgstr "å‰ã®ã‚¨ãƒ‡ã‚£ã‚¿ã‚’é–‹ã"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "サーフェスã®ã‚½ãƒ¼ã‚¹ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“。"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "メッシュプレビューを作æˆ"
@@ -3046,6 +3111,11 @@ msgid "Thumbnail..."
msgstr "サムãƒã‚¤ãƒ«..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "スクリプトを開ã:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "プラグインã®ç·¨é›†"
@@ -3074,11 +3144,6 @@ msgstr "ステータス:"
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 "測定:"
@@ -3884,9 +3949,10 @@ msgstr " ファイル"
msgid "Import As:"
msgstr "åå‰ã‚’付ã‘ã¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆ:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "プリセット..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "åˆæœŸè¨­å®šå€¤"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4327,6 +4393,7 @@ msgid "Change Animation Name:"
msgstr "アニメーションåを変更:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "アニメーションを削除ã—ã¾ã™ã‹ï¼Ÿ"
@@ -4898,10 +4965,6 @@ msgid "Sort:"
msgstr "ソート:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "逆順ソート。"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "カテゴリー:"
@@ -5181,6 +5244,11 @@ msgid "Pan Mode"
msgstr "パンモード"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "実行モード:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "スナッピングを切り替ãˆã‚‹ã€‚"
@@ -5464,7 +5532,7 @@ msgstr "生æˆã—ãŸãƒã‚¤ãƒ³ãƒˆã®æ•°:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Mask"
-msgstr "発光(Emission)マスク"
+msgstr "放出マスク"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5474,7 +5542,7 @@ msgstr "ピクセルã‹ã‚‰ã‚­ãƒ£ãƒ—ãƒãƒ£"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Colors"
-msgstr "発光(Emission)色"
+msgstr "放出時ã®è‰²"
#: editor/plugins/cpu_particles_editor_plugin.cpp
msgid "CPUParticles"
@@ -6265,7 +6333,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "åž‹:"
@@ -6468,14 +6536,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "ステップオーãƒãƒ¼"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "ブレーク"
@@ -6556,7 +6624,7 @@ msgstr "最近開ã„ãŸã‚·ãƒ¼ãƒ³ã®å±¥æ­´ã‚’クリア"
msgid "Connections to method:"
msgstr "メソッドã¸ã®æŽ¥ç¶š:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "ソース"
@@ -7111,7 +7179,7 @@ msgstr "フリールックã®åˆ‡ã‚Šæ›¿ãˆ"
#: editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Transform"
-msgstr "変æ›"
+msgstr "変形"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
@@ -7342,6 +7410,11 @@ msgid "(empty)"
msgstr "(空)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "フレームを貼り付ã‘"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "アニメーション:"
@@ -7664,6 +7737,15 @@ msgid "Enable Priority"
msgstr "優先順ä½ã‚’有効化"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "ファイルを絞り込む..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "タイルを塗る"
@@ -7799,6 +7881,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "タイルåを表示 (Altキーを長押ã—)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"é¸æŠžã—ãŸãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’除去ã—ã¾ã™ã‹? ã“れを使用ã—ã¦ã„ã‚‹ã™ã¹ã¦ã®ã‚¿ã‚¤ãƒ«ã¯é™¤åŽ»ã•れ"
@@ -7973,6 +8060,112 @@ msgstr "ã“ã®ãƒ—ロパティã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
msgid "TileSet"
msgstr "タイルセット"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "ノードã®è¦ªã®åå‰ (使用å¯èƒ½ãªå ´åˆ)"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "エラー"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "åå‰ãŒä»˜ã„ã¦ã„ã¾ã›ã‚“"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "コミュニティ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "å˜èªžã®å…ˆé ­æ–‡å­—を大文字ã«"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "æ–°è¦ãƒŽãƒ¼ãƒ‰ã‚’作æˆã€‚"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "変更"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "åå‰ã®å¤‰æ›´"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "削除"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "変更"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "é¸æŠžæ¸ˆã¿ã‚’削除"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "ã™ã¹ã¦ä¿å­˜"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "スクリプトã®å¤‰æ›´ã‚’åŒæœŸ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "ステータス"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "ファイルãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(GLES3ã®ã¿)"
@@ -8212,6 +8405,13 @@ msgstr ""
"指定ã•れãŸãƒ–ール値ãŒtrueã¾ãŸã¯falseã®å ´åˆã€é–¢é€£ä»˜ã‘られãŸãƒ™ã‚¯ãƒˆãƒ«ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"指定ã•れãŸãƒ–ール値ãŒtrueã¾ãŸã¯falseã®å ´åˆã€é–¢é€£ä»˜ã‘られãŸãƒ™ã‚¯ãƒˆãƒ«ã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "2ã¤ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿é–“ã®æ¯”較ã®çµæžœã‚’ブール値ã§è¿”ã—ã¾ã™ã€‚"
@@ -9272,12 +9472,11 @@ msgstr ""
"プロジェクトフォルダã®å†…容ã¯å¤‰æ›´ã•れã¾ã›ã‚“。"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"%d プロジェクトを一覧ã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹?\n"
+"見ã¤ã‹ã‚‰ãªã„ã™ã¹ã¦ã®ãƒ—ロジェクトを一覧ã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹?\n"
"プロジェクトフォルダã®å†…容ã¯å¤‰æ›´ã•れã¾ã›ã‚“。"
#: editor/project_manager.cpp
@@ -9536,6 +9735,11 @@ msgid "Settings saved OK."
msgstr "設定ã®ä¿å­˜ã«æˆåŠŸã—ã¾ã—ãŸ."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "入力アクションイベントを追加"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "機能ã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰"
@@ -9675,6 +9879,10 @@ msgid "Plugins"
msgstr "プラグイン"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "プリセット..."
+
+#: editor/property_editor.cpp
#, fuzzy
msgid "Zero"
msgstr "(イージング)無ã—"
@@ -9844,10 +10052,6 @@ msgstr "大文字ã«"
msgid "Reset"
msgstr "リセット"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "エラー"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "親ノードを変更"
@@ -9905,6 +10109,11 @@ msgid "Instance Scene(s)"
msgstr "シーンã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "ブランãƒã‚’シーンã¨ã—ã¦ä¿å­˜"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "å­ã‚·ãƒ¼ãƒ³ã‚’インスタンス化"
@@ -9947,8 +10156,23 @@ msgid "Make node as Root"
msgstr "ノードをルートã«ã™ã‚‹"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "ノードを削除ã—ã¾ã™ã‹?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "ノードを削除"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "シェーダーグラフノードを消去"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "ノードを削除"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10350,19 +10574,50 @@ msgid "Bytes:"
msgstr "ãƒã‚¤ãƒˆ:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "スタックトレース"
+#, fuzzy
+msgid "Warning:"
+msgstr "警告:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "グラフを表示ã™ã‚‹ã«ã¯ã€ãƒªã‚¹ãƒˆã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’1ã¤ä»¥ä¸Šé¸ã‚“ã§ãã ã•ã„。"
+msgid "Error:"
+msgstr "エラー:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "エラーをコピー"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "エラー:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "ソース"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "ソース"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "ソース"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "スタックトレース"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "エラー"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "å­ãƒ—ロセス接続"
#: editor/script_editor_debugger.cpp
@@ -10370,6 +10625,11 @@ msgid "Copy Error"
msgstr "エラーをコピー"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "ブレークãƒã‚¤ãƒ³ãƒˆ"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "å‰ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’調ã¹ã‚‹"
@@ -10386,6 +10646,11 @@ msgid "Profiler"
msgstr "プロファイラー"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "プロファイルã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "モニター"
@@ -10398,6 +10663,10 @@ msgid "Monitors"
msgstr "モニター"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "グラフを表示ã™ã‚‹ã«ã¯ã€ãƒªã‚¹ãƒˆã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’1ã¤ä»¥ä¸Šé¸ã‚“ã§ãã ã•ã„。"
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "リソースã«ã‚ˆã‚‹ãƒ“デオメモリーã®ä½¿ç”¨ä¸€è¦§:"
@@ -10595,10 +10864,6 @@ msgid "Library"
msgstr "ライブラリ"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "ステータス"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "ライブラリ: "
@@ -10607,6 +10872,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "ステップ引数ã¯ã‚¼ãƒ­ã§ã™!"
@@ -10768,6 +11037,15 @@ msgstr "グリッドマップã®è¨­å®š"
msgid "Pick Distance:"
msgstr "インスタンス:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "フィルタメソッド"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "クラスåを予約キーワードã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
@@ -10913,6 +11191,10 @@ msgid "Create a new variable."
msgstr "æ–°è¦ãƒŽãƒ¼ãƒ‰ã‚’作æˆã€‚"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "シグナル:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "æ–°è¦ãƒãƒªã‚´ãƒ³ã‚’生æˆã€‚"
@@ -11078,6 +11360,11 @@ msgid "Editing Signal:"
msgstr "シグナルを接続:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "ローカルã«ã™ã‚‹"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "基本タイプ:"
@@ -11227,8 +11514,10 @@ msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr "エディタ設定ã®ã‚«ã‚¹ã‚¿ãƒ ãƒ“ルドã®Android SDKパスãŒç„¡åйã§ã™ã€‚"
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"Androidプロジェクトã¯ã‚³ãƒ³ãƒ‘イル用ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã¾ã›ã‚“。 エディタメ"
"ニューã‹ã‚‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã™ã€‚"
@@ -12026,6 +12315,44 @@ msgstr "Varyingã¯é ‚点関数ã«ã®ã¿å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "Constants cannot be modified."
msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
+#~ msgid "Properties:"
+#~ msgstr "プロパティ:"
+
+#~ msgid "Methods:"
+#~ msgstr "メソッド:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "テーマプロパティ:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "列挙型:"
+
+#~ msgid "Constants:"
+#~ msgstr "定数:"
+
+#~ msgid "Class Description:"
+#~ msgstr "クラスã®èª¬æ˜Žï¼š"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "プロパティã®èª¬æ˜Ž:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "メソッドã®èª¬æ˜Ž:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "ã“れã«ã‚ˆã‚Šã€ã‚«ã‚¹ã‚¿ãƒ ãƒ“ルド用ã®AndroidプロジェクトãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾"
+#~ "ã™ã€‚\n"
+#~ "使用ã™ã‚‹ã«ã¯ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ—リセットã”ã¨ã«æœ‰åйã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
+
+#~ msgid "Reverse sorting."
+#~ msgstr "逆順ソート。"
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "ノードを削除ã—ã¾ã™ã‹?"
+
#~ msgid "No Matches"
#~ msgstr "一致ãªã—"
@@ -12285,9 +12612,6 @@ msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "é¸æŠžã—ãŸã‚·ãƒ¼ãƒ³ã‚’é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã®å­ã¨ã—ã¦ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã—ã¾ã™ã€‚"
-#~ msgid "Warnings:"
-#~ msgstr "警告:"
-
#~ msgid "Font Size:"
#~ msgstr "フォントサイズ:"
@@ -12329,9 +12653,6 @@ msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
#~ msgid "Select a split to erase it."
#~ msgstr "設定項目を設定ã—ã¦ãã ã•ã„!"
-#~ msgid "No name provided"
-#~ msgstr "åå‰ãŒä»˜ã„ã¦ã„ã¾ã›ã‚“"
-
#~ msgid "Add Node.."
#~ msgstr "ノードを追加.."
@@ -12468,9 +12789,6 @@ msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
#~ msgid "Warning"
#~ msgstr "警告"
-#~ msgid "Error:"
-#~ msgstr "エラー:"
-
#~ msgid "Function:"
#~ msgstr "関数:"
@@ -12564,9 +12882,6 @@ msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "グラフノードを複製"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "シェーダーグラフノードを消去"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "エラー:循環çµåˆãƒªãƒ³ã‚¯"
@@ -13036,10 +13351,6 @@ msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
#~ msgstr "æ–°ã—ã„åå‰ã¨ãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚’é¸æŠž:"
#, fuzzy
-#~ msgid "No files selected!"
-#~ msgstr "ファイルãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“!"
-
-#, fuzzy
#~ msgid "Info"
#~ msgstr "インフォーメーション"
@@ -13526,12 +13837,6 @@ msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
#~ msgid "Scaling to %s%%."
#~ msgstr "æ‹¡å¤§ç¸®å°æ¯”率%s%%."
-#~ msgid "Up"
-#~ msgstr "上"
-
-#~ msgid "Down"
-#~ msgstr "下"
-
#, fuzzy
#~ msgid "Invalid project path, the path must exist!"
#~ msgstr "パスãŒä¸æ­£ã§ã™.パスãŒå­˜åœ¨ã—ãªã„ã¨ã„ã‘ã¾ã›ã‚“."
diff --git a/editor/translations/ka.po b/editor/translations/ka.po
index 7129447aef..7e9f4513aa 100644
--- a/editor/translations/ka.po
+++ b/editor/translations/ka.po
@@ -60,6 +60,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "თáƒáƒ•ისუფáƒáƒšáƒ˜"
@@ -499,6 +527,11 @@ msgid "Select None"
msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის áƒáƒ¡áƒšáƒ˜áƒ¡ შექმნáƒ"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ”თ AnimationPlayer სცენიდáƒáƒœ რáƒáƒ› შეცვáƒáƒšáƒáƒ— áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ”ბი."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "მხáƒáƒšáƒáƒ“ áƒáƒ©áƒ•ენე ჩáƒáƒœáƒáƒ¬áƒ”რები კვáƒáƒœáƒ«áƒ”ბიდáƒáƒœ მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ ხეში."
@@ -831,7 +864,8 @@ msgstr "დáƒáƒ›áƒáƒ™áƒáƒ•შირებელი სიგნáƒáƒšáƒ˜:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -937,7 +971,8 @@ msgstr "ძებნáƒ:"
msgid "Matches:"
msgstr "დáƒáƒ›áƒ—ხვევები:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1256,7 +1291,8 @@ msgid "Delete Bus Effect"
msgstr "გáƒáƒ“áƒáƒ›áƒ¢áƒáƒœáƒ˜ ეფექტის წáƒáƒ¨áƒšáƒ"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "áƒáƒ£áƒ“ირგáƒáƒ“áƒáƒ›áƒ¢áƒáƒœáƒ˜, გáƒáƒ“áƒáƒáƒ—რიეთ რáƒáƒ› შეცვáƒáƒšáƒáƒ— რიგი."
#: editor/editor_audio_buses.cpp
@@ -1448,6 +1484,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1675,6 +1712,7 @@ msgstr "ფუნქციის შექმნáƒ"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1748,6 +1786,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1906,46 +1945,27 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1954,21 +1974,12 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1984,11 +1995,6 @@ msgid "Property Descriptions"
msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -2000,11 +2006,6 @@ msgid "Method Descriptions"
msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2076,8 +2077,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის მáƒáƒ¨áƒáƒ áƒ”ბáƒ"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2090,6 +2091,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2635,6 +2678,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2837,10 +2892,6 @@ msgstr ""
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 ""
@@ -2892,10 +2943,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2917,15 +2964,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2988,6 +3041,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2997,6 +3054,11 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "დáƒáƒ›áƒáƒ™áƒ˜áƒ“ებულებების შემსწáƒáƒ áƒ”ბელი"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -3025,11 +3087,6 @@ msgstr ""
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 ""
@@ -3828,9 +3885,10 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "ზუმის სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ–ე დáƒáƒ§áƒ”ნებáƒ"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4269,6 +4327,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4838,10 +4897,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5115,6 +5170,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "მáƒáƒ¡áƒ¨áƒ¢áƒáƒ‘ის თáƒáƒœáƒáƒ¤áƒáƒ áƒ“áƒáƒ‘áƒ:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6179,7 +6239,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6387,11 +6447,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6473,7 +6533,7 @@ msgstr ""
msgid "Connections to method:"
msgstr "კვáƒáƒœáƒ«áƒ—áƒáƒœ დáƒáƒ™áƒáƒ•შირებáƒ:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "რესურსი"
@@ -7261,6 +7321,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Animations:"
msgstr "ფუნქციები:"
@@ -7583,6 +7647,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7722,6 +7794,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ თრექის წáƒáƒ¨áƒšáƒ."
@@ -7888,6 +7965,107 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "áƒáƒ®áƒáƒšáƒ˜ %s შექმნáƒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "ცვლილებáƒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "áƒáƒ£áƒ“ირგáƒáƒ“áƒáƒ›áƒ¢áƒáƒœáƒ˜áƒ¡ სáƒáƒ®áƒ”ლის ცვლილებáƒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "წáƒáƒ¨áƒšáƒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "ცვლილებáƒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის მáƒáƒ¡áƒ¨áƒ¢áƒáƒ‘ის ცვლილებáƒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "ყველáƒáƒ¡ ჩáƒáƒœáƒáƒªáƒ•ლებáƒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "ცვლილებáƒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8135,6 +8313,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9334,6 +9517,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9472,6 +9659,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9638,10 +9829,6 @@ msgstr ""
msgid "Reset"
msgstr "ზუმის სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ–ე დáƒáƒ§áƒ”ნებáƒ"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9697,6 +9884,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9737,10 +9928,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "წáƒáƒ¨áƒšáƒ"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "წáƒáƒ¨áƒšáƒ"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10128,26 +10333,60 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "სáƒáƒ áƒ™áƒ”"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "რესურსი"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "რესურსი"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "რესურსი"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Child process connected."
+msgstr "კáƒáƒ•შირის გáƒáƒ¬áƒ§áƒ•ეტáƒ"
+
+#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "შექმნáƒ"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10164,6 +10403,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10176,6 +10419,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10372,10 +10619,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10384,6 +10627,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10538,6 +10785,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10675,6 +10930,10 @@ msgid "Create a new variable."
msgstr "áƒáƒ®áƒáƒšáƒ˜ %s შექმნáƒ"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "შექმნáƒ"
@@ -10834,6 +11093,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10981,7 +11244,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11639,6 +11903,18 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "áƒáƒ¦áƒ¬áƒ”რáƒ:"
+
#~ msgid "Unknown font format."
#~ msgstr "უცნáƒáƒ‘ი ფáƒáƒœáƒ¢áƒ˜áƒ¡ ფáƒáƒ áƒ›áƒáƒ¢áƒ˜."
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index dec3ae7dd8..77226cff26 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-04 14:23+0000\n"
+"PO-Revision-Date: 2019-09-13 16:50+0000\n"
"Last-Translator: 송태섭 <xotjq237@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
@@ -26,48 +26,77 @@ 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.8-dev\n"
+"X-Generator: Weblate 3.9-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 ""
-"convert()하기 위한 ì¸ìˆ˜ íƒ€ìž…ì´ ì˜¬ë°”ë¥´ì§€ 않습니다, TYPE_* ìƒìˆ˜ë¥¼ 사용하세요."
+"convert()를 사용하기 위한 ì¸ìˆ˜ ìœ í˜•ì´ ìž˜ëª»ë˜ì—ˆì–´ìš”, TYPE_* ìƒìˆ˜ë¥¼ 사용하세요."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "디코딩할 ë°”ì´íŠ¸ê°€ 모ìžë¼ê±°ë‚˜, 올바르지 ì•Šì€ í˜•ì‹ìž…니다."
+msgstr "디코딩할 ë°”ì´íŠ¸ê°€ 모ìžë¼ê±°ë‚˜ ìž˜ëª»ëœ í˜•ì‹ì´ì—ìš”."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr "표현ì‹ì—서 ìž˜ëª»ëœ ìž…ë ¥ %i (전달ë˜ì§€ 않ìŒ)"
+msgstr "표현ì‹ì—서 ìž…ë ¥ %iì´(ê°€) 잘못ë˜ì—ˆì–´ìš” (전달ë˜ì§€ 않ìŒ)"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "ì¸ìŠ¤í„´ìŠ¤ê°€ 비어있기 ë•Œë¬¸ì— Self를 사용할 수 없습니다 (전달ë˜ì§€ 않ìŒ)"
+msgstr "ì¸ìŠ¤í„´ìŠ¤ê°€ 비어있어서 Self를 사용할 수 없어요 (전달ë˜ì§€ 않ìŒ)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "ì—°ì‚°ìž %s, %s 그리고 %sì˜ ì—°ì‚° 대ìƒì´ 올바르지 않습니다."
+msgstr "ì—°ì‚°ìž %s와(ê³¼) %s, %sì˜ ì—°ì‚° 대ìƒì´ 잘못ë˜ì—ˆì–´ìš”."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
-msgstr "ë² ì´ìФ 타입 %sì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ì¸ë±ìФ 타입 %s"
+msgstr "기본 ìœ í˜•ì´ %sì¸ %s ìœ í˜•ì˜ ì¸ë±ìŠ¤ê°€ 잘못ë˜ì—ˆì–´ìš”"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr "ë² ì´ìФ 타입 %sì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ì¸ë±ìФ ì´ë¦„ %s"
+msgstr "기본 ìœ í˜•ì´ %sì¸ '%s' ì¸ë±ìŠ¤ì˜ ì´ë¦„ì´ ìž˜ëª»ë˜ì—ˆì–´ìš”"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
-msgstr "'%s'ì„(를) êµ¬ì„±í•˜ê¸°ì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ì¸ìˆ˜"
+msgstr "ì´ ì¸ìˆ˜ë¡œëŠ” '%s'ì„(를) 구성할 수 없어요"
#: core/math/expression.cpp
msgid "On call to '%s':"
msgstr "'%s'ì„(를) 호출 시:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "믹스"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "ìžìœ "
@@ -90,80 +119,80 @@ msgstr "ê°’:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
-msgstr "ì—¬ê¸°ì— í‚¤ë¥¼ 삽입"
+msgstr "ì—¬ê¸°ì— í‚¤ë¥¼ 삽입하기"
#: editor/animation_bezier_editor.cpp
msgid "Duplicate Selected Key(s)"
-msgstr "ì„ íƒí•œ 키를 복제"
+msgstr "ì„ íƒí•œ 키를 복제하기"
#: editor/animation_bezier_editor.cpp
msgid "Delete Selected Key(s)"
-msgstr "ì„ íƒí•œ 키를 ì‚­ì œ"
+msgstr "ì„ íƒí•œ 키를 삭제하기"
#: editor/animation_bezier_editor.cpp
msgid "Add Bezier Point"
-msgstr "베지어 í¬ì¸íЏ 추가"
+msgstr "베지어 ì  ì¶”ê°€í•˜ê¸°"
#: editor/animation_bezier_editor.cpp
msgid "Move Bezier Points"
-msgstr "베지어 í¬ì¸íЏ ì´ë™"
+msgstr "베지어 ì  ì´ë™í•˜ê¸°"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr "애니메ì´ì…˜ 키 복제"
+msgstr "애니메ì´ì…˜ 키 복제하기"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
-msgstr "애니메ì´ì…˜ 키 ì‚­ì œ"
+msgstr "애니메ì´ì…˜ 키 삭제하기"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr "애니메ì´ì…˜ 키프레임 시간 변경"
+msgstr "애니메ì´ì…˜ 키프레임 시간 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "애니메ì´ì…˜ 전환 변경"
+msgstr "애니메ì´ì…˜ 전환 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr "애니메ì´ì…˜ 변형 변경"
+msgstr "애니메ì´ì…˜ 변형 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr "애니메ì´ì…˜ 키프레임 ê°’ 변경"
+msgstr "애니메ì´ì…˜ 키프레임 ê°’ 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
-msgstr "애니메ì´ì…˜ 호출 변경"
+msgstr "애니메ì´ì…˜ 호출 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
-msgstr "애니메ì´ì…˜ 여러 키프레임 시간 변경"
+msgstr "애니메ì´ì…˜ 여러 키프레임 시간 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Transition"
-msgstr "애니메ì´ì…˜ 여러 전환 변경"
+msgstr "애니메ì´ì…˜ 여러 전환 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Transform"
-msgstr "애니메ì´ì…˜ 여러 변형 변경"
+msgstr "애니메ì´ì…˜ 여러 변형 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Value"
-msgstr "애니메ì´ì…˜ 여러 키프레임 ê°’ 변경"
+msgstr "애니메ì´ì…˜ 여러 키프레임 ê°’ 변경하기"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Call"
-msgstr "애니메ì´ì…˜ 여러 호출 변경"
+msgstr "애니메ì´ì…˜ 여러 호출 변경하기"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
-msgstr "애니메ì´ì…˜ ê¸¸ì´ ë³€ê²½"
+msgstr "애니메ì´ì…˜ ê¸¸ì´ ë³€ê²½í•˜ê¸°"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr "애니메ì´ì…˜ 루프 변경"
+msgstr "애니메ì´ì…˜ 루프 변경하기"
#: editor/animation_track_editor.cpp
msgid "Property Track"
@@ -199,11 +228,11 @@ msgstr "애니메ì´ì…˜ ê¸¸ì´ (ì´ˆ)"
#: editor/animation_track_editor.cpp
msgid "Add Track"
-msgstr "트랙 추가"
+msgstr "트랙 추가하기"
#: editor/animation_track_editor.cpp
msgid "Animation Looping"
-msgstr "애니메ì´ì…˜ 반복"
+msgstr "애니메ì´ì…˜ 반복하기"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -220,11 +249,11 @@ msgstr "애니메ì´ì…˜ í´ë¦½:"
#: editor/animation_track_editor.cpp
msgid "Change Track Path"
-msgstr "트랙 경로 변경"
+msgstr "트랙 경로 변경하기"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
-msgstr "ì´ íŠ¸ëž™ì„ í‚¤ê±°ë‚˜ ë•니다."
+msgstr "ì´ íŠ¸ëž™ì„ ì¼œê±°ë‚˜ ë•니다."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
@@ -240,7 +269,7 @@ msgstr "루프 ëž© 모드 (시작 루프와 ëì„ ë³´ê°„)"
#: editor/animation_track_editor.cpp
msgid "Remove this track."
-msgstr "ì´ íŠ¸ëž™ì„ ì‚­ì œí•©ë‹ˆë‹¤."
+msgstr "ì´ íŠ¸ëž™ì„ ì‚­ì œí• ê²Œìš”."
#: editor/animation_track_editor.cpp
msgid "Time (s): "
@@ -264,7 +293,7 @@ msgstr "트리거"
#: editor/animation_track_editor.cpp
msgid "Capture"
-msgstr "캡ì³"
+msgstr "캡처"
#: editor/animation_track_editor.cpp
msgid "Nearest"
@@ -281,7 +310,7 @@ msgstr "입방형"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
-msgstr "루프 보간 고정"
+msgstr "루프 보간 고정하기"
#: editor/animation_track_editor.cpp
msgid "Wrap Loop Interp"
@@ -290,39 +319,39 @@ msgstr "루프 ë³´ê°„ ê°ì¶”기"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr "키 삽입"
+msgstr "키 삽입하기"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
-msgstr "키 복제"
+msgstr "키 복제하기"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
-msgstr "키 삭제"
+msgstr "키 삭제하기"
#: editor/animation_track_editor.cpp
msgid "Change Animation Update Mode"
-msgstr "애니메ì´ì…˜ ì—…ë°ì´íЏ 모드 변경"
+msgstr "애니메ì´ì…˜ ì—…ë°ì´íЏ 모드 변경하기"
#: editor/animation_track_editor.cpp
msgid "Change Animation Interpolation Mode"
-msgstr "애니메ì´ì…˜ ë³´ê°„ 모드 변경"
+msgstr "애니메ì´ì…˜ ë³´ê°„ 모드 변경하기"
#: editor/animation_track_editor.cpp
msgid "Change Animation Loop Mode"
-msgstr "애니메ì´ì…˜ 루프 모드 변경"
+msgstr "애니메ì´ì…˜ 루프 모드 변경하기"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
-msgstr "애니메ì´ì…˜ 트랙 ì‚­ì œ"
+msgstr "애니메ì´ì…˜ 트랙 삭제하기"
#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
-msgstr "%sì„(를) 위해 새 íŠ¸ëž™ì„ ë§Œë“¤ê³  키를 삽입하시겠습니까?"
+msgstr "%sì„(를) 위해 새 íŠ¸ëž™ì„ ë§Œë“¤ê³  키를 삽입할까요?"
#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
-msgstr "%dê°œì˜ ìƒˆ íŠ¸ëž™ì„ ìƒì„±í•˜ê³  키를 삽입하시겠습니까?"
+msgstr "%dê°œì˜ ìƒˆ íŠ¸ëž™ì„ ë§Œë“¤ê³  키를 삽입할까요?"
#: editor/animation_track_editor.cpp editor/create_dialog.cpp
#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
@@ -337,36 +366,37 @@ msgstr "만들기"
#: editor/animation_track_editor.cpp
msgid "Anim Insert"
-msgstr "애니메ì´ì…˜ 삽입"
+msgstr "애니메ì´ì…˜ 삽입하기"
#: editor/animation_track_editor.cpp
msgid "AnimationPlayer can't animate itself, only other players."
msgstr ""
-"AnimationPlayer는 ìžì‹ ì„ 애니메ì´ì…˜ í•  수 없습니다, 다른 것ì—ë§Œ ë©ë‹ˆë‹¤."
+"AnimationPlayer는 ìžì‹ ì—게 애니메ì´ì…˜ì„ í•  수 없어요, 다른 AnimationPlayerë§Œ "
+"애니메ì´ì…˜ì„ 줄 수 있죠."
#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
-msgstr "애니메ì´ì…˜ ìƒì„±ê³¼ 삽입"
+msgstr "애니메ì´ì…˜ ìƒì„±í•˜ê¸° & 삽입하기"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
-msgstr "애니메ì´ì…˜ 트랙과 키 삽입"
+msgstr "애니메ì´ì…˜ 트랙과 키 삽입하기"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
-msgstr "애니메ì´ì…˜ 키 삽입"
+msgstr "애니메ì´ì…˜ 키 삽입하기"
#: editor/animation_track_editor.cpp
msgid "Change Animation Step"
-msgstr "애니메ì´ì…˜ ìŠ¤í… ë³€ê²½"
+msgstr "애니메ì´ì…˜ 단계 바꾸기하기"
#: editor/animation_track_editor.cpp
msgid "Rearrange Tracks"
-msgstr "트랙 재정렬"
+msgstr "트랙 다시 정렬하기"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr "변형 íŠ¸ëž™ì€ ì˜¤ì§ Spatial 기반 노드ì—ë§Œ ì ìš©ë©ë‹ˆë‹¤."
+msgstr "변형 íŠ¸ëž™ì€ ì˜¤ì§ Spatial 기반 노드ì—ë§Œ ì ìš©ë¼ìš”."
#: editor/animation_track_editor.cpp
msgid ""
@@ -375,76 +405,77 @@ msgid ""
"-AudioStreamPlayer2D\n"
"-AudioStreamPlayer3D"
msgstr ""
-"오디오 íŠ¸ëž™ì€ ì˜¤ì§ ë‹¤ìŒ íƒ€ìž…ì˜ ë…¸ë“œë§Œ 가리킬 수 있습니다:\n"
+"오디오 íŠ¸ëž™ì€ ì˜¤ì§ ë‹¤ìŒ ìœ í˜•ì˜ ë…¸ë“œë§Œ 가리켜요:\n"
"-AudioStreamPlayer\n"
"-AudioStreamPlayer2D\n"
"-AudioStreamPlayer3D"
#: editor/animation_track_editor.cpp
msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr "애니메ì´ì…˜ íŠ¸ëž™ì€ ì˜¤ì§ AnimationPlayer 노드만 가리킬 수 있습니다."
+msgstr "애니메ì´ì…˜ íŠ¸ëž™ì€ ì˜¤ì§ AnimationPlayer 노드만 가리킬 수 있어요."
#: editor/animation_track_editor.cpp
msgid "An animation player can't animate itself, only other players."
msgstr ""
-"애니메ì´ì…˜ 플레ì´ì–´ëŠ” ìžì‹ ì„ 애니메ì´ì…˜ í•  수 없습니다, 다른 것ì—ë§Œ ë©ë‹ˆë‹¤."
+"AnimationPlayer는 ìžì‹ ì—게 애니메ì´ì…˜ì„ í•  수 없어요, 다른 AnimationPlayerë§Œ "
+"애니메ì´ì…˜ì„ 줄 수 있죠."
#: editor/animation_track_editor.cpp
msgid "Not possible to add a new track without a root"
-msgstr "루트 ì—†ì´ ìƒˆ íŠ¸ëž™ì„ ì¶”ê°€í•  수 ì—†ìŒ"
+msgstr "루트 ì—†ì´ ìƒˆ íŠ¸ëž™ì„ ì¶”ê°€í•  수 없어요"
#: editor/animation_track_editor.cpp
msgid "Add Bezier Track"
-msgstr "베지어 트랙 추가"
+msgstr "베지어 트랙 추가하기"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a key."
-msgstr "트랙 경로가 올바르지 않습니다, 키를 추가할 수 없습니다."
+msgstr "트랙 경로가 잘못ëì–´ìš”, 키를 추가할 수 없어요."
#: editor/animation_track_editor.cpp
msgid "Track is not of type Spatial, can't insert key"
-msgstr "íŠ¸ëž™ì´ Spatial íƒ€ìž…ì´ ì•„ë‹™ë‹ˆë‹¤, 키를 삽입하실 수 없습니다"
+msgstr "íŠ¸ëž™ì´ Spatial ìœ í˜•ì´ ì•„ë‹ˆì—ìš”, 키를 삽입할 수 없어요"
#: editor/animation_track_editor.cpp
msgid "Add Transform Track Key"
-msgstr "변형 트랙 키 추가"
+msgstr "변형 트랙 키 추가하기"
#: editor/animation_track_editor.cpp
msgid "Add Track Key"
-msgstr "트랙 키 추가"
+msgstr "트랙 키 추가하기"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a method key."
-msgstr "트랙 경로가 올바르지 않습니다, 메서드 키를 추가할 수 없습니다."
+msgstr "트랙 경로가 잘못ëì–´ìš”, 메서드 키를 추가할 수 없어요."
#: editor/animation_track_editor.cpp
msgid "Add Method Track Key"
-msgstr "메서드 트랙 키 추가"
+msgstr "메서드 트랙 키 추가하기"
#: editor/animation_track_editor.cpp
msgid "Method not found in object: "
-msgstr "ê°ì²´ì— 메서드가 없습니다: "
+msgstr "ê°ì²´ì— 메서드가 없어요: "
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
-msgstr "애니메ì´ì…˜ 키 ì´ë™"
+msgstr "애니메ì´ì…˜ 키 ì´ë™í•˜ê¸°"
#: editor/animation_track_editor.cpp
msgid "Clipboard is empty"
-msgstr "í´ë¦½ë³´ë“œê°€ 비었습니다"
+msgstr "í´ë¦½ë³´ë“œê°€ 비었어요"
#: editor/animation_track_editor.cpp
msgid "Paste Tracks"
-msgstr "트랙 붙여넣기"
+msgstr "트랙 붙여 넣기"
#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
-msgstr "애니메ì´ì…˜ 키 í¬ê¸° ì¡°ì ˆ"
+msgstr "애니메ì´ì…˜ 키 í¬ê¸° 조절하기"
#: editor/animation_track_editor.cpp
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
-msgstr "ì´ ì˜µì…˜ì€ ë² ì§€ì–´ 편집ì—서 ë‹¨ì¼ íŠ¸ëž™ì´ê¸° 때문ì—, ìž‘ë™í•˜ì§€ 않습니다."
+msgstr "ì´ ì„¤ì •ì€ ë‹¨ì¼ íŠ¸ëž™ì—ë§Œ 해당ë˜ì–´ì„œ, 베지어 íŽ¸ì§‘ì— ìž‘ë™í•˜ì§€ 않아요."
#: editor/animation_track_editor.cpp
msgid ""
@@ -458,34 +489,40 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
-"ì´ ì• ë‹ˆë©”ì´ì…˜ì€ 가져온 ì”¬ì— ì†í•´ìžˆìŠµë‹ˆë‹¤, ë”°ë¼ì„œ 가져온 트랙ì—는 ë³€ê²½ì‚¬í•­ì´ "
-"저장ë˜ì§€ 않습니다.\n"
+"ì´ ì• ë‹ˆë©”ì´ì…˜ì€ 가져온 ì”¬ì— ì¢…ì†ë˜ì–´ìžˆì–´ìš”, 가져온 íŠ¸ëž™ì˜ ë³€ê²½ ì‚¬í•­ì€ ì €ìž¥ë˜"
+"지 않아요.\n"
"\n"
-"커스텀 íŠ¸ëžŸì„ ì¶”ê°€í•˜ê¸° 위해서는, ì”¬ì˜ ê°€ì ¸ì˜¤ê¸° 설정으로 가서\n"
-"\"Animation > Storage\"를 \"Files\"로 설정하고 \"Animation > Keep Custom "
-"Tracks\"ì„ ì¼  ë‹¤ìŒ ë‹¤ì‹œ 가져오세요.\n"
-"ë˜ëŠ” 애니메ì´ì…˜ì„ 개별 파ì¼ë¡œ 가져오는 가져오기 í”„ë¦¬ì…‹ì„ ì‚¬ìš©í•˜ì„¸ìš”."
+"저장 ê¸°ëŠ¥ì„ ì¼œë ¤ë©´ 맞춤 íŠ¸ëž™ì„ ì¶”ê°€í•˜ê³ , ì”¬ì˜ ê°€ì ¸ì˜¤ê¸° 설정으로 가서\n"
+"\"Animation > Storage\" ì„¤ì •ì„ \"Files\"로, \"Animation > Keep Custom Tracks"
+"\" ì„¤ì •ì„ ì¼  ë’¤, 다시 가져오세요.\n"
+"대신 가져오기 프리셋으로 애니메ì´ì…˜ì„ 별ë„ì˜ íŒŒì¼ë¡œ 가져올 ìˆ˜ë„ ìžˆì–´ìš”."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr "경고: 가져온 애니메ì´ì…˜ì„ 편집하고 있ìŒ"
+msgstr "경고: 가져온 애니메ì´ì…˜ì„ 편집 중"
#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Select All"
-msgstr "ì „ì²´ì„ íƒ"
+msgstr "ëª¨ë‘ ì„ íƒí•˜ê¸°"
#: editor/animation_track_editor.cpp
msgid "Select None"
-msgstr "모든 ì„ íƒ í•´ì œ"
+msgstr "ëª¨ë‘ ì„ íƒí•˜ì§€ 않기"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"애니메ì´ì…˜ì„ ê°–ê³  있는 AnimationPlayer ë…¸ë“œì˜ ê²½ë¡œë¥¼ 설정하지 않았어요."
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
-msgstr "트리ì—서 ì„ íƒí•œ ë…¸ë“œì˜ íŠ¸ëž™ë§Œ 표시합니다."
+msgstr "트리ì—서 ì„ íƒí•œ 노드만 íŠ¸ëž™ì— í‘œì‹œë˜ìš”."
#: editor/animation_track_editor.cpp
msgid "Group tracks by node or display them as plain list."
-msgstr "노드 별로 ê·¸ë£¹ì„ íŠ¸ëž™ 하거나 ì¼ë°˜ 목ë¡ìœ¼ë¡œ 표시합니다."
+msgstr "노드 별로 íŠ¸ëž™ì„ ë¬¶ê±°ë‚˜ 묶지 않고 나열해서 ë³¼ 수 있어요."
#: editor/animation_track_editor.cpp
msgid "Snap:"
@@ -510,7 +547,7 @@ msgstr "초당 프레임"
#: editor/project_manager.cpp editor/project_settings_editor.cpp
#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
msgid "Edit"
-msgstr "편집"
+msgstr "편집하기"
#: editor/animation_track_editor.cpp
msgid "Animation properties."
@@ -518,39 +555,39 @@ msgstr "애니메ì´ì…˜ ì†ì„±."
#: editor/animation_track_editor.cpp
msgid "Copy Tracks"
-msgstr "트랙 복사"
+msgstr "트랙 복사하기"
#: editor/animation_track_editor.cpp
msgid "Scale Selection"
-msgstr "ì„ íƒ í¬ê¸° ì¡°ì ˆ"
+msgstr "ì„ íƒ í•­ëª© í¬ê¸° 조절하기"
#: editor/animation_track_editor.cpp
msgid "Scale From Cursor"
-msgstr "커서 위치ì—서 í¬ê¸° ì¡°ì ˆ"
+msgstr "커서 위치ì—서 í¬ê¸° 조절하기"
#: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Duplicate Selection"
-msgstr "ì„ íƒ ë³µì œ"
+msgstr "ì„ íƒ í•­ëª© 복제하기"
#: editor/animation_track_editor.cpp
msgid "Duplicate Transposed"
-msgstr "ì„ íƒëœ íŠ¸ëž™ì— ë³µì œ"
+msgstr "ì„ íƒëœ íŠ¸ëž™ì— ë³µì œí•˜ê¸°"
#: editor/animation_track_editor.cpp
msgid "Delete Selection"
-msgstr "ì„ íƒ ì‚­ì œ"
+msgstr "ì„ íƒ í•­ëª© 삭제하기"
#: editor/animation_track_editor.cpp
msgid "Go to Next Step"
-msgstr "ë‹¤ìŒ ìŠ¤í…으로 ì´ë™"
+msgstr "ë‹¤ìŒ ë‹¨ê³„ë¡œ ì´ë™í•˜ê¸°"
#: editor/animation_track_editor.cpp
msgid "Go to Previous Step"
-msgstr "ì´ì „ 스í…으로 ì´ë™"
+msgstr "ì´ì „ 단계로 ì´ë™í•˜ê¸°"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
-msgstr "애니메ì´ì…˜ 최ì í™”"
+msgstr "애니메ì´ì…˜ 최ì í™”하기"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation"
@@ -558,11 +595,11 @@ msgstr "애니메ì´ì…˜ 없애기"
#: editor/animation_track_editor.cpp
msgid "Pick the node that will be animated:"
-msgstr "애니메ì´ì…˜ í•  노드를 ì„ íƒí•˜ì„¸ìš”:"
+msgstr "애니메ì´ì…˜ì„ 줄 노드를 ì„ íƒí•˜ì„¸ìš”:"
#: editor/animation_track_editor.cpp
msgid "Use Bezier Curves"
-msgstr "베지어 커브 사용"
+msgstr "베지어 커브 사용하기"
#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
@@ -582,15 +619,15 @@ msgstr "최ì í™” 가능한 최대 ê°ë„:"
#: editor/animation_track_editor.cpp
msgid "Optimize"
-msgstr "최ì í™”"
+msgstr "최ì í™”하기"
#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
-msgstr "올바르지 ì•Šì€ í‚¤ ì‚­ì œ"
+msgstr "ìž˜ëª»ëœ í‚¤ 삭제하기"
#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
-msgstr "미결 트랙과 빈 트랙 삭제"
+msgstr "í•´ê²°ë˜ì§€ 않고 빈 트랙 삭제하기"
#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
@@ -598,7 +635,7 @@ msgstr "모든 애니메ì´ì…˜ 없애기"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr "애니메ì´ì…˜ 없애기 (ë˜ëŒë¦¬ê¸° 불가!)"
+msgstr "애니메ì´ì…˜ 없애기 (ë˜ëŒë¦´ 수 없어요!)"
#: editor/animation_track_editor.cpp
msgid "Clean-Up"
@@ -606,11 +643,11 @@ msgstr "없애기"
#: editor/animation_track_editor.cpp
msgid "Scale Ratio:"
-msgstr "ìŠ¤ì¼€ì¼ ë¹„ìœ¨:"
+msgstr "규모 비율:"
#: editor/animation_track_editor.cpp
msgid "Select tracks to copy:"
-msgstr "복사할 트랙 ì„ íƒ:"
+msgstr "복사할 íŠ¸ëž™ì„ ì„ íƒí•˜ì„¸ìš”:"
#: editor/animation_track_editor.cpp editor/editor_log.cpp
#: editor/editor_properties.cpp
@@ -623,49 +660,47 @@ msgstr "복사하기"
#: editor/animation_track_editor_plugins.cpp
msgid "Add Audio Track Clip"
-msgstr "오디오 트랙 í´ë¦½ 추가"
+msgstr "오디오 트랙 í´ë¦½ 추가하기"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip Start Offset"
-msgstr "오디오 트랙 í´ë¦½ 시작 오프셋 변경"
+msgstr "오디오 트랙 í´ë¦½ 시작 오프셋 변경하기"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip End Offset"
-msgstr "오디오 트랙 í´ë¦½ 종료 오프셋 변경"
+msgstr "오디오 트랙 í´ë¦½ 종료 오프셋 변경하기"
#: editor/array_property_edit.cpp
msgid "Resize Array"
-msgstr "ë°°ì—´ í¬ê¸° 변경"
+msgstr "ë°°ì—´ í¬ê¸° 변경하기"
#: editor/array_property_edit.cpp
msgid "Change Array Value Type"
-msgstr "배열 값 타입 변경"
+msgstr "배열 값 유형 변경하기"
#: editor/array_property_edit.cpp
msgid "Change Array Value"
-msgstr "배열 값 변경"
+msgstr "배열 값 변경하기"
#: editor/code_editor.cpp
msgid "Go to Line"
-msgstr "ë¼ì¸ìœ¼ë¡œ ì´ë™"
+msgstr "행으로 ì´ë™í•˜ê¸°"
#: editor/code_editor.cpp
msgid "Line Number:"
-msgstr "ë¼ì¸ 번호:"
+msgstr "행 번호:"
#: editor/code_editor.cpp
msgid "Replaced %d occurrence(s)."
-msgstr "%d ê°œì˜ ë°œìƒì„ êµì²´í–ˆìŠµë‹ˆë‹¤."
+msgstr "%@ê°œì˜ ë‹¨ì–´ë¥¼ êµì²´í–ˆì–´ìš”."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "%d 개가 ì¼ì¹˜í•©ë‹ˆë‹¤."
+msgstr "%d개가 ì¼ì¹˜í•´ìš”."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "%d 개가 ì¼ì¹˜í•©ë‹ˆë‹¤."
+msgstr "%d개가 ì¼ì¹˜í•´ìš”."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -677,15 +712,15 @@ msgstr "전체 단어"
#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
-msgstr "바꾸기"
+msgstr "êµì²´í•˜ê¸°"
#: editor/code_editor.cpp
msgid "Replace All"
-msgstr "전체 바꾸기"
+msgstr "ì „ë¶€ êµì²´í•˜ê¸°"
#: editor/code_editor.cpp
msgid "Selection Only"
-msgstr "ì„ íƒ ì˜ì—­ë§Œ"
+msgstr "ì„ íƒ í•­ëª©ë§Œ"
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
@@ -696,13 +731,13 @@ msgstr "표준"
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom In"
-msgstr "확대"
+msgstr "확대하기"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Out"
-msgstr "축소"
+msgstr "축소하기"
#: editor/code_editor.cpp
msgid "Reset Zoom"
@@ -714,41 +749,41 @@ msgstr "경고"
#: editor/code_editor.cpp
msgid "Line and column numbers."
-msgstr "ë¼ì¸ ë° ì»¬ëŸ¼ 번호."
+msgstr "í–‰ ë° ì—´ 번호."
#: editor/connections_dialog.cpp
msgid "Method in target node must be specified."
-msgstr "ëŒ€ìƒ ë…¸ë“œì˜ ë©”ì„œë“œê°€ 명시ë˜ì–´ì•¼ 합니다."
+msgstr "ëŒ€ìƒ ë…¸ë“œì˜ ë©”ì„œë“œë¥¼ 지정해야 í•´ìš”."
#: editor/connections_dialog.cpp
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"ëŒ€ìƒ ë©”ì„œë“œë¥¼ ì°¾ì„ ìˆ˜ 없습니다! 올바른 메서드를 지정하거나, ëŒ€ìƒ ë…¸ë“œì— ìŠ¤í¬"
-"립트를 ë¶™ì´ì„¸ìš”."
+"ëŒ€ìƒ ë©”ì„œë“œë¥¼ ì°¾ì„ ìˆ˜ 없어요! 올바른 메서드를 지정하거나 ëŒ€ìƒ ë…¸ë“œì— ìŠ¤í¬ë¦½íЏ"
+"를 붙여보세요."
#: editor/connections_dialog.cpp
msgid "Connect to Node:"
-msgstr "ë‹¤ìŒ ë…¸ë“œì— ì—°ê²°:"
+msgstr "ì´ ë…¸ë“œì— ì—°ê²°í• ê²Œìš”:"
#: editor/connections_dialog.cpp
msgid "Connect to Script:"
-msgstr "ë‹¤ìŒ ìŠ¤í¬ë¦½íŠ¸ì— ì—°ê²°:"
+msgstr "ì´ ìŠ¤í¬ë¦½íŠ¸ì— ì—°ê²°í• ê²Œìš”:"
#: editor/connections_dialog.cpp
msgid "From Signal:"
-msgstr "ë‹¤ìŒ ì‹œê·¸ë„로부터:"
+msgstr "ì´ ì‹œê·¸ë„ì—서:"
#: editor/connections_dialog.cpp
msgid "Scene does not contain any script."
-msgstr "ì”¬ì´ ìŠ¤í¬ë¦½íŠ¸ë¥¼ ê°–ê³  있지 않습니다."
+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 "추가"
+msgstr "추가하기"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/editor_feature_profile.cpp editor/groups_editor.cpp
@@ -759,11 +794,11 @@ msgstr "추가"
#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
-msgstr "삭제"
+msgstr "삭제하기"
#: editor/connections_dialog.cpp
msgid "Add Extra Call Argument:"
-msgstr "별ë„ì˜ í˜¸ì¶œ ì¸ìˆ˜ 추가:"
+msgstr "별ë„ì˜ í˜¸ì¶œ ì¸ìˆ˜ 추가하기:"
#: editor/connections_dialog.cpp
msgid "Extra Call Arguments:"
@@ -780,7 +815,8 @@ msgstr "지연"
#: editor/connections_dialog.cpp
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr "시그ë„ì„ ì§€ì—°í•˜ëŠ” 것으로, íì— ì €ìž¥í•˜ê³  대기 ì‹œê°„ì— ì‹¤í–‰í•©ë‹ˆë‹¤."
+msgstr ""
+"시그ë„ì„ ì§€ì—°í•˜ë©´ 시그ë„ì€ íì— ì €ìž¥ë˜ê¸° ë•Œë¬¸ì— ëŒ€ê¸° 시간ì—ë§Œ 방출해요."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -788,11 +824,11 @@ msgstr "1회"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr "첫 ë°©ì¶œ ì´í›„ 시그ë„ì„ ì—°ê²° 해제합니다."
+msgstr "ì²˜ìŒ ë°©ì¶œí•˜ë©´ ì‹œê·¸ë„ ì—°ê²°ì„ í’€ì–´ë²„ë ¤ìš”."
#: editor/connections_dialog.cpp
msgid "Cannot connect signal"
-msgstr "시그ë„ì„ ì—°ê²°í•  수 ì—†ìŒ"
+msgstr "시그ë„ì„ ì—°ê²°í•  수 없어요"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -801,7 +837,8 @@ msgstr "시그ë„ì„ ì—°ê²°í•  수 ì—†ìŒ"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -818,15 +855,15 @@ msgstr "시그ë„:"
#: editor/connections_dialog.cpp
msgid "Connect '%s' to '%s'"
-msgstr "'%s'ì„(를) '%s'ì— ì—°ê²°"
+msgstr "'%s'ì„(를) '%s'ì— ì—°ê²°í•˜ê¸°"
#: editor/connections_dialog.cpp
msgid "Disconnect '%s' from '%s'"
-msgstr "'%s'와(ê³¼) '%s'ì˜ ì—°ê²° í•´ì œ"
+msgstr "'%s'와(ê³¼) '%s'ì˜ ì—°ê²° 풀기"
#: editor/connections_dialog.cpp
msgid "Disconnect all from signal: '%s'"
-msgstr "ì „ë¶€ 시그ë„ì—서 ì—°ê²° í•´ì œ: '%s'"
+msgstr "ì „ë¶€ 시그ë„ì—서 ì—°ê²° 풀기: '%s'"
#: editor/connections_dialog.cpp
msgid "Connect..."
@@ -835,19 +872,19 @@ msgstr "연결하기..."
#: editor/connections_dialog.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
-msgstr "연결 해제"
+msgstr "연결 풀기"
#: editor/connections_dialog.cpp
msgid "Connect a Signal to a Method"
-msgstr "시그ë„ì„ ë©”ì„œë“œì— ì—°ê²°"
+msgstr "시그ë„ì„ ë©”ì„œë“œì— ì—°ê²°í•˜ê¸°"
#: editor/connections_dialog.cpp
msgid "Edit Connection:"
-msgstr "연결 편집:"
+msgstr "연결 편집하기:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr "\"%s\" 시그ë„ì˜ ëª¨ë“  ì—°ê²°ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "\"%s\" 시그ë„ì˜ ëª¨ë“  ì—°ê²°ì„ ì‚­ì œí• ê¹Œìš”?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
@@ -855,27 +892,27 @@ msgstr "시그ë„"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from this signal?"
-msgstr "ì´ ì‹œê·¸ë„ì—서 모든 ì—°ê²°ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "ì´ ì‹œê·¸ë„ì˜ ëª¨ë“  ì—°ê²°ì„ ì‚­ì œí• ê¹Œìš”?"
#: editor/connections_dialog.cpp
msgid "Disconnect All"
-msgstr "모든 연결 해제"
+msgstr "ëª¨ë‘ ì—°ê²° 풀기"
#: editor/connections_dialog.cpp
msgid "Edit..."
-msgstr "편집..."
+msgstr "편집하기..."
#: editor/connections_dialog.cpp
msgid "Go To Method"
-msgstr "메서드로 ì´ë™"
+msgstr "메서드로 ì´ë™í•˜ê¸°"
#: editor/create_dialog.cpp
msgid "Change %s Type"
-msgstr "%s(으)로 타입 변경"
+msgstr "%s(으)로 유형 바꾸기"
#: editor/create_dialog.cpp editor/project_settings_editor.cpp
msgid "Change"
-msgstr "변경"
+msgstr "변경하기"
#: editor/create_dialog.cpp
msgid "Create New %s"
@@ -888,21 +925,22 @@ msgstr "ì¦ê²¨ì°¾ê¸°:"
#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
msgid "Recent:"
-msgstr "최근:"
+msgstr "최근 기ë¡:"
#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
#: editor/property_selector.cpp editor/quick_open.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
-msgstr "검색:"
+msgstr "검색하기:"
#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
#: editor/property_selector.cpp editor/quick_open.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
-msgstr "ì¼ì¹˜:"
+msgstr "ì¼ì¹˜í•´ìš”:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -911,7 +949,7 @@ msgstr "설명:"
#: editor/dependency_editor.cpp
msgid "Search Replacement For:"
-msgstr "대체할 ëŒ€ìƒ ì°¾ê¸°:"
+msgstr "êµì²´í•  ëŒ€ìƒ ì°¾ê¸°:"
#: editor/dependency_editor.cpp
msgid "Dependencies For:"
@@ -922,16 +960,16 @@ msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"씬 '%s'ì´(ê°€) 현재 편집 중입니다.\n"
-"다시 불러올 때 ë³€ê²½ì‚¬í•­ì´ ì ìš©ë©ë‹ˆë‹¤."
+"씬 '%s'ì„(를) 편집하고 있어요.\n"
+"다시 불러와야 변경 ì‚¬í•­ì´ ì ìš©ë˜ìš”."
#: editor/dependency_editor.cpp
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"리소스 '%s'ì´(ê°€) 사용 중입니다.\n"
-"다시 불러올 때 ë³€ê²½ì‚¬í•­ì´ ì ìš©ë©ë‹ˆë‹¤."
+"리소스 '%s'ì„(를) 사용하고 있어요.\n"
+"다시 불러와야 변경 ì‚¬í•­ì´ ì ìš©ë˜ìš”."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -949,11 +987,11 @@ msgstr "경로"
#: editor/dependency_editor.cpp
msgid "Dependencies:"
-msgstr "종ì†ëœ 항목:"
+msgstr "ì¢…ì† ê´€ê³„:"
#: editor/dependency_editor.cpp
msgid "Fix Broken"
-msgstr "깨진 종ì†ì„± 수정"
+msgstr "ë§ê°€ì§„ 부분 고치기"
#: editor/dependency_editor.cpp
msgid "Dependency Editor"
@@ -961,7 +999,7 @@ msgstr "ì¢…ì† ê´€ê³„ 편집기"
#: editor/dependency_editor.cpp
msgid "Search Replacement Resource:"
-msgstr "대체 리소스 검색:"
+msgstr "대체 리소스 검색하기:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
@@ -979,7 +1017,7 @@ msgstr "소유ìž:"
#: editor/dependency_editor.cpp
msgid "Remove selected files from the project? (Can't be restored)"
-msgstr "프로ì íЏì—서 ì„ íƒí•œ 파ì¼ì„ 삭제하시겠습니까? (ë˜ëŒë¦¬ê¸° 불가)"
+msgstr "프로ì íЏì—서 ì„ íƒí•œ 파ì¼ì„ 삭제할까요? (ë˜ëŒë¦´ 수 없어요)"
#: editor/dependency_editor.cpp
msgid ""
@@ -987,12 +1025,12 @@ msgid ""
"work.\n"
"Remove them anyway? (no undo)"
msgstr ""
-"삭제하려고 하는 파ì¼ë“¤ì€ 다른 ë¦¬ì†ŒìŠ¤ë“¤ì´ ì •ìƒë™ìž‘하기 위해 필요합니다.\n"
-"ì •ë§ë¡œ 삭제하시겠습니까? (ë˜ëŒë¦¬ê¸° 불가)"
+"삭제하려는 파ì¼ì€ ìž‘ì—…ì„ ìœ„í•´ 다른 리소스ì—서 필요한 파ì¼ì´ì—ìš”.\n"
+"무시하고 삭제할 건가요? (ë˜ëŒë¦´ 수 없어요)"
#: editor/dependency_editor.cpp
msgid "Cannot remove:"
-msgstr "삭제할 수 없습니다:"
+msgstr "삭제할 수 없어요:"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -1000,7 +1038,7 @@ msgstr "불러오기 중 오류:"
#: editor/dependency_editor.cpp
msgid "Load failed due to missing dependencies:"
-msgstr "ì¢…ì† ê´€ê³„ë¥¼ ì°¾ì„ ìˆ˜ 없어 ì”¬ì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다:"
+msgstr "ì¢…ì† ê´€ê³„ê°€ 누ë½ë˜ì–´ì„œ 불러올 수 없어요:"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Open Anyway"
@@ -1008,19 +1046,19 @@ msgstr "무시하고 열기"
#: editor/dependency_editor.cpp
msgid "Which action should be taken?"
-msgstr "ì–´ë–¤ ê²ƒì„ ìˆ˜í–‰í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "ì–´ë–¤ ìž‘ì—…ì„ í•  건가요?"
#: editor/dependency_editor.cpp
msgid "Fix Dependencies"
-msgstr "ì¢…ì† ê´€ê³„ 수정"
+msgstr "ì¢…ì† ê´€ê³„ 고치기"
#: editor/dependency_editor.cpp
msgid "Errors loading!"
-msgstr "불러오기 중 오류 ë°œìƒ!"
+msgstr "불러오기 중 오류!"
#: editor/dependency_editor.cpp
msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr "%dê°œ í•­ëª©ì„ ì˜êµ¬ì ìœ¼ë¡œ 삭제하시겠습니까? (ë˜ëŒë¦¬ê¸° 불가)"
+msgstr "%dê°œì˜ í•­ëª©ì„ ì˜êµ¬ì ìœ¼ë¡œ 삭제할까요? (ë˜ëŒë¦´ 수 없어요!)"
#: editor/dependency_editor.cpp
msgid "Show Dependencies"
@@ -1036,27 +1074,27 @@ msgstr "미사용 리소스 íƒìƒ‰ê¸°"
#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
msgid "Delete"
-msgstr "삭제"
+msgstr "삭제하기"
#: editor/dependency_editor.cpp
msgid "Owns"
-msgstr "소유"
+msgstr "소유ìž"
#: editor/dependency_editor.cpp
msgid "Resources Without Explicit Ownership:"
-msgstr "명확하게 사용ë˜ì§€ ì•Šì€ ë¦¬ì†ŒìŠ¤:"
+msgstr "명확한 소유ìžê°€ 없는 리소스:"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Key"
-msgstr "Dictionary 키 변경"
+msgstr "디렉토리 키 변경하기"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Value"
-msgstr "Dictionary 값 변경"
+msgstr "디렉토리 값 변경하기"
#: editor/editor_about.cpp
msgid "Thanks from the Godot community!"
-msgstr "Godot ì»¤ë®¤ë‹ˆí‹°ì— ê°ì‚¬ë“œë¦½ë‹ˆë‹¤!"
+msgstr "Godot 커뮤니티ì—서 고마워요!"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -1076,7 +1114,7 @@ msgstr "프로ì íЏ 매니저 "
#: editor/editor_about.cpp
msgid "Developers"
-msgstr "개발ìžë“¤"
+msgstr "개발ìž"
#: editor/editor_about.cpp
msgid "Authors"
@@ -1115,21 +1153,19 @@ msgid "License"
msgstr "ë¼ì´ì„ ìФ"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "서드파티 ë¼ì´ì„ ìФ"
+msgstr "ì œ 3ìž ë¼ì´ì„ ìФ"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot Engineì€ MIT ë¼ì´ì„ ìŠ¤ì™€ 호환ë˜ëŠ” ìˆ˜ë§Žì€ ì„œë“œíŒŒí‹° ìžìœ  오픈소스 ë¼ì´ë¸ŒëŸ¬"
-"ë¦¬ì— ì˜ì¡´í•©ë‹ˆë‹¤. 다ìŒì€ 그러한 서드파티 ì»´í¬ë„ŒíŠ¸ì˜ ì™„ì „í•œ 목ë¡ê³¼ ì´ì— 대ì‘하"
-"는 저작권 선언문 ë° ë¼ì´ì„¼ìŠ¤ìž…ë‹ˆë‹¤."
+"Godot Engineì€ MIT ë¼ì´ì„ ìŠ¤ì™€ 호환ë˜ëŠ” ìˆ˜ë§Žì€ ì œ 3ìž ìžìœ  오픈소스 ë¼ì´ë¸ŒëŸ¬ë¦¬"
+"ì— ì˜ì¡´í•©ë‹ˆë‹¤. 다ìŒì€ 그러한 ì œ 3ìž êµ¬ì„± ìš”ì†Œì˜ ì „ì²´ 목ë¡ê³¼ ì´ì— 대ì‘하는 ì €"
+"작권 선언문 ë° ë¼ì´ì„ ìŠ¤ìž…ë‹ˆë‹¤."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1144,17 +1180,16 @@ msgid "Licenses"
msgstr "ë¼ì´ì„ ìФ"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "패키지 파ì¼ì„ 여는 ë° ì˜¤ë¥˜ê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. zip 형ì‹ì´ 아닙니다."
+msgstr "패키지 파ì´ì„ 여는 중 오류가 ë°œìƒí–ˆì–´ìš”, ZIP 형ì‹ì´ 아니네요."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
-msgstr "애셋 압축해제"
+msgstr "애셋 압축 풀기"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Package installed successfully!"
-msgstr "패키지가 성공ì ìœ¼ë¡œ 설치ë˜ì—ˆìŠµë‹ˆë‹¤!"
+msgstr "패키지를 성공ì ìœ¼ë¡œ 설치했어요!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -1163,11 +1198,11 @@ msgstr "성공!"
#: editor/editor_asset_installer.cpp editor/editor_node.cpp
msgid "Install"
-msgstr "설치"
+msgstr "설치하기"
#: editor/editor_asset_installer.cpp
msgid "Package Installer"
-msgstr "패키지 ì¸ìŠ¤í†¨ëŸ¬"
+msgstr "패키지 설치 마법사"
#: editor/editor_audio_buses.cpp
msgid "Speakers"
@@ -1175,11 +1210,11 @@ msgstr "스피커"
#: editor/editor_audio_buses.cpp
msgid "Add Effect"
-msgstr "ì´íŽ™íŠ¸ 추가"
+msgstr "효과 추가하기"
#: editor/editor_audio_buses.cpp
msgid "Rename Audio Bus"
-msgstr "오디오 버스 ì´ë¦„ 변경"
+msgstr "오디오 버스 ì´ë¦„ 바꾸기"
#: editor/editor_audio_buses.cpp
msgid "Change Audio Bus Volume"
@@ -1199,23 +1234,24 @@ msgstr "오디오 버스 ë°”ì´íŒ¨ìФ 효과 토글"
#: editor/editor_audio_buses.cpp
msgid "Select Audio Bus Send"
-msgstr "오디오 버스 전송 ì„ íƒ"
+msgstr "오디오 버스 전송 ì„ íƒí•˜ê¸°"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus Effect"
-msgstr "오디오 버스 ì´íŽ™íŠ¸ 추가"
+msgstr "오디오 버스 효과 추가하기"
#: editor/editor_audio_buses.cpp
msgid "Move Bus Effect"
-msgstr "버스 ì´íŽ™íŠ¸ ì´ë™"
+msgstr "버스 효과 ì´ë™í•˜ê¸°"
#: editor/editor_audio_buses.cpp
msgid "Delete Bus Effect"
-msgstr "버스 ì´íŽ™íŠ¸ ì‚­ì œ"
+msgstr "버스 효과 삭제하기"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
-msgstr "오디오 버스, 드래그 앤 드롭으로 재 배치하세요."
+#, fuzzy
+msgid "Drag & drop to rearrange."
+msgstr "오디오 버스, 드래그 앤 드롭으로 다시 정렬해요."
#: editor/editor_audio_buses.cpp
msgid "Solo"
@@ -1223,7 +1259,7 @@ msgstr "솔로"
#: editor/editor_audio_buses.cpp
msgid "Mute"
-msgstr "뮤트"
+msgstr "ìŒì†Œê±°"
#: editor/editor_audio_buses.cpp
msgid "Bypass"
@@ -1231,20 +1267,20 @@ msgstr "ë°”ì´íŒ¨ìФ"
#: editor/editor_audio_buses.cpp
msgid "Bus options"
-msgstr "버스 옵션"
+msgstr "버스 설정"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
-msgstr "복제"
+msgstr "복제하기"
#: editor/editor_audio_buses.cpp
msgid "Reset Volume"
-msgstr "볼륨 리셋"
+msgstr "볼륨 리셋하기"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
-msgstr "ì´íŽ™íŠ¸ ì‚­ì œ"
+msgstr "효과 삭제하기"
#: editor/editor_audio_buses.cpp
msgid "Audio"
@@ -1252,35 +1288,35 @@ msgstr "오디오"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus"
-msgstr "오디오 버스 추가"
+msgstr "오디오 버스 추가하기"
#: editor/editor_audio_buses.cpp
msgid "Master bus can't be deleted!"
-msgstr "주 버스는 삭제할 수 없습니다!"
+msgstr "마스터 버스는 삭제할 수 없어요!"
#: editor/editor_audio_buses.cpp
msgid "Delete Audio Bus"
-msgstr "오디오 버스 삭제"
+msgstr "오디오 버스 삭제하기"
#: editor/editor_audio_buses.cpp
msgid "Duplicate Audio Bus"
-msgstr "오디오 버스 복제"
+msgstr "오디오 버스 복제하기"
#: editor/editor_audio_buses.cpp
msgid "Reset Bus Volume"
-msgstr "버스 볼륨 리셋"
+msgstr "버스 볼륨 리셋하기"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
-msgstr "오디오 버스 ì´ë™"
+msgstr "오디오 버스 ì´ë™í•˜ê¸°"
#: editor/editor_audio_buses.cpp
msgid "Save Audio Bus Layout As..."
-msgstr "오디오 버스 ë ˆì´ì•„ì›ƒì„ ë‹¤ë¥¸ ì´ë¦„으로 저장..."
+msgstr "오디오 버스 ë ˆì´ì•„ì›ƒì„ ë‹¤ë¥¸ ì´ë¦„으로 저장하기..."
#: editor/editor_audio_buses.cpp
msgid "Location for New Layout..."
-msgstr "새 ë ˆì´ì•„ì›ƒì„ ì €ìž¥í•  장소..."
+msgstr "새 ë ˆì´ì•„ì›ƒì„ ì €ìž¥í•  위치..."
#: editor/editor_audio_buses.cpp
msgid "Open Audio Bus Layout"
@@ -1288,7 +1324,7 @@ msgstr "오디오 버스 ë ˆì´ì•„웃 열기"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr "'%s' 파ì¼ì´ 없습니다."
+msgstr "'%s' 파ì¼ì´ 없어요."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1296,15 +1332,15 @@ msgstr "ë ˆì´ì•„웃"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
-msgstr "올바르지 ì•Šì€ íŒŒì¼ìž…니다. 오디오 버스 ë ˆì´ì•„ì›ƒì´ ì•„ë‹™ë‹ˆë‹¤."
+msgstr "ìž˜ëª»ëœ íŒŒì¼ì´ì—ìš”, 오디오 버스 ë ˆì´ì•„ì›ƒì´ ì•„ë‹ˆì—ìš”."
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
-msgstr "버스 추가"
+msgstr "버스 추가하기"
#: editor/editor_audio_buses.cpp
msgid "Add a new Audio Bus to this layout."
-msgstr "ì´ ë ˆì´ì•„ì›ƒì— ìƒˆ 오디오 버스를 추가합니다."
+msgstr "ì´ ë ˆì´ì•„ì›ƒì— ìƒˆ 오디오 버스를 추가할게요."
#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
@@ -1314,15 +1350,15 @@ msgstr "불러오기"
#: editor/editor_audio_buses.cpp
msgid "Load an existing Bus Layout."
-msgstr "기존 버스 ë ˆì´ì•„ì›ƒì„ ë¶ˆëŸ¬ì˜µë‹ˆë‹¤."
+msgstr "기존 버스 ë ˆì´ì•„ì›ƒì„ ë¶ˆëŸ¬ì˜¬ê²Œìš”."
#: editor/editor_audio_buses.cpp
msgid "Save As"
-msgstr "다른 ì´ë¦„으로 저장"
+msgstr "다른 ì´ë¦„으로 저장하기"
#: editor/editor_audio_buses.cpp
msgid "Save this Bus Layout to a file."
-msgstr "ì´ ë²„ìŠ¤ ë ˆì´ì•„ì›ƒì„ íŒŒì¼ë¡œ 저장합니다..."
+msgstr "ì´ ë²„ìŠ¤ ë ˆì´ì•„ì›ƒì„ íŒŒì¼ë¡œ 저장할게요..."
#: editor/editor_audio_buses.cpp editor/import_dock.cpp
msgid "Load Default"
@@ -1330,15 +1366,15 @@ msgstr "기본값 불러오기"
#: editor/editor_audio_buses.cpp
msgid "Load the default Bus Layout."
-msgstr "기본 버스 ë ˆì´ì•„ì›ƒì„ ë¶ˆëŸ¬ì˜µë‹ˆë‹¤."
+msgstr "기본 버스 ë ˆì´ì•„ì›ƒì„ ë¶ˆëŸ¬ì˜¬ê²Œìš”."
#: editor/editor_audio_buses.cpp
msgid "Create a new Bus Layout."
-msgstr "새로운 버스 ë ˆì´ì•„ì›ƒì„ ë§Œë“­ë‹ˆë‹¤."
+msgstr "새로운 버스 ë ˆì´ì•„ì›ƒì„ ë§Œë“¤ì–´ìš”."
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
-msgstr "올바르지 ì•Šì€ ì´ë¦„."
+msgstr "ìž˜ëª»ëœ ì´ë¦„ì´ì—ìš”."
#: editor/editor_autoload_settings.cpp
msgid "Valid characters:"
@@ -1346,65 +1382,66 @@ msgstr "올바른 문ìž:"
#: editor/editor_autoload_settings.cpp
msgid "Must not collide with an existing engine class name."
-msgstr "ì—”ì§„ì— ì¡´ìž¬í•˜ëŠ” í´ëž˜ìФ ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
+msgstr "ì—”ì§„ì— ìžˆëŠ” í´ëž˜ìФ ì´ë¦„ê³¼ 같으면 안ë¼ìš”."
#: editor/editor_autoload_settings.cpp
msgid "Must not collide with an existing built-in type name."
-msgstr "기존 내장 타입 ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
+msgstr "내장으로 있는 ìœ í˜•ì˜ ì´ë¦„ê³¼ 같으면 안ë¼ìš”."
#: editor/editor_autoload_settings.cpp
msgid "Must not collide with an existing global constant name."
-msgstr "ì „ì—­ ìƒìˆ˜ ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
+msgstr "전역으로 있는 ìƒìˆ˜ ì´ë¦„ê³¼ 같으면 안ë¼ìš”."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr "키워드를 오토로드 ì´ë¦„으로 사용할 수 없습니다."
+msgstr "키워드를 오토로드 ì´ë¦„으로 쓸 수 없어요."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
-msgstr "ì˜¤í† ë¡œë“œì— '%s'ì´(ê°€) ì´ë¯¸ 존재합니다!"
+msgstr "오토로드 '%s'ì´(ê°€) ì´ë¯¸ 있어요!"
#: editor/editor_autoload_settings.cpp
msgid "Rename Autoload"
-msgstr "오토로드 ì´ë¦„ 변경"
+msgstr "오토로드 ì´ë¦„ 바꾸기"
#: editor/editor_autoload_settings.cpp
msgid "Toggle AutoLoad Globals"
-msgstr "오토로드 글로벌 토글"
+msgstr "오토로드 전역 토글"
#: editor/editor_autoload_settings.cpp
msgid "Move Autoload"
-msgstr "오토로드 ì´ë™"
+msgstr "오토로드 ì´ë™í•˜ê¸°"
#: editor/editor_autoload_settings.cpp
msgid "Remove Autoload"
-msgstr "오토로드 삭제"
+msgstr "오토로드 삭제하기"
#: editor/editor_autoload_settings.cpp
msgid "Enable"
-msgstr "활성화"
+msgstr "켜기"
#: editor/editor_autoload_settings.cpp
msgid "Rearrange Autoloads"
-msgstr "오토로드 재정렬"
+msgstr "오토로드 다시 정렬하기"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
msgid "Invalid path."
-msgstr "올바르지 ì•Šì€ ê²½ë¡œ."
+msgstr "ìž˜ëª»ëœ ê²½ë¡œì´ì—ìš”."
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
msgid "File does not exist."
-msgstr "파ì¼ì´ 존재하지 않습니다."
+msgstr "파ì¼ì´ 없어요."
#: editor/editor_autoload_settings.cpp
msgid "Not in resource path."
-msgstr "리소스 경로가 아닙니다."
+msgstr "리소스 경로가 아니ì—ìš”."
#: editor/editor_autoload_settings.cpp
msgid "Add AutoLoad"
-msgstr "오토로드 추가"
+msgstr "오토로드 추가하기"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "경로:"
@@ -1428,7 +1465,7 @@ msgstr "씬 ì—…ë°ì´íЏ 중"
#: editor/editor_data.cpp
msgid "Storing local changes..."
-msgstr "로컬 ë³€ê²½ì‚¬í•­ì„ ì €ìž¥ 중..."
+msgstr "지역 변경 ì‚¬í•­ì„ ì €ìž¥ 중..."
#: editor/editor_data.cpp
msgid "Updating scene..."
@@ -1444,11 +1481,11 @@ msgstr "[저장ë˜ì§€ 않ìŒ]"
#: editor/editor_dir_dialog.cpp
msgid "Please select a base directory first."
-msgstr "먼저 기본 디렉토리를 ì„ íƒí•´ì£¼ì„¸ìš”."
+msgstr "먼저 기본 디렉토리를 ì„ íƒí•˜ê¸°í•´ì£¼ì„¸ìš”."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
-msgstr "디렉토리 ì„ íƒ"
+msgstr "디렉토리 ì„ íƒí•˜ê¸°"
#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
#: editor/filesystem_dock.cpp editor/project_manager.cpp
@@ -1466,39 +1503,39 @@ 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 "í´ë”를 만들 수 없습니다."
+msgstr "í´ë”를 만들 수 없어요."
#: editor/editor_dir_dialog.cpp
msgid "Choose"
-msgstr "ì„ íƒ"
+msgstr "ì„ íƒí•˜ê¸°"
#: editor/editor_export.cpp
msgid "Storing File:"
-msgstr "íŒŒì¼ ì €ìž¥ 중:"
+msgstr "íŒŒì¼ ì €ìž¥í•˜ê¸°:"
#: editor/editor_export.cpp
msgid "No export template found at the expected path:"
-msgstr "ì˜ˆìƒ ê²½ë¡œì—서 내보내기 í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없습니다:"
+msgstr "ì˜ˆìƒ ê²½ë¡œì—서 내보낸 í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없어요:"
#: editor/editor_export.cpp
msgid "Packing"
-msgstr "패킹 중"
+msgstr "í¬ìž¥í•˜ê¸°"
#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
msgstr ""
-"ëŒ€ìƒ í”Œëž«í¼ì€ GLES2를 위해 'ETC' í…ìŠ¤ì³ ì••ì¶•ì´ í•„ìš”í•©ë‹ˆë‹¤. 프로ì íЏ 설정ì—서 "
-"'Import Etc'ì„ ì‚¬ìš©í•˜ì„¸ìš”."
+"ëŒ€ìƒ í”Œëž«í¼ì—서는 GLES2 ìš© 'ETC' í…스처 ì••ì¶•ì´ í•„ìš”í•´ìš”. 프로ì íЏ 설정ì—서 "
+"'Import Etc' ì„¤ì •ì„ ì¼œì„¸ìš”."
#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC2' texture compression for GLES3. Enable "
"'Import Etc 2' in Project Settings."
msgstr ""
-"ëŒ€ìƒ í”Œëž«í¼ì€ GLES3를 위해 'ETC2' í…ìŠ¤ì³ ì••ì¶•ì´ í•„ìš”í•©ë‹ˆë‹¤. 프로ì íЏ 설정ì—"
-"서 'Import Etc 2'를 사용하세요."
+"ëŒ€ìƒ í”Œëž«í¼ì—서는 GLES3 ìš© 'ETC2' í…스처 ì••ì¶•ì´ í•„ìš”í•´ìš”. 프로ì íЏ 설정ì—서 "
+"'Import Etc 2' ì„¤ì •ì„ ì¼œì„¸ìš”."
#: editor/editor_export.cpp
msgid ""
@@ -1507,32 +1544,29 @@ msgid ""
"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
"Enabled'."
msgstr ""
-"ëŒ€ìƒ í”Œëž«í¼ì€ 드ë¼ì´ë²„ê°€ GLES2로 í´ë°±í•˜ê¸° 위해 'ETC' í…ìŠ¤ì³ ì••ì¶•ì´ í•„ìš”í•©ë‹ˆ"
-"다.\n"
-"프로ì íЏ 설정ì—서 'Import Etc'ì„ í‚¤ê±°ë‚˜, 'Driver Fallback Enabled'를 비활성화"
-"하세요."
+"ëŒ€ìƒ í”Œëž«í¼ì€ 드ë¼ì´ë²„ê°€ GLES2로 í´ë°±í•˜ê¸° 위해 'ETC' í…스처 ì••ì¶•ì´ í•„ìš”í•´ìš”. "
+"프로ì íЏ 설정ì—서 'Import Etc' ì„¤ì •ì„ ì¼œê±°ë‚˜, 'Driver Fallback Enabled' 설정"
+"ì„ ë„세요."
#: editor/editor_export.cpp platform/android/export/export.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
msgid "Custom debug template not found."
-msgstr "커스텀 디버그 í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없습니다."
+msgstr "맞춤 디버그 í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없어요."
#: editor/editor_export.cpp platform/android/export/export.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
msgid "Custom release template not found."
-msgstr "커스텀 릴리즈 í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없습니다."
+msgstr "맞춤 출시 í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없어요."
#: editor/editor_export.cpp platform/javascript/export/export.cpp
msgid "Template file not found:"
-msgstr "í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없습니다:"
+msgstr "템플릿 파ì¼ì„ ì°¾ì„ ìˆ˜ 없어요:"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
-msgstr ""
-"32 비트 환경ì—서 ë‚´ìž¥ëœ PCK를 내보내려면 4 GiB(기가 ì´ì§„ ë°”ì´íЏ)보다 작아야 "
-"합니다."
+msgstr "32비트 환경ì—서는 4GiB보다 í° ë‚´ìž¥ëœ PCK를 내보낼 수 없어요."
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -1564,59 +1598,59 @@ msgstr "íŒŒì¼ ì‹œìŠ¤í…œê³¼ 가져오기 ë…"
#: editor/editor_feature_profile.cpp
msgid "Erase profile '%s'? (no undo)"
-msgstr "프로필 '%s'ì„(를) 지우시겠습니까? (뒤로가기 ì—†ìŒ)"
+msgstr "프로필 '%s'ì„(를) 지울까요? (ë˜ëŒë¦´ 수 없어요)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr "í”„ë¡œí•„ì€ ì˜¬ë°”ë¥¸ íŒŒì¼ ì´ë¦„ì´ë©°, '.'ì„ í¬í•¨í•˜ì§€ 않아야 합니다"
+msgstr "프로필ì—는 올바른 íŒŒì¼ ì´ë¦„ì´ë©´ì„œ, '.'ì´ ì—†ì–´ì•¼ í•´ìš”"
#: editor/editor_feature_profile.cpp
msgid "Profile with this name already exists."
-msgstr "ì´ ì´ë¦„ì„ ê°€ì§„ í”„ë¡œí•„ì´ ì´ë¯¸ 존재합니다."
+msgstr "ì´ ì´ë¦„으로 ëœ í”„ë¡œí•„ì´ ì´ë¯¸ 있어요."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr "(편집기 비활성화ë¨, ì†ì„± 비활성화ë¨)"
+msgstr "(편집기 꺼ì§, ì†ì„± 꺼ì§)"
#: editor/editor_feature_profile.cpp
msgid "(Properties Disabled)"
-msgstr "(ì†ì„± 비활성화ë¨)"
+msgstr "(ì†ì„± 꺼ì§)"
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled)"
-msgstr "(편집기 비활성화ë¨)"
+msgstr "(편집기 꺼ì§)"
#: editor/editor_feature_profile.cpp
msgid "Class Options:"
-msgstr "í´ëž˜ìФ 옵션:"
+msgstr "í´ëž˜ìФ 설정:"
#: editor/editor_feature_profile.cpp
msgid "Enable Contextual Editor"
-msgstr "컨í…스트 편집기 활성화"
+msgstr "ë§¥ë½ íŽ¸ì§‘ê¸° 켜기"
#: editor/editor_feature_profile.cpp
msgid "Enabled Properties:"
-msgstr "í™œì„±í™”ëœ ì†ì„±:"
+msgstr "켜진 ì†ì„±:"
#: editor/editor_feature_profile.cpp
msgid "Enabled Features:"
-msgstr "í™œì„±í™”ëœ ê¸°ëŠ¥:"
+msgstr "켜진 기능:"
#: editor/editor_feature_profile.cpp
msgid "Enabled Classes:"
-msgstr "í™œì„±í™”ëœ í´ëž˜ìФ:"
+msgstr "켜진 í´ëž˜ìФ:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr "íŒŒì¼ '%s' 형ì‹ì´ 올바르지 않습니다, 가져오기가 중단ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr "íŒŒì¼ '%s' 형ì‹ì´ 잘못ë¬ì–´ìš”, 가져올 수 없어요."
#: editor/editor_feature_profile.cpp
msgid ""
"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
-"프로필 '%s'ì´(ê°€) ì´ë¯¸ 존재합니다. 가져오기 ì „ì— ì•žì˜ ê²ƒì„ ì‚­ì œí•˜ì„¸ìš”, 가져오"
-"기가 중단ë˜ì—ˆìŠµë‹ˆë‹¤."
+"프로필 '%s'ì´(ê°€) ì´ë¯¸ 있어요. 가져오기 ì „ì— ì´ë¯¸ 있는 í”„ë¡œí•„ì„ ë¨¼ì € 삭제하세"
+"요, 가져올 수 없어요."
#: editor/editor_feature_profile.cpp
msgid "Error saving profile to path: '%s'."
@@ -1624,7 +1658,7 @@ msgstr "í”„ë¡œí•„ì„ ê²½ë¡œì— ì €ìž¥í•˜ëŠ” 중 오류: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr "비설정"
+msgstr "설정하지 않기"
#: editor/editor_feature_profile.cpp
msgid "Current Profile:"
@@ -1632,10 +1666,11 @@ msgstr "현재 프로필:"
#: editor/editor_feature_profile.cpp
msgid "Make Current"
-msgstr "현재 만들기"
+msgstr "í˜„ìž¬ì˜ ê²ƒìœ¼ë¡œ 만들기"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "새 것"
@@ -1666,7 +1701,7 @@ msgstr "프로필 지우기"
#: editor/editor_feature_profile.cpp
msgid "Import Profile(s)"
-msgstr "가져온 프로필"
+msgstr "프로필 가져오기"
#: editor/editor_feature_profile.cpp
msgid "Export Profile"
@@ -1674,11 +1709,11 @@ msgstr "프로필 내보내기"
#: editor/editor_feature_profile.cpp
msgid "Manage Editor Feature Profiles"
-msgstr "편집기 기능 프로필 관리"
+msgstr "편집기 기능 프로필 관리하기"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
-msgstr "현재 í´ë” ì„ íƒ"
+msgstr "현재 í´ë” ì„ íƒí•˜ê¸°"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File Exists, Overwrite?"
@@ -1686,11 +1721,11 @@ msgstr "파ì¼ì´ 존재합니다. ë®ì–´ì“°ì‹œê² ìŠµë‹ˆê¹Œ?"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select This Folder"
-msgstr "ì´ í´ë” ì„ íƒ"
+msgstr "ì´ í´ë” ì„ íƒí•˜ê¸°"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "Copy Path"
-msgstr "경로 복사"
+msgstr "경로 복사하기"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "Open in File Manager"
@@ -1706,6 +1741,7 @@ msgid "New Folder..."
msgstr "새 í´ë”..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "새로고침"
@@ -1774,35 +1810,35 @@ msgstr "경로 í¬ì»¤ìФ"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Up"
-msgstr "ì¦ê²¨ì°¾ê¸° 위로 ì´ë™"
+msgstr "ì¦ê²¨ì°¾ê¸° 위로 ì´ë™í•˜ê¸°"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Down"
-msgstr "ì¦ê²¨ì°¾ê¸° 아래로 ì´ë™"
+msgstr "ì¦ê²¨ì°¾ê¸° 아래로 ì´ë™í•˜ê¸°"
#: editor/editor_file_dialog.cpp
msgid "Go to previous folder."
-msgstr "ì´ì „ í´ë”로 ì´ë™í•©ë‹ˆë‹¤."
+msgstr "ì´ì „ í´ë”로 ì´ë™í•´ìš”."
#: editor/editor_file_dialog.cpp
msgid "Go to next folder."
-msgstr "ë‹¤ìŒ í´ë”로 ì´ë™í•©ë‹ˆë‹¤."
+msgstr "ë‹¤ìŒ í´ë”로 ì´ë™í•´ìš”."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Go to parent folder."
-msgstr "부모 í´ë”로 ì´ë™í•©ë‹ˆë‹¤."
+msgstr "부모 í´ë”로 ì´ë™í•´ìš”."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Refresh files."
-msgstr "파ì¼ì„ 새로고침합니다."
+msgstr "파ì¼ì„ 새로고침해요."
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
-msgstr "현재 í´ë”를 ì¦ê²¨ì°¾ê¸° (안) 합니다."
+msgstr "현재 í´ë”를 ì¦ê²¨ì°¾ê¸°í•˜ê±°ë‚˜ 하지 않아요."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Toggle the visibility of hidden files."
-msgstr "ê°ì¶˜ 파ì¼ì˜ 표시 여부 토글하기."
+msgstr "ê°ì¶˜ 파ì¼ì˜ 표시 여부 토글."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1810,17 +1846,17 @@ msgstr "ì¸ë„¤ì¼ 바둑íŒìœ¼ë¡œ 보기."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a list."
-msgstr "리스트로 보기."
+msgstr "목ë¡ìœ¼ë¡œ 보기."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
-msgstr "디렉토리와 파ì¼:"
+msgstr "디렉토리 & 파ì¼:"
#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
#: editor/plugins/style_box_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
msgid "Preview:"
-msgstr "미리보기:"
+msgstr "미리 보기:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File:"
@@ -1828,7 +1864,7 @@ msgstr "파ì¼:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
-msgstr "올바른 확장ìžë¥¼ 사용해야 합니다."
+msgstr "올바른 확장ìžë¥¼ 사용해야 í•´ìš”."
#: editor/editor_file_system.cpp
msgid "ScanSources"
@@ -1838,9 +1874,7 @@ msgstr "소스 조사"
msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
-msgstr ""
-"íŒŒì¼ %sì„(를) 가리키는 다른 ìœ í˜•ì˜ ê°€ì ¸ì˜¤ê¸°ë“¤ì´ ìžˆìŠ´ë‹ˆë‹¤, 가져오기가 중단ë˜"
-"었습니다"
+msgstr "íŒŒì¼ %sì„(를) 가리키는 다른 ìœ í˜•ì˜ ê°€ì ¸ì˜¤ê¸°ê°€ ë§Žì•„ìš”, 가져올 수 없어요"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -1863,7 +1897,8 @@ msgid "Inherited by:"
msgstr "ìƒì†í•œ í´ëž˜ìФ:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "간단한 설명:"
#: editor/editor_help.cpp
@@ -1871,59 +1906,32 @@ msgid "Properties"
msgstr "ì†ì„±"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "ì†ì„±:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "메서드"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "메서드:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "테마 ì†ì„±"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 "ìƒìˆ˜(Constant)"
-
-#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "ìƒìˆ˜:"
+msgstr "ìƒìˆ˜"
#: editor/editor_help.cpp
msgid "Class Description"
msgstr "í´ëž˜ìФ 설명"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "í´ëž˜ìФ 설명:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "온ë¼ì¸ 튜토리얼:"
#: editor/editor_help.cpp
@@ -1932,41 +1940,33 @@ msgid ""
"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
"url][/color]."
msgstr ""
-"현재 ì´ í´ëž˜ìŠ¤ì— ëŒ€í•œ íŠœí† ë¦¬ì–¼ì´ ì—†ìŠµë‹ˆë‹¤. [color=$color][url=$url]ë„ì›€ì„ ì£¼"
-"시거나[/url][/color] [color=$color][url=$url2]요청 하실 수[/url][/color] 있습"
-"니다."
+"현재 ì´ í´ëž˜ìŠ¤ì— ëŒ€í•œ íŠœí† ë¦¬ì–¼ì´ ì—†ì–´ìš”. [color=$color][url=$url]íŠœí† ë¦¬ì–¼ì— "
+"기여하거나[/url][/color] [color=$color][url=$url2]íŠœí† ë¦¬ì–¼ì„ ìš”ì²­í•  수[/url]"
+"[/color] 있어요."
#: editor/editor_help.cpp
msgid "Property Descriptions"
msgstr "ì†ì„± 설명"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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 ""
-"현재 ì´ ì†ì„±ì— 대한 ìƒì„¸ì„¤ëª…ì´ ì—†ìŠµë‹ˆë‹¤. [color=$color][url=$url]관련 정보를 "
-"기여하여[/url][/color] ë” ë‚˜ì•„ì§€ê²Œ ë„와주세요!"
+"현재 ì´ ì†ì„±ì˜ ì„¤ëª…ì´ ì—†ì–´ìš”[color=$color][url=$url]관련 정보를 기여하여[/"
+"url][/color] 개선할 수 있ë„ë¡ ë„와주세요!"
#: editor/editor_help.cpp
msgid "Method Descriptions"
msgstr "메서드 설명"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "메서드 설명:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"현재 ì´ ë©”ì„œë“œì— ëŒ€í•œ ìƒì„¸ ì„¤ëª…ì´ ì—†ìŠµë‹ˆë‹¤. [color=$color][url=$url]관련 ì •ë³´"
-"를 기여하여[/url][/color] ë” ë‚˜ì•„ì§€ê²Œ ë„와주세요!"
+"현재 ì´ ë©”ì„œë“œì˜ ì„¤ëª…ì´ ì—†ì–´ìš”. [color=$color][url=$url]관련 정보를 기여하여"
+"[/url][/color] 개선할 수 있ë„ë¡ ë„와주세요!"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -1975,35 +1975,35 @@ msgstr "ë„ì›€ë§ ê²€ìƒ‰"
#: editor/editor_help_search.cpp
msgid "Display All"
-msgstr "ëª¨ë‘ í‘œì‹œ"
+msgstr "ëª¨ë‘ í‘œì‹œí•˜ê¸°"
#: editor/editor_help_search.cpp
msgid "Classes Only"
-msgstr "í´ëž˜ìŠ¤ë§Œ"
+msgstr "í´ëž˜ìŠ¤ë§Œ 표시하기"
#: editor/editor_help_search.cpp
msgid "Methods Only"
-msgstr "메서드만"
+msgstr "메서드만 표시하기"
#: editor/editor_help_search.cpp
msgid "Signals Only"
-msgstr "시그ë„ë§Œ"
+msgstr "시그ë„ë§Œ 표시하기"
#: editor/editor_help_search.cpp
msgid "Constants Only"
-msgstr "ìƒìˆ˜ë§Œ"
+msgstr "ìƒìˆ˜ë§Œ 표시하기"
#: editor/editor_help_search.cpp
msgid "Properties Only"
-msgstr "ì†ì„±ë§Œ"
+msgstr "ì†ì„±ë§Œ 표시하기"
#: editor/editor_help_search.cpp
msgid "Theme Properties Only"
-msgstr "테마 ì†ì„±ë§Œ"
+msgstr "테마 ì†ì„±ë§Œ 표시하기"
#: editor/editor_help_search.cpp
msgid "Member Type"
-msgstr "멤버 타입"
+msgstr "멤버 유형"
#: editor/editor_help_search.cpp
msgid "Class"
@@ -2027,10 +2027,10 @@ msgstr "출력:"
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Copy Selection"
-msgstr "ì„ íƒ ë³µì‚¬"
+msgstr "ì„ íƒ í•­ëª© 복사하기"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2043,23 +2043,64 @@ msgstr "지우기"
msgid "Clear Output"
msgstr "출력 지우기"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "중단하기"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "시작"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "아래"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "위"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "노드"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "윈ë„ìš°"
+msgstr "새 창"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
-msgstr "프로ì íЏ 내보내기가 오류 코드 %d 로 실패했습니다."
+msgstr "프로ì íŠ¸ë¥¼ 내보낼 수 없었어요 오류 코드%d."
#: editor/editor_node.cpp
msgid "Imported resources can't be saved."
-msgstr "가져온 리소스를 저장할 수 없습니다."
+msgstr "가져온 리소스를 저장할 수 없어요."
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: scene/gui/dialogs.cpp
msgid "OK"
-msgstr "확ì¸"
+msgstr "네"
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Error saving resource!"
@@ -2070,20 +2111,20 @@ msgid ""
"This resource can't be saved because it does not belong to the edited scene. "
"Make it unique first."
msgstr ""
-"ì´ ë¦¬ì†ŒìŠ¤ëŠ” íŽ¸ì§‘ëœ ì”¬ì— ì†í•´ìžˆì§€ 않기 ë•Œë¬¸ì— ì €ìž¥í•  수 없습니다. 먼저 리소스"
-"를 유ì¼í•˜ê²Œ 만드세요."
+"ì´ ë¦¬ì†ŒìŠ¤ëŠ” 편집 ì¤‘ì¸ ì”¬ì— ì†í•œ ê²ƒì´ ì•„ë‹ˆë¼ì„œ 저장할 수 없어요. 저장하기 ì „"
+"ì— ë¨¼ì € 리소스를 유ì¼í•˜ê²Œ 만드세요."
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Save Resource As..."
-msgstr "리소스를 다른 ì´ë¦„으로 저장..."
+msgstr "리소스를 다른 ì´ë¦„으로 저장하기..."
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
-msgstr "쓰기 위한 파ì¼ì„ ì—´ 수 ì—†ìŒ:"
+msgstr "파ì¼ì„ 작성하려고 ì—´ 수 없어요:"
#: editor/editor_node.cpp
msgid "Requested file format unknown:"
-msgstr "요청한 íŒŒì¼ í˜•ì‹ì„ 알 수 ì—†ìŒ:"
+msgstr "요청한 íŒŒì¼ í˜•ì‹ì„ 알 수 없어요:"
#: editor/editor_node.cpp
msgid "Error while saving."
@@ -2091,7 +2132,7 @@ 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 "'%s'ì„(를) ì—´ 수 없습니다. 파ì¼ì´ 존재하지 않습니다."
+msgstr "'%s'ì„(를) ì—´ 수 없어요. 파ì¼ì´ ì´ë™í–ˆê±°ë‚˜ ì‚­ì œë나ë´ìš”."
#: editor/editor_node.cpp
msgid "Error while parsing '%s'."
@@ -2099,55 +2140,55 @@ msgstr "'%s' 구문 ë¶„ì„ ì¤‘ 오류."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr "예ìƒì¹˜ 못한 '%s' 파ì¼ì˜ ë."
+msgstr "예기치 못한 '%s' 파ì¼ì˜ ë."
#: editor/editor_node.cpp
msgid "Missing '%s' or its dependencies."
-msgstr "'%s'ì´(ê°€) 없거나 ì¢…ì† í•­ëª©ì´ ì—†ìŠµë‹ˆë‹¤."
+msgstr "'%s' ë˜ëŠ” ì´ê²ƒì˜ ì¢…ì† í•­ëª©ì´ ì—†ì–´ìš”."
#: editor/editor_node.cpp
msgid "Error while loading '%s'."
-msgstr "'%s' 로딩 중 오류."
+msgstr "'%s' 불러오는 중 오류."
#: editor/editor_node.cpp
msgid "Saving Scene"
-msgstr "씬 저장"
+msgstr "씬 저장하기"
#: editor/editor_node.cpp
msgid "Analyzing"
-msgstr "ë¶„ì„중"
+msgstr "ë¶„ì„하기"
#: editor/editor_node.cpp
msgid "Creating Thumbnail"
-msgstr "ì¸ë„¤ì¼ ìƒì„± 중"
+msgstr "ì¸ë„¤ì¼ 만들기"
#: editor/editor_node.cpp
msgid "This operation can't be done without a tree root."
-msgstr "ì´ ìž‘ì—…ì€ íŠ¸ë¦¬ 루트 ì—†ì´ëŠ” 불가합니다."
+msgstr "ì´ ìž‘ì—…ì€ íŠ¸ë¦¬ 루트가 필요해요."
#: editor/editor_node.cpp
msgid ""
"This scene can't be saved because there is a cyclic instancing inclusion.\n"
"Please resolve it and then attempt to save again."
msgstr ""
-"사ì´í´ë¡œ ëœ ì¸ìŠ¤í„´ìŠ¤ê°€ í¬í•¨ë˜ì–´ 있기 ë•Œë¬¸ì— ì´ ì”¬ì„ ì €ìž¥í•  수 없습니다.\n"
-"ì´ë¥¼ 수정하고 다시 ì €ìž¥ì„ ì‹œë„하십시오."
+"ì´ ì”¬ì—는 순환하는 ì¸ìŠ¤í„´ìŠ¤ë¥¼ í¬í•¨í•˜ê³  있어서 저장할 수 없어요.\n"
+"ì´ë¥¼ 해결한 후 다시 저장해보세요."
#: editor/editor_node.cpp
msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
-"ì”¬ì„ ì €ìž¥í•  수 없습니다. ì•„ë§ˆë„ ì¢…ì† ê´€ê³„(ì¸ìŠ¤í„´ìŠ¤ ë˜ëŠ” ìƒì†)ê°€ 만족스럽지 않"
-"ì„ ìˆ˜ 있습니다."
+"ì”¬ì„ ì €ìž¥í•  수 없어요. ì¢…ì† ê´€ê³„ (ì¸ìŠ¤í„´ìŠ¤ ë˜ëŠ” ìƒì†)ê°€ 만족스럽지 않나 ë³´êµ°"
+"ìš”."
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "Can't overwrite scene that is still open!"
-msgstr "열려있는 ì”¬ì„ ë®ì–´ 쓸 수 없습니다!"
+msgstr "열려있는 ì”¬ì€ ë®ì–´ 쓸 수 없어요!"
#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
-msgstr "병합할 메시 ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ 불러올 수 없습니다!"
+msgstr "병합할 메시 ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ 불러올 수 없어요!"
#: editor/editor_node.cpp
msgid "Error saving MeshLibrary!"
@@ -2155,7 +2196,7 @@ msgstr "메시 ë¼ì´ë¸ŒëŸ¬ë¦¬ 저장 중 오류!"
#: editor/editor_node.cpp
msgid "Can't load TileSet for merging!"
-msgstr "병합할 타ì¼ì…‹ì„ 불러올 수 없습니다!"
+msgstr "병합할 타ì¼ì…‹ì„ 불러올 수 없어요!"
#: editor/editor_node.cpp
msgid "Error saving TileSet!"
@@ -2163,19 +2204,19 @@ msgstr "타ì¼ì…‹ 저장 중 오류!"
#: editor/editor_node.cpp
msgid "Error trying to save layout!"
-msgstr "ë ˆì´ì•„웃 저장 ì‹œë„ ì¤‘ 오류!"
+msgstr "ë ˆì´ì•„웃 저장 중 오류!"
#: editor/editor_node.cpp
msgid "Default editor layout overridden."
-msgstr "편집기 기본 ë ˆì´ì•„ì›ƒì´ ë³€ê²½ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr "편집기 기본 ë ˆì´ì•„ì›ƒì´ ìƒˆë¡œ ì •ì˜ë˜ì—ˆì–´ìš”."
#: editor/editor_node.cpp
msgid "Layout name not found!"
-msgstr "ë ˆì´ì•„웃 ì´ë¦„ì„ ì°¾ì„ ìˆ˜ 없습니다!"
+msgstr "ë ˆì´ì•„웃 ì´ë¦„ì„ ì°¾ì„ ìˆ˜ 없어요!"
#: editor/editor_node.cpp
msgid "Restored default layout to base settings."
-msgstr "기본 ë ˆì´ì•„ì›ƒì´ ì´ˆê¸° 설정으로 ë³µì›ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr "기본 ë ˆì´ì•„ì›ƒì´ ì´ˆê¸° 설정으로 ëŒì•„왔어요."
#: editor/editor_node.cpp
msgid ""
@@ -2183,25 +2224,25 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"ì´ ë¦¬ì†ŒìŠ¤ëŠ” ê°€ì ¸ì™”ë˜ ì”¬ì— ì†í•œ 것ì´ë¯€ë¡œ 수정할 수 없습니다.\n"
-"관련 작업 절차를 ë” ìž˜ ì´í•´í•˜ë ¤ë©´ 씬 가져오기(scene importing)ê³¼ ê´€ë ¨ëœ ë¬¸ì„œ"
-"를 확ì¸í•´ì£¼ì‹­ì‹œì˜¤."
+"ì´ ë¦¬ì†ŒìŠ¤ëŠ” 가져온 ì”¬ì— ì†í•œ ê±°ë¼ íŽ¸ì§‘í•  수 없어요.\n"
+"ì´ ì›Œí¬í”Œë¡œë¥¼ ì´í•´í•˜ë ¤ë©´ 씬 가져오기(Importing Scenes)와 ê´€ë ¨ëœ ë¬¸ì„œë¥¼ ì½ì–´ì£¼"
+"세요."
#: editor/editor_node.cpp
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
-"ì´ ë¦¬ì†ŒìŠ¤ëŠ” ì¸ìŠ¤í„´ìŠ¤ë˜ê±°ë‚˜ ìƒì†ëœ ì”¬ì— ì†í•´ìžˆìŠ´ë‹ˆë‹¤.\n"
-"현재 ì”¬ì„ ì €ìž¥í•˜ëŠ” 경우, ë³€ê²½ì‚¬í•­ì´ ìœ ì§€ë˜ì§€ 않습니다."
+"ì´ ë¦¬ì†ŒìŠ¤ëŠ” ì¸ìŠ¤í„´ìŠ¤ë˜ê±°ë‚˜ ìƒì†ëœ ì”¬ì— ì†í•´ 있어요.\n"
+"현재 ì”¬ì„ ì €ìž¥í•˜ëŠ” 경우 ë¦¬ì†ŒìŠ¤ì˜ ë³€ê²½ ì‚¬í•­ì€ ì ìš©ë˜ì§€ ì•Šì„ ê±°ì˜ˆìš”."
#: 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 ""
@@ -2210,9 +2251,10 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"ì´ ì”¬ì€ ê°€ì ¸ì˜¨ 것으로 ë³€ê²½ì‚¬í•­ì´ ìœ ì§€ë˜ì§€ 않습니다.\n"
-"ì¸ìŠ¤í„´ìŠ¤í™” í˜¹ì€ ìƒì†ì„ 하면 ì”¬ì„ ìˆ˜ì •í•  수 있게 ë©ë‹ˆë‹¤.\n"
-"ì´ ì›Œí¬í”Œë¡œë¥¼ ë” ìž˜ ì´í•´í•˜ë ¤ë©´ 씬 가져오기와 ê´€ë ¨ëœ ë¬¸ì„œë¥¼ 확ì¸í•´ì£¼ì‹­ì‹œì˜¤."
+"ì´ ì”¬ì€ ê°€ì ¸ì˜¨ 것ì´ë¼ 변경 ì‚¬í•­ì€ ì ìš©ë˜ì§€ 않아요.\n"
+"ì´ ì”¬ì„ ì¸ìŠ¤í„´ìŠ¤í•˜ê±°ë‚˜ ìƒì†í•˜ë©´ 편집할 수 있어요.\n"
+"ì´ ì›Œí¬í”Œë¡œë¥¼ ì´í•´í•˜ë ¤ë©´ 씬 가져오기(Importing Scenes)와 ê´€ë ¨ëœ ë¬¸ì„œë¥¼ ì½ì–´ì£¼"
+"세요."
#: editor/editor_node.cpp
msgid ""
@@ -2220,21 +2262,20 @@ msgid ""
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"ì´ê²ƒì€ ì›ê²© 오브ì íŠ¸ìž…ë‹ˆë‹¤, ë³€ê²½ì‚¬í•­ì´ ìœ ì§€ë˜ì§€ 않습니다.\n"
-"ì´ ì›Œí¬í”Œë¡œì— 대해 ë” ìžì„¸ížˆ ì´í•´í•˜ë ¤ë©´ 디버깅 관련 문서를 ì½ì–´ë³´ì‹œê¸° ë°”ëžë‹ˆ"
-"다."
+"ì›ê²© ê°ì²´ëŠ” ë³€ê²½ì‚¬í•­ì´ ì ìš©ë˜ì§€ 않아요.\n"
+"ì´ ì›Œí¬í”Œë¡œë¥¼ ì´í•´í•˜ë ¤ë©´ 디버깅(Debugging)ê³¼ ê´€ë ¨ëœ ë¬¸ì„œë¥¼ ì½ì–´ì£¼ì„¸ìš”."
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
-msgstr "실행하기 위해 ì •ì˜ëœ ì”¬ì´ ì—†ìŠµë‹ˆë‹¤."
+msgstr "실행하기로 ì •ì˜ëœ ì”¬ì´ ì—†ì–´ìš”."
#: editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
-msgstr "현재 ì”¬ì´ ì €ìž¥ë˜ì§€ 않았습니다. ì‹¤í–‰ì „ì— ì €ìž¥í•´ì£¼ì„¸ìš”."
+msgstr "현재 ì”¬ì´ ì €ìž¥ë˜ì§€ 않았어요. 실행하기 ì „ì— ì €ìž¥í•´ì£¼ì„¸ìš”."
#: editor/editor_node.cpp
msgid "Could not start subprocess!"
-msgstr "서브 프로세스를 시작할 수 없습니다!"
+msgstr "하위 프로세스를 시작할 수 없어요!"
#: editor/editor_node.cpp editor/filesystem_dock.cpp
msgid "Open Scene"
@@ -2258,23 +2299,23 @@ msgstr "빠른 스í¬ë¦½íЏ 열기..."
#: editor/editor_node.cpp
msgid "Save & Close"
-msgstr "저장 ë° ë‹«ê¸°"
+msgstr "저장 & 닫기"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
-msgstr "닫기 ì „ì— '%s'ì— ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "닫기 ì „ì— '%s'ì— ë³€ê²½ ì‚¬í•­ì„ ì €ìž¥í• ê¹Œìš”?"
#: editor/editor_node.cpp
msgid "Saved %s modified resource(s)."
-msgstr "%s ìˆ˜ì •ëœ ë¦¬ì†ŒìŠ¤ê°€ 저장ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr "ìˆ˜ì •ëœ ë¦¬ì†ŒìŠ¤ %sì´(ê°€) 저장ë˜ì—ˆì–´ìš”."
#: editor/editor_node.cpp
msgid "A root node is required to save the scene."
-msgstr "ì”¬ì„ ì €ìž¥í•˜ê¸° 위해 루트 노드가 필요합니다."
+msgstr "ì”¬ì„ ì €ìž¥í•˜ë ¤ë©´ 루트 노드가 필요해요."
#: editor/editor_node.cpp
msgid "Save Scene As..."
-msgstr "ì”¬ì„ ë‹¤ë¥¸ ì´ë¦„으로 저장..."
+msgstr "ì”¬ì„ ë‹¤ë¥¸ ì´ë¦„으로 저장하기..."
#: editor/editor_node.cpp
msgid "No"
@@ -2286,11 +2327,11 @@ msgstr "네"
#: editor/editor_node.cpp
msgid "This scene has never been saved. Save before running?"
-msgstr "ì´ ì”¬ì€ ì €ìž¥ë˜ì§€ 않았습니다. ì‹¤í–‰ì „ì— ì €ìž¥í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "ì´ ì”¬ì€ ì•„ì§ ì €ìž¥í•˜ì§€ 않았네요. 실행하기 ì „ì— ì €ìž¥í• ê¹Œìš”?"
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "This operation can't be done without a scene."
-msgstr "ì´ ìž‘ì—…ì€ ì”¬ ì—†ì´ëŠ” 불가합니다."
+msgstr "ì´ ìž‘ì—…ì—는 ì”¬ì´ í•„ìš”í•´ìš”."
#: editor/editor_node.cpp
msgid "Export Mesh Library"
@@ -2306,15 +2347,15 @@ msgstr "타ì¼ì…‹ 내보내기"
#: editor/editor_node.cpp
msgid "This operation can't be done without a selected node."
-msgstr "ì´ ìž‘ì—…ì€ ì„ íƒëœ 노드가 ì—†ì„때는 불가합니다."
+msgstr "ì´ ìž‘ì—…ì—는 노드를 ì„ íƒí•´ 놓아야 í•´ìš”."
#: editor/editor_node.cpp
msgid "Current scene not saved. Open anyway?"
-msgstr "현재 ì”¬ì´ ì €ìž¥ë˜ì§€ 않았습니다. 무시하고 여시겠습니까?"
+msgstr "현재 ì”¬ì„ ì €ìž¥í•˜ì§€ 않았네요. 무시하고 열까요?"
#: editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
-msgstr "저장ë˜ì§€ ì•Šì€ ì”¬ì€ ë‹¤ì‹œ 불러올 수 없습니다."
+msgstr "저장하지 ì•Šì€ ì”¬ì„ ë‹¤ì‹œ 불러올 수는 없어요."
#: editor/editor_node.cpp
msgid "Revert"
@@ -2322,11 +2363,11 @@ msgstr "ë˜ëŒë¦¬ê¸°"
#: editor/editor_node.cpp
msgid "This action cannot be undone. Revert anyway?"
-msgstr "ì´ í–‰ë™ì€ 취소가 불가능합니다. 무시하고 ë˜ëŒë¦¬ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "ì´ í–‰ë™ì€ 취소할 수 없어요. 무시하고 ë˜ëŒë¦´ê¹Œìš”?"
#: editor/editor_node.cpp
msgid "Quick Run Scene..."
-msgstr "빠른 씬 실행..."
+msgstr "빠른 씬 실행하기..."
#: editor/editor_node.cpp
msgid "Quit"
@@ -2334,97 +2375,97 @@ msgstr "종료"
#: editor/editor_node.cpp
msgid "Exit the editor?"
-msgstr "편집기를 종료하시겠습니까?"
+msgstr "편집기를 ëŒê¹Œìš”?"
#: editor/editor_node.cpp
msgid "Open Project Manager?"
-msgstr "프로ì íЏ 매니저를 여시겠습니까?"
+msgstr "프로ì íЏ 매니저를 열까요?"
#: editor/editor_node.cpp
msgid "Save & Quit"
-msgstr "저장하고 종료"
+msgstr "저장하고 종료하기"
#: editor/editor_node.cpp
msgid "Save changes to the following scene(s) before quitting?"
-msgstr "닫기 ì „ì— ë‹¤ìŒ ì”¬(들)ì˜ ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "ë„기 ì „ì— í•´ë‹¹ ì”¬ì˜ ë³€ê²½ ì‚¬í•­ì„ ì €ìž¥í• ê¹Œìš”?"
#: editor/editor_node.cpp
msgid "Save changes the following scene(s) before opening Project Manager?"
-msgstr "프로ì íЏ 매니저를 열기 ì „ì— ë‹¤ìŒ ì”¬(들)ì˜ ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+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 "ë©”ì¸ ì”¬ ì„ íƒ"
+msgstr "기본 씬 고르기"
#: editor/editor_node.cpp
msgid "Close Scene"
msgstr "씬 닫기"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "씬 닫기"
+msgstr "ë‹«ì€ ì”¬ 다시 열기"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
-msgstr "애드온 플러그ì¸ì„ 활성화할 수 없습니다: '%s' 구성 구문 ë¶„ì„ ì‹¤íŒ¨."
+msgstr ""
+"애드온 플러그ì¸ì„ 여기서 켤 수 ì—†ìŒ: '%s' ì„¤ì •ì„ êµ¬ë¬¸ ë¶„ì„í•  수 없어요."
#: editor/editor_node.cpp
msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
-msgstr "ë‹¤ìŒ ê²½ë¡œì—서 애드온 플러그ì¸ì„ ì°¾ì„ ìˆ˜ 없습니다: 'res://addons/%s'."
+msgstr "ë‹¤ìŒ ê²½ë¡œì—서 애드온 플러그ì¸ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ: 'res://addons/%s'."
#: editor/editor_node.cpp
msgid "Unable to load addon script from path: '%s'."
-msgstr "ë‹¤ìŒ ê²½ë¡œì—서 애드온 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 없습니다: '%s'."
+msgstr "ë‹¤ìŒ ê²½ë¡œì—서 애드온 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 ì—†ìŒ: '%s'."
#: editor/editor_node.cpp
msgid ""
"Unable to load addon script from path: '%s' There seems to be an error in "
"the code, please check the syntax."
msgstr ""
-"ë‹¤ìŒ ê²½ë¡œì—서 애드온 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 없습니다: '%s' ì½”ë“œì— ì˜¤ë¥˜ê°€ 있는 "
-"것 같습니다, êµ¬ë¬¸ì„ í™•ì¸í•´ 보십시오."
+"ë‹¤ìŒ ê²½ë¡œì—서 애드온 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 ì—†ìŒ: '%s' ì½”ë“œì˜ ì˜¤ë¥˜ê°€ 있는 것 ê°™"
+"ì€ë°, ë¬¸ë²•ì„ í™•ì¸í•´ë´ìš”."
#: editor/editor_node.cpp
msgid ""
"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
msgstr ""
-"ë‹¤ìŒ ê²½ë¡œì—서 애드온 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 없습니다: '%s' 기본 íƒ€ìž…ì´ "
-"EditorPluginì´ ì•„ë‹™ë‹ˆë‹¤."
+"ë‹¤ìŒ ê²½ë¡œì—서 애드온 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 ì—†ìŒ: '%s' 기본 ìœ í˜•ì´ EditorPlugin"
+"ì´ ì•„ë‹ˆì—ìš”."
#: editor/editor_node.cpp
msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
-"ë‹¤ìŒ ê²½ë¡œì—서 애드온 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 없습니다: '%s' 스í¬ë¦½íŠ¸ê°€ tool 모드"
-"가 아닙니다."
+"ë‹¤ìŒ ê²½ë¡œì—서 애드온 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 ì—†ìŒ: '%s' 스í¬ë¦½íŠ¸ê°€ Tool 모드가 "
+"아니ì—ìš”."
#: 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 ""
-"'%s' ì”¬ì€ ìžë™ìœ¼ë¡œ 가져와 지기 때문ì—, 변경할 수 없습니다.\n"
-"ë³€ê²½ì‚¬í•­ì„ ì ìš©í•˜ë ¤ë©´, 새로운 ìƒì† ì”¬ì„ ë§Œë“œì„¸ìš”."
+"씬 '%s'ì„(를) ìžë™ìœ¼ë¡œ 가져왔기 때문ì—, 수정할 수 없어요.\n"
+"ì´ ì”¬ì„ íŽ¸ì§‘í•˜ë ¤ë©´, 새로운 ìƒì† ì”¬ì„ ë§Œë“¤ì–´ì•¼ í•´ìš”."
#: 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 "'%s' ì”¬ì˜ ì¢…ì† í•­ëª©ì´ ê¹¨ì ¸ 있습니다:"
+msgstr "씬 '%s'ì˜ ì¢…ì† í•­ëª©ì´ ê¹¨ì§:"
#: editor/editor_node.cpp
msgid "Clear Recent Scenes"
@@ -2436,8 +2477,8 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"ë©”ì¸ ì”¬ì´ ì§€ì •ë˜ì§€ 않았습니다. ì„ íƒí•˜ì‹œê² ìŠµë‹ˆê¹Œ?\n"
-"ë‚˜ì¤‘ì— \"프로ì íЏ 설정\"ì˜ 'application' 항목ì—서 변경할 수 있습니다."
+"기본 ì”¬ì„ ì§€ì •í•˜ì§€ 않았네요. 하나 정할까요?\n"
+"ì´ê±´ ë‚˜ì¤‘ì— \"프로ì íЏ 설정\"ì˜ 'application' 카테고리ì—서 바꿀 수 있어요."
#: editor/editor_node.cpp
msgid ""
@@ -2445,8 +2486,8 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"ì„ íƒí•œ '%s' ì”¬ì´ ì¡´ìž¬í•˜ì§€ 않습니다. 다시 ì„ íƒí•˜ì‹œê² ìŠµë‹ˆê¹Œ?\n"
-"ë‚˜ì¤‘ì— \"프로ì íЏ 설정\"ì˜ 'application' 항목ì—서 변경할 수 있습니다."
+"ì„ íƒí•œ 씬 '%s'ì´(ê°€) 없어요, 다른 씬으로 정할까요?\n"
+"ì´ê±´ ë‚˜ì¤‘ì— \"프로ì íЏ 설정\"ì˜ 'application' 카테고리ì—서 바꿀 수 있어요."
#: editor/editor_node.cpp
msgid ""
@@ -2454,16 +2495,16 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"ì„ íƒí•œ '%s' ì”¬ì´ ì”¬ 파ì¼ì´ 아닙니다. 다시 ì„ íƒí•˜ì‹œê² ìŠµë‹ˆê¹Œ?\n"
-"ë‚˜ì¤‘ì— \"프로ì íЏ 설정\"ì˜ 'application' 항목ì—서 변경할 수 있습니다."
+"ì„ íƒí•œ 씬 '%s'ì€(는) 씬 파ì¼ì´ 아니네요, 다른 씬으로 정할까요?\n"
+"ì´ê±´ ë‚˜ì¤‘ì— \"프로ì íЏ 설정\"ì˜ 'application' 카테고리ì—서 바꿀 수 있어요."
#: editor/editor_node.cpp
msgid "Save Layout"
-msgstr "ë ˆì´ì•„웃 저장"
+msgstr "ë ˆì´ì•„웃 저장하기"
#: editor/editor_node.cpp
msgid "Delete Layout"
-msgstr "ë ˆì´ì•„웃 ì‚­ì œ"
+msgstr "ë ˆì´ì•„웃 삭제하기"
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
@@ -2477,16 +2518,15 @@ msgstr "íŒŒì¼ ì‹œìŠ¤í…œì—서 보기"
#: editor/editor_node.cpp
msgid "Play This Scene"
-msgstr "ì´ ì”¬ì„ ì‹¤í–‰"
+msgstr "ì´ ì”¬ 실행하기"
#: editor/editor_node.cpp
msgid "Close Tab"
msgstr "탭 닫기"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "탭 닫기"
+msgstr "ë‹«ì€ íƒ­ 다시 열기"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2502,19 +2542,19 @@ msgstr "모든 탭 닫기"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
-msgstr "씬 탭 전환"
+msgstr "씬 탭 전환하기"
#: editor/editor_node.cpp
msgid "%d more files or folders"
-msgstr "%dê°œ 추가 íŒŒì¼ ë˜ëŠ” í´ë”"
+msgstr "ê·¸ 외 %dê°œì˜ íŒŒì¼ ë˜ëŠ” í´ë”"
#: editor/editor_node.cpp
msgid "%d more folders"
-msgstr "%dê°œ 추가 í´ë”"
+msgstr "ê·¸ 외 %dê°œì˜ í´ë”"
#: editor/editor_node.cpp
msgid "%d more files"
-msgstr "%dê°œ 추가 파ì¼"
+msgstr "ê·¸ 외 %dê°œì˜ íŒŒì¼"
#: editor/editor_node.cpp
msgid "Dock Position"
@@ -2530,7 +2570,7 @@ msgstr "집중 모드 토글."
#: editor/editor_node.cpp
msgid "Add a new scene."
-msgstr "새 씬 추가."
+msgstr "새 씬 추가하기."
#: editor/editor_node.cpp
msgid "Scene"
@@ -2542,7 +2582,7 @@ msgstr "ì´ì „ì— ì—´ì—ˆë˜ ì”¬ìœ¼ë¡œ 가기."
#: editor/editor_node.cpp
msgid "Copy Text"
-msgstr "ë¬¸ìž ë³µì‚¬"
+msgstr "ë¬¸ìž ë³µì‚¬í•˜ê¸°"
#: editor/editor_node.cpp
msgid "Next tab"
@@ -2554,11 +2594,11 @@ msgstr "ì´ì „ 탭"
#: editor/editor_node.cpp
msgid "Filter Files..."
-msgstr "íŒŒì¼ í•„í„°ë§..."
+msgstr "íŒŒì¼ í•„í„°..."
#: editor/editor_node.cpp
msgid "Operations with scene files."
-msgstr "씬 íŒŒì¼ ë™ìž‘."
+msgstr "씬 파ì¼ë¡œ 작업하기."
#: editor/editor_node.cpp
msgid "New Scene"
@@ -2574,19 +2614,19 @@ msgstr "씬 열기..."
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Open Recent"
-msgstr "최근 ì—´ì—ˆë˜ í•­ëª©"
+msgstr "최근 ê¸°ë¡ ì—´ê¸°"
#: editor/editor_node.cpp
msgid "Save Scene"
-msgstr "씬 저장"
+msgstr "씬 저장하기"
#: editor/editor_node.cpp
msgid "Save All Scenes"
-msgstr "모든 씬 저장"
+msgstr "모든 씬 저장하기"
#: editor/editor_node.cpp
msgid "Convert To..."
-msgstr "변환..."
+msgstr "다ìŒìœ¼ë¡œ 변환하기..."
#: editor/editor_node.cpp
msgid "MeshLibrary..."
@@ -2604,7 +2644,7 @@ msgstr "ë˜ëŒë¦¬ê¸°"
#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Redo"
-msgstr "다시 실행"
+msgstr "다시 실행하기"
#: editor/editor_node.cpp
msgid "Revert Scene"
@@ -2619,18 +2659,29 @@ msgid "Project"
msgstr "프로ì íЏ"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "프로ì íЏ 설정"
+msgstr "프로ì íЏ 설정..."
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "버전:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "내보내기..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "안드로ì´ë“œ 빌드 템플릿 설치하기"
+msgstr "안드로ì´ë“œ 빌드 템플릿 설치하기..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2641,9 +2692,8 @@ msgid "Tools"
msgstr "ë„구"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "미사용 리소스 íƒìƒ‰ê¸°"
+msgstr "미사용 리소스 íƒìƒ‰ê¸°..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2656,19 +2706,19 @@ msgstr "디버그"
#: editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr "ì›ê²© 디버그 ë°°í¬"
+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 ""
-"내보내기나 ë°°í¬ë¥¼ í•  때, 실행 파ì¼ì´ ë””ë²„ê¹…ì„ ìœ„í•´ì„œ ì´ ì»´í“¨í„°ì˜ IP로 ì—°ê²°ì„ "
-"시ë„합니다."
+"내보내거나 ë°°í¬í•  때, ê²°ê³¼ 실행 파ì¼ì€ ë””ë²„ê¹…ì„ ìœ„í•´ ì´ ì»´í“¨í„°ì˜ IP와 ì—°ê²°ì„ "
+"시ë„í•  거예요."
#: editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr "ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œì„ ê°–ëŠ” ìž‘ì€ ë°°í¬"
+msgstr "ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께 작게 ë°°í¬í•˜ê¸°"
#: editor/editor_node.cpp
msgid ""
@@ -2679,12 +2729,10 @@ msgid ""
"On Android, deploy will use the USB cable for faster performance. This "
"option speeds up testing for games with a large footprint."
msgstr ""
-"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, 내보내기나 ë°°í¬ëŠ” ìµœì†Œí•œì˜ ì‹¤í–‰ 파ì¼ì„ ìƒì„±"
-"합니다.\n"
-"íŒŒì¼ ì‹œìŠ¤í…œì€ ë„¤íŠ¸ì›Œí¬ë¥¼ 통해서 편집기 ìƒì˜ 프로ì íŠ¸ê°€ 제공합니다.\n"
-"안드로ì´ë“œì˜ 경우, USB ì¼€ì´ë¸”ì„ ì‚¬ìš©í•˜ì—¬ ë°°í¬í•  경우 ë” ë¹ ë¥¸ í¼í¬ë¨¼ìŠ¤ë¥¼ 제공"
-"합니다. ì´ ì˜µì…˜ì€ í° ì„¤ì¹˜ ìš©ëŸ‰ì„ ìš”êµ¬í•˜ëŠ” ê²Œìž„ì˜ í…ŒìŠ¤íŠ¸ë¥¼ 빠르게 í•  수 있습니"
-"다."
+"ì´ ì„¤ì •ì„ ì¼œë©´, 내보내거나 ë°°í¬í•  때 ìµœì†Œí•œì˜ ì‹¤í–‰ 파ì¼ì„ 만들어요.\n"
+"ë„¤íŠ¸ì›Œí¬ ë„ˆë¨¸ 편집기가 프로ì íЏì—서 íŒŒì¼ ì‹œìŠ¤í…œì„ ì œê³µí•  거예요.\n"
+"Androidì˜ ê²½ìš°, ë” ë¹ ë¥¸ ì„±ëŠ¥ì„ ì›í•œë‹¤ë©´ ë°°í¬í•  때 USB ì¼€ì´ë¸”ì„ ì‚¬ìš©í•˜ì„¸ìš”. "
+"ì´ ì„¤ì •ì€ ì„¤ì¹˜ ê³µê°„ì´ í° ê²Œìž„ì„ ë¹¨ë¦¬ 테스트할 때 쓸 수 있어요."
#: editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -2695,8 +2743,8 @@ msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
msgstr ""
-"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ (2D와 3Dì˜) ì¶©ëŒ ëª¨ì–‘"
-"ê³¼ Raycast 노드가 표시ë©ë‹ˆë‹¤."
+"ì´ ì„¤ì •ì„ ì¼œë©´ ê²Œìž„ì„ ì‹¤í–‰í•˜ëŠ” ë™ì•ˆ (2D와 3Dìš©) Collision 모양과 Raycast 노드"
+"ê°€ ë³´ì´ê²Œ ë¼ìš”."
#: editor/editor_node.cpp
msgid "Visible Navigation"
@@ -2707,12 +2755,11 @@ msgid ""
"Navigation meshes and polygons will be visible on the running game if this "
"option is turned on."
msgstr ""
-"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ 내비게ì´ì…˜ 메시가 표시"
-"ë©ë‹ˆë‹¤."
+"ì´ ì„¤ì •ì„ ì¼œë©´ ê²Œìž„ì„ ì‹¤í–‰í•˜ëŠ” ë™ì•ˆ Navigation 메시와 í´ë¦¬ê³¤ì´ ë³´ì´ê²Œ ë¼ìš”."
#: editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr "씬 변경사항 ë™ê¸°í™”"
+msgstr "씬 변경 사항 ë™ê¸°í™”하기"
#: editor/editor_node.cpp
msgid ""
@@ -2721,14 +2768,13 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
-"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, 편집기 ìƒì˜ ì”¬ì˜ ë³€ê²½ì‚¬í•­ì´ ì‹¤í–‰ ì¤‘ì¸ ê²Œìž„"
-"ì— ë°˜ì˜ë©ë‹ˆë‹¤.\n"
-"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì ìž…"
-"니다."
+"ì´ ì„¤ì •ì„ ì¼œë©´, ê²Œìž„ì„ ì‹¤í–‰í•˜ëŠ” ë™ì•ˆ 편집기ì—서 ì”¬ì˜ ë³€ê²½ ì‚¬í•­ì´ ê²Œìž„ì— ì ìš©"
+"ë¼ìš”.\n"
+"기기를 ì›ê²©ì—서 사용할 때, ì´ê²ƒì€ ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œìœ¼ë¡œ ë”ìš± 효과ì ì´ì—ìš”."
#: editor/editor_node.cpp
msgid "Sync Script Changes"
-msgstr "스í¬ë¦½íЏ 변경사항 ë™ê¸°í™”"
+msgstr "스í¬ë¦½íЏ 변경 사항 ë™ê¸°í™”하기"
#: editor/editor_node.cpp
msgid ""
@@ -2737,19 +2783,16 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
-"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, 스í¬ë¦½íŠ¸ë¥¼ 수정하고 저장하면 ì‹¤í–‰ì¤‘ì¸ ê²Œìž„ì—"
-"서 다시 ì½ì–´ 들입니다.\n"
-"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì ìž…"
-"니다."
+"ì´ ì„¤ì •ì„ ì¼œë©´, ê²Œìž„ì„ ì‹¤í–‰í•˜ëŠ” ë™ì•ˆ 저장한 모든 스í¬ë¦½íŠ¸ë¥¼ 새로 불러와요.\n"
+"기기를 ì›ê²©ì—서 사용할 때, ì´ê²ƒì€ ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œìœ¼ë¡œ ë”ìš± 효과ì ì´ì—ìš”."
#: editor/editor_node.cpp editor/script_create_dialog.cpp
msgid "Editor"
msgstr "편집기"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "편집기 설정"
+msgstr "편집기 설정..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2761,7 +2804,7 @@ msgstr "스í¬ë¦°ìƒ· ì°ê¸°"
#: editor/editor_node.cpp
msgid "Screenshots are stored in the Editor Data/Settings Folder."
-msgstr "스í¬ë¦°ìƒ·ì´ Editor Data/Settings í´ë”ì— ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr "스í¬ë¦°ìƒ·ì€ Editor Data/Settings í´ë”ì— ì €ìž¥ëì–´ìš”."
#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
@@ -2784,14 +2827,12 @@ msgid "Open Editor Settings Folder"
msgstr "편집기 설정 í´ë” 열기"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "편집기 기능 관리"
+msgstr "편집기 기능 관리하기..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "내보내기 템플릿 관리"
+msgstr "내보내기 템플릿 관리..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2829,56 +2870,52 @@ msgstr "ì •ë³´"
#: editor/editor_node.cpp
msgid "Play the project."
-msgstr "프로ì íЏ 실행."
+msgstr "프로ì íЏ 실행하기."
#: editor/editor_node.cpp
msgid "Play"
-msgstr "실행"
+msgstr "실행하기"
#: editor/editor_node.cpp
msgid "Pause the scene"
-msgstr "씬 ì¼ì‹œ ì •ì§€"
+msgstr "씬 멈추기"
#: editor/editor_node.cpp
msgid "Pause Scene"
-msgstr "씬 ì¼ì‹œ ì •ì§€"
+msgstr "씬 멈추기"
#: editor/editor_node.cpp
msgid "Stop the scene."
-msgstr "씬 정지."
-
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "ì •ì§€"
+msgstr "씬 중단하기."
#: editor/editor_node.cpp
msgid "Play the edited scene."
-msgstr "편집 ì¤‘ì¸ ì”¬ 실행."
+msgstr "편집 ì¤‘ì¸ ì”¬ 실행하기."
#: editor/editor_node.cpp
msgid "Play Scene"
-msgstr "씬 실행"
+msgstr "씬 실행하기"
#: editor/editor_node.cpp
msgid "Play custom scene"
-msgstr "다른 씬 실행"
+msgstr "다른 씬 실행하기"
#: editor/editor_node.cpp
msgid "Play Custom Scene"
-msgstr "커스텀 씬 실행"
+msgstr "맞춤 씬 실행하기"
#: editor/editor_node.cpp
msgid "Changing the video driver requires restarting the editor."
-msgstr "비디오 드ë¼ì´ë²„를 변경하려면 편집기를 다시 시작해야 합니다."
+msgstr "비디오 드ë¼ì´ë²„를 변경하려면 편집기를 다시 실행해야 í•´ìš”."
#: editor/editor_node.cpp editor/project_settings_editor.cpp
#: editor/settings_config_dialog.cpp
msgid "Save & Restart"
-msgstr "저장 & 다시 시작"
+msgstr "저장 & 다시 시작하기"
#: editor/editor_node.cpp
msgid "Spins when the editor window redraws."
-msgstr "편집기 ì°½ì´ ë‹¤ì‹œ 그려질 때 회전합니다."
+msgstr "편집기 ì°½ì´ ë³€í•  때마다 ëŒ ê±°ì˜ˆìš”."
#: editor/editor_node.cpp
msgid "Update Continuously"
@@ -2901,12 +2938,8 @@ msgid "Inspector"
msgstr "ì¸ìŠ¤íŽ™í„°"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "노드"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
-msgstr "하단 íŒ¨ë„ í™•ìž¥"
+msgstr "하단 íŒ¨ë„ íŽ¼ì¹˜ê¸°"
#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
@@ -2918,8 +2951,7 @@ msgstr "저장하지 않ìŒ"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
-msgstr ""
-"안드로ì´ë“œ 빌드 í…œí”Œë¦¿ì´ ì¡´ìž¬í•˜ì§€ 않습니다, 관련 í…œí”Œë¦¿ì„ ì„¤ì¹˜í•˜ê¸° ë°”ëžë‹ˆë‹¤."
+msgstr "안드로ì´ë“œ 빌드 í…œí”Œë¦¿ì´ ì—†ì–´ìš”, 관련 í…œí”Œë¦¿ì„ ì„¤ì¹˜í•´ì£¼ì„¸ìš”."
#: editor/editor_node.cpp
msgid "Manage Templates"
@@ -2927,24 +2959,29 @@ msgstr "템플릿 관리"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"ì´ê²ƒì€ 커스텀 빌드를 위해 안드로ì´ë“œ 프로ì íŠ¸ë¥¼ 설치합니다.\n"
-"사용하려면 ê°ê° 내보내기 í”„ë¦¬ì…‹ì„ í™œì„±í™”í•´ì•¼ 합니다."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
-"안드로ì´ë“œ 빌드 í…œí”Œë¦¿ì´ ì´ë¯¸ 설치ë˜ì–´ 있고 ë®ì–´ 쓸 수 없습니다.\n"
-"ëª…ë ¹ì„ ë‹¤ì‹œ 시ë„하기 ì „ì— ìˆ˜ë™ìœ¼ë¡œ \"build\" 디렉토리를 삭제하세요."
+"안드로ì´ë“œ 빌드 í…œí”Œë¦¿ì„ ì´ë¯¸ 설치한 ë°ë‹¤ê°€ ë®ì–´ 쓸 수 없네요.\n"
+"ì´ ëª…ë ¹ì„ ë‹¤ì‹œ 실행하기 ì „ì— ìˆ˜ë™ìœ¼ë¡œ \"build\" 디렉토리를 삭제하세요."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
-msgstr "ZIP 파ì¼ë¡œë¶€í„° í…œí”Œë¦¿ì„ ê°€ì ¸ì˜¤ê¸°"
+msgstr "ZIP 파ì¼ì—서 템플릿 가져오기"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export Project"
@@ -2956,7 +2993,7 @@ msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬ 내보내기"
#: editor/editor_node.cpp
msgid "Merge With Existing"
-msgstr "기존과 병합"
+msgstr "ê¸°ì¡´ì˜ ê²ƒê³¼ 병합하기"
#: editor/editor_node.cpp
msgid "Password:"
@@ -2964,7 +3001,7 @@ msgstr "암호:"
#: editor/editor_node.cpp
msgid "Open & Run a Script"
-msgstr "스í¬ë¦½íŠ¸ë¥¼ ì—´ê³  실행"
+msgstr "스í¬ë¦½íŠ¸ë¥¼ ì—´ê³  실행하기"
#: editor/editor_node.cpp
msgid "New Inherited"
@@ -2976,7 +3013,7 @@ msgstr "불러오기 오류"
#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Select"
-msgstr "ì„ íƒ"
+msgstr "ì„ íƒí•˜ê¸°"
#: editor/editor_node.cpp
msgid "Open 2D Editor"
@@ -3002,6 +3039,11 @@ msgstr "ë‹¤ìŒ íŽ¸ì§‘ê¸° 열기"
msgid "Open the previous Editor"
msgstr "ì´ì „ 편집기 열기"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "표면 소스를 지정하지 않았네요."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "메시 미리보기 ìƒì„± 중"
@@ -3011,8 +3053,13 @@ msgid "Thumbnail..."
msgstr "ì¸ë„¤ì¼..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "스í¬ë¦½íЏ 열기:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
-msgstr "í”ŒëŸ¬ê·¸ì¸ íŽ¸ì§‘"
+msgstr "í”ŒëŸ¬ê·¸ì¸ íŽ¸ì§‘í•˜ê¸°"
#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
@@ -3039,11 +3086,6 @@ msgstr "ìƒíƒœ:"
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 "측정:"
@@ -3110,21 +3152,21 @@ msgstr "지정하기..."
#: editor/editor_properties.cpp
msgid "Invalid RID"
-msgstr "올바르지 ì•Šì€ RID"
+msgstr "ìž˜ëª»ëœ RID"
#: editor/editor_properties.cpp
msgid ""
"The selected resource (%s) does not match any type expected for this "
"property (%s)."
-msgstr "ì„ íƒëœ 리소스 (%s)ê°€ ì´ ì†ì„± (%s)ì— ì•Œë§žì€ íƒ€ìž…ì´ ì•„ë‹™ë‹ˆë‹¤."
+msgstr "ì„ íƒí•œ 리소스 (%s)ê°€ ì´ ì†ì„± (%s)ì— ì í•©í•œ 모든 ìœ í˜•ì— ë§žì§€ 않아요."
#: editor/editor_properties.cpp
msgid ""
"Can't create a ViewportTexture on resources saved as a file.\n"
"Resource needs to belong to a scene."
msgstr ""
-"파ì¼ë¡œ ì €ìž¥ëœ ë¦¬ì†ŒìŠ¤ì—서 ViewportTexture를 만들 수 없습니다.\n"
-"리소스가 ì”¬ì— ì†í•´ 있어야 합니다."
+"파ì¼ë¡œ 저장한 ë¦¬ì†ŒìŠ¤ì— ViewportTexture를 만들 수는 없어요.\n"
+"리소스가 ì”¬ì— ì†í•´ 있어야 í•´ìš”."
#: editor/editor_properties.cpp
msgid ""
@@ -3133,14 +3175,14 @@ msgid ""
"Please switch on the 'local to scene' property on it (and all resources "
"containing it up to a node)."
msgstr ""
-"리소스가 ì”¬ì— ë¡œì»¬ë¡œ 설정ë˜ì§€ 않았기 ë•Œë¬¸ì— ViewportTexture를 만들 수 없습니"
-"다.\n"
-"ë¦¬ì†ŒìŠ¤ì˜ 'local to scene' ì†ì„±ì„ 켜십시오 (그리고 모든 리소스를 노드가 í¬í•¨í•˜"
-"고 있어야 합니다)."
+"ì”¬ì— ì§€ì—­ìœ¼ë¡œ 설정ë˜ì§€ 않았기 ë•Œë¬¸ì— ì´ ë¦¬ì†ŒìŠ¤ì— ViewportTexture를 만들 수 ì—†"
+"ì–´ìš”.\n"
+"리소스 (그리고 한 ë…¸ë“œì— ìžˆëŠ” 모든 리소스)ì˜ 'local to scene' ì†ì„±ì„ 켜주세"
+"ìš” ."
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Pick a Viewport"
-msgstr "ë·°í¬íЏ ì„ íƒ"
+msgstr "ë·°í¬íЏ ì„ íƒí•˜ê¸°"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "New Script"
@@ -3170,7 +3212,7 @@ msgstr "붙여넣기"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Convert To %s"
-msgstr "%s로 변환"
+msgstr "%s(으)로 변환하기"
#: editor/editor_properties.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
@@ -3185,7 +3227,7 @@ msgstr "ì„ íƒëœ 노드는 ë·°í¬íŠ¸ê°€ 아닙니다!"
#: editor/editor_properties_array_dict.cpp
msgid "Size: "
-msgstr "사ì´ì¦ˆ: "
+msgstr "í¬ê¸°: "
#: editor/editor_properties_array_dict.cpp
msgid "Page: "
@@ -3194,7 +3236,7 @@ msgstr "페ì´ì§€: "
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove Item"
-msgstr "ì•„ì´í…œ ì‚­ì œ"
+msgstr "항목 삭제하기"
#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
@@ -3206,47 +3248,47 @@ msgstr "새 값:"
#: editor/editor_properties_array_dict.cpp
msgid "Add Key/Value Pair"
-msgstr "키/ê°’ ìŒ ì¶”ê°€"
+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 ""
-"ì´ í”Œëž«í¼ì— 대한 실행가능한 내보내기 í”„ë¦¬ì…‹ì„ ì°¾ì„ ìˆ˜ 없습니다.\n"
-"내보내기 메뉴ì—서 실행가능한 í”„ë¦¬ì…‹ì„ ì¶”ê°€í•˜ì„¸ìš”."
+"ì´ í”Œëž«í¼ìœ¼ë¡œ 실행할 수 있는 내보내기 í”„ë¦¬ì…‹ì´ ì—†ì–´ìš”.\n"
+"내보내기 메뉴ì—서 실행할 수 있는 í”„ë¦¬ì…‹ì„ ì¶”ê°€í•´ì£¼ì„¸ìš”."
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
-msgstr "_run() ë©”ì„œë“œì— ë¡œì§ì„ 작성하세요."
+msgstr "_run() ë©”ì„œë“œì— ë‹¹ì‹ ì˜ ë…¼ë¦¬ë¥¼ 작성하세요."
#: editor/editor_run_script.cpp
msgid "There is an edited scene already."
-msgstr "ì´ë¯¸ íŽ¸ì§‘ëœ ì”¬ì´ ìžˆìŠµë‹ˆë‹¤."
+msgstr "ì´ë¯¸ íŽ¸ì§‘ëœ ì”¬ì´ ìžˆì–´ìš”."
#: editor/editor_run_script.cpp
msgid "Couldn't instance script:"
-msgstr "스í¬ë¦½íŠ¸ë¥¼ ì¸ìŠ¤í„´ìŠ¤ í•  수 없습니다:"
+msgstr "스í¬ë¦½íŠ¸ë¥¼ ì¸ìŠ¤í„´ìŠ¤í•  수 ì—†ìŒ:"
#: editor/editor_run_script.cpp
msgid "Did you forget the 'tool' keyword?"
-msgstr "'tool' 키워드를 잊으셨습니까?"
+msgstr "'tool' 키워드를 잊었나요?"
#: editor/editor_run_script.cpp
msgid "Couldn't run script:"
-msgstr "스í¬ë¦½íŠ¸ë¥¼ 실행할 수 없습니다:"
+msgstr "스í¬ë¦½íŠ¸ë¥¼ 실행할 수 ì—†ìŒ:"
#: editor/editor_run_script.cpp
msgid "Did you forget the '_run' method?"
-msgstr "'_run' 메서드를 잊으셨습니까?"
+msgstr "'_run' 메서드를 잊었나요?"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
-msgstr "가져올 노드들 ì„ íƒ"
+msgstr "가져올 노드 ì„ íƒí•˜ê¸°"
#: editor/editor_sub_scene.cpp editor/project_manager.cpp
msgid "Browse"
-msgstr "찾아보기"
+msgstr "검색하기"
#: editor/editor_sub_scene.cpp
msgid "Scene Path:"
@@ -3257,13 +3299,12 @@ msgid "Import From Node:"
msgstr "노드ì—서 가져오기:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
-msgstr "다시 다운로드"
+msgstr "다시 다운로드하기"
#: editor/export_template_manager.cpp
msgid "Uninstall"
-msgstr "삭제"
+msgstr "삭제하기"
#: editor/export_template_manager.cpp
msgid "(Installed)"
@@ -3272,11 +3313,11 @@ msgstr "(설치ë¨)"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
-msgstr "다운로드"
+msgstr "다운로드하기"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
-msgstr ""
+msgstr "ê³µì‹ ë‚´ë³´ë‚´ê¸° í…œí”Œë¦¿ì€ ê°œë°œ 빌드ì—서는 ì´ìš©í•  수 없어요."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3288,31 +3329,31 @@ msgstr "(현재)"
#: editor/export_template_manager.cpp
msgid "Retrieving mirrors, please wait..."
-msgstr "미러를 가져오는 중입니다, 잠시만 기다리세요..."
+msgstr "미러를 검색 중ì´ì—ìš”, 기다려주세요..."
#: editor/export_template_manager.cpp
msgid "Remove template version '%s'?"
-msgstr "'%s' 템플릿 ë²„ì „ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "템플릿 버전 '%s'ì„(를) 삭제할까요?"
#: editor/export_template_manager.cpp
msgid "Can't open export templates zip."
-msgstr "내보내기 템플릿 zip 파ì¼ì„ ì—´ 수 없습니다."
+msgstr "내보내기 템플릿 zip 파ì¼ì„ ì—´ 수 없어요."
#: editor/export_template_manager.cpp
msgid "Invalid version.txt format inside templates: %s."
-msgstr "템플릿 안 version.txtê°€ 올바르지 ì•Šì€ í˜•ì‹ìž…니다: %s."
+msgstr "템플릿 ì†ì˜ version.txtê°€ ìž˜ëª»ëœ í˜•ì‹ìž„: %s."
#: editor/export_template_manager.cpp
msgid "No version.txt found inside templates."
-msgstr "í…œí”Œë¦¿ì— version.txt를 ì°¾ì„ ìˆ˜ 없습니다."
+msgstr "í…œí”Œë¦¿ì— version.txt를 ì°¾ì„ ìˆ˜ 없어요."
#: editor/export_template_manager.cpp
msgid "Error creating path for templates:"
-msgstr "템플릿 경로 ìƒì„± 오류:"
+msgstr "í…œí”Œë¦¿ì˜ ê²½ë¡œ ìƒì„± 중 오류:"
#: editor/export_template_manager.cpp
msgid "Extracting Export Templates"
-msgstr "내보내기 템플릿 압축해제 중"
+msgstr "내보내기 템플릿 압축 푸는 중"
#: editor/export_template_manager.cpp
msgid "Importing:"
@@ -3323,8 +3364,8 @@ 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
@@ -3359,27 +3400,24 @@ msgid "Download Complete."
msgstr "다운로드 완료."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "테마를 파ì¼ë¡œ 저장할 수 없습니다:"
+msgstr "임시 파ì¼ì„ 저장할 수 ì—†ìŒ:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"템플릿 ì„¤ì¹˜ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. 문제가 있는 템플릿 ì•„ì¹´ì´ë¸ŒëŠ” '%s' ì—서 확ì¸í•˜ì‹¤ "
-"수 있습니다."
+"템플릿 ì„¤ì¹˜ì— ì‹¤íŒ¨í–ˆì–´ìš”.\n"
+"문제가 있는 템플릿 기ë¡ì€ '%s'ì—서 찾아 ë³¼ 수 있어요."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "url 요청 오류: "
+msgstr "URL 요청 중 오류:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
-msgstr "ë¯¸ëŸ¬ì— ì—°ê²°ì¤‘..."
+msgstr "ë¯¸ëŸ¬ì— ì—°ê²° 중..."
#: editor/export_template_manager.cpp
msgid "Disconnected"
@@ -3396,7 +3434,7 @@ msgstr "í•´ê²°í•  수 ì—†ìŒ"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Connecting..."
-msgstr "연결중..."
+msgstr "연결 중..."
#: editor/export_template_manager.cpp
msgid "Can't Connect"
@@ -3409,7 +3447,7 @@ msgstr "ì—°ê²°ë¨"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Requesting..."
-msgstr "요청중..."
+msgstr "요청 중..."
#: editor/export_template_manager.cpp
msgid "Downloading"
@@ -3421,11 +3459,11 @@ msgstr "연결 오류"
#: editor/export_template_manager.cpp
msgid "SSL Handshake Error"
-msgstr "SSL 핸드ì‰ì´í¬ 오류"
+msgstr "SSL 핸드셰ì´í¬ 오류"
#: editor/export_template_manager.cpp
msgid "Uncompressing Android Build Sources"
-msgstr "안드로ì´ë“œ 빌드 소스 ì••ì¶• í•´ì œ"
+msgstr "안드로ì´ë“œ 빌드 소스 ì••ì¶• 푸는 중"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3437,15 +3475,15 @@ msgstr "ì„¤ì¹˜ëœ ë²„ì „:"
#: editor/export_template_manager.cpp
msgid "Install From File"
-msgstr "파ì¼ë¡œë¶€í„° 설치"
+msgstr "파ì¼ì—서 설치하기"
#: editor/export_template_manager.cpp
msgid "Remove Template"
-msgstr "템플릿 삭제"
+msgstr "템플릿 삭제하기"
#: editor/export_template_manager.cpp
msgid "Select Template File"
-msgstr "템플릿 íŒŒì¼ ì„ íƒ"
+msgstr "템플릿 íŒŒì¼ ì„ íƒí•˜ê¸°"
#: editor/export_template_manager.cpp
msgid "Export Template Manager"
@@ -3453,7 +3491,7 @@ msgstr "내보내기 템플릿 매니저"
#: editor/export_template_manager.cpp
msgid "Download Templates"
-msgstr "템플릿 다운로드"
+msgstr "템플릿 다운로드하기"
#: editor/export_template_manager.cpp
msgid "Select mirror from list: (Shift+Click: Open in Browser)"
@@ -3466,19 +3504,20 @@ 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 "리소스 루트를 옮기거나 ì´ë¦„ì„ ë³€ê²½í•  수 없습니다."
+msgstr "리소스 루트를 옮기거나 ì´ë¦„ì„ ë°”ê¿€ 수 없어요."
#: editor/filesystem_dock.cpp
msgid "Cannot move a folder into itself."
-msgstr "í´ë”를 ìžì‹ ì˜ 하위로 ì´ë™í•  수 없습니다."
+msgstr "í´ë”를 ìžì‹ ì˜ 하위로 옮길 수 없어요."
#: editor/filesystem_dock.cpp
msgid "Error moving:"
-msgstr "ì´ë™ 오류:"
+msgstr "ì´ë™ 중 오류:"
#: editor/filesystem_dock.cpp
msgid "Error duplicating:"
@@ -3486,39 +3525,39 @@ msgstr "복제 중 오류:"
#: editor/filesystem_dock.cpp
msgid "Unable to update dependencies:"
-msgstr "종ì†í•­ëª©ì„ ì—…ë°ì´íЏ í•  수 없습니다:"
+msgstr "ì¢…ì† í•­ëª©ì„ ì—…ë°ì´íŠ¸í•  수 ì—†ìŒ:"
#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
msgid "No name provided."
-msgstr "ì´ë¦„ì´ ì œê³µë˜ì§€ 않았습니다."
+msgstr "ì´ë¦„ì„ ì œê³µí•˜ì§€ 않았어요."
#: editor/filesystem_dock.cpp
msgid "Provided name contains invalid characters."
-msgstr "ì œê³µëœ ì´ë¦„ì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ë¬¸ìžê°€ 있습니다."
+msgstr "제공한 ì´ë¦„ì— ìž˜ëª»ëœ ë¬¸ìžê°€ 있어요."
#: editor/filesystem_dock.cpp
msgid "A file or folder with this name already exists."
-msgstr "파ì¼ì´ë‚˜ í´ë”ê°€ 해당 ì´ë¦„ì„ ì‚¬ìš©ì¤‘ìž…ë‹ˆë‹¤."
+msgstr "ì´ ì´ë¦„ì€ ì´ë¯¸ ì–´ë–¤ 파ì¼ì´ë‚˜ í´ë”ê°€ ì“°ê³  있어요."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
-msgstr "ì´ë¦„ì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ë¬¸ìžê°€ 있습니다."
+msgstr "ì´ë¦„ì— ìž˜ëª»ëœ ë¬¸ìžê°€ 있어요."
#: editor/filesystem_dock.cpp
msgid "Renaming file:"
-msgstr "파ì¼ëª… 변경:"
+msgstr "íŒŒì¼ ì´ë¦„ 바꾸기:"
#: editor/filesystem_dock.cpp
msgid "Renaming folder:"
-msgstr "í´ë”명 변경:"
+msgstr "í´ë” ì´ë¦„ 바꾸기:"
#: editor/filesystem_dock.cpp
msgid "Duplicating file:"
-msgstr "íŒŒì¼ ë³µì œ 중:"
+msgstr "íŒŒì¼ ë³µì œí•˜ê¸°:"
#: editor/filesystem_dock.cpp
msgid "Duplicating folder:"
-msgstr "복제 ì¤‘ì¸ í´ë”:"
+msgstr "í´ë” 복제하기:"
#: editor/filesystem_dock.cpp
msgid "New Inherited Scene"
@@ -3534,15 +3573,15 @@ msgstr "ì¸ìŠ¤í„´ìŠ¤"
#: editor/filesystem_dock.cpp
msgid "Add to Favorites"
-msgstr "ì¦ê²¨ì°¾ê¸°ë¡œ 추가"
+msgstr "ì¦ê²¨ì°¾ê¸°ë¡œ 추가하기"
#: editor/filesystem_dock.cpp
msgid "Remove from Favorites"
-msgstr "ì¦ê²¨ì°¾ê¸°ì—서 ì‚­ì œ"
+msgstr "ì¦ê²¨ì°¾ê¸°ì—서 삭제하기"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
-msgstr "ì¢…ì† ê´€ê³„ 편집..."
+msgstr "ì¢…ì† ê´€ê³„ 편집하기..."
#: editor/filesystem_dock.cpp
msgid "View Owners..."
@@ -3550,20 +3589,19 @@ msgstr "ì†Œìœ ìž ë³´ê¸°..."
#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
-msgstr "ì´ë¦„ 변경..."
+msgstr "ì´ë¦„ 바꾸기..."
#: editor/filesystem_dock.cpp
msgid "Duplicate..."
-msgstr "복제..."
+msgstr "복제하기..."
#: editor/filesystem_dock.cpp
msgid "Move To..."
-msgstr "ì´ë™..."
+msgstr "여기로 ì´ë™í•˜ê¸°..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "새 씬"
+msgstr "새 씬..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3576,7 +3614,7 @@ msgstr "새 리소스..."
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
msgid "Expand All"
-msgstr "ëª¨ë‘ í™•ìž¥"
+msgstr "ëª¨ë‘ íŽ¼ì¹˜ê¸°"
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
@@ -3588,7 +3626,7 @@ msgstr "ëª¨ë‘ ì ‘ê¸°"
#: editor/project_manager.cpp editor/rename_dialog.cpp
#: editor/scene_tree_dock.cpp
msgid "Rename"
-msgstr "ì´ë¦„ 변경"
+msgstr "ì´ë¦„ 바꾸기"
#: editor/filesystem_dock.cpp
msgid "Previous Folder/File"
@@ -3600,7 +3638,7 @@ msgstr "ë‹¤ìŒ í´ë”/파ì¼"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
-msgstr "íŒŒì¼ ì‹œìŠ¤í…œ 재검사"
+msgstr "íŒŒì¼ ì‹œìŠ¤í…œ 다시 스캔하기"
#: editor/filesystem_dock.cpp
msgid "Toggle Split Mode"
@@ -3608,32 +3646,31 @@ msgstr "분할 모드 토글"
#: editor/filesystem_dock.cpp
msgid "Search files"
-msgstr "íŒŒì¼ ê²€ìƒ‰"
+msgstr "íŒŒì¼ ê²€ìƒ‰í•˜ê¸°"
#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-"íŒŒì¼ ìŠ¤ìº”ì¤‘,\n"
-"잠시만 기다려주세요..."
+"íŒŒì¼ ìŠ¤ìº” 중,\n"
+"기다려주세요..."
#: editor/filesystem_dock.cpp
msgid "Move"
-msgstr "ì´ë™"
+msgstr "ì´ë™í•˜ê¸°"
#: editor/filesystem_dock.cpp
msgid "There is already file or folder with the same name in this location."
-msgstr "ê°™ì€ ì´ë¦„ì˜ íŒŒì¼ì´ë‚˜ í´ë”ê°€ ì´ë¯¸ 존재합니다."
+msgstr "ì´ ìœ„ì¹˜ì—는 ê°™ì€ ì´ë¦„ì˜ íŒŒì¼ì´ë‚˜ í´ë”ê°€ 있어요."
#: editor/filesystem_dock.cpp
msgid "Overwrite"
msgstr "ë®ì–´ 쓰기"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "씬으로부터 만들기"
+msgstr "씬 만들기"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3660,8 +3697,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
-"ë‹¤ìŒ í™•ìž¥ìžëª…ì„ ê°–ëŠ” 파ì¼ì´ 있습니다. 프로ì íЏ 설정ì—서 추가하거나 제거하세"
-"ìš”."
+"해당 확장ìžëª…으로 ëœ íŒŒì¼ì´ 있어요. 프로ì íЏ ì„¤ì •ì— íŒŒì¼ì„ 추가하거나 삭제하"
+"세요."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3670,11 +3707,11 @@ msgstr "찾기..."
#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
msgid "Replace..."
-msgstr "변경..."
+msgstr "바꾸기..."
#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
msgid "Cancel"
-msgstr "취소"
+msgstr "취소하기"
#: editor/find_in_files.cpp
msgid "Find: "
@@ -3686,7 +3723,7 @@ msgstr "바꾸기: "
#: editor/find_in_files.cpp
msgid "Replace all (no undo)"
-msgstr "ì „ì²´ 바꾸기 (취소할 수 ì—†ìŒ)"
+msgstr "ì „ë¶€ 바꾸기 (ë˜ëŒë¦´ 수 없어요)"
#: editor/find_in_files.cpp
msgid "Searching..."
@@ -3698,38 +3735,35 @@ msgstr "검색 완료"
#: editor/groups_editor.cpp
msgid "Add to Group"
-msgstr "ê·¸ë£¹ì— ì¶”ê°€"
+msgstr "ê·¸ë£¹ì— ì¶”ê°€í•˜ê¸°"
#: editor/groups_editor.cpp
msgid "Remove from Group"
-msgstr "그룹ì—서 ì‚­ì œ"
+msgstr "그룹ì—서 삭제하기"
#: editor/groups_editor.cpp
msgid "Group name already exists."
-msgstr "그룹 ì´ë¦„ì´ ì´ë¯¸ 존재합니다."
+msgstr "ì´ ê·¸ë£¹ ì´ë¦„ì€ ì´ë¯¸ 누가 ì“°ê³  있어요."
#: editor/groups_editor.cpp
msgid "Invalid group name."
-msgstr "그룹 ì´ë¦„ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr "ì´ ê·¸ë£¹ ì´ë¦„ì€ ìž˜ëª»ë˜ì—ˆì–´ìš”."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "그룹 관리"
+msgstr "그룹 ì´ë¦„ 바꾸기"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "ì´ë¯¸ì§€ 그룹 ì‚­ì œ"
+msgstr "그룹 삭제하기"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "그룹"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
-msgstr "ê·¸ë£¹ì— ìžˆì§€ ì•Šì€ ë…¸ë“œ"
+msgstr "ê·¸ë£¹ì— ì†í•˜ì§€ 않는 노드"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
@@ -3738,11 +3772,11 @@ msgstr "노드 필터"
#: editor/groups_editor.cpp
msgid "Nodes in Group"
-msgstr "ê·¸ë£¹ì— ìžˆëŠ” 노드"
+msgstr "ê·¸ë£¹ì— ì†í•œ 노드"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "빈 ê·¸ë£¹ì€ ìžë™ìœ¼ë¡œ ì‚­ì œë˜ìš”."
#: editor/groups_editor.cpp
msgid "Group Editor"
@@ -3750,7 +3784,7 @@ msgstr "그룹 편집기"
#: editor/groups_editor.cpp
msgid "Manage Groups"
-msgstr "그룹 관리"
+msgstr "그룹 관리하기"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -3758,7 +3792,7 @@ msgstr "ë‹¨ì¼ ì”¬ìœ¼ë¡œ 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Animations"
-msgstr "애니메ì´ì…˜ì„ 분리시켜 가져오기"
+msgstr "애니메ì´ì…˜ì„ 분리해서 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials"
@@ -3766,15 +3800,15 @@ msgstr "ë¨¸í‹°ë¦¬ì–¼ì„ ë¶„ë¦¬í•´ì„œ 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects"
-msgstr "오브ì íŠ¸ë¥¼ 분리해서 가져오기"
+msgstr "ê°ì²´ë¥¼ 분리해서 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Materials"
-msgstr "오브ì íŠ¸ì™€ ë¨¸í‹°ë¦¬ì–¼ì„ ë¶„ë¦¬í•´ì„œ 가져오기"
+msgstr "ê°ì²´ì™€ ë¨¸í‹°ë¦¬ì–¼ì„ ë¶„ë¦¬í•´ì„œ 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Animations"
-msgstr "오브ì íŠ¸ì™€ 애니메ì´ì…˜ì„ 분리해서 가져오기"
+msgstr "ê°ì²´ì™€ 애니메ì´ì…˜ì„ 분리해서 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials+Animations"
@@ -3782,11 +3816,11 @@ msgstr "머티리얼과 애니메ì´ì…˜ì„ 분리해서 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Materials+Animations"
-msgstr "오브ì íЏ, 머티리얼, 애니메ì´ì…˜ì„ 분리해서 가져오기"
+msgstr "ê°ì²´, 머티리얼, 애니메ì´ì…˜ì„ 분리해서 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes"
-msgstr "ì—¬ëŸ¬ê°œì˜ ì”¬ìœ¼ë¡œ 가져오기"
+msgstr "여러 ê°œì˜ ì”¬ìœ¼ë¡œ 가져오기"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes+Materials"
@@ -3807,24 +3841,23 @@ msgstr "ë¼ì´íŠ¸ë§µ ìƒì„± 중"
#: editor/import/resource_importer_scene.cpp
msgid "Generating for Mesh: "
-msgstr "메시를 위해 ìƒì„± 중: "
+msgstr "메시 용으로 ìƒì„± 중: "
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
-msgstr "커스텀 스í¬ë¦½íЏ 실행 중..."
+msgstr "맞춤 스í¬ë¦½íЏ 실행 중..."
#: editor/import/resource_importer_scene.cpp
msgid "Couldn't load post-import script:"
-msgstr "가져오기 후 실행할 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 없습니다:"
+msgstr "가져오기 후 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 ì—†ìŒ:"
#: editor/import/resource_importer_scene.cpp
msgid "Invalid/broken script for post-import (check console):"
-msgstr ""
-"가져오기 후 실행할 스í¬ë¦½íŠ¸ê°€ 올바르지 않거나 깨져 있습니다 (콘솔 확ì¸):"
+msgstr "가져오기 후 스í¬ë¦½íŠ¸ê°€ 잘못ë˜ê±°ë‚˜ 고장남 (ì½˜ì†”ì„ í™•ì¸í•˜ì„¸ìš”):"
#: editor/import/resource_importer_scene.cpp
msgid "Error running post-import script:"
-msgstr "가져오기 후 실행할 스í¬ë¦½íЏ 실행 중 오류:"
+msgstr "가져오기 후 스í¬ë¦½íЏ 실행 중 오류:"
#: editor/import/resource_importer_scene.cpp
msgid "Saving..."
@@ -3832,11 +3865,11 @@ msgstr "저장 중..."
#: editor/import_dock.cpp
msgid "Set as Default for '%s'"
-msgstr "'%s'ì„(를) 기본으로 지정"
+msgstr "'%s'ì„(를) 기본으로 설정하기"
#: editor/import_dock.cpp
msgid "Clear Default for '%s'"
-msgstr "'%s'ì„(를) 기본ì—서 í•´ì œ"
+msgstr "'%s'ì„(를) 기본ì—서 지우기"
#: editor/import_dock.cpp
msgid " Files"
@@ -3846,9 +3879,10 @@ msgstr " 파ì¼"
msgid "Import As:"
msgstr "ë‹¤ìŒ í˜•ì‹ìœ¼ë¡œ 가져오기:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "프리셋..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "프리셋"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3860,18 +3894,18 @@ msgstr "씬 저장, 다시 가져오기 ë° ë‹¤ì‹œ 시작"
#: editor/import_dock.cpp
msgid "Changing the type of an imported file requires editor restart."
-msgstr "가져온 파ì¼ì˜ íƒ€ìž…ì„ ë³€ê²½í•˜ë ¤ë©´ 편집기를 다시 시작해야 합니다."
+msgstr "가져온 파ì¼ì˜ ìœ í˜•ì„ ë°”ê¾¸ë ¤ë©´ 편집기를 다시 켜아 í•´ìš”."
#: editor/import_dock.cpp
msgid ""
"WARNING: Assets exist that use this resource, they may stop loading properly."
msgstr ""
-"경고: ì´ ë¦¬ì†ŒìŠ¤ë¥¼ 사용하는 ì• ì…‹ì´ ì¡´ìž¬í•©ë‹ˆë‹¤, ì• ì…‹ì„ ë¶ˆëŸ¬ì˜¤ì§€ 못할 수 있습니"
-"다."
+"경고: ì´ ë¦¬ì†ŒìŠ¤ë¥¼ 사용하는 ì• ì…‹ì´ ìžˆì–´ìš”, ì •ìƒì ìœ¼ë¡œ 불러오지 못할 ìˆ˜ë„ ìžˆì–´"
+"ìš”."
#: editor/inspector_dock.cpp
msgid "Failed to load resource."
-msgstr "리소스 불러오기 실패."
+msgstr "리소스 ë¶ˆëŸ¬ì˜¤ê¸°ì— ì‹¤íŒ¨í–ˆì–´ìš”."
#: editor/inspector_dock.cpp
msgid "Expand All Properties"
@@ -3888,7 +3922,7 @@ msgstr "다른 ì´ë¦„으로 저장..."
#: editor/inspector_dock.cpp
msgid "Copy Params"
-msgstr "ì†ì„± 복사"
+msgstr "ì†ì„± 복사하기"
#: editor/inspector_dock.cpp
msgid "Paste Params"
@@ -3896,7 +3930,7 @@ msgstr "ì†ì„± 붙여넣기"
#: editor/inspector_dock.cpp
msgid "Edit Resource Clipboard"
-msgstr "리소스 í´ë¦½ë³´ë“œ 편집"
+msgstr "리소스 í´ë¦½ë³´ë“œ 편집하기"
#: editor/inspector_dock.cpp
msgid "Copy Resource"
@@ -3916,31 +3950,31 @@ msgstr "ë„움ë§ì—서 열기"
#: editor/inspector_dock.cpp
msgid "Create a new resource in memory and edit it."
-msgstr "새로운 리소스를 ë©”ëª¨ë¦¬ì— ë§Œë“¤ê³  편집합니다."
+msgstr "새 리소스를 메모리ì—서 만들고 편집하기."
#: editor/inspector_dock.cpp
msgid "Load an existing resource from disk and edit it."
-msgstr "디스í¬ì—서 기존 리소스를 불러와 편집합니다."
+msgstr "디스í¬ì—서 기존 리소스를 불러오고 편집하기."
#: editor/inspector_dock.cpp
msgid "Save the currently edited resource."
-msgstr "현재 íŽ¸ì§‘ëœ ë¦¬ì†ŒìŠ¤ 저장."
+msgstr "현재 편집하는 리소스를 저장하기."
#: editor/inspector_dock.cpp
msgid "Go to the previous edited object in history."
-msgstr "기ë¡ì—서 ì´ì „ 편집한 대ìƒìœ¼ë¡œ 가기."
+msgstr "기ë¡ì—서 ì´ì „ì— íŽ¸ì§‘í•œ ê°ì²´ë¡œ 가기."
#: editor/inspector_dock.cpp
msgid "Go to the next edited object in history."
-msgstr "기ë¡ì—서 ë‹¤ìŒ íŽ¸ì§‘í•œ 대ìƒìœ¼ë¡œ 가기."
+msgstr "기ë¡ì—서 다ìŒì— 편집한 ê°ì²´ë¡œ 가기."
#: editor/inspector_dock.cpp
msgid "History of recently edited objects."
-msgstr "최근 편집 오브ì íЏ 히스토리."
+msgstr "ìµœê·¼ì— íŽ¸ì§‘í•œ ê°ì²´ 기ë¡."
#: editor/inspector_dock.cpp
msgid "Object properties."
-msgstr "오브ì íЏ ì†ì„±."
+msgstr "ê°ì²´ ì†ì„±."
#: editor/inspector_dock.cpp
msgid "Filter properties"
@@ -3948,20 +3982,19 @@ msgstr "í•„í„° ì†ì„±"
#: editor/inspector_dock.cpp
msgid "Changes may be lost!"
-msgstr "ë³€ê²½ì‚¬í•­ì„ ìžƒì„ ìˆ˜ 있습니다!"
+msgstr "ë³€ê²½ì‚¬í•­ì„ ìžƒì„ ìˆ˜ë„ ìžˆì–´ìš”!"
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
-msgstr "다중 노드 설정"
+msgstr "다중 노드 설정하기"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "시그ë„ê³¼ ê·¸ë£¹ì„ íŽ¸ì§‘í•  노드를 ì„ íƒí•˜ì„¸ìš”."
+msgstr "시그ë„ê³¼ ê·¸ë£¹ì„ íŽ¸ì§‘í•  노드 하나를 ì„ íƒí•˜ì„¸ìš”."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
-msgstr "í”ŒëŸ¬ê·¸ì¸ íŽ¸ì§‘"
+msgstr "í”ŒëŸ¬ê·¸ì¸ íŽ¸ì§‘í•˜ê¸°"
#: editor/plugin_config_dialog.cpp
msgid "Create a Plugin"
@@ -3985,7 +4018,7 @@ msgstr "스í¬ë¦½íЏ ì´ë¦„:"
#: editor/plugin_config_dialog.cpp
msgid "Activate now?"
-msgstr "지금 실행하시겠습니까?"
+msgstr "지금 실행할까요?"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -3996,7 +4029,7 @@ msgstr "í´ë¦¬ê³¤ 만들기"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Create points."
-msgstr "í¬ì¸íЏ 만들기."
+msgstr "ì  ë§Œë“¤ê¸°."
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid ""
@@ -4004,30 +4037,30 @@ msgid ""
"LMB: Move Point\n"
"RMB: Erase Point"
msgstr ""
-"í¬ì¸íЏ 편집.\n"
-"좌í´ë¦­: í¬ì¸íЏ ì´ë™\n"
-"ìš°í´ë¦­: í¬ì¸íЏ 지우기"
+"ì  íŽ¸ì§‘í•˜ê¸°.\n"
+"좌í´ë¦­: ì  ì´ë™í•˜ê¸°\n"
+"ìš°í´ë¦­: ì  ì§€ìš°ê¸°"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Erase points."
-msgstr "í¬ì¸íЏ 지우기."
+msgstr "ì  ì§€ìš°ê¸°."
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Edit Polygon"
-msgstr "í´ë¦¬ê³¤ 편집"
+msgstr "í´ë¦¬ê³¤ 편집하기"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Insert Point"
-msgstr "í¬ì¸íЏ 삽입"
+msgstr "ì  ì‚½ìž…í•˜ê¸°"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Edit Polygon (Remove Point)"
-msgstr "í´ë¦¬ê³¤ 편집 (í¬ì¸íЏ ì‚­ì œ)"
+msgstr "í´ë¦¬ê³¤ 편집하기 (ì  ì‚­ì œí•˜ê¸°)"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Remove Polygon And Point"
-msgstr "í´ë¦¬ê³¤ê³¼ í¬ì¸íЏ ì‚­ì œ"
+msgstr "í´ë¦¬ê³¤ê³¼ ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4047,39 +4080,39 @@ msgstr "불러오기..."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Move Node Point"
-msgstr "노드 í¬ì¸íЏ ì´ë™"
+msgstr "노드 ì  ì´ë™í•˜ê¸°"
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Change BlendSpace1D Limits"
-msgstr "BlendSpace1D 제한 변경"
+msgstr "BlendSpace1D 제한 바꾸기"
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Change BlendSpace1D Labels"
-msgstr "BlendSpace1D ë¼ë²¨ 변경"
+msgstr "BlendSpace1D ë¼ë²¨ 바꾸기"
#: 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 "ì´ íƒ€ìž…ì˜ ë…¸ë“œë¥¼ 사용할 수 없습니다. ì˜¤ì§ ë£¨íŠ¸ 노드만 사용 가능합니다."
+msgstr "ì´ ìœ í˜•ì˜ ë…¸ë“œë¥¼ 사용할 수 없어요. 루트 노드만 쓸 수 있어요."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Node Point"
-msgstr "노드 í¬ì¸íЏ 추가"
+msgstr "노드 ì  ì¶”ê°€í•˜ê¸°"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Animation Point"
-msgstr "애니메ì´ì…˜ í¬ì¸íЏ 추가"
+msgstr "애니메ì´ì…˜ ì  ì¶”ê°€í•˜ê¸°"
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Remove BlendSpace1D Point"
-msgstr "BlendSpace1D í¬ì¸íЏ ì‚­ì œ"
+msgstr "BlendSpace1D ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Move BlendSpace1D Node Point"
-msgstr "BlendSpace1D 노드 í¬ì¸íЏ ì´ë™"
+msgstr "BlendSpace1D 노드 ì  ì´ë™í•˜ê¸°"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4089,29 +4122,28 @@ msgid ""
"AnimationTree is inactive.\n"
"Activate to enable playback, check node warnings if activation fails."
msgstr ""
-"AnimationTree ê°€ 비활성 ìƒíƒœíž™ë‹ˆë‹¤.\n"
-"ìƒíƒœë¥¼ 활성화하면 재ìƒí•  수 있습니다, í™œì„±í™”ì— ì‹¤íŒ¨í•˜ë©´ ë…¸ë“œì— ê²½ê³ ê°€ 있는지 "
-"확ì¸í•˜ì„¸ìš”."
+"AnimationTree 가 꺼져 있어요.\n"
+"재ìƒí•˜ë ¤ë©´ AnimationTree를 켜고, ì‹¤í–‰ì— ì‹¤íŒ¨í•˜ë©´ 노드 경고를 확ì¸í•˜ì„¸ìš”."
#: 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 "공간 ë‚´ì˜ í˜¼í•© 위치 설정"
+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 "í¬ì¸íŠ¸ë¥¼ ì„ íƒí•˜ê³  ì´ë™í•©ë‹ˆë‹¤, ìš°í´ë¦­ìœ¼ë¡œ í¬ì¸íŠ¸ë¥¼ 만드실 수 있습니다."
+msgstr "ì ì„ ì„ íƒí•˜ê³  ì´ë™í•´ìš”, ìš°í´ë¦­ìœ¼ë¡œ ì ì„ 만드세요."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
msgid "Enable snap and show grid."
-msgstr "ìŠ¤ëƒ…ì„ í™œì„±í™” 하고 격ìžë¥¼ ë³´ì´ê¸°."
+msgstr "ìŠ¤ëƒ…ì„ ì¼œë©´ì„œ 격ìžë¥¼ ë³´ì´ê¸°."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Point"
-msgstr "í¬ì¸íЏ"
+msgstr "ì "
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4122,35 +4154,35 @@ msgstr "애니메ì´ì…˜ 노드 열기"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Triangle already exists."
-msgstr "삼ê°í˜•ì´ ì´ë¯¸ 존재합니다."
+msgstr "삼ê°í˜•ì´ ì´ë¯¸ 있어요."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
-msgstr "삼ê°í˜• 추가"
+msgstr "삼ê°í˜• 추가하기"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Change BlendSpace2D Limits"
-msgstr "BlendSpace2D 제한 변경"
+msgstr "BlendSpace2D 제한 바꾸기"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Change BlendSpace2D Labels"
-msgstr "BlendSpace2D ë¼ë²¨ 변경"
+msgstr "BlendSpace2D ë¼ë²¨ 바꾸기"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Remove BlendSpace2D Point"
-msgstr "BlendSpace2D í¬ì¸íЏ ì‚­ì œ"
+msgstr "BlendSpace2D ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Remove BlendSpace2D Triangle"
-msgstr "BlendSpace2D 삼ê°í˜• ì‚­ì œ"
+msgstr "BlendSpace2D 삼ê°í˜• 삭제하기"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "BlendSpace2D does not belong to an AnimationTree node."
-msgstr "BlendSpace2Dê°€ AnimationTree ë…¸ë“œì— ì†í•´ìžˆì§€ 않습니다."
+msgstr "BlendSpace2Dê°€ AnimationTree ë…¸ë“œì— ì†í•´ìžˆì§€ 않네요."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "No triangles exist, so no blending can take place."
-msgstr "삼ê°í˜•ì´ ì¡´ìž¬í•˜ì§€ 않습니다, ë¸”ëžœë”©ì´ ì¼ì–´ë‚˜ì§€ 않습니다."
+msgstr "삼ê°í˜•ì´ ì—†ì–´ìš”, í˜¼í•©ì´ ì¼ì–´ë‚˜ì§€ ì•Šì„ ê±°ì˜ˆìš”."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Toggle Auto Triangles"
@@ -4158,20 +4190,20 @@ msgstr "ìžë™ 삼ê°í˜• 토글"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Create triangles by connecting points."
-msgstr "í¬ì¸íŠ¸ë¥¼ 연결하여 삼ê°í˜• 만들기."
+msgstr "ì ì„ 연결하여 삼ê°í˜• 만들기."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Erase points and triangles."
-msgstr "í¬ì¸íŠ¸ì™€ 삼ê°í˜• 지우기."
+msgstr "ì ê³¼ 삼ê°í˜• 지우기."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Generate blend triangles automatically (instead of manually)"
-msgstr "(ìˆ˜ë™ ëŒ€ì‹ ) ìžë™ìœ¼ë¡œ 블렌드 삼ê°í˜• 만들기"
+msgstr "(ìˆ˜ë™ ëŒ€ì‹ ) ìžë™ìœ¼ë¡œ 혼합 삼ê°í˜• 만들기"
#: editor/plugins/animation_blend_space_2d_editor.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
-msgstr "블렌드:"
+msgstr "혼합:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Parameter Changed"
@@ -4180,15 +4212,15 @@ msgstr "매개변수 변경ë¨"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Filters"
-msgstr "필터 편집"
+msgstr "필터 편집하기"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Output node can't be added to the blend tree."
-msgstr "출력 노드를 블렌드 íŠ¸ë¦¬ì— ì¶”ê°€í•  수 없습니다."
+msgstr "출력 노드를 혼합 íŠ¸ë¦¬ì— ì¶”ê°€í•  수 없어요."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Add Node to BlendTree"
-msgstr "BlendTreeì— ë…¸ë“œ 추가"
+msgstr "BlendTreeì— ë…¸ë“œ 추가하기"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -4197,7 +4229,7 @@ msgstr "노드 ì´ë™ë¨"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Unable to connect, port may be in use or connection may be invalid."
-msgstr "ì—°ê²°í•  수 없습니다, í¬íŠ¸ê°€ 사용 중ì´ê±°ë‚˜ 올바르지 않는 연결입니다."
+msgstr "ì—°ê²°í•  수 없어요, í¬íŠ¸ê°€ 사용 중ì´ê±°ë‚˜ ìž˜ëª»ëœ ì—°ê²°ì¼ ê±°ì˜ˆìš”."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -4211,17 +4243,17 @@ msgstr "노드 ì—°ê²° í•´ì œë¨"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Set Animation"
-msgstr "애니메ì´ì…˜ 설정"
+msgstr "애니메ì´ì…˜ 설정하기"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Delete Node"
-msgstr "노드 삭제"
+msgstr "노드 삭제하기"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)"
-msgstr "노드 삭제"
+msgstr "노드 삭제하기"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Toggle Filter On/Off"
@@ -4229,16 +4261,16 @@ msgstr "í•„í„° 켜기/ë„기 토글"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Change Filter"
-msgstr "필터 변경"
+msgstr "필터 바꾸기"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "No animation player set, so unable to retrieve track names."
-msgstr "설정한 애니메ì´ì…˜ 플레ì´ì–´ê°€ 없습니다, 트랙 ì´ë¦„ì„ ê²€ìƒ‰í•  수 없습니다."
+msgstr ""
+"애니메ì´ì…˜ 플레ì´ì–´ê°€ 설정ë˜ì§€ 않았어요, 그래서 트랙 ì´ë¦„ì„ ê²€ìƒ‰í•  수 없어요."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Player path set is invalid, so unable to retrieve track names."
-msgstr ""
-"올바르지 않는 플레ì´ì–´ 경로 설정입니다, 트랙 ì´ë¦„ì„ ê²€ìƒ‰í•  수 없습니다."
+msgstr "플레ì´ì–´ 경로 ì„¤ì •ì´ ìž˜ëª»ëì–´ìš”, 그래서 트랙 ì´ë¦„ì„ ê²€ìƒ‰í•  수 없어요."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/root_motion_editor_plugin.cpp
@@ -4246,13 +4278,13 @@ 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/animation_state_machine_editor.cpp
msgid "Node Renamed"
-msgstr "노드 ì´ë¦„ 변경ë¨"
+msgstr "노드 ì´ë¦„ 바뀜"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -4266,11 +4298,11 @@ msgstr "필터 트랙 편집:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Enable Filtering"
-msgstr "필터 활성화"
+msgstr "필터 켜기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
-msgstr "ìžë™ ìž¬ìƒ ì „í™˜"
+msgstr "ìžë™ ìž¬ìƒ í† ê¸€"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New Animation Name:"
@@ -4282,37 +4314,38 @@ msgstr "새 애니메ì´ì…˜"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
-msgstr "애니메ì´ì…˜ ì´ë¦„ 변경:"
+msgstr "애니메ì´ì…˜ ì´ë¦„ 바꾸기:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
-msgstr "애니메ì´ì…˜ì„ 삭제하시겠습니까?"
+msgstr "애니메ì´ì…˜ì„ 삭제할까요?"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Remove Animation"
-msgstr "애니메ì´ì…˜ ì‚­ì œ"
+msgstr "애니메ì´ì…˜ 삭제하기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Invalid animation name!"
-msgstr "올바르지 ì•Šì€ ì• ë‹ˆë©”ì´ì…˜ ì´ë¦„!"
+msgstr "애니메ì´ì…˜ ì´ë¦„ì´ ìž˜ëª»ëì–´ìš”!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation name already exists!"
-msgstr "애니메ì´ì…˜ ì´ë¦„ì´ ì´ë¯¸ 존재합니다!"
+msgstr "애니메ì´ì…˜ ì´ë¦„ì´ ì´ë¯¸ 있어요!"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Rename Animation"
-msgstr "애니메ì´ì…˜ ì´ë¦„ 변경"
+msgstr "애니메ì´ì…˜ ì´ë¦„ 바꾸기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
-msgstr "블렌드 다ìŒìœ¼ë¡œ 변경ë¨"
+msgstr "혼합 다ìŒìœ¼ë¡œ 바뀜"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Blend Time"
-msgstr "블렌드 시간 변경"
+msgstr "혼합 시간 바꾸기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Load Animation"
@@ -4324,15 +4357,15 @@ msgstr "애니메ì´ì…˜ 복제하기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "No animation to copy!"
-msgstr "복사할 애니메ì´ì…˜ì´ 없습니다!"
+msgstr "복사할 애니메ì´ì…˜ì´ 없어요!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "No animation resource on clipboard!"
-msgstr "í´ë¦½ë³´ë“œì— 애니메ì´ì…˜ 리소스가 없습니다!"
+msgstr "í´ë¦½ë³´ë“œì— 애니메ì´ì…˜ 리소스가 없어요!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
-msgstr "붙여진 애니메ì´ì…˜"
+msgstr "붙여 ë„£ì€ ì• ë‹ˆë©”ì´ì…˜"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Paste Animation"
@@ -4340,27 +4373,27 @@ msgstr "애니메ì´ì…˜ 붙여넣기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "No animation to edit!"
-msgstr "편집할 애니메ì´ì…˜ì´ 없습니다!"
+msgstr "편집할 애니메ì´ì…˜ì´ 없어요!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
-msgstr "ì„ íƒëœ 애니메ì´ì…˜ì„ 현재 위치ì—서 거꾸로 재ìƒ. (A)"
+msgstr "ì„ íƒí•œ 애니메ì´ì…˜ì„ 현재 위치ì—서 거꾸로 재ìƒí•˜ê¸°. (A)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from end. (Shift+A)"
-msgstr "ì„ íƒëœ 애니메ì´ì…˜ì„ ëì—서 거꾸로 재ìƒ. (Shift+A)"
+msgstr "ì„ íƒí•œ 애니메ì´ì…˜ì„ ëì—서 거꾸로 재ìƒí•˜ê¸°. (Shift+A)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Stop animation playback. (S)"
-msgstr "애니메ì´ì…˜ ìž¬ìƒ ì •ì§€. (S)"
+msgstr "애니메ì´ì…˜ ìž¬ìƒ ì •ì§€í•˜ê¸°. (S)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation from start. (Shift+D)"
-msgstr "ì„ íƒëœ 애니메ì´ì…˜ì„ 처ìŒë¶€í„° 재ìƒ. (Shift+D)"
+msgstr "ì„ íƒí•œ 애니메ì´ì…˜ì„ 처ìŒë¶€í„° 재ìƒí•˜ê¸°. (Shift+D)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation from current pos. (D)"
-msgstr "ì„ íƒëœ 애니메ì´ì…˜ì„ 현재 위치ì—서 재ìƒ. (D)"
+msgstr "ì„ íƒí•œ 애니메ì´ì…˜ì„ 현재 위치부터 재ìƒí•˜ê¸°. (D)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation position (in seconds)."
@@ -4368,7 +4401,7 @@ msgstr "애니메ì´ì…˜ 위치 (ì´ˆ)."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Scale animation playback globally for the node."
-msgstr "애니메ì´ì…˜ ìž¬ìƒ ì†ë„를 ì „ì²´ì ìœ¼ë¡œ ì¡°ì ˆ."
+msgstr "ë…¸ë“œì— ëŒ€í•œ 애니메ì´ì…˜ ìž¬ìƒ ê·œëª¨ë¥¼ ì „ì²´ì ìœ¼ë¡œ 조절하기."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Tools"
@@ -4381,7 +4414,7 @@ msgstr "애니메ì´ì…˜"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
-msgstr "전환 편집..."
+msgstr "전환 편집하기..."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Open in Inspector"
@@ -4389,15 +4422,15 @@ msgstr "ì¸ìŠ¤íŽ™í„°ì—서 열기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
-msgstr "애니메ì´ì…˜ ëª©ë¡ í‘œì‹œ."
+msgstr "애니메ì´ì…˜ ëª©ë¡ í‘œì‹œí•˜ê¸°."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Autoplay on Load"
-msgstr "불러올 시 ìžë™ 재ìƒ"
+msgstr "불러올 시 ìžë™ìœ¼ë¡œ 재ìƒí•˜ê¸°"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Enable Onion Skinning"
-msgstr "어니언 ìŠ¤í‚¤ë‹ í™œì„±í™”"
+msgstr "어니언 ìŠ¤í‚¤ë‹ ì¼œê¸°"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning Options"
@@ -4421,23 +4454,23 @@ msgstr "깊ì´"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "1 step"
-msgstr "1 단계"
+msgstr "1단계"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "2 steps"
-msgstr "2 단계"
+msgstr "2단계"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "3 steps"
-msgstr "3 단계"
+msgstr "3단계"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Differences Only"
-msgstr "변경사항만"
+msgstr "변경 사항만"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Force White Modulate"
-msgstr "ê°•ì œ í°ìƒ‰ ì¡°ì ˆ"
+msgstr "ê°•ì œ í°ìƒ‰ 조절하기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Include Gizmos (3D)"
@@ -4465,7 +4498,7 @@ msgstr "오류!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Times:"
-msgstr "블렌드 시간:"
+msgstr "혼합 시간:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Next (Auto Queue):"
@@ -4473,24 +4506,24 @@ msgstr "ë‹¤ìŒ (ìžë™ í):"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Cross-Animation Blend Times"
-msgstr "êµì°¨-애니메ì´ì…˜ 블렌드 시간"
+msgstr "êµì°¨-애니메ì´ì…˜ 혼합 시간"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Move Node"
-msgstr "노드 ì´ë™"
+msgstr "노드 ì´ë™í•˜ê¸°"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Add Transition"
-msgstr "전환 추가"
+msgstr "전환 추가하기"
#: editor/plugins/animation_state_machine_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node"
-msgstr "노드 추가"
+msgstr "노드 추가하기"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "End"
-msgstr "End"
+msgstr "ë"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Immediate"
@@ -4506,15 +4539,15 @@ msgstr "ëì—서"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Travel"
-msgstr "ì´ë™"
+msgstr "ì´ë™í•˜ê¸°"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Start and end nodes are needed for a sub-transition."
-msgstr "하위 ì „í™˜ì— ì‹œìž‘ê³¼ ë 노드가 필요합니다."
+msgstr "하위 전환ì—는 시작과 ë 노드가 필요해요."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "No playback resource set at path: %s."
-msgstr "ë‹¤ìŒ ê²½ë¡œì— ì„¤ì •ëœ ìž¬ìƒ ë¦¬ì†ŒìŠ¤ê°€ 없습니다: %s."
+msgstr "ì´ ê²½ë¡œì— ì„¤ì •í•œ ìž¬ìƒ ë¦¬ì†ŒìŠ¤ê°€ ì—†ìŒ: %s."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Node Removed"
@@ -4526,7 +4559,7 @@ msgstr "전환 ì‚­ì œë¨"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Set Start Node (Autoplay)"
-msgstr "시작 노드 설정 (ìžë™ 재ìƒ)"
+msgstr "시작 노드 설정하기 (ìžë™ 재ìƒ)"
#: editor/plugins/animation_state_machine_editor.cpp
msgid ""
@@ -4534,9 +4567,9 @@ msgid ""
"RMB to add new nodes.\n"
"Shift+LMB to create connections."
msgstr ""
-"노드를 ì„ íƒí•˜ê³  ì´ë™í•˜ì‹­ì‹œì˜¤.\n"
-"ìš°í´ë¦­ìœ¼ë¡œ 새 노드를 추가합니다.\n"
-"Shift+좌í´ë¦­ìœ¼ë¡œ ì—°ê²°ì„ ë§Œë“­ë‹ˆë‹¤."
+"노드를 ì„ íƒí•˜ê³  ì´ë™í•´ìš”.\n"
+"ìš°í´ë¦­ìœ¼ë¡œ 새 노드를 추가해요.\n"
+"Shift+좌í´ë¦­ìœ¼ë¡œ ì—°ê²°ì„ ë§Œë“¤ì–´ìš”."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Create new nodes."
@@ -4544,21 +4577,20 @@ msgstr "새 노드 만들기."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Connect nodes."
-msgstr "노드 연결."
+msgstr "노드 연결하기."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Remove selected node or transition."
-msgstr "ì„ íƒëœ 노드나 전환 삭제하기."
+msgstr "ì„ íƒí•œ 노드나 전환 삭제하기."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Toggle autoplay this animation on start, restart or seek to zero."
msgstr ""
-"ì´ ì• ë‹ˆë©”ì´ì…˜ì´ 시작, 재시작, 아니면 0으로 ê°ˆ 때 ìžë™ìœ¼ë¡œ 시작할 지를 키거나 "
-"ë•니다."
+"ì´ ì• ë‹ˆë©”ì´ì…˜ì„ 시작, 다시 시작 í˜¹ì€ 0으로 ê°€ë„ë¡ ìžë™ìœ¼ë¡œ 재ìƒì„ 토글."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Set the end animation. This is useful for sub-transitions."
-msgstr "ë 애니메ì´ì…˜ì„ 설정합니다. ì´ê²ƒì€ 하위 ì „í™˜ì— ìœ ìš©í•©ë‹ˆë‹¤."
+msgstr "ë 애니메ì´ì…˜ì„ 설정해요. ì´ê²ƒì€ 하위 ì „í™˜ì— ìœ ìš©í•´ìš”."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Transition: "
@@ -4576,7 +4608,7 @@ msgstr "새 ì´ë¦„:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
-msgstr "í¬ê¸°:"
+msgstr "규모:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
@@ -4588,7 +4620,7 @@ msgstr "페ì´ë“œ 아웃 (ì´ˆ):"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
-msgstr "블렌드"
+msgstr "혼합"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
@@ -4617,15 +4649,15 @@ msgstr "ì–‘:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
-msgstr "블렌드 0:"
+msgstr "혼합 0:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
-msgstr "블렌드 1:"
+msgstr "혼합 1:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
-msgstr "í¬ë¡œìФ 페ì´ë“œ 시간 (ì´ˆ):"
+msgstr "X-페ì´ë“œ 시간 (ì´ˆ):"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
@@ -4633,27 +4665,27 @@ msgstr "현재:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
-msgstr "입력 추가"
+msgstr "입력 추가하기"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
-msgstr "ìžë™ ì§„í–‰ ì‚­ì œ"
+msgstr "ìžë™ ì§„í–‰ 지우기"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
-msgstr "ìžë™ ì§„í–‰ 설정"
+msgstr "ìžë™ ì§„í–‰ 설정하기"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
-msgstr "입력 삭제"
+msgstr "입력 삭제하기"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
-msgstr "애니메ì´ì…˜ 트리가 올바릅니다."
+msgstr "애니메ì´ì…˜ 트리는 ì •ìƒì´ì—ìš”."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
-msgstr "애니메ì´ì…˜ 트리가 올바르지 않습니다."
+msgstr "애니메ì´ì…˜ 트리가 잘못ëì–´ìš”."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
@@ -4669,15 +4701,15 @@ msgstr "믹스 노드"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
-msgstr "블렌드2 노드"
+msgstr "혼합2 노드"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
-msgstr "블렌드3 노드"
+msgstr "혼합3 노드"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
-msgstr "블렌드4 노드"
+msgstr "혼합4 노드"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
@@ -4697,7 +4729,7 @@ msgstr "애니메ì´ì…˜ 가져오기..."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
-msgstr "노드 필터 편집"
+msgstr "노드 필터 편집하기"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
@@ -4705,7 +4737,7 @@ msgstr "í•„í„°..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
-msgstr "컨í…츠:"
+msgstr "ë‚´ìš©:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "View Files"
@@ -4713,7 +4745,7 @@ msgstr "íŒŒì¼ ë³´ê¸°"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Connection error, please try again."
-msgstr "ì—°ê²° 오류, 다시 시ë„í•´ 주세요."
+msgstr "ì—°ê²° 오류, 다시 시ë„해주세요."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't connect to host:"
@@ -4721,52 +4753,47 @@ msgstr "í˜¸ìŠ¤íŠ¸ì— ì—°ê²°í•  수 ì—†ìŒ:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "No response from host:"
-msgstr "호스트로부터 ì‘답 ì—†ìŒ:"
+msgstr "í˜¸ìŠ¤íŠ¸ì˜ ì‘답 ì—†ìŒ:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't resolve hostname:"
-msgstr "í˜¸ìŠ¤íŠ¸ëª…ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ:"
+msgstr "호스트 ì´ë¦„ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, return code:"
-msgstr "요청 실패, 리턴 코드:"
+msgstr "요청 실패, 반환 코드:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
-msgstr "요청 실패."
+msgstr "요청 실패함."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "테마를 파ì¼ë¡œ 저장할 수 없습니다:"
+msgstr "ì‘ë‹µì„ ì €ìž¥í•  수 ì—†ìŒ:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "작성 오류."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
-msgstr "너무 ë§Žì€ ë¦¬ë‹¤ì´ë ‰íŠ¸ë¡œ, 요청 실패"
+msgstr "요청 실패, 너무 ë§Žì€ ë¦¬ë‹¤ì´ë ‰íЏ"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
msgstr "리다ì´ë ‰íЏ 루프."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "요청 실패, 리턴 코드:"
+msgstr "요청 실패, 시간 초과"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "시간"
+msgstr "시간 초과."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
-msgstr "ìž˜ëª»ëœ ë‹¤ìš´ë¡œë“œ 해시, 파ì¼ì´ ë³€ê²½ëœ ê²ƒìœ¼ë¡œ 보입니다."
+msgstr "ìž˜ëª»ëœ ë‹¤ìš´ë¡œë“œ 해시, 파ì¼ì´ ë³€ì¡°ëœ ê²ƒ 같아요."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Expected:"
@@ -4810,7 +4837,7 @@ msgstr "설치하기..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Retry"
-msgstr "다시 시ë„"
+msgstr "다시 시ë„하기"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download Error"
@@ -4818,7 +4845,7 @@ msgstr "다운로드 오류"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
-msgstr "ì´ ì• ì…‹ì˜ ë‹¤ìš´ë¡œë“œê°€ ì´ë¯¸ 진행중입니다!"
+msgstr "ì´ ì• ì…‹ì€ ì´ë¯¸ 다운로드 중ì´ì—ìš”!"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "First"
@@ -4841,24 +4868,18 @@ msgid "All"
msgstr "모ë‘"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "다시 가져오기..."
+msgstr "가져오기..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "플러그ì¸"
+msgstr "플러그ì¸..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "ì •ë ¬:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "역순 정렬."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "카테고리:"
@@ -4868,9 +4889,8 @@ msgid "Site:"
msgstr "사ì´íЏ:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "ì§€ì›..."
+msgstr "ì§€ì›"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4878,12 +4898,11 @@ msgstr "ê³µì‹"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Testing"
-msgstr "테스팅"
+msgstr "실험"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "불러오기..."
+msgstr "불러오는 중..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -4895,21 +4914,21 @@ msgid ""
"Save your scene (for images to be saved in the same dir), or pick a save "
"path from the BakedLightmap properties."
msgstr ""
-"ë¼ì´íŠ¸ë§µ ì´ë¯¸ì§€ë“¤ì˜ 저장 경로를 파악할 수 없습니다.\n"
-"(해당 ê²½ë¡œì— ì´ë¯¸ì§€ë“¤ì´ 저장 ë  ìˆ˜ 있ë„ë¡) ì”¬ì„ ì €ìž¥í•˜ê±°ë‚˜ BakedLightmap 설정"
-"ì—서 저장 경로를 지정하세요."
+"ë¼ì´íŠ¸ë§µ ì´ë¯¸ì§€ì˜ 저장 경로를 파악할 수 없네요.\n"
+"(ê°™ì€ ê²½ë¡œì— ì´ë¯¸ì§€ë¥¼ 저장할 수 있ë„ë¡) ì”¬ì„ ì €ìž¥í•˜ê±°ë‚˜, BakedLightmap ì†ì„±ì—"
+"서 저장 경로를 지정하세요."
#: 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 ""
-"ë² ì´í¬í•  메시가 없습니다. 메시가 UV2 채ë„ì„ ê°€ì§€ê³  있으며 'Bake Light' 항목"
-"ì´ ì²´í¬ë˜ì–´ 있는지 í™•ì¸ í•´ 주세요."
+"ë¼ì´íŠ¸ë§µì„ êµ¬ìš¸ 메시가 없어요. 메시가 UV2 채ë„ì„ ê°–ê³  있고 'Bake Light' 플래"
+"그가 켜져 있는지 확ì¸í•´ì£¼ì„¸ìš”."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Failed creating lightmap images, make sure path is writable."
-msgstr "ë¼ì´íŠ¸ë§µ ì´ë¯¸ì§€ ìƒì„±ì— 실패했습니다, 경로가 쓸 수 있는지 확ì¸í•˜ì„¸ìš”."
+msgstr "ë¼ì´íŠ¸ë§µ ì´ë¯¸ì§€ ìƒì„± 실패, 작성 가능한 경로ì¸ì§€ 확ì¸í•´ì£¼ì„¸ìš”."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Bake Lightmaps"
@@ -4918,7 +4937,7 @@ msgstr "ë¼ì´íŠ¸ë§µ 굽기"
#: editor/plugins/camera_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
-msgstr "미리보기"
+msgstr "미리 보기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
@@ -4930,7 +4949,7 @@ msgstr "ê²©ìž ì˜¤í”„ì…‹:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Step:"
-msgstr "ê²©ìž ìŠ¤í…:"
+msgstr "ê²©ìž ë‹¨ê³„:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Offset:"
@@ -4938,11 +4957,11 @@ msgstr "회전 오프셋:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Step:"
-msgstr "회전 스í…:"
+msgstr "회전 단계:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Vertical Guide"
-msgstr "ìˆ˜ì§ ê°€ì´ë“œ ì´ë™"
+msgstr "ìˆ˜ì§ ê°€ì´ë“œ ì´ë™í•˜ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Vertical Guide"
@@ -4950,11 +4969,11 @@ msgstr "ìˆ˜ì§ ê°€ì´ë“œ 만들기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Remove Vertical Guide"
-msgstr "ìˆ˜ì§ ê°€ì´ë“œ ì‚­ì œ"
+msgstr "ìˆ˜ì§ ê°€ì´ë“œ 삭제하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Horizontal Guide"
-msgstr "ìˆ˜í‰ ê°€ì´ë“œ ì´ë™"
+msgstr "ìˆ˜í‰ ê°€ì´ë“œ ì´ë™í•˜ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Horizontal Guide"
@@ -4962,7 +4981,7 @@ msgstr "ìˆ˜í‰ ê°€ì´ë“œ 만들기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Remove Horizontal Guide"
-msgstr "ìˆ˜í‰ ê°€ì´ë“œ ì‚­ì œ"
+msgstr "ìˆ˜í‰ ê°€ì´ë“œ 삭제하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Horizontal and Vertical Guides"
@@ -4970,19 +4989,19 @@ msgstr "ìˆ˜í‰ ë° ìˆ˜ì§ ê°€ì´ë“œ 만들기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move pivot"
-msgstr "피벗 ì´ë™"
+msgstr "피벗 ì´ë™í•˜ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotate CanvasItem"
-msgstr "CanvasItem 회전"
+msgstr "CanvasItem 회전하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move anchor"
-msgstr "앵커 ì´ë™"
+msgstr "앵커 ì´ë™í•˜ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Resize CanvasItem"
-msgstr "CanvasItem í¬ê¸° ì¡°ì ˆ"
+msgstr "CanvasItem í¬ê¸° 조절하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale CanvasItem"
@@ -4990,13 +5009,13 @@ msgstr "CanvasItem 규모"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move CanvasItem"
-msgstr "CanvasItem ì´ë™"
+msgstr "CanvasItem ì´ë™í•˜ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
"Children of containers have their anchors and margins values overridden by "
"their parent."
-msgstr "컨테ì´ë„ˆì˜ ìžë…€ëŠ” ë¶€ëª¨ì— ì˜í•´ ê·¸ë“¤ì˜ ì•µì»¤ì™€ 여백 ê°’ì´ ìž¬ì •ì˜ë©ë‹ˆë‹¤."
+msgstr "컨테ì´ë„ˆì˜ ìžì‹ì€ 부모로 ì¸í•´ 다시 ì •ì˜ëœ 앵커와 여백 ê°’ì„ ê°€ì ¸ìš”."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Presets for the anchors and margins values of a Control node."
@@ -5006,7 +5025,7 @@ msgstr "Control ë…¸ë“œì˜ ì•µì»¤ì™€ 여백 ê°’ì˜ í”„ë¦¬ì…‹."
msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
-msgstr "활성화하면, 움ì§ì´ëŠ” Control 노드는 ë§ˆì§„ì´ ì•„ë‹Œ 앵커를 변경합니다."
+msgstr "켜게 ë˜ë©´, 움ì§ì´ëŠ” Control 노드는 ì—¬ë°±ì´ ì•„ë‹Œ 앵커를 변경합니다."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -5014,40 +5033,39 @@ msgstr "앵커만"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors and Margins"
-msgstr "앵커와 여백 변경"
+msgstr "앵커와 여백 바꾸기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors"
-msgstr "앵커 변경"
+msgstr "앵커 바꾸기"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock Selected"
-msgstr "ì„ íƒ í•­ëª© 잠금"
+msgstr "ì„ íƒ í•­ëª© 잠그기"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock Selected"
-msgstr "ì„ íƒ í•­ëª© 잠금 í•´ì œ"
+msgstr "ì„ íƒ í•­ëª© 잠금 풀기"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Group Selected"
-msgstr "ì„ íƒ í•­ë…¹ 그룹화"
+msgstr "ì„ íƒ í•­ëª© 묶기"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Ungroup Selected"
-msgstr "ì„ íƒ í•­ëª© 그룹 í•´ì œ"
+msgstr "ì„ íƒ í•­ëª© ë¬¶ìŒ í’€ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
-msgstr "í¬ì¦ˆ 붙여넣기"
+msgstr "í¬ì¦ˆ 붙여 넣기"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "본 지우기"
+msgstr "ê°€ì´ë“œ 지우기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5069,7 +5087,7 @@ msgstr "IK ì²´ì¸ ì§€ìš°ê¸°"
msgid ""
"Warning: Children of a container get their position and size determined only "
"by their parent."
-msgstr "경고: 컨테ì´ë„ˆì˜ ìžì‹ì€ ë¶€ëª¨ì— ì˜í•´ ê²°ì •ëœ ìœ„ì¹˜ì™€ 규모를 갖습니다."
+msgstr "경고: 컨테ì´ë„ˆì˜ ìžì‹ 규모와 위치는 ë¶€ëª¨ì— ì˜í•´ ê²°ì •ë˜ìš”."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
@@ -5088,15 +5106,15 @@ msgstr "드래그: 회전"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+Drag: Move"
-msgstr "알트+드래그: ì´ë™"
+msgstr "Alt+드래그: ì´ë™í•˜ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
-msgstr "'v'키로 피벗 변경, 'Shift+v'키로 피벗 드래그 (ì´ë™í•˜ëŠ” ë™ì•ˆ)."
+msgstr "'v'키로 피벗 바꾸기, 'Shift+v'키로 피벗 드래그 (ì´ë™í•˜ëŠ” ë™ì•ˆ)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+RMB: Depth list selection"
-msgstr "알트+ìš°í´ë¦­: 겹친 ëª©ë¡ ì„ íƒ"
+msgstr "Alt+ìš°í´ë¦­: 겹친 ëª©ë¡ ì„ íƒí•˜ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5119,29 +5137,34 @@ msgid ""
"Show a list of all objects at the position clicked\n"
"(same as Alt+RMB in select mode)."
msgstr ""
-"í´ë¦­í•œ ìœ„ì¹˜ì— ìžˆëŠ” 모든 오브ì íŠ¸ë“¤ì˜ ëª©ë¡ì„ ë³´ì—¬ì¤ë‹ˆë‹¤\n"
-"(ì„ íƒëª¨ë“œì—서 Alt+ìš°í´ë¦­ê³¼ 같습니다)."
+"í´ë¦­í•œ ìœ„ì¹˜ì— ìžˆëŠ” 모든 ê°ì²´ 목ë¡ì„ 보여줘요\n"
+"(ì„ íƒ ëª¨ë“œì—서 Alt+ìš°í´ë¦­ê³¼ ê°™ìŒ)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Click to change object's rotation pivot."
-msgstr "오브ì íŠ¸ì˜ íšŒì „ 피벗 변경."
+msgstr "í´ë¦­ìœ¼ë¡œ ê°ì²´ì˜ 회전 í”¼ë²—ì„ ë°”ê¿”ìš”."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Pan Mode"
msgstr "팬 모드"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "실행 모드:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "스냅 토글."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Use Snap"
-msgstr "스냅 사용"
+msgstr "스냅 사용하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snapping Options"
-msgstr "스냅 옵션"
+msgstr "스냅 설정"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to Grid"
@@ -5149,7 +5172,7 @@ msgstr "격ìžì— 스냅"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
-msgstr "회전 스냅 사용"
+msgstr "회전 스냅 사용하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
@@ -5157,7 +5180,7 @@ msgstr "ìƒëŒ€ì ì¸ 스냅"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Pixel Snap"
-msgstr "픽셀 스냅 사용"
+msgstr "픽셀 스냅 사용하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Smart Snapping"
@@ -5195,22 +5218,22 @@ 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 "ì„ íƒëœ 오브ì íŠ¸ë¥¼ 잠급니다 (ì´ë™ë¶ˆê°€)."
+msgstr "ì„ íƒí•œ ê°ì²´ë¥¼ ê·¸ ìžë¦¬ì— 잠가요 (움ì§ì¼ 수 없어요)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock the selected object (can be moved)."
-msgstr "ì„ íƒëœ 오브ì íŠ¸ë¥¼ 잠금 해제합니다 (ì´ë™ê°€ëŠ¥)."
+msgstr "ì„ íƒí•œ ê°ì²´ë¥¼ 잠금 해제해요 (움ì§ì¼ 수 있어요)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Makes sure the object's children are not selectable."
-msgstr "오브ì íŠ¸ì˜ ìžì‹ë…¸ë“œê°€ ì„ íƒë  수 ì—†ë„ë¡ ì„¤ì •í•©ë‹ˆë‹¤."
+msgstr "ê°ì²´ì˜ ìžì‹ì„ ì„ íƒí•˜ì§€ 않ë„ë¡ í•´ìš”."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Restores the object's children's ability to be selected."
-msgstr "오브ì íŠ¸ì˜ ìžì‹ë…¸ë“œê°€ ì„ íƒë  수 있ë„ë¡ ë³µì›í•©ë‹ˆë‹¤."
+msgstr "ê°ì²´ì˜ ìžì‹ì„ ì„ íƒí•  수 있ë„ë¡ í•´ìš”."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -5218,15 +5241,15 @@ msgstr "스켈레톤 설정"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
-msgstr "뼈대 보기"
+msgstr "본 ë³´ì´ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make Custom Bone(s) from Node(s)"
-msgstr "노드ì—서 커스텀 본 만들기"
+msgstr "노드ì—서 맞춤 본 만들기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear Custom Bones"
-msgstr "커스텀 본 지우기"
+msgstr "맞춤 본 지우기"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5264,15 +5287,15 @@ msgstr "그룹과 잠금 ì•„ì´ì½˜ ë³´ì´ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
-msgstr "ì„ íƒ í•­ëª© 화면 ì¤‘ì•™ì— í‘œì‹œ"
+msgstr "ì„ íƒ í•­ëª© 화면 ì¤‘ì•™ì— í‘œì‹œí•˜ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Frame Selection"
-msgstr "ì„ íƒ í•­ëª© 화면 꽉차게 표시"
+msgstr "ì„ íƒ í•­ëª© 화면 꽉 차게 표시하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
-msgstr "캔버스 규모 미리보기"
+msgstr "캔버스 규모 미리 보기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5288,7 +5311,7 @@ msgstr "키를 삽입하기 위한 규모 마스í¬."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert keys (based on mask)."
-msgstr "키 삽입 (ë§ˆìŠ¤í¬ ê¸°ì¤€)."
+msgstr "키 삽입하기 (ë§ˆìŠ¤í¬ ê¸°ì¤€)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5297,25 +5320,26 @@ msgid ""
"Keys are only added to existing tracks, no new tracks will be created.\n"
"Keys must be inserted manually for the first time."
msgstr ""
-"물체가 ì „í™˜ë  ë•Œ ìžë™ìœ¼ë¡œ 키를 삽입합니다, 회전 ë˜ëŠ” 규모 (ë§ˆìŠ¤í¬ ê¸°ì¤€).\n"
-"키는 기존 트랙ì—ë§Œ 추가ë˜ë©°, 새 íŠ¸ëž™ì´ ë§Œë“¤ì–´ì§€ì§€ 않습니다.\n"
-"처ìŒì— 키는 수ë™ìœ¼ë¡œ 삽입하여야 합니다."
+"ê°ì²´ë¥¼ 전환, 회전 ë˜ëŠ” í¬ê¸° 조절할 때마다 ìžë™ìœ¼ë¡œ 키를 삽입해요 (ë§ˆìŠ¤í¬ ê¸°"
+"준).\n"
+"키는 기존 트랙ì—ë§Œ 추가ë˜ê³ , 새 íŠ¸ëž™ì„ ì¶”ê°€í•˜ì§„ 않아요.\n"
+"처ìŒì—는 수ë™ìœ¼ë¡œ 키를 삽입해야 í•´ìš”."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Auto Insert Key"
-msgstr "ìžë™ 키 삽입"
+msgstr "ìžë™ìœ¼ë¡œ 키 삽입하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
-msgstr "키 삽입 (존재하는 트랙)"
+msgstr "키 삽입하기 (기존 트랙)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Copy Pose"
-msgstr "í¬ì¦ˆ 복사"
+msgstr "í¬ì¦ˆ 복사하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear Pose"
-msgstr "í¬ì¦ˆ 정리"
+msgstr "í¬ì¦ˆ 지우기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
@@ -5327,19 +5351,19 @@ msgstr "ê²©ìž ë‹¨ê³„ë¥¼ 반으로 ê°ì†Œ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Pan View"
-msgstr "팬 뷰"
+msgstr "팬 보기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
-msgstr "%s 추가"
+msgstr "%s 추가하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Adding %s..."
-msgstr "%s 추가 중..."
+msgstr "%s 추가하는 중..."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
-msgstr "루트 ë…¸ë“œì—†ì´ ì—¬ëŸ¬ê°œì˜ ë…¸ë“œë¥¼ ìƒì„±í•  수 없습니다."
+msgstr "루트 노드 ì—†ì´ëŠ” 여러 노드를 ì¸ìŠ¤í„´ìŠ¤í•  수 없어요."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -5353,36 +5377,36 @@ msgstr "'%s'ì—서 씬 ì¸ìŠ¤í„´ìŠ¤ 중 오류"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Default Type"
-msgstr "기본 타입 변경"
+msgstr "기본 유형 바꾸기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
"Drag & drop + Shift : Add node as sibling\n"
"Drag & drop + Alt : Change node type"
msgstr ""
-"드래그 & 드롭 + Shift : 형제 노드로 추가\n"
-"드래그 & 드롭 + Alt : 노드 타입 변경"
+"드래그 & 드롭 + Shift : 형제 노드로 추가하기\n"
+"드래그 & 드롭 + Alt : 노드 유형 바꾸기"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Create Polygon3D"
-msgstr "í´ë¦¬ê³¤3D 만들기"
+msgstr "Polygon3D 만들기"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly"
-msgstr "í´ë¦¬ê³¤ 편집"
+msgstr "í´ë¦¬ê³¤ 편집하기"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly (Remove Point)"
-msgstr "í´ë¦¬ê³¤ 편집 (ì  ì‚­ì œ)"
+msgstr "í´ë¦¬ê³¤ 편집하기 (ì  ì‚­ì œí•˜ê¸°)"
#: editor/plugins/collision_shape_2d_editor_plugin.cpp
msgid "Set Handle"
-msgstr "핸들 설정"
+msgstr "핸들 설정하기"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Load Emission Mask"
-msgstr "ì—미션 ë§ˆìŠ¤í¬ ë¶ˆëŸ¬ì˜¤ê¸°"
+msgstr "ë°©ì¶œ ë§ˆìŠ¤í¬ ë¶ˆëŸ¬ì˜¤ê¸°"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/cpu_particles_editor_plugin.cpp
@@ -5405,17 +5429,17 @@ msgstr "파티í´"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Generated Point Count:"
-msgstr "ìƒì„±ëœ í¬ì¸íЏ 개수:"
+msgstr "ìƒì„±í•œ ì  ê°œìˆ˜:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Mask"
-msgstr "ì—미션 마스í¬(Emission Mask)"
+msgstr "ë°©ì¶œ 마스í¬"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Capture from Pixel"
-msgstr "픽셀로부터 캡ì³"
+msgstr "픽셀ì—서 캡처"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5429,12 +5453,12 @@ msgstr "CPU파티í´"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emission Points From Mesh"
-msgstr "메시로부터 ì—미션 í¬ì¸íЏ 만들기"
+msgstr "메시ì—서 ë°©ì¶œ ì  ë§Œë“¤ê¸°"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emission Points From Node"
-msgstr "노드로부터 ì—미터 í¬ì¸íЏ 만들기"
+msgstr "노드ì—서 ë°©ì¶œ ì  ë§Œë“¤ê¸°"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 0"
@@ -5454,15 +5478,15 @@ msgstr "ê°€ì†"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
-msgstr "스무스스í…"
+msgstr "부드러운단계"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Point"
-msgstr "커브 í¬ì¸íЏ 수정"
+msgstr "커브 ì  ìˆ˜ì •í•˜ê¸°"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Tangent"
-msgstr "커브 탄젠트 수정"
+msgstr "커브 탄젠트 수정하기"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Load Curve Preset"
@@ -5470,11 +5494,11 @@ msgstr "커브 프리셋 불러오기"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Add Point"
-msgstr "í¬ì¸íЏ 추가"
+msgstr "ì  ì¶”ê°€í•˜ê¸°"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Point"
-msgstr "í¬ì¸íЏ ì‚­ì œ"
+msgstr "ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Left Linear"
@@ -5490,7 +5514,7 @@ msgstr "프리셋 불러오기"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Curve Point"
-msgstr "커프 í¬ì¸íЏ ì‚­ì œ"
+msgstr "커브 ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Toggle Curve Linear Tangent"
@@ -5498,7 +5522,7 @@ msgstr "커브 선형 탄젠트 토글"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Hold Shift to edit tangents individually"
-msgstr "Shift키를 누르고 있으면 탄젠트를 개별ì ìœ¼ë¡œ 편집 가능"
+msgstr "Shift키를 눌러서 탄젠트를 개별ì ìœ¼ë¡œ 편집하기"
#: editor/plugins/gi_probe_editor_plugin.cpp
msgid "Bake GI Probe"
@@ -5526,7 +5550,7 @@ msgstr "Occluder í´ë¦¬ê³¤ 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh is empty!"
-msgstr "메쉬가 비었습니다!"
+msgstr "메시가 없어요!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Trimesh Body"
@@ -5538,7 +5562,7 @@ msgstr "Static Convex Body 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "This doesn't work on scene root!"
-msgstr "씬 루트ì—서는 í•  수 없습니다!"
+msgstr "씬 루트ì—서 작업할 수 없어요!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Shape"
@@ -5558,44 +5582,44 @@ msgstr "내비게ì´ì…˜ 메시 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Contained Mesh is not of type ArrayMesh."
-msgstr "í¬í•¨ëœ 메시는 ArrayMesh íƒ€ìž…ì— ì†í•˜ì§€ 않습니다."
+msgstr "ê°–ê³  있는 메시가 ArrayMesh ìœ í˜•ì´ ì•„ë‹ˆì—ìš”."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "UV Unwrap failed, mesh may not be manifold?"
-msgstr "UV 펼치기를 실패했습니다, 메시가 다양하진 않나요?"
+msgstr "UV 펼치기를 실패했어요, 메시가 다양한 것 ê°™ì€ë°ìš”?"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "No mesh to debug."
-msgstr "디버그할 메시가 없습니다."
+msgstr "디버그할 메시가 없어요."
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
-msgstr "모ë¸ì´ ì´ ë ˆì´ì–´ì— UV를 지니고 있지 않습니다"
+msgstr "ì´ ë ˆì´ì–´ì—서 모ë¸ì€ UVê°€ 없어요"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "MeshInstance lacks a Mesh!"
-msgstr "MeshInstanceì— ë©”ì‹œê°€ 없습니다!"
+msgstr "MeshInstanceì— ë©”ì‹œê°€ 없어요!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh has not surface to create outlines from!"
-msgstr "ë©”ì‹œì— ì™¸ê³½ì„ ì„ ë§Œë“¤ê¸° 위한 서피스가 없습니다!"
+msgstr "ë©”ì‹œì— ìœ¤ê³½ì„ ë§Œë“¤ í‘œë©´ì´ ì—†ì–´ìš”!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr "메시 기본 íƒ€ìž…ì´ PRIMITIVE_TRIANGLESì´ ì•„ë‹™ë‹ˆë‹¤!"
+msgstr "메시 기본 ìœ í˜•ì´ PRIMITIVE_TRIANGLESì´ ì•„ë‹ˆì—ìš”!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Could not create outline!"
-msgstr "ì™¸ê³½ì„ ì„ ë§Œë“¤ìˆ˜ 없습니다!"
+msgstr "ìœ¤ê³½ì„ ë§Œë“¤ 수 없어요!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline"
-msgstr "외곽선 만들기"
+msgstr "윤곽 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh"
-msgstr "Mesh"
+msgstr "메시"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
@@ -5611,7 +5635,7 @@ msgstr "Convex ì¶©ëŒ í˜•ì œ 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
-msgstr "외곽선 메시 만들기..."
+msgstr "윤곽 메시 만들기..."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "View UV1"
@@ -5623,84 +5647,85 @@ msgstr "UV2 보기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Unwrap UV2 for Lightmap/AO"
-msgstr "ë¼ì´íŠ¸ë§µ/AO를 위한 UV2 언랩"
+msgstr "ë¼ì´íŠ¸ë§µ/AO를 위한 UV2 펼치기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh"
-msgstr "외곽선 메시 만들기"
+msgstr "윤곽 메시 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Outline Size:"
-msgstr "외곽선 í¬ê¸°:"
+msgstr "윤곽 í¬ê¸°:"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Remove item %d?"
-msgstr "%d í•­ëª©ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "%dê°œì˜ í•­ëª©ì„ ì‚­ì œí• ê¹Œìš”?"
#: editor/plugins/mesh_library_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Item"
-msgstr "항목 추가"
+msgstr "항목 추가하기"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Remove Selected Item"
-msgstr "ì„ íƒëœ 항목 ì‚­ì œ"
+msgstr "ì„ íƒí•œ 항목 삭제하기"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import from Scene"
-msgstr "씬으로부터 가져오기"
+msgstr "씬ì—서 가져오기"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Update from Scene"
-msgstr "씬으로부터 ì—…ë°ì´íЏ 하기"
+msgstr "씬ì—서 ì—…ë°ì´íŠ¸í•˜ê¸°"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr "소스 메시가 지정ë˜ì§€ 않았습니다 (그리고 ë…¸ë“œì— MultiMeshê°€ 없습니다)."
+msgstr ""
+"메시 소스를 지정하지 않았네요 (그리고 ë…¸ë“œì— MultiMesh를 설정하지 않았고요)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr "소스 메시가 지정ë˜ì§€ 않았습니다 (그리고 MultiMeshì— ë©”ì‹œê°€ 없습니다)."
+msgstr "메시 소스를 지정하지 않았네요 (그리고 MultiMeshì— ë©”ì‹œê°€ 없고요)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (invalid path)."
-msgstr "소스 메시가 올바르지 않습니다 (올바르지 ì•Šì€ ê²½ë¡œ)."
+msgstr "메시 소스가 잘못ëì–´ìš” (ìž˜ëª»ëœ ê²½ë¡œ)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (not a MeshInstance)."
-msgstr "소스 메시가 올바르지 않습니다 (MeshInstance가 아닙니다)."
+msgstr "메시 소스가 잘못ëì–´ìš” (MeshInstanceê°€ 아님)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr "소스 메시가 올바르지 않습니다 (Mesh 리소스가 없습니다)."
+msgstr "메시 소스가 잘못ëì–´ìš” (Mesh 리소스가 ì—†ìŒ)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No surface source specified."
-msgstr "서피스 소스가 지정ë˜ì§€ 않았습니다."
+msgstr "표면 소스를 지정하지 않았네요."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (invalid path)."
-msgstr "서피스 소스가 올바르지 않습니다 (올바르지 ì•Šì€ ê²½ë¡œ)."
+msgstr "표면 소스가 잘못ëì–´ìš” (ìž˜ëª»ëœ ê²½ë¡œ)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (no geometry)."
-msgstr "서피스 소스가 올바르지 않습니다 (지오메트리 ì—†ìŒ)."
+msgstr "표면 소스가 잘못ëì–´ìš” (형태 ì—†ìŒ)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (no faces)."
-msgstr "서피스 소스가 올바르지 않습니다 (페ì´ìФ ì—†ìŒ)."
+msgstr "표면 소스가 잘못ëì–´ìš” (ë©´ ì—†ìŒ)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Select a Source Mesh:"
-msgstr "소스 메시 ì„ íƒ:"
+msgstr "소스 메시 ì„ íƒí•˜ê¸°:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Select a Target Surface:"
-msgstr "ëŒ€ìƒ ì„œí”¼ìŠ¤ ì„ íƒ:"
+msgstr "ëŒ€ìƒ í‘œë©´ ì„ íƒí•˜ê¸°:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Populate Surface"
-msgstr "서피스 만들기"
+msgstr "표면 만들기"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Populate MultiMesh"
@@ -5708,7 +5733,7 @@ msgstr "MultiMesh 만들기"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Target Surface:"
-msgstr "ëŒ€ìƒ ì„œí”¼ìŠ¤:"
+msgstr "ëŒ€ìƒ í‘œë©´:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Source Mesh:"
@@ -5732,15 +5757,15 @@ msgstr "ë©”ì‹œì˜ ìœ„ìª½ ì¶•:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Rotation:"
-msgstr "ìž„ì˜ íšŒì „:"
+msgstr "무작위 회전:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Tilt:"
-msgstr "ìž„ì˜ ê¸°ìš¸ê¸°:"
+msgstr "무작위 기울기:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Scale:"
-msgstr "ìž„ì˜ í¬ê¸°:"
+msgstr "무작위 í¬ê¸°:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Populate"
@@ -5766,7 +5791,7 @@ msgstr "가시성 ì§ì‚¬ê°í˜•ì„ ë§Œë“¤ê¸°"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Can only set point into a ParticlesMaterial process material"
-msgstr "ì˜¤ì§ ParticlesMaterial 프로세스 메테리얼 ì•ˆì˜ í¬ì¸íŠ¸ë§Œ 설정 가능"
+msgstr "ParticlesMaterial 프로세스 머티리얼 안ì—ë§Œ ì ì„ 설정할 수 있ìŒ"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
@@ -5775,54 +5800,51 @@ msgstr "ìƒì„± 시간 (ì´ˆ):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "í˜•íƒœì˜ í‘œë©´ì´ ì˜ì—­ì„ ê°–ê³  있지 않아요."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "노드가 지오미트리를 í¬í•¨í•˜ê³  있지 않습니다 (페ì´ìФ)."
+msgstr "형태가 ë©´ì„ ê°–ê³  있지 않아요."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\"ì€(는) Spatialì„ ìƒì†ë°›ì§€ 않아요."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "노드가 지오미트리를 í¬í•¨í•˜ê³  있지 않습니다."
+msgstr "\"%s\"ì´(ê°€) 형태를 ê°–ê³  있지 않아요."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "노드가 지오미트리를 í¬í•¨í•˜ê³  있지 않습니다."
+msgstr "\"%s\"ì´(ê°€) ë©´ 형태를 ê°–ê³  있지 않아요."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
-msgstr "ì—미터 만들기"
+msgstr "방출기 만들기"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Emission Points:"
-msgstr "ì—미션 í¬ì¸íЏ:"
+msgstr "ë°©ì¶œ ì :"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Surface Points"
-msgstr "서피스 í¬ì¸íЏ"
+msgstr "표면 ì "
#: editor/plugins/particles_editor_plugin.cpp
msgid "Surface Points+Normal (Directed)"
-msgstr "서피스 í¬ì¸íЏ+ë…¸ë§ (지시ëœ)"
+msgstr "표면 ì +노멀 (지시ëœ)"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Volume"
-msgstr "배출량"
+msgstr "부피"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Emission Source: "
-msgstr "ì—미션 소스: "
+msgstr "방출 소스: "
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "'ParticlesMaterial' íƒ€ìž…ì˜ í”„ë¡œì„¸ì„œ ë¨¸í‹°ë¦¬ì–¼ì´ í•„ìš”í•©ë‹ˆë‹¤."
+msgstr "'ParticlesMaterial' ìœ í˜•ì˜ í”„ë¡œì„¸ì„œ ë¨¸í‹°ë¦¬ì–¼ì´ í•„ìš”í•´ìš”."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Generating AABB"
@@ -5838,74 +5860,74 @@ msgstr "AABB 만들기"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Point from Curve"
-msgstr "커브ì—서 í¬ì¸íЏ ì‚­ì œ"
+msgstr "커브ì—서 ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Out-Control from Curve"
-msgstr "ì»¤ë¸Œì˜ ì•„ì›ƒ-컨트롤 ì‚­ì œ"
+msgstr "ì»¤ë¸Œì˜ ì•„ì›ƒ-컨트롤 삭제하기"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove In-Control from Curve"
-msgstr "ì»¤ë¸Œì˜ ì¸-컨트롤 ì‚­ì œ"
+msgstr "ì»¤ë¸Œì˜ ì¸-컨트롤 삭제하기"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Add Point to Curve"
-msgstr "ì»¤ë¸Œì— í¬ì¸íЏ 추가"
+msgstr "ì»¤ë¸Œì— ì  ì¶”ê°€í•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Split Curve"
-msgstr "커브 나누기"
+msgstr "커브 가르기"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move Point in Curve"
-msgstr "ì»¤ë¸Œì˜ í¬ì¸íЏ ì´ë™"
+msgstr "ì»¤ë¸Œì˜ ì  ì´ë™í•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move In-Control in Curve"
-msgstr "ì»¤ë¸Œì˜ ì¸-컨트롤 ì´ë™"
+msgstr "ì»¤ë¸Œì˜ ì¸-컨트롤 ì´ë™í•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move Out-Control in Curve"
-msgstr "ì»¤ë¸Œì˜ ì•„ì›ƒ-컨트롤 ì´ë™"
+msgstr "ì»¤ë¸Œì˜ ì•„ì›ƒ-컨트롤 ì´ë™í•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Select Points"
-msgstr "í¬ì¸íЏ ì„ íƒ"
+msgstr "ì  ì„ íƒí•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Shift+Drag: Select Control Points"
-msgstr "Shift+드래그: 컨트롤 í¬ì¸íЏ ì„ íƒ"
+msgstr "Shift+드래그: 컨트롤 ì  ì„ íƒí•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Click: Add Point"
-msgstr "í´ë¦­: í¬ì¸íЏ 추가"
+msgstr "í´ë¦­: ì  ì¶”ê°€í•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Left Click: Split Segment (in curve)"
-msgstr "선분 나누기 (커브로)"
+msgstr "좌í´ë¦­: (커브로) ì„ ë¶„ 가르기"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Right Click: Delete Point"
-msgstr "ìš°í´ë¦­: í¬ì¸íЏ ì‚­ì œ"
+msgstr "ìš°í´ë¦­: ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Select Control Points (Shift+Drag)"
-msgstr "컨트롤 í¬ì¸íЏ ì„ íƒ (Shift+드래그)"
+msgstr "컨트롤 ì  ì„ íƒí•˜ê¸° (Shift+드래그)"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Add Point (in empty space)"
-msgstr "í¬ì¸íЏ 추가 (빈 공간)"
+msgstr "(빈 공간ì—) ì  ì¶”ê°€í•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Delete Point"
-msgstr "í¬ì¸íЏ ì‚­ì œ"
+msgstr "ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -5916,7 +5938,7 @@ msgstr "커브 닫기"
#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp
msgid "Options"
-msgstr "옵션"
+msgstr "설정"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -5930,48 +5952,48 @@ msgstr "핸들 ê¸¸ì´ ê±°ìš¸"
#: editor/plugins/path_editor_plugin.cpp
msgid "Curve Point #"
-msgstr "커브 í¬ì¸íЏ #"
+msgstr "커브 ì  #"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve Point Position"
-msgstr "커브 í¬ì¸íЏ 위치 설정"
+msgstr "커브 ì  ìœ„ì¹˜ 설정하기"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve In Position"
-msgstr "ì»¤ë¸Œì˜ In 위치 설정"
+msgstr "ì»¤ë¸Œì˜ ì¸ ìœ„ì¹˜ 설정하기"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve Out Position"
-msgstr "ì»¤ë¸Œì˜ Out 위치 설정"
+msgstr "ì»¤ë¸Œì˜ ì•„ì›ƒ 위치 설정하기"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Path"
-msgstr "경로 나누기"
+msgstr "경로 가르기"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Path Point"
-msgstr "경로 í¬ì¸íЏ ì‚­ì œ"
+msgstr "경로 ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Out-Control Point"
-msgstr "아웃-컨트롤 í¬ì¸íЏ ì‚­ì œ"
+msgstr "아웃-컨트롤 ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove In-Control Point"
-msgstr "ì¸-컨트롤 í¬ì¸íЏ ì‚­ì œ"
+msgstr "ì¸-컨트롤 ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Segment (in curve)"
-msgstr "선분 분할 (커브)"
+msgstr "(커브로) 선분 가르기"
#: editor/plugins/physical_bone_plugin.cpp
msgid "Move Joint"
-msgstr "관절 ì´ë™"
+msgstr "관절 ì´ë™í•˜ê¸°"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid ""
"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
-msgstr "Polygon2Dì˜ ìŠ¤ì¼ˆë ˆí†¤ ì†ì„±ì´ Skeleton2D 노드를 향하고 있지 않ìŒ"
+msgstr "Polygon2Dì˜ Skeleton ì†ì„±ì´ Skeleton2D 노드를 향하지 않아요"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Sync Bones"
@@ -5982,8 +6004,8 @@ msgid ""
"No texture in this polygon.\n"
"Set a texture to be able to edit UV."
msgstr ""
-"ì´ í´ë¦¬ê³¤ì— í…스ì³ê°€ 없습니다.\n"
-"UV를 편집하기 위해 í…스ì³ë¥¼ 설정해야 합니다."
+"ì´ í´ë¦¬ê³¤ì— í…스처가 없어요.\n"
+"UV를 편집하려면 í…스처를 설정하세요."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
@@ -5993,9 +6015,7 @@ msgstr "UV 맵 만들기"
msgid ""
"Polygon 2D has internal vertices, so it can no longer be edited in the "
"viewport."
-msgstr ""
-"Polygon2Dê°€ ë‚´ë¶€ ê¼­ì§“ì ì„ ê°–ê³  있습니다, ë” ì´ìƒ ë·°í¬íЏì—서 ê¼­ì§“ì ì„ 편집할 "
-"수 없습니다."
+msgstr "Polygon2Dì— ë‚´ë¶€ ê¼­ì§“ì ì´ 있어요, ë” ì´ìƒ ë·°í¬íЏì—서 편집할 수 없어요."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Polygon & UV"
@@ -6007,23 +6027,23 @@ msgstr "ë‚´ë¶€ ê¼­ì§“ì  ë§Œë“¤ê¸°"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Remove Internal Vertex"
-msgstr "ë‚´ë¶€ ê¼­ì§“ì  ì‚­ì œ"
+msgstr "ë‚´ë¶€ ê¼­ì§“ì  ì‚­ì œí•˜ê¸°"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Invalid Polygon (need 3 different vertices)"
-msgstr "올바르지 ì•Šì€ í´ë¦¬ê³¤ (3ê°œì˜ ë‹¤ë¥¸ ê¼­ì§“ì ì´ 필요함)"
+msgstr "ìž˜ëª»ëœ í´ë¦¬ê³¤ (3ê°œì˜ ë‹¤ë¥¸ ê¼­ì§“ì ì´ 필요함)"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Add Custom Polygon"
-msgstr "ì‚¬ìš©ìž ì§€ì • í´ë¦¬ê³¤ 추가"
+msgstr "맞춤 í´ë¦¬ê³¤ 추가하기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Remove Custom Polygon"
-msgstr "ì‚¬ìš©ìž ì§€ì • í´ë¦¬ê³¤ ì‚­ì œ"
+msgstr "맞춤 í´ë¦¬ê³¤ 삭제하기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
-msgstr "UV 맵 변형"
+msgstr "UV 맵 변형하기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform Polygon"
@@ -6031,7 +6051,7 @@ msgstr "변형 í´ë¦¬ê³¤"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Paint Bone Weights"
-msgstr "본 무게 페ì¸íЏ"
+msgstr "본 가중치 칠하기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Open Polygon 2D UV editor."
@@ -6047,7 +6067,7 @@ msgstr "UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Points"
-msgstr "í¬ì¸íЏ"
+msgstr "ì "
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygons"
@@ -6059,43 +6079,43 @@ msgstr "본"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Points"
-msgstr "í¬ì¸íЏ ì´ë™"
+msgstr "ì  ì´ë™í•˜ê¸°"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Ctrl: Rotate"
-msgstr "Ctrl: 회전"
+msgstr "Ctrl: 회전하기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift: Move All"
-msgstr "Shift: ì „ì²´ ì´ë™"
+msgstr "Shift: ì „ë¶€ ì´ë™í•˜ê¸°"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift+Ctrl: Scale"
-msgstr "Shift+Ctrl: í¬ê¸° ì¡°ì ˆ"
+msgstr "Shift+Ctrl: í¬ê¸° 조절하기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Polygon"
-msgstr "í´ë¦¬ê³¤ ì´ë™"
+msgstr "í´ë¦¬ê³¤ ì´ë™í•˜ê¸°"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Rotate Polygon"
-msgstr "í´ë¦¬ê³¤ 회전"
+msgstr "í´ë¦¬ê³¤ 회전하기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Scale Polygon"
-msgstr "í´ë¦¬ê³¤ í¬ê¸° ì¡°ì ˆ"
+msgstr "í´ë¦¬ê³¤ í¬ê¸° 조절하기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create a custom polygon. Enables custom polygon rendering."
-msgstr "ì‚¬ìš©ìž ì§€ì • í´ë¦¬ê³¤ 만들기. ì‚¬ìš©ìž ì§€ì • í´ë¦¬ê³¤ ë Œë”ë§ì„ 활성화합니다."
+msgstr "맞춤 í´ë¦¬ê³¤ì„ 만들어요. 맞춤 í´ë¦¬ê³¤ ë Œë”ë§ì„ 켤게요."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid ""
"Remove a custom polygon. If none remain, custom polygon rendering is "
"disabled."
msgstr ""
-"ì‚¬ìš©ìž ì§€ì • í´ë¦¬ê³¤ì„ ì‚­ì œ. 남아있는 í´ë¦¬ê³¤ì´ 없으면 ì‚¬ìš©ìž ì§€ì • í´ë¦¬ê³¤ ë Œë”ë§"
-"ì€ ë¹„í™œì„±í™”ë©ë‹ˆë‹¤."
+"맞춤 í´ë¦¬ê³¤ì„ 삭제해요. 남아있는 맞춤 í´ë¦¬ê³¤ì´ 없으면, 맞춤 í´ë¦¬ê³¤ ë Œë”ë§ì„ "
+"ëŒê²Œìš”."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Paint weights with specified intensity."
@@ -6119,7 +6139,7 @@ msgstr "UV->í´ë¦¬ê³¤"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Clear UV"
-msgstr "UV 정리"
+msgstr "UV 지우기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Settings"
@@ -6131,7 +6151,7 @@ msgstr "스냅"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
-msgstr "스냅 활성화"
+msgstr "스냅 켜기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid"
@@ -6139,7 +6159,7 @@ msgstr "격ìž"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Configure Grid:"
-msgstr "ê²©ìž êµ¬ì„±:"
+msgstr "ê²©ìž ì„¤ì •:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset X:"
@@ -6163,24 +6183,24 @@ msgstr "ë³¸ì„ í´ë¦¬ê³¤ì— ë™ê¸°í™”"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
-msgstr "오류: 리소스를 불러올 수 없습니다!"
+msgstr "오류: 리소스를 불러올 수 없어요!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Add Resource"
-msgstr "리소스 추가"
+msgstr "리소스 추가하기"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Rename Resource"
-msgstr "리소스 ì´ë¦„ 변경"
+msgstr "리소스 ì´ë¦„ 바꾸기"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Resource"
-msgstr "리소스 삭제"
+msgstr "리소스 삭제하기"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Resource clipboard is empty!"
-msgstr "리소스 í´ë¦½ë³´ë“œê°€ 비었습니다!"
+msgstr "리소스 í´ë¦½ë³´ë“œê°€ 비었어요!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Paste Resource"
@@ -6193,9 +6213,9 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
-msgstr "타입:"
+msgstr "유형:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
@@ -6212,11 +6232,11 @@ msgstr "리소스 프리로ë”"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr "AnimationTree가 AnimationPlayer로 향하는 경로를 가지고 있지 않습니다"
+msgstr "AnimationTreeì— AnimationPlayer를 향하는 경로가 없어요"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "Path to AnimationPlayer is invalid"
-msgstr "AnimationPlayer로 향하는 경로가 올바르지 않습니다"
+msgstr "AnimationPlayer를 향하는 경로가 잘못ëì–´ìš”"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
@@ -6224,16 +6244,15 @@ msgstr "최근 íŒŒì¼ ì§€ìš°ê¸°"
#: editor/plugins/script_editor_plugin.cpp
msgid "Close and save changes?"
-msgstr "ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ê³  닫겠습니까?"
+msgstr "ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ê³  ë‹«ì„까요?"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error writing TextFile:"
-msgstr "í…스트 íŒŒì¼ ì“°ê¸° 오류:"
+msgstr "í…스트 íŒŒì¼ ìž‘ì„± 중 오류:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "타ì¼ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ:"
+msgstr "파ì¼ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6241,22 +6260,21 @@ msgstr "íŒŒì¼ ì €ìž¥ 중 오류!"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme."
-msgstr "테마 저장 중 오류 ë°œìƒ."
+msgstr "테마 저장 중 오류."
#: editor/plugins/script_editor_plugin.cpp
msgid "Error Saving"
-msgstr "저장 중 오류 ë°œìƒ"
+msgstr "저장 중 오류"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error importing theme."
-msgstr "테마 가져오는 중 오류 ë°œìƒ."
+msgstr "테마 가져오는 중 오류."
#: editor/plugins/script_editor_plugin.cpp
msgid "Error Importing"
-msgstr "가져오는 중 오류 ë°œìƒ"
+msgstr "가져오는 중 오류"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
msgstr "새 í…스트 파ì¼..."
@@ -6282,7 +6300,7 @@ msgstr "저장 중 오류"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme As..."
-msgstr "테마 다른 ì´ë¦„으로 저장..."
+msgstr "테마를 다른 ì´ë¦„으로 저장..."
#: editor/plugins/script_editor_plugin.cpp
msgid "%s Class Reference"
@@ -6295,31 +6313,31 @@ msgstr "ë‹¤ìŒ ì°¾ê¸°"
#: editor/plugins/script_editor_plugin.cpp
msgid "Filter scripts"
-msgstr "í•„í„° 스í¬ë¦½íЏ"
+msgstr "스í¬ë¦½íЏ í•„í„°"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
-msgstr "메서드 목ë¡ì˜ 사전 ì‹ ì •ë ¬ì„ í‚¤ê±°ë‚˜ ë•니다."
+msgstr "메서드 목ë¡ì˜ 사전 ì‹ ì •ë ¬ì„ í† ê¸€í•´ìš”."
#: editor/plugins/script_editor_plugin.cpp
msgid "Filter methods"
-msgstr "필터 메서드"
+msgstr "메서드 필터"
#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
-msgstr "ì •ë ¬"
+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 "위로 ì´ë™"
+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 "아래로 ì´ë™"
+msgstr "아래로 ì´ë™í•˜ê¸°"
#: editor/plugins/script_editor_plugin.cpp
msgid "Next script"
@@ -6338,13 +6356,12 @@ msgid "Open..."
msgstr "열기..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "스í¬ë¦½íЏ 열기"
+msgstr "ë‹«ì€ ìŠ¤í¬ë¦½íЏ 다시 열기"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
-msgstr "ëª¨ë‘ ì €ìž¥"
+msgstr "ëª¨ë‘ ì €ìž¥í•˜ê¸°"
#: editor/plugins/script_editor_plugin.cpp
msgid "Soft Reload Script"
@@ -6352,15 +6369,15 @@ msgstr "스í¬ë¦½íЏ 다시 불러오기"
#: editor/plugins/script_editor_plugin.cpp
msgid "Copy Script Path"
-msgstr "스í¬ë¦½íЏ 경로 복사"
+msgstr "스í¬ë¦½íЏ 경로 복사하기"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Previous"
-msgstr "ì´ì „ 히스토리"
+msgstr "ì´ì „ 기ë¡"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Next"
-msgstr "ë‹¤ìŒ ížˆìŠ¤í† ë¦¬"
+msgstr "ë‹¤ìŒ ê¸°ë¡"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -6377,7 +6394,7 @@ msgstr "테마 다시 불러오기"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme"
-msgstr "테마 저장"
+msgstr "테마 저장하기"
#: editor/plugins/script_editor_plugin.cpp
msgid "Close All"
@@ -6389,28 +6406,28 @@ msgstr "문서 닫기"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
msgid "Run"
-msgstr "실행"
+msgstr "실행하기"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle Scripts Panel"
msgstr "스í¬ë¦½íЏ íŒ¨ë„ í† ê¸€"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "한 ë‹¨ê³„ì‹ ì½”ë“œ 실행"
+msgid "Step Into"
+msgstr "프로시저 단위 실행하기"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
-msgstr "프로시저 단위 실행"
+msgid "Step Over"
+msgstr "한 ë‹¨ê³„ì‹ ì½”ë“œ 실행하기"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
-msgstr "ì •ì§€"
+msgstr "정지하기"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
#: editor/script_editor_debugger.cpp
msgid "Continue"
-msgstr "계ì†"
+msgstr "계ì†í•˜ê¸°"
#: editor/plugins/script_editor_plugin.cpp
msgid "Keep Debugger Open"
@@ -6434,15 +6451,15 @@ msgstr "피드백으로 Godot 문서를 ê°œì„ í•˜ëŠ”ë° ë„와주세요."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
-msgstr "ë ˆí¼ëŸ°ìФ 문서 검색."
+msgstr "참조 문서 검색하기."
#: editor/plugins/script_editor_plugin.cpp
msgid "Go to previous edited document."
-msgstr "ì´ì „ 편집 문서로 ì´ë™."
+msgstr "ì´ì „ì— íŽ¸ì§‘í•œ 문서로 ì´ë™í•˜ê¸°."
#: editor/plugins/script_editor_plugin.cpp
msgid "Go to next edited document."
-msgstr "ë‹¤ìŒ íŽ¸ì§‘ 문서로 ì´ë™."
+msgstr "다ìŒì— 편집한 문서로 ì´ë™í•˜ê¸°."
#: editor/plugins/script_editor_plugin.cpp
msgid "Discard"
@@ -6453,8 +6470,8 @@ msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
msgstr ""
-"다ìŒì˜ 파ì¼ë“¤ì´ 디스í¬ìƒ ë” ìµœì‹ ìž…ë‹ˆë‹¤.\n"
-"ì–´ë–¤ ìž‘ì—…ì„ ìˆ˜í–‰í•˜ì‹œê² ìŠµë‹ˆê¹Œ?:"
+"해당 파ì¼ì€ 디스í¬ì— 있는 게 ë” ìµœì‹ ì´ì—ìš”.\n"
+"어떻게 하실래요?:"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/shader_editor_plugin.cpp
@@ -6464,7 +6481,7 @@ msgstr "다시 불러오기"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/shader_editor_plugin.cpp
msgid "Resave"
-msgstr "다시 저장"
+msgstr "다시 저장하기"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Debugger"
@@ -6475,15 +6492,14 @@ msgid "Search Results"
msgstr "검색 결과"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "최근 씬 지우기"
+msgstr "최근 스í¬ë¦½íЏ 지우기"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
-msgstr "ë©”ì„œë“œì— ì—°ê²°:"
+msgstr "ë©”ì„œë“œì— ì—°ê²°í•˜ê¸°:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "소스"
@@ -6499,12 +6515,12 @@ msgstr "대ìƒ"
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
msgstr ""
-"노드 '%s'ì—서 노드 '%s'ê¹Œì§€ì˜ ì—°ê²°ì—서 ì‹œê·¸ë„ '%s'ì— ëŒ€í•œ 메서드 '%s'ê°€ 존재"
-"하지 않습니ë”."
+"메서드 '%s'ì´(ê°€) ì‹œê·¸ë„ '%s'ì„ ë…¸ë“œ '%s'ì—서 노드 '%s'으로 연결하지 않았어"
+"ìš”."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
-msgstr "ë¼ì¸"
+msgstr "í–‰"
#: editor/plugins/script_text_editor.cpp
msgid "(ignore)"
@@ -6512,44 +6528,44 @@ msgstr "(무시함)"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function"
-msgstr "함수로 ì´ë™"
+msgstr "함수로 ì´ë™í•˜ê¸°"
#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
-msgstr "íŒŒì¼ ì‹œìŠ¤í…œì—서 가져온 리소스만 드ëží•  수 있습니다."
+msgstr "íŒŒì¼ ì‹œìŠ¤í…œì˜ ë¦¬ì†ŒìŠ¤ë§Œ 드롭할 수 있어요."
#: editor/plugins/script_text_editor.cpp
msgid "Lookup Symbol"
-msgstr "룩업 심벌"
+msgstr "룩업 기호"
#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
-msgstr "ìƒ‰ìƒ ì„ íƒ"
+msgstr "ìƒ‰ìƒ ì„ íƒí•˜ê¸°"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
-msgstr "ëŒ€ì†Œë¬¸ìž ë³€í™˜"
+msgstr "ëŒ€ì†Œë¬¸ìž ë³€í™˜í•˜ê¸°"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
-msgstr "대문ìžë¡œ 변경"
+msgstr "대문ìžë¡œ 바꾸기"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
-msgstr "소문ìžë¡œ 변경"
+msgstr "소문ìžë¡œ 바꾸기"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
-msgstr "대문ìžë¡œ 시작"
+msgstr "대문ìžë¡œ 시작하기"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Syntax Highlighter"
-msgstr "구문 강조"
+msgstr "구문 강조하기"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Go To"
-msgstr "ì´ë™"
+msgstr "ì´ë™í•˜ê¸°"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
@@ -6567,7 +6583,7 @@ msgstr "잘ë¼ë‚´ê¸°"
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
-msgstr "ë¼ì¸ ì‚­ì œ"
+msgstr "행 삭제하기"
#: editor/plugins/script_text_editor.cpp
msgid "Indent Left"
@@ -6583,40 +6599,39 @@ msgstr "ì£¼ì„ í† ê¸€"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
-msgstr "ë¼ì¸ 펼치기/접기"
+msgstr "행 펼치기/접기"
#: editor/plugins/script_text_editor.cpp
msgid "Fold All Lines"
-msgstr "모든 ë¼ì¸ 접기"
+msgstr "모든 행 접기"
#: editor/plugins/script_text_editor.cpp
msgid "Unfold All Lines"
-msgstr "모든 ë¼ì¸ 펼치기"
+msgstr "모든 행 펼치기"
#: editor/plugins/script_text_editor.cpp
msgid "Clone Down"
-msgstr "아래로 복제"
+msgstr "아래로 복제하기"
#: editor/plugins/script_text_editor.cpp
msgid "Complete Symbol"
msgstr "ìžë™ 완성"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "ì„ íƒ í¬ê¸° ì¡°ì ˆ"
+msgstr "ì„ íƒ í•­ëª© í‰ê°€í•˜ê¸°"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
-msgstr "후행 공백 ë¬¸ìž ì‚­ì œ"
+msgstr "후행 공백 ë¬¸ìž ì‚­ì œí•˜ê¸°"
#: editor/plugins/script_text_editor.cpp
msgid "Convert Indent to Spaces"
-msgstr "들여쓰기를 공백으로 변환"
+msgstr "들여쓰기를 공백으로 변환하기"
#: editor/plugins/script_text_editor.cpp
msgid "Convert Indent to Tabs"
-msgstr "들여쓰기를 탭으로 변환"
+msgstr "들여쓰기를 탭으로 변환하기"
#: editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
@@ -6632,7 +6647,7 @@ msgstr "파ì¼ì—서 찾기..."
#: editor/plugins/script_text_editor.cpp
msgid "Contextual Help"
-msgstr "ë„ì›€ë§ ë³´ê¸°"
+msgstr "ìƒí™©ì— 맞는 ë„움"
#: editor/plugins/script_text_editor.cpp
msgid "Toggle Bookmark"
@@ -6640,23 +6655,23 @@ msgstr "ë¶ë§ˆí¬ 토글"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Next Bookmark"
-msgstr "ë‹¤ìŒ ë¶ë§ˆí¬ë¡œ ì´ë™"
+msgstr "ë‹¤ìŒ ë¶ë§ˆí¬ë¡œ ì´ë™í•˜ê¸°"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Previous Bookmark"
-msgstr "ì´ì „ ë¶ë§ˆí¬ë¡œ ì´ë™"
+msgstr "ì´ì „ ë¶ë§ˆí¬ë¡œ ì´ë™í•˜ê¸°"
#: editor/plugins/script_text_editor.cpp
msgid "Remove All Bookmarks"
-msgstr "모든 ë¶ë§ˆí¬ ì‚­ì œ"
+msgstr "모든 ë¶ë§ˆí¬ 삭제하기"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function..."
-msgstr "함수로 ì´ë™..."
+msgstr "함수로 ì´ë™í•˜ê¸°..."
#: editor/plugins/script_text_editor.cpp
msgid "Go to Line..."
-msgstr "ë¼ì¸ìœ¼ë¡œ ì´ë™..."
+msgstr "행으로 ì´ë™í•˜ê¸°..."
#: editor/plugins/script_text_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -6665,23 +6680,23 @@ msgstr "ì¤‘ë‹¨ì  í† ê¸€"
#: editor/plugins/script_text_editor.cpp
msgid "Remove All Breakpoints"
-msgstr "ì¤‘ë‹¨ì  ëª¨ë‘ ì‚­ì œ"
+msgstr "ì¤‘ë‹¨ì  ëª¨ë‘ ì‚­ì œí•˜ê¸°"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Next Breakpoint"
-msgstr "ë‹¤ìŒ ì¤‘ë‹¨ì ìœ¼ë¡œ ì´ë™"
+msgstr "ë‹¤ìŒ ì¤‘ë‹¨ì ìœ¼ë¡œ ì´ë™í•˜ê¸°"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Previous Breakpoint"
-msgstr "ì´ì „ 중단ì ìœ¼ë¡œ ì´ë™"
+msgstr "ì´ì „ 중단ì ìœ¼ë¡œ ì´ë™í•˜ê¸°"
#: editor/plugins/shader_editor_plugin.cpp
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"ì´ ì…°ì´ë”는 디스í¬ì—서 수정ë˜ì—ˆìŠµë‹ˆë‹¤.\n"
-"ì–´ë–¤ ìž‘ì—…ì„ í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+"ì´ ì…°ì´ë”는 디스í¬ì—서 수정했네요.\n"
+"ì–´ë–¤ í–‰ë™ì„ í•  건가요?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6689,16 +6704,15 @@ msgstr "ì…°ì´ë”"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "This skeleton has no bones, create some children Bone2D nodes."
-msgstr ""
-"ì´ ìŠ¤ì¼ˆë ˆí†¤ì€ ë³¸ì„ ê°€ì§€ê³  있지 않습니다, ìžì‹ìœ¼ë¡œ Bone2D 노드를 추가하세요."
+msgstr "ì´ ìŠ¤ì¼ˆë ˆí†¤ì—는 ë³¸ì´ ì—†ì–´ìš”, Bone2D노드를 ìžì‹ìœ¼ë¡œ 만드세요."
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Create Rest Pose from Bones"
-msgstr "본으로부터 íœ´ì‹ í¬ì¦ˆ 만들기"
+msgstr "ë³¸ì˜ ëŒ€ê¸° ìžì„¸ 만들기"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Set Rest Pose to Bones"
-msgstr "ë³¸ì— íœ´ì‹ í¬ì¦ˆ 설정"
+msgstr "본ì—게 대기 ìžì„¸ 설정하기"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Skeleton2D"
@@ -6706,11 +6720,11 @@ msgstr "스켈레톤2D"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Make Rest Pose (From Bones)"
-msgstr "(본으로부터) íœ´ì‹ í¬ì¦ˆ 만들기"
+msgstr "(본ì˜) 대기 ìžì„¸ 만들기"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Set Bones to Rest Pose"
-msgstr "ë³¸ì„ íœ´ì‹ í¬ì¦ˆë¡œ 설정"
+msgstr "ë³¸ì„ ëŒ€ê¸° ìžì„¸ë¡œ 설정하기"
#: editor/plugins/skeleton_editor_plugin.cpp
msgid "Create physical bones"
@@ -6758,7 +6772,7 @@ msgstr "ë·° í‰ë©´ 변형."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling: "
-msgstr "í¬ê¸°: "
+msgstr "í¬ê¸° ì¡°ì ˆ 중: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translating: "
@@ -6770,11 +6784,11 @@ msgstr "%së„로 회전."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Keying is disabled (no key inserted)."
-msgstr "키가 비활성화 ë˜ì–´ 있습니다 (키가 삽입ë˜ì§€ 않았습니다)."
+msgstr "키가 꺼져 있어요 (키가 삽입ë˜ì§€ 않아요)."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Animation Key Inserted."
-msgstr "애니메ì´ì…˜ 키가 삽입ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr "애니메ì´ì…˜ 키를 삽입했어요."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Pitch"
@@ -6786,19 +6800,19 @@ msgstr "ìš”"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn"
-msgstr "그려진 오브ì íЏ"
+msgstr "그려진 ê°ì²´"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Material Changes"
-msgstr "머티리얼 변경"
+msgstr "머티리얼 바꾸기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Shader Changes"
-msgstr "ì…°ì´ë” 변경"
+msgstr "ì…°ì´ë” 바꾸기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Surface Changes"
-msgstr "서피스 변경"
+msgstr "표면 바꾸기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Draw Calls"
@@ -6806,7 +6820,7 @@ msgstr "드로우 콜"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Vertices"
-msgstr "버틱스"
+msgstr "ì "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
@@ -6854,19 +6868,19 @@ msgstr "ë’·ë©´"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align Transform with View"
-msgstr "ë³€í˜•ì„ ë·°ì— ì •ë ¬"
+msgstr "ë³€í˜•ì„ ë·°ì— ì •ë ¬í•˜ê¸°"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align Rotation with View"
-msgstr "íšŒì „ì„ ë·°ì— ì •ë ¬"
+msgstr "íšŒì „ì„ ë·°ì— ì •ë ¬í•˜ê¸°"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
-msgstr "ì„ íƒëœ 부모 노드가 없어서 ìžì‹ë…¸ë“œë¥¼ ì¸ìŠ¤í„´ìŠ¤í•  수 없습니다."
+msgstr "ìžì‹ì„ ì¸ìŠ¤í„´ìŠ¤í•  부모가 없어요."
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "This operation requires a single selected node."
-msgstr "ì´ ìž‘ì—…ì€ í•˜ë‚˜ì˜ ì„ íƒëœ 노드를 필요로 합니다."
+msgstr "ì´ ìž‘ì—…ì€ í•˜ë‚˜ì˜ ë…¸ë“œë¥¼ ì„ íƒí•´ì•¼ í•´ìš”."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock View Rotation"
@@ -6874,19 +6888,19 @@ msgstr "뷰 회전 잠금"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
-msgstr "Normal 표시"
+msgstr "노멀 표시하기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Wireframe"
-msgstr "Wireframe 표시"
+msgstr "와ì´ì–´í”„레임 표시하기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Overdraw"
-msgstr "Overdraw 표시"
+msgstr "오버드로 표시하기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Unshaded"
-msgstr "ìŒì˜ ì—†ì´ í‘œì‹œ"
+msgstr "ì…°ì´ë” ì—†ìŒ í‘œì‹œí•˜ê¸°"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Environment"
@@ -6913,49 +6927,48 @@ msgid "Audio Listener"
msgstr "오디오 리스너"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "필터 활성화"
+msgstr "ì§„ë™ ì™œê³¡ 켜기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
-msgstr "시네마틱 미리보기"
+msgstr "시네마틱 미리 보기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
-msgstr "ìžìœ ì‹œì  왼쪽"
+msgstr "ìžìœ  ì‹œì  ì™¼ìª½ìœ¼ë¡œ 가기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Right"
-msgstr "ìžìœ ì‹œì  오른쪽"
+msgstr "ìžìœ  ì‹œì  ì˜¤ë¥¸ìª½ìœ¼ë¡œ 가기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Forward"
-msgstr "ìžìœ ì‹œì  앞으로 ì´ë™"
+msgstr "ìžìœ  ì‹œì  ì•žìœ¼ë¡œ 가기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Backwards"
-msgstr "ìžìœ ì‹œì  뒤로 ì´ë™"
+msgstr "ìžìœ  ì‹œì  ë’¤ë¡œ 가기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Up"
-msgstr "ìžìœ ì‹œì  위로"
+msgstr "ìžìœ  ì‹œì  ìœ„ë¡œ 가기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Down"
-msgstr "ìžìœ ì‹œì  아래로 ì´ë™"
+msgstr "ìžìœ  ì‹œì  ì•„ëž˜ë¡œ 가기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Speed Modifier"
-msgstr "ìžìœ ì‹œì  ì†ë„ 변화"
+msgstr "ìžìœ  ì‹œì  ì†ë„ 수정ìž"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
"Note: The FPS value displayed is the editor's framerate.\n"
"It cannot be used as a reliable indication of in-game performance."
msgstr ""
-"참고: FPS ê°’ì€ íŽ¸ì§‘ê¸°ì˜ í”„ë ˆìž„ ì†ë„입니다.\n"
-"게임 ë‚´ ì„±ëŠ¥ì„ ë³´ì¦í•˜ëŠ” 표시로 ë³¼ 수 없습니다."
+"참고: FPS ê°’ì€ íŽ¸ì§‘ê¸°ì˜ í”„ë ˆìž„ìœ¼ë¡œ 표시ë˜ìš”.\n"
+"ì´ê²ƒì´ 게임 ë‚´ ì„±ëŠ¥ì„ ë³´ìž¥í•  수 없어요."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Rotation Locked"
@@ -6971,7 +6984,7 @@ msgstr "노드를 ë°”ë‹¥ì— ìŠ¤ëƒ…"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "ì„ íƒ í•­ëª©ì„ ìŠ¤ëƒ…í•  ë°”ë‹¥ì„ ì°¾ì„ ìˆ˜ 없어요."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -6979,14 +6992,13 @@ msgid ""
"Alt+Drag: Move\n"
"Alt+RMB: Depth list selection"
msgstr ""
-"드래그: 회전\n"
-"알트+드래그: ì´ë™\n"
-"알트+ìš°í´ë¦­: 겹친 ëª©ë¡ ì„ íƒ"
+"드래그: 회전하기\n"
+"Alt+드래그: ì´ë™í•˜ê¸°\n"
+"Alt+ìš°í´ë¦­: 겹친 ëª©ë¡ ì„ íƒê¸°í•˜ê¸°"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "로컬 스페ì´ìФ 모드 (%s)"
+msgstr "로컬 스페ì´ìФ 사용하기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7018,7 +7030,7 @@ msgstr "ì›ê·¼/ì§êµ ë·° 전환"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
-msgstr "애니메ì´ì…˜ 키 삽입"
+msgstr "애니메ì´ì…˜ 키 삽입하기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Origin"
@@ -7026,7 +7038,7 @@ msgstr "ì›ì  í¬ì»¤ìФ"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Selection"
-msgstr "ì„ íƒ í¬ì»¤ìФ"
+msgstr "ì„ íƒ í•­ëª© í¬ì»¤ìФ"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
@@ -7035,11 +7047,11 @@ msgstr "ìžìœ  ì‹œì  í† ê¸€"
#: editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Transform"
-msgstr "변형"
+msgstr "변형하기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Object to Floor"
-msgstr "물체를 ë°”ë‹¥ì— ìŠ¤ëƒ…"
+msgstr "ê°ì²´ë¥¼ ë°”ë‹¥ì— ìŠ¤ëƒ…"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
@@ -7083,9 +7095,8 @@ msgstr "ê²©ìž ë³´ê¸°"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "설정"
+msgstr "설정..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7121,11 +7132,11 @@ msgstr "Z-ì›ê²½ 보기:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Change"
-msgstr "변형 변경"
+msgstr "변형 바꾸기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translate:"
-msgstr "ì´ë™:"
+msgstr "ì´ë™í•˜ê¸°:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate (deg.):"
@@ -7137,19 +7148,19 @@ msgstr "í¬ê¸° (비율):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Type"
-msgstr "변형 타입"
+msgstr "변형 유형"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Pre"
-msgstr "Pre"
+msgstr "ì „"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Post"
-msgstr "Post"
+msgstr "후"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Nameless gizmo"
-msgstr "ì´ë¦„없는 오브ì íŠ¸ì˜ ì¤‘ì‹¬ì "
+msgstr "ì´ë¦„ 없는 기즈모"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create Mesh2D"
@@ -7169,31 +7180,31 @@ msgstr "LightOccluder2D 만들기"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Sprite is empty!"
-msgstr "스프ë¼ì´íŠ¸ê°€ 비었습니다!"
+msgstr "스프ë¼ì´íŠ¸ê°€ 없어요!"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Can't convert a sprite using animation frames to mesh."
-msgstr "스프ë¼ì´íŠ¸ê°€ 애니메ì´ì…˜ í”„ë ˆìž„ì„ ì‚¬ìš©í•´ì„œ 메시로 ì „í™˜ë  ìˆ˜ 없습니다."
+msgstr "애니메ì´ì…˜ í”„ë ˆìž„ì„ ì‚¬ìš©í•˜ëŠ” 스프ë¼ì´íŠ¸ë¥¼ 메시로 변환할 수 없어요."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't replace by mesh."
-msgstr "ìž˜ëª»ëœ í˜•íƒœ, 메시로 대체할 수 없습니다."
+msgstr "ìž˜ëª»ëœ í˜•íƒœ, 메시로 대체할 수 없어요."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Convert to Mesh2D"
-msgstr "Mesh2D로 전환"
+msgstr "Mesh2D로 변환하기"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
-msgstr "ìž˜ëª»ëœ í˜•íƒœ, í´ë¦¬ê³¤ì„ 만들 수 없습니다."
+msgstr "ìž˜ëª»ëœ í˜•íƒœ, í´ë¦¬ê³¤ì„ 만들 수 없어요."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Convert to Polygon2D"
-msgstr "Polygon2D로 전환"
+msgstr "Polygon2D로 변환하기"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create collision polygon."
-msgstr "ìž˜ëª»ëœ í˜•íƒœ, ì¶©ëŒ í´ë¦¬ê³¤ì„ 만들 수 없습니다."
+msgstr "ìž˜ëª»ëœ í˜•íƒœ, ì¶©ëŒ í´ë¦¬ê³¤ì„ 만들 수 없어요."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create CollisionPolygon2D Sibling"
@@ -7201,7 +7212,7 @@ msgstr "CollisionPolygon2D 노드 만들기"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create light occluder."
-msgstr "ìž˜ëª»ëœ í˜•íƒœ, 조명 ì–´í´ë£¨ë”를 만들 수 없습니다."
+msgstr "ìž˜ëª»ëœ í˜•íƒœ, 조명 ì–´í´ë£¨ë”를 만들 수 없어요."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create LightOccluder2D Sibling"
@@ -7221,7 +7232,7 @@ msgstr "성장 (픽셀): "
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
-msgstr "ì—…ë°ì´íЏ 미리보기"
+msgstr "ì—…ë°ì´íЏ 미리 보기"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Settings:"
@@ -7229,23 +7240,23 @@ msgstr "설정:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "No Frames Selected"
-msgstr "í”„ë ˆìž„ì´ ì„ íƒë˜ì§€ 않ìŒ"
+msgstr "ì„ íƒí•œ 프레임 ì—†ìŒ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add %d Frame(s)"
-msgstr "%d 프레임 추가"
+msgstr "%dê°œì˜ í”„ë ˆìž„ 추가하기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
-msgstr "프레임 추가"
+msgstr "프레임 추가하기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
-msgstr "오류: 프레임 리소스를 불러올 수 없습니다!"
+msgstr "오류: 프레임 리소스를 불러올 수 없어요!"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Resource clipboard is empty or not a texture!"
-msgstr "리소스 í´ë¦½ë³´ë“œê°€ 비었거나 í…스ì³ê°€ 아닙니다!"
+msgstr "리소스 í´ë¦½ë³´ë“œê°€ 비었거나 í…스처가 아니ì—ìš”!"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Paste Frame"
@@ -7253,23 +7264,28 @@ msgstr "프레임 붙여넣기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Empty"
-msgstr "빈 프레임 추가"
+msgstr "빈 프레임 추가하기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation FPS"
-msgstr "애니메ì´ì…˜ FPS 변경"
+msgstr "애니메ì´ì…˜ FPS 바꾸기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "(empty)"
msgstr "(비었ìŒ)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "프레임 붙여넣기"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "애니메ì´ì…˜:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "New Animation"
-msgstr "새로운 애니메ì´ì…˜"
+msgstr "새 애니메ì´ì…˜"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed (FPS):"
@@ -7285,7 +7301,7 @@ msgstr "애니메ì´ì…˜ 프레임:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add a Texture from File"
-msgstr "파ì¼ì—서 í…ìŠ¤ì³ ì¶”ê°€í•˜ê¸°"
+msgstr "파ì¼ì—서 í…스처 추가하기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
@@ -7293,23 +7309,23 @@ msgstr "스프ë¼ì´íЏ 시트ì—서 프레임 추가하기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
-msgstr "빈 프레임 삽입 (ì´ì „)"
+msgstr "빈 프레임 삽입하기 (ì´ì „)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (After)"
-msgstr "빈 프레임 삽입 (ì´í›„)"
+msgstr "빈 프레임 삽입하기 (ì´í›„)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Move (Before)"
-msgstr "ì´ë™ (ì´ì „)"
+msgstr "ì´ë™í•˜ê¸° (ì´ì „)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Move (After)"
-msgstr "ì´ë™ (ì´í›„)"
+msgstr "ì´ë™í•˜ê¸° (ì´í›„)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Select Frames"
-msgstr "프레임 ì„ íƒ"
+msgstr "프레임 ì„ íƒí•˜ê¸°"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Horizontal:"
@@ -7321,7 +7337,7 @@ msgstr "수ì§:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Select/Clear All Frames"
-msgstr "모든 프레임 ì„ íƒ/지우기"
+msgstr "모든 프레임 ì„ íƒí•˜ê¸°/지우기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Create Frames from Sprite Sheet"
@@ -7333,11 +7349,11 @@ msgstr "스프ë¼ì´íЏ 프레임"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
-msgstr "ì˜ì—­ 설정"
+msgstr "ì‚¬ê° ì˜ì—­ 설정하기"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Margin"
-msgstr "마진 설정"
+msgstr "여백 설정하기"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Snap Mode:"
@@ -7374,27 +7390,27 @@ msgstr "분리.:"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "TextureRegion"
-msgstr "í…스ì³ì§€ì—­"
+msgstr "í…스처 ì˜ì—­"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add All Items"
-msgstr "모든 항목 추가"
+msgstr "모든 항목 추가하기"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add All"
-msgstr "ëª¨ë‘ ì¶”ê°€"
+msgstr "ëª¨ë‘ ì¶”ê°€í•˜ê¸°"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
-msgstr "모든 항목 삭제"
+msgstr "모든 항목 삭제하기"
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
msgid "Remove All"
-msgstr "ëª¨ë‘ ì‚­ì œ"
+msgstr "ëª¨ë‘ ì‚­ì œí•˜ê¸°"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Edit Theme"
-msgstr "테마 편집"
+msgstr "테마 편집하기"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7402,11 +7418,11 @@ msgstr "테마 편집 메뉴."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Class Items"
-msgstr "í´ëž˜ìФ 항목 추가"
+msgstr "í´ëž˜ìФ 항목 추가하기"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove Class Items"
-msgstr "í´ëž˜ìФ 항목 ì‚­ì œ"
+msgstr "í´ëž˜ìФ 항목 삭제하기"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Create Empty Template"
@@ -7418,7 +7434,7 @@ msgstr "빈 편집기 템플릿 만들기"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Create From Current Editor Theme"
-msgstr "현재 편집기 테마로부터 만들기"
+msgstr "현재 편집기 테마ì—서 만들기"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Toggle Button"
@@ -7426,7 +7442,7 @@ msgstr "토글 버튼"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Disabled Button"
-msgstr "비활성화 버튼"
+msgstr "꺼진 버튼"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
@@ -7434,7 +7450,7 @@ msgstr "항목"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Disabled Item"
-msgstr "ë¹„í™œì„±í™”ëœ í•­ëª©"
+msgstr "꺼진 항목"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7461,14 +7477,12 @@ msgid "Submenu"
msgstr "하위 메뉴"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "항목 1"
+msgstr "하위 항목 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "항목 2"
+msgstr "하위 항목 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7508,7 +7522,7 @@ msgstr "ë§Žì€,옵션,갖춤"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Data Type:"
-msgstr "ë°ì´í„° 타입:"
+msgstr "ë°ì´í„° 유형:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Icon"
@@ -7536,12 +7550,12 @@ msgstr "ì„ íƒ ì§€ìš°ê¸°"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Fix Invalid Tiles"
-msgstr "ìž˜ëª»ëœ íƒ€ì¼ ìˆ˜ì •"
+msgstr "ìž˜ëª»ëœ íƒ€ì¼ ê³ ì¹˜ê¸°"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cut Selection"
-msgstr "ì„ íƒ ìž˜ë¼ë‚´ê¸°"
+msgstr "ì„ íƒ í•­ëª© 잘ë¼ë‚´ê¸°"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
@@ -7549,11 +7563,11 @@ msgstr "타ì¼ë§µ 칠하기"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Line Draw"
-msgstr "ì§ì„  그리기"
+msgstr "선 그리기"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rectangle Paint"
-msgstr "사ê°ì˜ì—­ 칠하기"
+msgstr "ì‚¬ê° ì˜ì—­ 칠하기"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Bucket Fill"
@@ -7573,28 +7587,36 @@ msgstr "바꾸기"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Disable Autotile"
-msgstr "ì˜¤í† íƒ€ì¼ ë¹„í™œì„±í™”"
+msgstr "ì˜¤í† íƒ€ì¼ ë„기"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Enable Priority"
msgstr "우선 순위 편집"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "íŒŒì¼ í•„í„°..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "íƒ€ì¼ ì¹ í•˜ê¸°"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
"Shift+ìš°í´ë¦­: ì„  그리기\n"
-"Shift+Ctrl+ìš°í´ë¦­:사ê°í˜• 페ì¸íЏ"
+"Shift+Ctrl+ìš°í´ë¦­: ì‚¬ê° ì˜ì—­ 페ì¸íЏ"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
-msgstr "íƒ€ì¼ ì„ íƒ"
+msgstr "íƒ€ì¼ ì„ íƒí•˜ê¸°"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate Left"
@@ -7618,19 +7640,19 @@ msgstr "변형 지우기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Texture(s) to TileSet."
-msgstr "TileSetì— í…ìŠ¤ì³ ì¶”ê°€í•˜ê¸°."
+msgstr "TileSetì— í…스처 추가하기."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected Texture from TileSet."
-msgstr "ì„ íƒëœ í…스ì³ë¥¼ TileSetì—서 삭제하기."
+msgstr "ì„ íƒí•œ í…스처를 TileSetì—서 삭제하기."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from Scene"
-msgstr "씬으로부터 만들기"
+msgstr "씬ì—서 만들기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Merge from Scene"
-msgstr "씬으로부터 병합하기"
+msgstr "씬ì—서 병합하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Next Coordinate"
@@ -7694,7 +7716,7 @@ msgstr "비트 ë§ˆìŠ¤í¬ ì§€ìš°ê¸°."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create a new rectangle."
-msgstr "새 사ê°í˜• 만들기."
+msgstr "새로운 사ê°í˜• 만들기."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create a new polygon."
@@ -7706,57 +7728,61 @@ msgstr "사ê°í˜• ë‚´ë¶€ì— í´ë¦¬ê³¤ì„ 유지하기."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Enable snap and show grid (configurable via the Inspector)."
-msgstr "ìŠ¤ëƒ…ì„ í™œì„±í™” 하고 격ìžë¥¼ ë³´ì´ê¸° (ì¸ìŠ¤íŽ™í„°ë¥¼ 통해 구성할 수 있습니다)."
+msgstr "ìŠ¤ëƒ…ì„ ì¼œê³  격ìžë¥¼ ë³´ì´ê¸° (ì¸ìŠ¤íŽ™í„°ë¥¼ 통해 설정함)."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Display Tile Names (Hold Alt Key)"
-msgstr "íƒ€ì¼ ì´ë¦„ ë³´ì´ê¸° (Alt 키를 누르세요)"
+msgstr "íƒ€ì¼ ì´ë¦„ ë³´ì´ê¸° (Alt키를 누르세요)"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
-"ì„ íƒí•œ í…스ì³ë¥¼ 삭제하시겠습니까? 해당 í…스ì³ë¥¼ 사용하는 모든 타ì¼ì´ ì‚­ì œë  "
-"것입니다."
+"ì„ íƒí•œ í…스처를 삭제할까요? ì´ í…스처를 사용하는 모든 타ì¼ë„ ì‚­ì œë  ê±°ì—ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "You haven't selected a texture to remove."
-msgstr "삭제할 í…스ì³ë¥¼ ì„ íƒí•˜ì§€ 않았습니다."
+msgstr "삭제할 í…스처를 ì„ íƒí•˜ì§€ 않았어요."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from scene? This will overwrite all current tiles."
-msgstr "씬으로부터 ìƒì„±í•˜ì‹œê² ìŠµë‹ˆê¹Œ? 현재 타ì¼ì„ ëª¨ë‘ ë®ì–´ì”니다."
+msgstr "씬ì—서 만들까요? 모든 현재 파ì¼ì„ ë®ì–´ 씌울 ê±°ì—ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Merge from scene?"
-msgstr "씬으로부터 병합하시겠습니까?"
+msgstr "씬ì—서 병합할까요?"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Texture"
-msgstr "í…ìŠ¤ì³ ì‚­ì œ"
+msgstr "í…스처 삭제하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "%s file(s) were not added because was already on the list."
-msgstr "%s 파ì¼ì´ ì´ë¯¸ 목ë¡ì— 존재하여 추가ë˜ì§€ 않습니다."
+msgstr "%s 파ì¼ì´ ì´ë¯¸ 목ë¡ì— 있어서 추가하지 않았어요."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Drag handles to edit Rect.\n"
"Click on another Tile to edit it."
msgstr ""
-"í•¸ë“¤ì„ ë“œëž˜ê·¸í•˜ì—¬ 사ê°í˜•ì„ íŽ¸ì§‘.\n"
-"다른 타ì¼ì„ 편집하려면 í´ë¦­."
+"í•¸ë“¤ì„ ë“œëž˜ê·¸í•˜ì—¬ 사ê°í˜•ì„ íŽ¸ì§‘í•´ìš”.\n"
+"다른 타ì¼ì„ 편집하려면 í´ë¦­í•˜ì„¸ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Delete selected Rect."
-msgstr "ì„ íƒëœ 사ê°í˜•ì„ ì‚­ì œí•˜ê¸°."
+msgstr "ì„ íƒí•œ 사ê°í˜•ì„ ì‚­ì œí•˜ê¸°."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Select current edited sub-tile.\n"
"Click on another Tile to edit it."
msgstr ""
-"현재 íŽ¸ì§‘ëœ ì„œë¸Œ íƒ€ì¼ ì„ íƒ.\n"
-"다른 타ì¼ì„ 편집하려면 í´ë¦­."
+"현재 편집한 하위 íƒ€ì¼ ì„ íƒí•˜ê¸°.\n"
+"다른 타ì¼ì„ 편집하려면 í´ë¦­í•˜ì„¸ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Delete polygon."
@@ -7771,7 +7797,7 @@ msgid ""
msgstr ""
"좌í´ë¦­: 비트를 켬.\n"
"ìš°í´ë¦­: 비트를 ë”.\n"
-"Shift+좌í´ë¦­: 와ì¼ë“œì¹´ë“œ 비트를 설정함.\n"
+"Shift+좌í´ë¦­: 와ì¼ë“œì¹´ë“œ 비트를 설정.\n"
"다른 타ì¼ì„ 편집하려면 í´ë¦­í•˜ì„¸ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7780,8 +7806,8 @@ msgid ""
"bindings.\n"
"Click on another Tile to edit it."
msgstr ""
-"ì•„ì´ì½˜ìœ¼ë¡œ 사용할 서브 타ì¼ì„ 설정하세요, 올바르지 ì•Šì€ ìžë™ íƒ€ì¼ ë°”ì¸ë”©ì—ë„ "
-"사용ë©ë‹ˆë‹¤.\n"
+"ì•„ì´ì½˜ìœ¼ë¡œ 쓸 하위 타ì¼ì„ ì„ íƒí•˜ì„¸ìš”, ìž˜ëª»ëœ ì˜¤í† íƒ€ì¼ ë°”ì¸ë”©ì—ë„ ì“°ì¼ ê±°ì—"
+"ìš”.\n"
"다른 타ì¼ì„ 편집하려면 í´ë¦­í•˜ì„¸ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7789,20 +7815,20 @@ msgid ""
"Select sub-tile to change its priority.\n"
"Click on another Tile to edit it."
msgstr ""
-"서브 타ì¼ì„ ì„ íƒí•´ ìš°ì„  순위를 바꿈.\n"
-"다른 타ì¼ì„ 편집하려면 í´ë¦­."
+"하위 타ì¼ì„ ì„ íƒí•´ì„œ ìš°ì„  순위를 바꿔요.\n"
+"다른 타ì¼ì„ 편집하려면 í´ë¦­í•˜ì„¸ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Select sub-tile to change its z index.\n"
"Click on another Tile to edit it."
msgstr ""
-"서브 타ì¼ì„ ì„ íƒí•´ z ì¸ë±ìŠ¤ë¥¼ 변경합니다.\n"
-"다른 타ì¼ì„ 편집하려면 í´ë¦­í•©ë‹ˆë‹¤."
+"하위 타ì¼ì„ ì„ íƒí•´ì„œ Z ì¸ë±ìŠ¤ë¥¼ 바꿔요.\n"
+"다른 타ì¼ì„ 편집하려면 í´ë¦­í•˜ì„¸ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Set Tile Region"
-msgstr "íƒ€ì¼ ì˜ì—­ 설정"
+msgstr "íƒ€ì¼ ì˜ì—­ 설정하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create Tile"
@@ -7810,23 +7836,23 @@ msgstr "íƒ€ì¼ ë§Œë“¤ê¸°"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Set Tile Icon"
-msgstr "íƒ€ì¼ ì•„ì´ì½˜ 설정"
+msgstr "íƒ€ì¼ ì•„ì´ì½˜ 설정하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Tile Bitmask"
-msgstr "íƒ€ì¼ ë¹„íŠ¸ ë§ˆìŠ¤í¬ íŽ¸ì§‘"
+msgstr "íƒ€ì¼ ë¹„íŠ¸ ë§ˆìŠ¤í¬ íŽ¸ì§‘í•˜ê¸°"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Collision Polygon"
-msgstr "ì¶©ëŒ í´ë¦¬ê³¤ 편집"
+msgstr "ì¶©ëŒ í´ë¦¬ê³¤ 편집하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Occlusion Polygon"
-msgstr "ì–´í´ë£¨ì „ í´ë¦¬ê³¤ 편집"
+msgstr "ì–´í´ë£¨ì „ í´ë¦¬ê³¤ 편집하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Navigation Polygon"
-msgstr "내비게ì´ì…˜ í´ë¦¬ê³¤ 편집"
+msgstr "내비게ì´ì…˜ í´ë¦¬ê³¤ 편집하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Paste Tile Bitmask"
@@ -7846,27 +7872,27 @@ msgstr "ë³¼ë¡í•œ í´ë¦¬ê³¤ 만들기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Tile"
-msgstr "íƒ€ì¼ ì‚­ì œ"
+msgstr "íƒ€ì¼ ì‚­ì œí•˜ê¸°"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Collision Polygon"
-msgstr "ì¶©ëŒ í´ë¦¬ê³¤ ì‚­ì œ"
+msgstr "ì¶©ëŒ í´ë¦¬ê³¤ 삭제하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Occlusion Polygon"
-msgstr "ì–´í´ë£¨ì „ í´ë¦¬ê³¤ ì‚­ì œ"
+msgstr "ì–´í´ë£¨ì „ í´ë¦¬ê³¤ 삭제하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Navigation Polygon"
-msgstr "내비게ì´ì…˜ í´ë¦¬ê³¤ ì‚­ì œ"
+msgstr "내비게ì´ì…˜ í´ë¦¬ê³¤ 삭제하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Tile Priority"
-msgstr "필터 우선 순위 편집"
+msgstr "필터 우선 순위 편집하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Tile Z Index"
-msgstr "íƒ€ì¼ Z ì¸ë±ìФ 편집"
+msgstr "íƒ€ì¼ Z ì¸ë±ìФ 편집하기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create Collision Polygon"
@@ -7878,23 +7904,129 @@ msgstr "ì–´í´ë£¨ì „ í´ë¦¬ê³¤ 만들기"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "This property can't be changed."
-msgstr "ì´ ì†ì„±ì„ 바꿀 수 없습니다."
+msgstr "ì´ ì†ì„±ì€ 바꿀 수 없어요."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
msgstr "타ì¼ì…‹"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "ë…¸ë“œì˜ ë¶€ëª¨ ì´ë¦„ (사용 가능한 경우)"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "오류"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "ì´ë¦„ì´ ì§€ì •ë˜ì§€ 않ìŒ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "커뮤니티"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "대문ìžë¡œ 시작하기"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "새로운 사ê°í˜• 만들기."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "변경하기"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "ì´ë¦„ 바꾸기"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "삭제하기"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "변경하기"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "ì„ íƒ í•­ëª© 삭제하기"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "ëª¨ë‘ ì €ìž¥í•˜ê¸°"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "스í¬ë¦½íЏ 변경 사항 ë™ê¸°í™”하기"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "ìƒíƒœ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "파ì¼ì´ ì„ íƒë˜ì§€ 않았습니다!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(GLES3만 가능)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add input +"
-msgstr "입력 추가 +"
+msgstr "입력 추가하기 +"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output +"
-msgstr "출력 추가 +"
+msgstr "출력 추가하기 +"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Scalar"
@@ -7910,59 +8042,59 @@ msgstr "불리언"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add input port"
-msgstr "ìž…ë ¥ í¬íЏ 추가"
+msgstr "ìž…ë ¥ í¬íЏ 추가하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr "출력 í¬íЏ 추가"
+msgstr "출력 í¬íЏ 추가하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Change input port type"
-msgstr "ìž…ë « í¬íЏ 타입 변경"
+msgstr "ìž…ë ¥ í¬íЏ 유형 바꾸기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Change output port type"
-msgstr "출력 í¬íЏ 타입 변경"
+msgstr "출력 í¬íЏ 유형 바꾸기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Change input port name"
-msgstr "ìž…ë ¥ í¬íЏ ì´ë¦„ 변경"
+msgstr "ìž…ë ¥ í¬íЏ ì´ë¦„ 바꾸기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Change output port name"
-msgstr "출력 í¬íЏ ì´ë¦„ 변경"
+msgstr "출력 í¬íЏ ì´ë¦„ 바꾸기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Remove input port"
-msgstr "ìž…ë ¥ í¬íЏ ì‚­ì œ"
+msgstr "ìž…ë ¥ í¬íЏ 삭제하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Remove output port"
-msgstr "출력 í¬íЏ ì‚­ì œ"
+msgstr "출력 í¬íЏ 삭제하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set expression"
-msgstr "í‘œí˜„ì‹ ì„¤ì •"
+msgstr "í‘œí˜„ì‹ ì„¤ì •í•˜ê¸°"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Resize VisualShader node"
-msgstr "비주얼 ì…°ì´ë” 노드 í¬ê¸° ì¡°ì •"
+msgstr "비주얼 ì…°ì´ë” 노드 í¬ê¸° 조정하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
-msgstr "í†µì¼ ì´ë¦„ 설정"
+msgstr "Uniform ì´ë¦„ 설정하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Input Default Port"
-msgstr "ìž…ë ¥ 기본 í¬íЏ 설정"
+msgstr "ìž…ë ¥ 기본 í¬íЏ 설정하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add Node to Visual Shader"
-msgstr "노드를 비주얼 ì…°ì´ë”ì— ì¶”ê°€"
+msgstr "노드를 비주얼 ì…°ì´ë”ì— ì¶”ê°€í•˜ê¸°"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Duplicate Nodes"
-msgstr "노드 복제"
+msgstr "노드 복제하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -7971,15 +8103,15 @@ msgstr "노드 붙여넣기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Delete Nodes"
-msgstr "노드 삭제"
+msgstr "노드 삭제하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Visual Shader Input Type Changed"
-msgstr "비주얼 ì…°ì´ë” ìž…ë ¥ 타입 변경ë¨"
+msgstr "비주얼 ì…°ì´ë” ìž…ë ¥ 유형 변경ë¨"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vertex"
-msgstr "버í…스"
+msgstr "ê¼­ì§“ì "
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Fragment"
@@ -7990,9 +8122,8 @@ msgid "Light"
msgstr "조명"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "ì…°ì´ë” 노드 만들기"
+msgstr "ê²°ê³¼ ì…°ì´ë” 코드 ë³´ì´ê¸°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8012,11 +8143,11 @@ msgstr "회색조 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr "HSV 벡터를 RGB로 변환합니다."
+msgstr "HSV 벡터를 RGB로 변환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr "RGB 벡터를 HSV로 변환합니다."
+msgstr "RGB 벡터를 HSV로 변환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sepia function."
@@ -8068,7 +8199,7 @@ msgstr "ìƒ‰ìƒ ìœ ë‹ˆí¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the %s comparison between two parameters."
-msgstr "ë‘ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ %s 비êµì˜ 불리언 ê²°ê³¼ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë‘ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ %s 비êµì˜ 불리언 ê²°ê³¼ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Equal (==)"
@@ -8086,20 +8217,20 @@ msgstr "보다 í¬ê±°ë‚˜ 같다 (>=)"
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
-msgstr "ì œê³µëœ ìŠ¤ì¹¼ë¼ê°€ 같거나, ë” í¬ê±°ë‚˜, ë” ìž‘ìœ¼ë©´ 관련 벡터를 반환합니다."
+msgstr "ì œê³µëœ ìŠ¤ì¹¼ë¼ê°€ 같거나, ë” í¬ê±°ë‚˜, ë” ìž‘ìœ¼ë©´ 관련 벡터를 반환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the boolean result of the comparison between INF and a scalar "
"parameter."
-msgstr "무한(INF)ê³¼ ìŠ¤ì¹¼ë¼ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ ë¹„êµì˜ 불리언 ê²°ê³¼ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "INF(무한)ê³¼ ìŠ¤ì¹¼ë¼ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ ë¹„êµì˜ 불리언 ê²°ê³¼ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the boolean result of the comparison between NaN and a scalar "
"parameter."
msgstr ""
-"ìˆ«ìž ì•„ë‹˜(NaN)ê³¼ ìŠ¤ì¹¼ë¼ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ ë¹„êµì˜ 불리언 ê²°ê³¼ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+"NaN(ìˆ«ìž ì•„ë‹˜)ê³¼ ìŠ¤ì¹¼ë¼ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ ë¹„êµì˜ 불리언 ê²°ê³¼ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Less Than (<)"
@@ -8116,19 +8247,25 @@ msgstr "같지 않다 (!=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
-msgstr "불리언 ê°’ì´ ì°¸ì´ê±°ë‚˜ ê±°ì§“ì´ë©´ 관련 벡터를 반환합니다."
+msgstr "불리언 ê°’ì´ ì°¸ì´ê±°ë‚˜ ê±°ì§“ì´ë©´ 관련 벡터를 반환해요."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr "불리언 ê°’ì´ ì°¸ì´ê±°ë‚˜ ê±°ì§“ì´ë©´ 관련 벡터를 반환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
-msgstr "ë‘ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ ë¹„êµì˜ 불리언 ê²°ê³¼ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë‘ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ ë¹„êµì˜ 불리언 ê²°ê³¼ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the boolean result of the comparison between INF (or NaN) and a "
"scalar parameter."
msgstr ""
-"무한(INF) (ë˜ëŠ” ìˆ«ìž ì•„ë‹˜(NaN))ê³¼ ìŠ¤ì¹¼ë¼ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ ë¹„êµì˜ 불리언 ê²°ê³¼ ê°’"
-"ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+"INF(무한) (ë˜ëŠ” NaN(ìˆ«ìž ì•„ë‹˜))ê³¼ ìŠ¤ì¹¼ë¼ ë§¤ê°œë³€ìˆ˜ ì‚¬ì´ ë¹„êµì˜ 불리언 ê²°ê³¼ ê°’"
+"ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean constant."
@@ -8172,11 +8309,11 @@ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ '%s' ìž…ë ¥ 매ê
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Scalar function."
-msgstr "Scalar 함수."
+msgstr "ìŠ¤ì¹¼ë¼ í•¨ìˆ˜."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Scalar operator."
-msgstr "Scalar ì—°ì‚°ìž."
+msgstr "ìŠ¤ì¹¼ë¼ ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
@@ -8212,52 +8349,52 @@ msgstr "Sqrt2 ìƒìˆ˜ (1.414214). 2ì˜ ì œê³±ê·¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì ˆëŒ€ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì ˆëŒ€ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse hyperbolic cosine of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse hyperbolic sine of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬íƒ„젠트 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬íƒ„젠트 ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr "ë§¤ê°œë³€ìˆ˜ë“¤ì˜ ì•„í¬íƒ„젠트 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ë“¤ì˜ ì•„í¬íƒ„젠트 ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse hyperbolic tangent of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡íƒ„젠트 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡íƒ„젠트 ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr "매개변수보다 í¬ê±°ë‚˜ ê°™ì€ ê°€ìž¥ 가까운 정수를 찾습니다."
+msgstr "매개변수보다 í¬ê±°ë‚˜ ê°™ì€ ê°€ìž¥ 가까운 정수를 찾아요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr "ë‘ ê°œì˜ ë‹¤ë¥¸ ê°’ 사ì´ì— 놓ì´ëŠ” ê°’ì„ ì œí•œí•©ë‹ˆë‹¤."
+msgstr "떨어져 있는 ë‘ ê°’ 사ì´ì— 놓ì´ëŠ” ê°’ì„ ì œí•œí•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the hyperbolic cosine of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
@@ -8273,15 +8410,15 @@ msgstr "2ê°€ ë°‘ì¸ ì§€ìˆ˜ 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr "매개변수보다 ì ê±°ë‚˜ ê°™ì€ ê°€ìž¥ 가까운 정수를 찾습니다."
+msgstr "매개변수보다 ì ê±°ë‚˜ ê°™ì€ ê°€ìž¥ 가까운 정수를 찾아요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr "ì¸ìˆ˜ì˜ 프랙탈 구조를 계산합니다."
+msgstr "ì¸ìˆ˜ì˜ 소수 ë¶€ë¶„ì„ ê³„ì‚°í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì œê³±ê·¼ 역함수 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì œê³±ê·¼ 역함수 ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
@@ -8293,11 +8430,11 @@ msgstr "2ê°€ ë°‘ì¸ ë¡œê·¸ 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr "ë‘ ê°’ 중 ë” í° ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë‘ ê°’ 중 ë” í° ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr "ë‘ ê°’ 중 ë” ìž‘ì€ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë‘ ê°’ 중 ë” ìž‘ì€ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
@@ -8305,7 +8442,7 @@ msgstr "ë‘ ìŠ¤ì¹¼ë¼ ê°’ ì‚¬ì´ ì„ í˜• ë³´ê°„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ë°˜ëŒ€ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ë°˜ëŒ€ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
@@ -8314,11 +8451,11 @@ msgstr "1.0 - 스칼ë¼"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
-msgstr "첫 번째 매개변수를 ë‘ ë²ˆì§¸ 매개변수로 제곱한 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "첫 번째 매개변수를 ë‘ ë²ˆì§¸ 매개변수로 제곱한 ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr "ê°ë„ 단위를 ë„ì—서 ë¼ë””안으로 변환합니다."
+msgstr "ê°ë„ 단위를 ë„ì—서 ë¼ë””안으로 변환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
@@ -8326,34 +8463,33 @@ msgstr "1.0 / 스칼ë¼"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer to the parameter."
-msgstr "매개변수ì—서 가장 가까운 정수를 찾습니다."
+msgstr "매개변수ì—서 가장 가까운 정수를 찾아요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest even integer to the parameter."
-msgstr "매개변수ì—서 가장 가까운 ì§ìˆ˜ 정수를 찾습니다."
+msgstr "매개변수ì—서 가장 가까운 ì§ìˆ˜ 정수를 찾아요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
-msgstr "ê°’ì„ 0.0ì—서 1.0 사ì´ë¡œ 고정합니다."
+msgstr "ê°’ì„ 0.0ì—서 1.0 사ì´ë¡œ ê³ ì •í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ë¶€í˜¸ë¥¼ 추출합니다."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ë¶€í˜¸ë¥¼ 추출해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the hyperbolic sine of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì œê³±ê·¼ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì œê³±ê·¼ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8363,11 +8499,10 @@ msgid ""
msgstr ""
"SmoothStep 함수( 스칼ë¼(edge0), 스칼ë¼(edge1), 스칼ë¼(x) ).\n"
"\n"
-"'x'ê°€ 'edge0'보다 작고, 'edge1'보다 í¬ë©´ 0.0ì„ ë°˜í™˜í•©ë‹ˆë‹¤. 그렇지 ì•Šì€ ê²½ìš°, "
-"ë°˜í™˜ê°’ì€ ì—르미트 다항ì‹ì„ 통해 0.0ê³¼ 1.0사ì´ë¡œ ë³´ê°„ë©ë‹ˆë‹¤."
+"'x'ê°€ 'edge0'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³ , 'edge1'보다 í¬ë©´ 1.0ì„ ë°˜í™˜í•´ìš”. ê·¸"
+"렇지 ì•Šì€ ê²½ìš°, ì—르미트 다항ì‹ì„ í†µí•´ë°˜í™˜ê°’ì„ 0.0ê³¼ 1.0사ì´ë¡œ ë³´ê°„í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
@@ -8375,39 +8510,39 @@ msgid ""
msgstr ""
"Step 함수( 스칼ë¼(edge), 스칼ë¼(x) ).\n"
"\n"
-"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  그렇지 않으면 1.0ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  그렇지 않으면 1.0ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ íƒ„ì  íŠ¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ íƒ„ì  íŠ¸ ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the hyperbolic tangent of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡íƒ„젠트 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡íƒ„젠트 ê°’ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the truncated value of the parameter."
-msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì ˆì‚¬ëœ ê°’ì„ ì°¾ìŠµë‹ˆë‹¤."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì ˆì‚¬ëœ ê°’ì„ ì°¾ì•„ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds scalar to scalar."
-msgstr "스칼ë¼ì— 스칼ë¼ë¥¼ ë”합니다."
+msgstr "스칼ë¼ì— 스칼ë¼ë¥¼ ë”í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
-msgstr "스칼ë¼ë¥¼ 스칼ë¼ë¡œ 나눕니다."
+msgstr "스칼ë¼ë¥¼ 스칼ë¼ë¡œ 나누어요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies scalar by scalar."
-msgstr "스칼ë¼ë¥¼ 스칼ë¼ë¡œ 곱합니다."
+msgstr "스칼ë¼ë¥¼ 스칼ë¼ë¡œ 곱해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two scalars."
-msgstr "ë‘ ìŠ¤ì¹¼ë¼ì˜ 나머지를 반환합니다."
+msgstr "ë‘ ìŠ¤ì¹¼ë¼ì˜ 나머지를 반환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
-msgstr "스칼ë¼ì—서 스칼ë¼ë¥¼ ëºë‹ˆë‹¤."
+msgstr "스칼ë¼ì—서 스칼ë¼ë¥¼ 빼요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Scalar constant."
@@ -8419,23 +8554,23 @@ msgstr "ìŠ¤ì¹¼ë¼ ìœ ë‹ˆí¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr "세제곱 í…ìŠ¤ì³ ë£©ì—…ì„ ìˆ˜í–‰í•©ë‹ˆë‹¤."
+msgstr "세제곱 í…스처 ë£©ì—…ì„ ìˆ˜í–‰í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr "í…ìŠ¤ì³ ë£©ì—…ì„ ìˆ˜í–‰í•©ë‹ˆë‹¤."
+msgstr "í…스처 ë£©ì—…ì„ ìˆ˜í–‰í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Cubic texture uniform lookup."
-msgstr "세제곱 í…ìŠ¤ì³ ìœ ë‹ˆí¼ ë£©ì—…."
+msgstr "세제곱 í…스처 ìœ ë‹ˆí¼ ë£©ì—…."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "2D texture uniform lookup."
-msgstr "2D í…ìŠ¤ì³ ìœ ë‹ˆí¼ ë£©ì—…."
+msgstr "2D í…스처 ìœ ë‹ˆí¼ ë£©ì—…."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "2D texture uniform lookup with triplanar."
-msgstr "Triplanarê°€ ì ìš©ëœ 2D í…ìŠ¤ì³ ìœ ë‹ˆí¼ ë£©ì—… ."
+msgstr "Triplanarê°€ ì ìš©ëœ 2D í…스처 ìœ ë‹ˆí¼ ë£©ì—… ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Transform function."
@@ -8451,40 +8586,40 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
-"벡터 한 ìŒì˜ 외ì ì„ 계산합니다.\n"
+"벡터 한 ìŒì˜ 외ì ì„ 계산해요.\n"
"\n"
-"OuterProduct는 첫 매개변수 'c'를 ì—´ 벡터로 취급합니다 (1열로 ì´ë£¨ì–´ì§„ 행렬) "
-"그리고 ë‘ ë²ˆì§¸ 매개변수 'r'ì„ í–‰ 벡터로 취급합니다 (1행으로 ì´ë£¨ì–´ì§„ 행렬) ê·¸"
-"리고 선형 대수 í–‰ë ¬ì— 'c * r'ì„ ê³±í•©ë‹ˆë‹¤, í–‰ë ¬ì„ ì‚°ì¶œí•˜ëŠ”ë°, í–‰ì˜ ìˆ˜ëŠ” 'c'ì˜ "
-"구성 요소 수ì´ê³  ì—´ì˜ ìˆ˜ëŠ” 'r'ì˜ êµ¬ì„± 요소 수입니다."
+"OuterProduct는 첫 매개변수 'c'를 ì—´ 벡터로 취급하고 (1열로 ì´ë£¨ì–´ì§„ 행렬) ë‘ "
+"번째 매개변수 'r'ì„ í–‰ 벡터로 취급해요 (1행으로 ì´ë£¨ì–´ì§„ 행렬), 그리고 선형 "
+"대수 í–‰ë ¬ì— 'c * r'ì„ ê³±í•´ì„œ í–‰ë ¬ì„ ì‚°ì¶œí•˜ëŠ”ë°, í–‰ 수는 'c'ì˜ êµ¬ì„± 요소 수ì´"
+"ê³  ì—´ 수는 'r'ì˜ êµ¬ì„± 요소 수가 ë¼ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr "4ê°œì˜ ë²¡í„°ë¡œ ë³€í˜•ì„ í•©ì„±í•©ë‹ˆë‹¤."
+msgstr "4ê°œì˜ ë²¡í„°ë¡œ ë³€í˜•ì„ í•©ì„±í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr "ë³€í˜•ì„ 4ê°œì˜ ë²¡í„°ë¡œ 분해합니다."
+msgstr "ë³€í˜•ì„ 4ê°œì˜ ë²¡í„°ë¡œ ë¶„í•´í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the determinant of a transform."
-msgstr "ë³€í˜•ì˜ í–‰ë ¬ì‹ì„ 계산합니다."
+msgstr "ë³€í˜•ì˜ í–‰ë ¬ì‹ì„ 계산해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the inverse of a transform."
-msgstr "ë³€í˜•ì˜ ì—­í•¨ìˆ˜ë¥¼ 계산합니다."
+msgstr "ë³€í˜•ì˜ ì—­í•¨ìˆ˜ë¥¼ 계산해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the transpose of a transform."
-msgstr "ë³€í˜•ì˜ ì „ì¹˜ë¥¼ 계산합니다."
+msgstr "ë³€í˜•ì˜ ì „ì¹˜ë¥¼ 계산해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies transform by transform."
-msgstr "ë³€í˜•ì— ë³€í˜•ì„ ê³±í•©ë‹ˆë‹¤."
+msgstr "ë³€í˜•ì— ë³€í˜•ì„ ê³±í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr "ë³€í˜•ì— ë²¡í„°ë¥¼ 곱합니다."
+msgstr "ë³€í˜•ì— ë²¡í„°ë¥¼ 곱해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Transform constant."
@@ -8504,23 +8639,23 @@ msgstr "벡터 ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr "세 ê°œì˜ ìŠ¤ì¹¼ë¼ë¡œ 벡터를 합성합니다."
+msgstr "세 ê°œì˜ ìŠ¤ì¹¼ë¼ë¡œ 벡터를 합성해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr "벡터를 세 ê°œì˜ ìŠ¤ì¹¼ë¼ë¡œ 분해합니다."
+msgstr "벡터를 세 ê°œì˜ ìŠ¤ì¹¼ë¼ë¡œ ë¶„í•´í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr "ë‘ ë²¡í„°ì˜ ë²¡í„°ê³± ê°’ì„ ê³„ì‚°í•©ë‹ˆë‹¤."
+msgstr "ë‘ ë²¡í„°ì˜ ë²¡í„°ê³± ê°’ì„ ê³„ì‚°í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr "ë‘ ì  ì‚¬ì´ì˜ 거리를 반환합니다."
+msgstr "ë‘ ì  ì‚¬ì´ì˜ 거리를 반환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr "ë‘ ë²¡í„°ì˜ ìŠ¤ì¹¼ë¼ê³± ê°’ì„ ê³„ì‚°í•©ë‹ˆë‹¤."
+msgstr "ë‘ ë²¡í„°ì˜ ìŠ¤ì¹¼ë¼ê³± ê°’ì„ ê³„ì‚°í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8529,27 +8664,26 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
-"ê°™ì€ ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 참조 벡터로 반환합니다. 함수ì—는 세 ê°œì˜ ë²¡í„° 매"
-"개변수가 있습니다 : ë°©í–¥ì„ ì§€ì •í•˜ëŠ” 벡터 N, ì¸ì‹œë˜íЏ 벡터 I, 그리고 참조 벡"
-"í„° Nref. I와 Nrefì˜ ë‚´ì  ê°’ì´ 0보다 작으면 ë°˜í™˜ê°’ì€ Nì´ ë©ë‹ˆë‹¤. 그렇지 않으"
-"ë©´ -Nì´ ë°˜í™˜ë©ë‹ˆë‹¤."
+"ê°™ì€ ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 참조 벡터로 반환해요. 함수ì—는 세 ê°œì˜ ë²¡í„° 매개"
+"변수가 있어요 : ë°©í–¥ì„ ì§€ì •í•˜ëŠ” 벡터 N, ì¸ì‹œë˜íЏ 벡터 I, 그리고 참조 벡터 "
+"Nref. 만약 I와 Nrefê°€ 0ì˜ ë²¡í„°ê³±ì´ 0보다 작다면 ë°˜í™˜ê°’ì€ Nì´ ë˜ìš”. 그렇지 않"
+"으면 -Nì´ ë°˜í™˜ë˜ê³ ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr "ë²¡í„°ì˜ ê¸¸ì´ë¥¼ 계산합니다."
+msgstr "ë²¡í„°ì˜ ê¸¸ì´ë¥¼ 계산해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
msgstr "ë‘ ë²¡í„° ê°„ì˜ ì„ í˜• ë³´ê°„."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "ë‘ ë²¡í„° ê°„ì˜ ì„ í˜• ë³´ê°„."
+msgstr "스칼ë¼ë¥¼ 사용하 ë‘ ë²¡í„° ê°„ì˜ ì„ í˜• ë³´ê°„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr "ë²¡í„°ì˜ ë…¸ë©€ ê°’ì„ ê³„ì‚°í•©ë‹ˆë‹¤."
+msgstr "ë²¡í„°ì˜ ë…¸ë©€ ê°’ì„ ê³„ì‚°í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
@@ -8564,14 +8698,13 @@ msgid ""
"Returns the vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
msgstr ""
-"반사 ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 반환합니다 (a : ì¸ì‹œë˜íЏ 벡터, b : 노멀 벡터)."
+"반사 ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 반환해요 (a : ì¸ì‹œë˜íЏ 벡터, b : 노멀 벡터)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the vector that points in the direction of refraction."
-msgstr "반사 ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 반환합니다."
+msgstr "반사 ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 반환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8581,12 +8714,10 @@ msgid ""
msgstr ""
"SmoothStep 함수( 벡터(edge0), 벡터(edge1), 벡터(x) ).\n"
"\n"
-"'x'ê°€ 'edge0'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  'x'ê°€ 'edge1'보다 í¬ë©´ 1.0ì„ ë°˜í™˜í•©ë‹ˆ"
-"다. 그렇지 않으면 반환 ê°’ì€ ì—르미트 다항ì‹ì„ 통해 0.0ê³¼ 1.0 사ì´ë¡œ ë³´ê°„ë©ë‹ˆ"
-"다."
+"'x'ê°€ 'edge0'보다 작으면 0.0ì„, 'x'ê°€ 'edge1'보다 í¬ë©´ 1.0ì„ ë°˜í™˜í•´ìš”. 그렇"
+"ì§€ ì•Šì€ ê²½ìš° ì—르미트 다항ì‹ìœ¼ë¡œ ë°˜í™˜ê°’ì„ 0.0ê³¼ 1.0 사ì´ë¡œ ë³´ê°„í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8596,12 +8727,10 @@ msgid ""
msgstr ""
"SmoothStep 함수( 스칼ë¼(edge0), 스칼ë¼(edge1), 벡터(x) ).\n"
"\n"
-"'x'ê°€ 'edge0'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  'x'ê°€ 'edge1'보다 í¬ë©´ 1.0ì„ ë°˜í™˜í•©ë‹ˆ"
-"다. 그렇지 않으면 반환 ê°’ì€ ì—르미트 다항ì‹ì„ 통해 0.0ê³¼ 1.0 사ì´ë¡œ ë³´ê°„ë©ë‹ˆ"
-"다."
+"'x'ê°€ 'edge0'보다 작으면 0.0ì„, 'x'ê°€ 'edge1'보다 í¬ë©´ 1.0ì„ ë°˜í™˜í•´ìš”. 그렇"
+"ì§€ ì•Šì€ ê²½ìš° ì—르미트 다항ì‹ìœ¼ë¡œ ë°˜í™˜ê°’ì„ 0.0ê³¼ 1.0 사ì´ë¡œ ë³´ê°„í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8609,10 +8738,9 @@ msgid ""
msgstr ""
"Step 함수( 벡터(edge), 벡터(x) ).\n"
"\n"
-"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  그렇지 않으면 1.0ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³ , 그렇지 ì•Šì€ ê²½ìš° 1.0ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8620,27 +8748,27 @@ msgid ""
msgstr ""
"Step 함수( 스칼ë¼(edge), 벡터(x) ).\n"
"\n"
-"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  그렇지 않으면 1.0ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³ , 그렇지 ì•Šì€ ê²½ìš° 1.0ì„ ë°˜í™˜í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr "ë²¡í„°ì— ë²¡í„°ë¥¼ ë”합니다."
+msgstr "ë²¡í„°ì— ë²¡í„°ë¥¼ ë”í•´ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr "벡터를 벡터로 나눕니다."
+msgstr "벡터를 벡터로 나누어요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr "벡터를 벡터로 곱합니다."
+msgstr "벡터를 벡터로 곱해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr "ë‘ ë²¡í„°ì˜ ë‚˜ë¨¸ì§€ë¥¼ 반환합니다."
+msgstr "ë‘ ë²¡í„°ì˜ ë‚˜ë¨¸ì§€ë¥¼ 반환해요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr "벡터ì—서 벡터를 ëºë‹ˆë‹¤."
+msgstr "벡터ì—서 벡터를 빼요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vector constant."
@@ -8656,17 +8784,17 @@ msgid ""
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
-"커스텀 Godot ì…°ì´ë” 언어 명령문으로, 커스텀 ìž…ë ¥ ë° ì¶œë ¥ í¬íŠ¸ê°€ 있습니다. 버"
-"í…스/프래그먼트/조명 í•¨ìˆ˜ì— ì§ì ‘ 코드를 넣는 것ì´ë¯€ë¡œ, 코드 ë‚´ì— í•¨ìˆ˜ ì„ ì–¸ì„ "
-"ì ëŠ” ìš©ë„로 ì“°ì§€ 마세요."
+"맞춤 ìž…ë ¥ ë° ì¶œë ¥ í¬íŠ¸ë¡œ ì´ë£¨ì–´ì§„, 맞춤 Godot ì…°ì´ë” 언어 명령문. ê¼­ì§“ì /프래"
+"그먼트/조명 í•¨ìˆ˜ì— ì§ì ‘ 코드를 넣는 것ì´ë¯€ë¡œ 코드 ë‚´ì— í•¨ìˆ˜ ì„ ì–¸ì„ ìž‘ì„±í•˜ëŠ” "
+"ìš©ë„로 ì“°ì§€ 마세요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
-"ì¹´ë©”ë¼ì˜ 화면 방향과 표면 ë…¸ë©€ì˜ ìŠ¤ì¹¼ë¼ê³±ì„ 기반으로 하는 í´ì˜¤í”„를 반환합니"
-"다 (í´ì˜¤í”„와 ê´€ë ¨ëœ ìž…ë ¥ì„ ì „ë‹¬í•¨)."
+"ì¹´ë©”ë¼ì˜ 화면 방향과 표면 ë…¸ë©€ì˜ ìŠ¤ì¹¼ë¼ê³±ì„ 기반으로 하는 í´ì˜¤í”„를 반환해요 "
+"(í´ì˜¤í”„와 ê´€ë ¨ëœ ìž…ë ¥ì„ ì „ë‹¬í•¨)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8674,6 +8802,9 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"ê²°ê³¼ ì…°ì´ë” ìœ„ì— ë°°ì¹˜ëœ, 맞춤 Godot ì…°ì´ë” 언어 명령문. 다양한 함수 ì„ ì–¸ì„ ë†“"
+"ì€ ë’¤ ë‚˜ì¤‘ì— ëª…ë ¹ë¬¸ì—서 호출할 수 있어요. 변화, 유니í¼, ìƒìˆ˜ë„ ì •ì˜í•  수 있어"
+"ìš”."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -8727,7 +8858,7 @@ msgstr "비주얼 ì…°ì´ë”"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Edit Visual Property"
-msgstr "비주얼 ì†ì„± 편집"
+msgstr "비주얼 ì†ì„± 편집하기"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Visual Shader Mode Changed"
@@ -8739,19 +8870,19 @@ msgstr "실행가능"
#: editor/project_export.cpp
msgid "Delete patch '%s' from list?"
-msgstr "'%s'ì„(를) 패치 목ë¡ì—서 삭제하시겠습니까?"
+msgstr "'%s'ì„(를) 패치 목ë¡ì—서 삭제할까요?"
#: editor/project_export.cpp
msgid "Delete preset '%s'?"
-msgstr "'%s' í”„ë¦¬ì…‹ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "'%s' í”„ë¦¬ì…‹ì„ ì‚­ì œí• ê¹Œìš”?"
#: editor/project_export.cpp
msgid ""
"Failed to export the project for platform '%s'.\n"
"Export templates seem to be missing or invalid."
msgstr ""
-"'%s' 플랫í¼ì— 프로ì íŠ¸ë¥¼ 내보낼 수 없습니다.\n"
-"내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ 올바르지 않습니다."
+"'%s' 플랫í¼ì— 프로ì íŠ¸ë¥¼ 내보낼 수 없어요.\n"
+"내보내기 í…œí”Œë¦¿ì´ ëˆ„ë½ë˜ê±°ë‚˜ ìž˜ëª»ëœ ë“¯ í•´ìš”."
#: editor/project_export.cpp
msgid ""
@@ -8759,12 +8890,12 @@ msgid ""
"This might be due to a configuration issue in the export preset or your "
"export settings."
msgstr ""
-"'%s' 플랫í¼ì— 프로ì íŠ¸ë¥¼ 내보낼 수 없습니다.\n"
-"내보내기 프리셋ì´ë‚˜ 내보내기 ì„¤ì •ì˜ êµ¬ì„± 문제가 ì›ì¸ìœ¼ë¡œ 보입니다."
+"'%s' 플랫í¼ì— 프로ì íŠ¸ë¥¼ 내보낼 수 없어요.\n"
+"내보내기 프리셋ì´ë‚˜ 내보내기 설정 ìƒì˜ 문제 ë•Œë¬¸ì¸ ê²ƒ 같아요."
#: editor/project_export.cpp
msgid "Release"
-msgstr "ë°°í¬"
+msgstr "출시"
#: editor/project_export.cpp
msgid "Exporting All"
@@ -8772,11 +8903,11 @@ msgstr "ëª¨ë‘ ë‚´ë³´ë‚´ê¸°"
#: editor/project_export.cpp
msgid "The given export path doesn't exist:"
-msgstr "주어진 내보내기 경로가 존재하지 않습니다:"
+msgstr "주어진 내보내기 경로가 ì—†ìŒ:"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing/corrupted:"
-msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ ì†ìƒë¨:"
+msgstr "ì´ í”Œëž«í¼ì˜ 내보내기 í…œí”Œë¦¿ì´ ëˆ„ë½ë¨/ì†ìƒë¨:"
#: editor/project_export.cpp
msgid "Presets"
@@ -8784,7 +8915,7 @@ msgstr "프리셋"
#: editor/project_export.cpp editor/project_settings_editor.cpp
msgid "Add..."
-msgstr "추가..."
+msgstr "추가하기..."
#: editor/project_export.cpp
msgid "Export Path"
@@ -8800,11 +8931,11 @@ msgstr "프로ì íŠ¸ì˜ ëª¨ë“  리소스 내보내기"
#: editor/project_export.cpp
msgid "Export selected scenes (and dependencies)"
-msgstr "ì„ íƒëœ 씬 내보내기 (종ì†ëœ 리소스 í¬í•¨)"
+msgstr "ì„ íƒí•œ 씬 내보내기 (종ì†ëœ 리소스 í¬í•¨)"
#: editor/project_export.cpp
msgid "Export selected resources (and dependencies)"
-msgstr "ì„ íƒëœ 리소스 내보내기 (종ì†ëœ 리소스 í¬í•¨)"
+msgstr "ì„ íƒí•œ 리소스 내보내기 (종ì†ëœ 리소스 í¬í•¨)"
#: editor/project_export.cpp
msgid "Export Mode:"
@@ -8817,12 +8948,12 @@ msgstr "내보낼 리소스:"
#: editor/project_export.cpp
msgid ""
"Filters to export non-resource files (comma separated, e.g: *.json, *.txt)"
-msgstr "리소스가 아닌 íŒŒì¼ ë‚´ë³´ë‚´ê¸° í•„í„° (콤마로 구분, 예: *.json, *.txt)"
+msgstr "리소스가 아닌 íŒŒì¼ ë‚´ë³´ë‚´ê¸° í•„í„° (쉼표로 구분, 예: *.json, *.txt)"
#: editor/project_export.cpp
msgid ""
"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)"
-msgstr "프로ì íЏì—서 제외시킬 íŒŒì¼ í•„í„° (콤마로 구분, 예: *.json, *.txt)"
+msgstr "프로ì íЏì—서 제외시킬 íŒŒì¼ í•„í„° (쉼표로 구분, 예: *.json, *.txt)"
#: editor/project_export.cpp
msgid "Patches"
@@ -8838,7 +8969,7 @@ msgstr "기능"
#: editor/project_export.cpp
msgid "Custom (comma-separated):"
-msgstr "커스텀 (쉼표로 구분):"
+msgstr "맞춤 (쉼표로 구분):"
#: editor/project_export.cpp
msgid "Feature List:"
@@ -8858,7 +8989,7 @@ msgstr "í…스트"
#: editor/project_export.cpp
msgid "Compiled"
-msgstr "컴파ì¼"
+msgstr "컴파ì¼ë¨"
#: editor/project_export.cpp
msgid "Encrypted (Provide Key Below)"
@@ -8866,11 +8997,11 @@ msgstr "암호화 (ì•„ëž˜ì— í‚¤ê°’ í•„ìš”)"
#: editor/project_export.cpp
msgid "Invalid Encryption Key (must be 64 characters long)"
-msgstr "올바르지 ì•Šì€ ì•”í˜¸í™” 키 (64ìž ê¸¸ì´ì–´ì•¼ 함)"
+msgstr "ìž˜ëª»ëœ ì•”í˜¸í™” 키 (64ìž ê¸¸ì´ì—¬ì•¼ 함)"
#: editor/project_export.cpp
msgid "Script Encryption Key (256-bits as hex):"
-msgstr "스í¬ë¦½íЏ 암호 키 (256-비트를 hex í¬ë©§ìœ¼ë¡œ):"
+msgstr "스í¬ë¦½íЏ 암호화 키 (256-비트를 hex 형ì‹ìœ¼ë¡œ):"
#: editor/project_export.cpp
msgid "Export PCK/Zip"
@@ -8898,13 +9029,12 @@ msgstr "디버그와 함께 내보내기"
#: editor/project_manager.cpp
msgid "The path does not exist."
-msgstr "경로가 존재하지 않습니다."
+msgstr "경로가 없어요."
#: editor/project_manager.cpp
msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
-"올바르지 ì•Šì€ '.zip' 프로ì íЏ 파ì¼, 'project.godot' 파ì¼ì„ í¬í•¨í•˜ì§€ 않고 있습"
-"니다."
+"ìž˜ëª»ëœ '.zip' 프로ì íЏ 파ì¼ì´ì—ìš”, 'project.godot' 파ì¼ì„ ê°–ê³  있지 않아요."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
@@ -8912,11 +9042,11 @@ msgstr "비어있는 í´ë”를 ì„ íƒí•˜ì„¸ìš”."
#: editor/project_manager.cpp
msgid "Please choose a 'project.godot' or '.zip' file."
-msgstr "'project.godot' íŒŒì¼ ì´ë‚˜ '.zip' 파ì¼ì„ ì„ íƒí•˜ì„¸ìš”."
+msgstr "'project.godot' íŒŒì¼ ë˜ëŠ” '.zip' 파ì¼ì„ ì„ íƒí•˜ì„¸ìš”."
#: editor/project_manager.cpp
msgid "Directory already contains a Godot project."
-msgstr "ë””ë ‰í† ë¦¬ì— Godot 프로ì íŠ¸ê°€ ì´ë¯¸ 있습니다."
+msgstr "ë””ë ‰í† ë¦¬ì— Godot 프로ì íŠ¸ê°€ ì´ë¯¸ 있어요."
#: editor/project_manager.cpp
msgid "New Game Project"
@@ -8928,47 +9058,47 @@ msgstr "가져온 프로ì íЏ"
#: editor/project_manager.cpp
msgid "Invalid Project Name."
-msgstr "ì¸ì‹í• ìˆ˜ 없는 프로ì íЏ 명입니다."
+msgstr "ìž˜ëª»ëœ í”„ë¡œì íЏ ì´ë¦„."
#: editor/project_manager.cpp
msgid "Couldn't create folder."
-msgstr "í´ë”를 만들 수 없습니다."
+msgstr "í´ë”를 만들 수 없어요."
#: editor/project_manager.cpp
msgid "There is already a folder in this path with the specified name."
-msgstr "ì´ë¯¸ ì§€ì •ëœ ì´ë¦„ì˜ ê²½ë¡œë¥¼ 가진 í´ë”입니다."
+msgstr "ì´ë¯¸ ì´ ê²½ë¡œì— ì´ ì´ë¦„ê³¼ ê°™ì€ í´ë”ê°€ 있어요."
#: editor/project_manager.cpp
msgid "It would be a good idea to name your project."
-msgstr "프로ì íЏ ì´ë¦„ì„ ì •í•˜ëŠ” ê²ƒì„ ê¶Œí•©ë‹ˆë‹¤."
+msgstr "프로ì íЏ ì´ë¦„ì„ ì •í•˜ëŠ” 게 ì¢‹ì„ ê±°ì—ìš”."
#: editor/project_manager.cpp
msgid "Invalid project path (changed anything?)."
-msgstr "올바르지 ì•Šì€ í”„ë¡œì íЏ 경로 (뭔가 변경하신 ê±°ë¼ë„?)."
+msgstr "ìž˜ëª»ëœ í”„ë¡œì íЏ 경로 (프로ì íŠ¸ì— ì†ëŒ€ì…¨ë‚˜ìš”?)."
#: editor/project_manager.cpp
msgid ""
"Couldn't load project.godot in project path (error %d). It may be missing or "
"corrupted."
msgstr ""
-"프로ì íЏ 경로로부터 project.godot 파ì¼ì„ 불러올 수 없습니다 (오류 %d). 존재하"
-"ì§€ 않거나 ì†ìƒë˜ì—ˆì„ 수 있습니다."
+"프로ì íЏ 경로ì—서 project.godotì„ ë¶ˆëŸ¬ì˜¬ 수 없어요 (오류 %d). 누ë½ë˜ê±°ë‚˜ ì†ìƒ"
+"ë˜ì—ˆë‚˜ ë´ìš”."
#: editor/project_manager.cpp
msgid "Couldn't edit project.godot in project path."
-msgstr "프로ì íЏ ê²½ë¡œì— project.godot 파ì¼ì„ 편집할 수 없습니다."
+msgstr "프로ì íЏ 경로ì—서 project.godot 파ì¼ì„ 편집할 수 없어요."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
-msgstr "프로ì íЏ ê²½ë¡œì— project.godot 파ì¼ì„ ìƒì„±í•  수 없습니다."
+msgstr "프로ì íЏ 경로ì—서 project.godot 파ì¼ì„ ìƒì„±í•  수 없어요."
#: editor/project_manager.cpp
msgid "The following files failed extraction from package:"
-msgstr "다ìŒì˜ 파ì¼ë“¤ì„ 패키지로부터 ì¶”ì¶œí•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤:"
+msgstr "ë‹¤ìŒ íŒŒì¼ì„ 패키지ì—서 ì¶”ì¶œí•˜ëŠ”ë° ì‹¤íŒ¨í•¨:"
#: editor/project_manager.cpp
msgid "Rename Project"
-msgstr "프로ì íЏ ì´ë¦„ 변경"
+msgstr "프로ì íЏ ì´ë¦„ 바꾸기"
#: editor/project_manager.cpp
msgid "Import Existing Project"
@@ -8976,7 +9106,7 @@ msgstr "기존 프로ì íЏ 가져오기"
#: editor/project_manager.cpp
msgid "Import & Edit"
-msgstr "가져오기 & 편집"
+msgstr "가져오기 & 편집하기"
#: editor/project_manager.cpp
msgid "Create New Project"
@@ -8984,7 +9114,7 @@ msgstr "새 프로ì íЏ 만들기"
#: editor/project_manager.cpp
msgid "Create & Edit"
-msgstr "ìƒì„± & 편집"
+msgstr "만들기 & 편집하기"
#: editor/project_manager.cpp
msgid "Install Project:"
@@ -8992,11 +9122,11 @@ msgstr "프로ì íЏ 설치:"
#: editor/project_manager.cpp
msgid "Install & Edit"
-msgstr "설치 & 편집"
+msgstr "설치 & 편집하기"
#: editor/project_manager.cpp
msgid "Project Name:"
-msgstr "프로ì íЏ 명:"
+msgstr "프로ì íЏ ì´ë¦„:"
#: editor/project_manager.cpp
msgid "Project Path:"
@@ -9044,28 +9174,27 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Renderer can be changed later, but scenes may need to be adjusted."
-msgstr "ë Œë”러는 ë‚˜ì¤‘ì— ë°”ê¿€ 수 있지만, ì”¬ì„ ì¡°ì •í•´ì•¼ í•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤."
+msgstr "ë Œë”러는 ë‚˜ì¤‘ì— ë°”ê¿€ 수 있지만, ì”¬ì„ ì¡°ì •í•´ì•¼ í• ì§€ë„ ëª°ë¼ìš”."
#: editor/project_manager.cpp
msgid "Unnamed Project"
-msgstr "ì´ë¦„없는 프로ì íЏ"
+msgstr "ì´ë¦„ 없는 프로ì íЏ"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "기존 프로ì íЏ 가져오기"
+msgstr "누ë½ëœ 프로ì íЏ"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "오류: 프로ì íŠ¸ê°€ íŒŒì¼ ì‹œìŠ¤í…œì—서 누ë½ë˜ì—ˆì–´ìš”."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
-msgstr "'%s'ì—서 프로ì íŠ¸ë¥¼ ì—´ 수 ì—†ìŒ."
+msgstr "'%s'ì—서 프로ì íŠ¸ë¥¼ ì—´ 수 없어요."
#: editor/project_manager.cpp
msgid "Are you sure to open more than one project?"
-msgstr "ë‘ê°œ ì´ìƒì˜ 프로ì íŠ¸ë¥¼ 열려는 ê²ƒì´ í™•ì‹¤í•©ë‹ˆê¹Œ?"
+msgstr "ë‘ ê°œ ì´ìƒì˜ 프로ì íŠ¸ë¥¼ 여는 건가요?"
#: editor/project_manager.cpp
msgid ""
@@ -9079,12 +9208,12 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"ë‹¤ìŒ í”„ë¡œì íЏ 설정 파ì¼ì€ 현재 ë²„ì „ì˜ Godotì—서 ìƒì„±í•œ ê²ƒì´ ì•„ë‹™ë‹ˆë‹¤.\n"
+"ë‹¤ìŒ í”„ë¡œì íЏ 설정 파ì¼ì€ 현재 ë²„ì „ì˜ Godotì—서 만든 ê²ƒì´ ì•„ë‹ˆë„¤ìš”.\n"
"↵\n"
"%s↵\n"
"↵\n"
-"파ì¼ì„ 연다면, 현재 Godotì˜ êµ¬ì„± íŒŒì¼ í˜•ì‹ìœ¼ë¡œ 변환ë©ë‹ˆë‹¤.\n"
-"경고: ë” ì´ìƒ ì´ í”„ë¡œì íŠ¸ë¥¼ ì´ì „ ë²„ì „ì˜ ì—”ì§„ì—서 ì—´ 수 없게 ë©ë‹ˆë‹¤."
+"íŒŒì¼ ì—´ê¸°ë¥¼ 계ì†í•œë‹¤ë©´, 현재 Godotì˜ êµ¬ì„± íŒŒì¼ í˜•ì‹ìœ¼ë¡œ ë³€í™˜ë  ê±°ì—ìš”.\n"
+"경고: ë” ì´ìƒ ì´ í”„ë¡œì íŠ¸ë¥¼ ì´ì „ ë²„ì „ì˜ ì—”ì§„ì—서 ì—´ 수 ì—†ì„ ê±°ì—ìš”."
#: editor/project_manager.cpp
msgid ""
@@ -9097,21 +9226,20 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"다ìŒì˜ 프로ì íЏ 설정 파ì¼ì€ ì´ì „ 버전ì—서 ìƒì„±ëœ 것으로, 현재 ë²„ì „ì— ë§žê²Œ ë³€"
-"환해야 합니다:\n"
+"ë‹¤ìŒ í”„ë¡œì íЏ 설정 파ì¼ì€ ì´ì „ ë²„ì „ì— ë§Œë“  것으로, 현재 ë²„ì „ì— ë§žê²Œ 변환해야 "
+"í•´ìš”:\n"
"\n"
"%s\n"
"\n"
-"변환하시겠습니까?\n"
-"경고: ë” ì´ìƒ ì´ í”„ë¡œì íŠ¸ë¥¼ ì´ì „ ë²„ì „ì˜ ì—”ì§„ì—서 ì—´ 수 없게 ë©ë‹ˆë‹¤."
+"변환할까요?\n"
+"경고: ë” ì´ìƒ ì´ í”„ë¡œì íŠ¸ë¥¼ ì´ì „ ë²„ì „ì˜ ì—”ì§„ì—서 ì—´ 수 ì—†ì„ ê±°ì—ìš”."
#: editor/project_manager.cpp
msgid ""
"The project settings were created by a newer engine version, whose settings "
"are not compatible with this version."
msgstr ""
-"새로운 ë²„ì „ì˜ ì—”ì§„ìœ¼ë¡œ 프로ì íЏ ì„¤ì •ì´ ìƒì„±ë˜ì—ˆìŠµë‹ˆë‹¤, ì´ ë²„ì „ì—서는 호환ë˜"
-"지 않습니다."
+"프로ì íЏ ì„¤ì •ì´ ìƒˆ ë²„ì „ì— ë§žê²Œ 만들어졌어요, ì´ ë²„ì „ì—서는 호환하지 않아요."
#: editor/project_manager.cpp
msgid ""
@@ -9119,69 +9247,67 @@ msgid ""
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
-"프로ì íŠ¸ë¥¼ 실행할 수 없습니다: ë©”ì¸ ì”¬ì´ ì§€ì •ë˜ì§€ 않았습니다.\n"
-"프로ì íŠ¸ë¥¼ 편집하고 프로ì íЏ ì„¤ì •ì˜ \"Application\" 카테고리ì—서 ë©”ì¸ ì”¬ì„ ì„¤"
-"정하세요."
+"프로ì íŠ¸ë¥¼ 실행할 수 ì—†ìŒ: 기본 ì”¬ì„ ì •ì˜í•˜ì§€ 않았어요.\n"
+"프로ì íŠ¸ë¥¼ 편집하고 프로ì íЏ ì„¤ì •ì˜ \"Application\" 카테고리ì—서 기본 ì”¬ì„ ì„¤"
+"정해주세요."
#: 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 ""
-"프로ì íЏ 실행 불가: ì• ì…‹ë“¤ì„ ê°€ì ¸ì™€ì•¼ 합니다.\n"
-"프로ì íŠ¸ë¥¼ 편집하여 최초 가져오기가 실행ë˜ë„ë¡ í•˜ì„¸ìš”."
+"프로ì íŠ¸ë¥¼ 실행할 수 ì—†ìŒ: ì• ì…‹ì„ ê°€ì ¸ì™€ì•¼ í•´ìš”.\n"
+"프로ì íŠ¸ë¥¼ 편집해서 최초 가져오기가 실행ë˜ë„ë¡ í•˜ì„¸ìš”."
#: editor/project_manager.cpp
msgid "Are you sure to run %d projects at once?"
-msgstr "한 ë²ˆì— %dê°œì˜ í”„ë¡œì íŠ¸ë¥¼ 실행하시겠습니까?"
+msgstr "한 ë²ˆì— %dê°œì˜ í”„ë¡œì íŠ¸ë¥¼ 실행할까요?"
#: editor/project_manager.cpp
msgid ""
"Remove %d projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"%dê°œì˜ í”„ë¡œì íŠ¸ë¥¼ 삭제하시겠습니까?\n"
-"프로ì íЏ í´ë”ì˜ ë‚´ìš©ì€ ìˆ˜ì •ë˜ì§€ 않습니다."
+"%dê°œì˜ í”„ë¡œì íŠ¸ë¥¼ 삭제할까요?\n"
+"프로ì íЏ í´ë”ì˜ ë‚´ìš©ì€ ìˆ˜ì •ë˜ì§€ 않아요."
#: editor/project_manager.cpp
msgid ""
"Remove this project from the list?\n"
"The project folder's contents won't be modified."
msgstr ""
-"ì´ í”„ë¡œì íŠ¸ë¥¼ 목ë¡ì—서 삭제하시겠습니까?\n"
-"프로ì íЏ í´ë”ì˜ ë‚´ìš©ì€ ìˆ˜ì •ë˜ì§€ 않습니다."
+"ì´ í”„ë¡œì íŠ¸ë¥¼ 목ë¡ì—서 삭제할까요?\n"
+"프로ì íЏ í´ë”ì˜ ë‚´ìš©ì€ ìˆ˜ì •ë˜ì§€ 않아요."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"%dê°œì˜ í”„ë¡œì íŠ¸ë¥¼ 삭제하시겠습니까?\n"
-"프로ì íЏ í´ë”ì˜ ë‚´ìš©ì€ ìˆ˜ì •ë˜ì§€ 않습니다."
+"%dê°œì˜ í”„ë¡œì íŠ¸ë¥¼ 삭제할까요?\n"
+"프로ì íЏ í´ë”ì˜ ë‚´ìš©ì€ ìˆ˜ì •ë˜ì§€ 않아요."
#: editor/project_manager.cpp
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
-"언어가 변경ë˜ì—ˆìŠµë‹ˆë‹¤.\n"
-"ì¸í„°íŽ˜ì´ìŠ¤ëŠ” 편집기나 프로ì íЏ 매니저를 재시작할 때 ì—…ë°ì´íЏë©ë‹ˆë‹¤."
+"언어가 바뀌었어요.\n"
+"ì¸í„°íŽ˜ì´ìŠ¤ëŠ” 편집기나 프로ì íЏ 매니저를 다시 켜면 ì ìš©ë¼ìš”."
#: editor/project_manager.cpp
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
msgstr ""
-"Godot 프로ì íŠ¸ê°€ 있는지 %s í´ë”를 스캔하시겠습니까?\n"
-"약간 ì‹œê°„ì´ ê±¸ë¦´ 수 있습니다."
+"Godot 프로ì íŠ¸ë¥¼ 확ì¸í•˜ê¸° 위해 %s í´ë”를 스캔할까요?\n"
+"ì‹œê°„ì´ ê±¸ë¦´ 수 있어요."
#: editor/project_manager.cpp
msgid "Project Manager"
msgstr "프로ì íЏ 매니저"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
msgstr "프로ì íЏ"
@@ -9199,7 +9325,7 @@ msgstr "새 프로ì íЏ"
#: editor/project_manager.cpp
msgid "Remove Missing"
-msgstr "누ë½ëœ 부분 ì‚­ì œ"
+msgstr "누ë½ëœ 부분 삭제하기"
#: editor/project_manager.cpp
msgid "Templates"
@@ -9218,8 +9344,8 @@ msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
-"현재 프로ì íŠ¸ê°€ í•˜ë‚˜ë„ ì—†ìŠµë‹ˆë‹¤.\n"
-"ì• ì…‹ ë¼ì´ë¸ŒëŸ¬ë¦¬ì—서 ê³µì‹ ì˜ˆì œ 프로ì íŠ¸ë¥¼ 찾아보시겠습니까?"
+"현재 프로ì íŠ¸ê°€ í•˜ë‚˜ë„ ì—†ë„¤ìš”.\n"
+"ì• ì…‹ ë¼ì´ë¸ŒëŸ¬ë¦¬ì—서 ê³µì‹ ì˜ˆì œ 프로ì íŠ¸ë¥¼ 찾아볼까요?"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -9242,24 +9368,23 @@ msgid ""
"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
msgstr ""
-"올바르지 ì•Šì€ ì•¡ì…˜ ì´ë¦„. 공백ì´ê±°ë‚˜, '/' , ':', '=', '\\', '\"' 를 í¬í•¨í•˜ë©´ "
-"안 ë©ë‹ˆë‹¤"
+"ìž˜ëª»ëœ ì•¡ì…˜ ì´ë¦„. 공백ì´ê±°ë‚˜, '/' , ':', '=', '\\', '\"' 를 í¬í•¨í•˜ë©´ 안 ë¼ìš”"
#: editor/project_settings_editor.cpp
msgid "An action with the name '%s' already exists."
-msgstr "ì´ë¦„ '%s'ì„(를) 가진 ì•¡ì…˜ì´ ì´ë¯¸ 존재합니다."
+msgstr "ì´ë¦„ '%s'ì„(를) 가진 ì•¡ì…˜ì´ ì´ë¯¸ 있어요."
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
-msgstr "ìž…ë ¥ 앱션 ì´ë²¤íЏ ì´ë¦„ 변경"
+msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ ì´ë¦„ 바꾸기"
#: editor/project_settings_editor.cpp
msgid "Change Action deadzone"
-msgstr "ì•¡ì…˜ ë°ë“œ ì¡´ 변경"
+msgstr "ì•¡ì…˜ ë°ë“œì¡´ 바꾸기"
#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
-msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ 추가"
+msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ 추가하기"
#: editor/project_settings_editor.cpp
msgid "All Devices"
@@ -9343,11 +9468,11 @@ msgstr "입력 액션 지우기"
#: editor/project_settings_editor.cpp
msgid "Erase Input Action Event"
-msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ ì‚­ì œ"
+msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ 삭제하기"
#: editor/project_settings_editor.cpp
msgid "Add Event"
-msgstr "ì´ë²¤íЏ 추가"
+msgstr "ì´ë²¤íЏ 추가하기"
#: editor/project_settings_editor.cpp
msgid "Button"
@@ -9375,7 +9500,7 @@ msgstr "휠 아래로."
#: editor/project_settings_editor.cpp
msgid "Add Global Property"
-msgstr "글로벌 ì†ì„± 추가"
+msgstr "ì „ì—­ ì†ì„± 추가하기"
#: editor/project_settings_editor.cpp
msgid "Select a setting item first!"
@@ -9383,27 +9508,26 @@ msgstr "먼저 설정 í•­ëª©ì„ ì„ íƒí•˜ì„¸ìš”!"
#: editor/project_settings_editor.cpp
msgid "No property '%s' exists."
-msgstr "'%s' ì†ì„±ì´ 존재하지 않습니다."
+msgstr "'%s' ì†ì„±ì´ 없어요."
#: editor/project_settings_editor.cpp
msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr "'%s' ì„¤ì •ì€ ë‚´ë¶€ì ì¸ 것입니다, 삭제할 수 없습니다."
+msgstr "'%s' ì„¤ì •ì€ ë‚´ë¶€ì ì¸ 것ì´ê³ , 삭제할 수 없어요."
#: editor/project_settings_editor.cpp
msgid "Delete Item"
-msgstr "ì•„ì´í…œ ì‚­ì œ"
+msgstr "항목 삭제하기"
#: editor/project_settings_editor.cpp
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'."
msgstr ""
-"ì¸ì‹í• ìˆ˜ 없는 ì•¡ì…˜ ì´ë¦„입니다. 공백ì´ê±°ë‚˜, '/' , ':', '=', '\\', '\"' ê°€ í¬í•¨"
-"ë˜ë©´ 안 ë©ë‹ˆë‹¤."
+"ìž˜ëª»ëœ ì•¡ì…˜ ì´ë¦„. 공백ì´ê±°ë‚˜, '/' , ':', '=', '\\', '\"'를 í¬í•¨í•˜ë©´ 안 ë¼ìš”."
#: editor/project_settings_editor.cpp
msgid "Add Input Action"
-msgstr "입력 액션 추가"
+msgstr "입력 액션 추가하기"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
@@ -9414,36 +9538,41 @@ msgid "Settings saved OK."
msgstr "설정 저장 완료."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ 추가하기"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "기능 재정ì˜"
#: editor/project_settings_editor.cpp
msgid "Add Translation"
-msgstr "번역 추가"
+msgstr "번역 추가하기"
#: editor/project_settings_editor.cpp
msgid "Remove Translation"
-msgstr "번역 삭제"
+msgstr "번역 삭제하기"
#: editor/project_settings_editor.cpp
msgid "Add Remapped Path"
-msgstr "리맵핑 경로 추가"
+msgstr "리맵핑 경로 추가하기"
#: editor/project_settings_editor.cpp
msgid "Resource Remap Add Remap"
-msgstr "리소스 리맵핑 추가"
+msgstr "리소스 리맵핑 추가하기"
#: editor/project_settings_editor.cpp
msgid "Change Resource Remap Language"
-msgstr "리소스 리맵핑 언어 변경"
+msgstr "리소스 리맵핑 언어 바꾸기"
#: editor/project_settings_editor.cpp
msgid "Remove Resource Remap"
-msgstr "리소스 리맵핑 삭제"
+msgstr "리소스 리맵핑 삭제하기"
#: editor/project_settings_editor.cpp
msgid "Remove Resource Remap Option"
-msgstr "리소스 리맵핑 옵션 삭제"
+msgstr "리소스 리맵핑 옵션 삭제하기"
#: editor/project_settings_editor.cpp
msgid "Changed Locale Filter"
@@ -9451,7 +9580,7 @@ msgstr "ë¡œì¼€ì¼ í•„í„° 변경ë¨"
#: editor/project_settings_editor.cpp
msgid "Changed Locale Filter Mode"
-msgstr "ë¡œì¼€ì¼ í•„í„° 모드 변경"
+msgstr "ë¡œì¼€ì¼ í•„í„° 모드 변경ë¨"
#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
@@ -9467,11 +9596,11 @@ msgstr "재정ì˜..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "The editor must be restarted for changes to take effect."
-msgstr "변경 ì‚¬í•­ì„ ì ìš©í•˜ë ¤ë©´ 편집기를 다시 실행해야 합니다."
+msgstr "변경 ì‚¬í•­ì„ ì ìš©í•˜ë ¤ë©´ 편집기를 다시 켜야 í•´ìš”."
#: editor/project_settings_editor.cpp
msgid "Input Map"
-msgstr "입력 설정"
+msgstr "ìž…ë ¥ ë§µ"
#: editor/project_settings_editor.cpp
msgid "Action:"
@@ -9483,7 +9612,7 @@ msgstr "ì•¡ì…˜"
#: editor/project_settings_editor.cpp
msgid "Deadzone"
-msgstr "ë°ë“œ ì¡´"
+msgstr "ë°ë“œì¡´"
#: editor/project_settings_editor.cpp
msgid "Device:"
@@ -9550,6 +9679,10 @@ msgid "Plugins"
msgstr "플러그ì¸"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "프리셋..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "등ì†"
@@ -9571,19 +9704,19 @@ msgstr "디렉토리..."
#: editor/property_editor.cpp
msgid "Assign"
-msgstr "할당"
+msgstr "지정하기"
#: editor/property_editor.cpp
msgid "Select Node"
-msgstr "노드 ì„ íƒ"
+msgstr "노드 ì„ íƒí•˜ê¸°"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
-msgstr "íŒŒì¼ ë¶ˆëŸ¬ì˜¤ê¸° 오류: 리소스가 아닙니다!"
+msgstr "íŒŒì¼ ë¶ˆëŸ¬ì˜¤ê¸° 오류: 리소스가 아니ì—ìš”!"
#: editor/property_editor.cpp
msgid "Pick a Node"
-msgstr "노드 ì„ íƒ"
+msgstr "노드 ì„ íƒí•˜ê¸°"
#: editor/property_editor.cpp
msgid "Bit %d, val %d."
@@ -9591,19 +9724,19 @@ msgstr "비트 %d, 값 %d."
#: editor/property_selector.cpp
msgid "Select Property"
-msgstr "ì†ì„± ì„ íƒ"
+msgstr "ì†ì„± ì„ íƒí•˜ê¸°"
#: editor/property_selector.cpp
msgid "Select Virtual Method"
-msgstr "ê°€ìƒ ë©”ì„œë“œ ì„ íƒ"
+msgstr "ê°€ìƒ ë©”ì„œë“œ ì„ íƒí•˜ê¸°"
#: editor/property_selector.cpp
msgid "Select Method"
-msgstr "메서드 ì„ íƒ"
+msgstr "메서드 ì„ íƒí•˜ê¸°"
#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
msgid "Batch Rename"
-msgstr "ì¼ê´„ ì´ë¦„ 변경"
+msgstr "ì¼ê´„ ì´ë¦„ 바꾸기"
#: editor/rename_dialog.cpp
msgid "Prefix"
@@ -9615,7 +9748,7 @@ msgstr "접미사"
#: editor/rename_dialog.cpp
msgid "Advanced Options"
-msgstr "고급 옵션"
+msgstr "고급 설정"
#: editor/rename_dialog.cpp
msgid "Substitute"
@@ -9631,7 +9764,7 @@ msgstr "ë…¸ë“œì˜ ë¶€ëª¨ ì´ë¦„ (사용 가능한 경우)"
#: editor/rename_dialog.cpp
msgid "Node type"
-msgstr "노드 타입"
+msgstr "노드 유형"
#: editor/rename_dialog.cpp
msgid "Current scene name"
@@ -9647,7 +9780,7 @@ msgid ""
"Compare counter options."
msgstr ""
"순차 정수 카운터.\n"
-"ì¹´ìš´í„° 설정과 비êµí•¨."
+"ì¹´ìš´í„° 설정과 비êµí•´ìš”."
#: editor/rename_dialog.cpp
msgid "Per Level counter"
@@ -9655,7 +9788,7 @@ msgstr "수준 별 카운터"
#: editor/rename_dialog.cpp
msgid "If set the counter restarts for each group of child nodes"
-msgstr "설정한다면 ê° ê·¸ë£¹ì˜ ìžì‹ ë…¸ë“œì— ëŒ€í•´ ì¹´ìš´í„°ê°€ 다시 시작ë©ë‹ˆë‹¤"
+msgstr "설정한다면 ê° ê·¸ë£¹ì˜ ìžì‹ ë…¸ë“œì˜ ì¹´ìš´í„°ë¥¼ 다시 시작해요"
#: editor/rename_dialog.cpp
msgid "Initial value for the counter"
@@ -9687,19 +9820,19 @@ msgstr "ì •ê·œ 표현ì‹"
#: editor/rename_dialog.cpp
msgid "Post-Process"
-msgstr "후 처리"
+msgstr "후처리"
#: editor/rename_dialog.cpp
msgid "Keep"
-msgstr "유지"
+msgstr "유지하기"
#: editor/rename_dialog.cpp
msgid "CamelCase to under_scored"
-msgstr "낙타 대문ìžë¥¼ 밑줄로"
+msgstr "CamelCase를 under_scored로 하기"
#: editor/rename_dialog.cpp
msgid "under_scored to CamelCase"
-msgstr "ë°‘ì¤„ì„ ë‚™íƒ€ 대문ìžë¡œ"
+msgstr "under_scored를 CamelCase로 하기"
#: editor/rename_dialog.cpp
msgid "Case"
@@ -9707,35 +9840,31 @@ msgstr "문ìž"
#: editor/rename_dialog.cpp
msgid "To Lowercase"
-msgstr "소문ìžë¡œ"
+msgstr "소문ìžë¡œ 하기"
#: editor/rename_dialog.cpp
msgid "To Uppercase"
-msgstr "대문ìžë¡œ"
+msgstr "대문ìžë¡œ 하기"
#: editor/rename_dialog.cpp
msgid "Reset"
-msgstr "리셋"
-
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "오류"
+msgstr "ë˜ëŒë¦¬ê¸°"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
-msgstr "부모 노드 재지정"
+msgstr "부모 노드 다시 지정하기"
#: editor/reparent_dialog.cpp
msgid "Reparent Location (Select new Parent):"
-msgstr "부모 노드 재지정 위치 (새 부모 노드를 ì„ íƒ):"
+msgstr "부모 노드 다시 지정 위치 (새 부모 노드를 ì„ íƒí•´ìš”):"
#: editor/reparent_dialog.cpp
msgid "Keep Global Transform"
-msgstr "글로벌 변형 유지"
+msgstr "전역 변형 유지하기"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent"
-msgstr "부모 재지정"
+msgstr "부모 다시 지정하기"
#: editor/run_settings_dialog.cpp
msgid "Run Mode:"
@@ -9747,11 +9876,11 @@ msgstr "현재 씬"
#: editor/run_settings_dialog.cpp
msgid "Main Scene"
-msgstr "ë©”ì¸ ì”¬"
+msgstr "기본 씬"
#: editor/run_settings_dialog.cpp
msgid "Main Scene Arguments:"
-msgstr "ë©”ì¸ ì”¬ ì¸ìˆ˜:"
+msgstr "기본 씬 ì¸ìˆ˜:"
#: editor/run_settings_dialog.cpp
msgid "Scene Run Settings"
@@ -9763,72 +9892,90 @@ msgstr "ì”¬ì„ ì¸ìŠ¤í„´ìŠ¤í•  수 있는 부모가 없습니다."
#: editor/scene_tree_dock.cpp
msgid "Error loading scene from %s"
-msgstr "%sì—서 씬 로딩 중 오류"
+msgstr "%sì—서 씬 불러오는 중 오류"
#: editor/scene_tree_dock.cpp
msgid ""
"Cannot instance the scene '%s' because the current scene exists within one "
"of its nodes."
-msgstr ""
-"한 ë…¸ë“œì— í˜„ìž¬ ì”¬ì´ ì¡´ìž¬í•˜ê¸° 때문ì—, '%s' ì”¬ì„ ì¸ìŠ¤í„´ìŠ¤ í•  수 없습니다."
+msgstr "한 ë…¸ë“œì— í˜„ìž¬ ì”¬ì´ ìžˆê¸° 때문ì—, '%s' ì”¬ì„ ì¸ìŠ¤í„´ìŠ¤í•  수 없어요."
#: editor/scene_tree_dock.cpp
msgid "Instance Scene(s)"
msgstr "씬 ì¸ìŠ¤í„´ìŠ¤"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "분기를 다른 씬으로 저장"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
-msgstr "ìžì‹ 씬 추가"
+msgstr "ìžì‹ 씬 추가하기"
#: editor/scene_tree_dock.cpp
msgid "Clear Script"
-msgstr "스í¬ë¦½íЏ ì‚­ì œ"
+msgstr "스í¬ë¦½íЏ 삭제하기"
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
-msgstr "ì´ ìž‘ì—…ì€ íŠ¸ë¦¬ 루트ì—서는 불가합니다."
+msgstr "ì´ ìž‘ì—…ì€ íŠ¸ë¦¬ 루트ì—서 í•  수 없어요."
#: editor/scene_tree_dock.cpp
msgid "Move Node In Parent"
-msgstr "노드를 부모 노드로 ì´ë™"
+msgstr "노드를 부모 노드로 ì´ë™í•˜ê¸°"
#: editor/scene_tree_dock.cpp
msgid "Move Nodes In Parent"
-msgstr "ë…¸ë“œë“¤ì„ ë¶€ëª¨ 노드로 ì´ë™"
+msgstr "ë…¸ë“œë“¤ì„ ë¶€ëª¨ 노드로 ì´ë™í•˜ê¸°"
#: editor/scene_tree_dock.cpp
msgid "Duplicate Node(s)"
-msgstr "노드 복제"
+msgstr "노드 복제하기"
#: editor/scene_tree_dock.cpp
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
msgstr ""
-"ìƒì†ëœ 씬ì—서 부모 노드를 다시 지정할 수 없습니다, ë…¸ë“œì˜ ìˆœì„œëŠ” 바꿀 수 없습"
-"니다."
+"ìƒì†í•œ 씬ì—서 ë…¸ë“œì˜ ë¶€ëª¨ë¥¼ 다시 지정할 수 없어요, 노드 순서는 바뀌지 않아요."
#: editor/scene_tree_dock.cpp
msgid "Node must belong to the edited scene to become root."
-msgstr "노드는 루트로 ë˜ë ¤ë©´ íŽ¸ì§‘ëœ ì”¬ì— ì†í•´ìžˆì–´ì•¼ 합니다."
+msgstr "노드는 루트가 ë˜ê¸° 위해선 편집한 ì”¬ì— ì†í•´ì•¼ í•´ìš”."
#: editor/scene_tree_dock.cpp
msgid "Instantiated scenes can't become root"
-msgstr "ì¸ìŠ¤í„´íŠ¸í™”ëœ ì”¬ì€ ë£¨íŠ¸ê°€ ë  ìˆ˜ 없습니다"
+msgstr "ì¸ìŠ¤í„´íŠ¸í™”ëœ ì”¬ì€ ë£¨íŠ¸ê°€ ë  ìˆ˜ 없어요"
#: editor/scene_tree_dock.cpp
msgid "Make node as Root"
msgstr "노드를 루트로 만들기"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "노드를 삭제하시겠습니까?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "노드 삭제하기"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "ì…°ì´ë” 그래프 노드 ì‚­ì œ"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "노드 삭제하기"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
-msgstr "그 루트 노드로는 수행할 수 없습니다."
+msgstr "루트 노드로는 수행할 수 없어요."
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on instanced scenes."
-msgstr "ì´ ìž‘ì—…ì€ ì¸ìŠ¤í„´ìŠ¤ëœ ì”¬ì—서는 불가합니다."
+msgstr "ì´ ìž‘ì—…ì€ ì¸ìŠ¤í„´ìŠ¤ëœ ì”¬ì—서 í•  수 없어요."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
@@ -9839,8 +9986,7 @@ msgid ""
"Disabling \"editable_instance\" will cause all properties of the node to be "
"reverted to their default."
msgstr ""
-"\"editable_instance\"를 비활설화 하면 ë…¸ë“œì˜ ëª¨ë“  ì†ì„±ì´ 기본 값으로 ë˜ëŒì•„ê°‘"
-"니다."
+"\"editable_instance\"를 ë„게 ë˜ë©´ ë…¸ë“œì˜ ëª¨ë“  ì†ì„±ì´ 기본 값으로 ë˜ëŒì•„와요."
#: editor/scene_tree_dock.cpp
msgid "Editable Children"
@@ -9848,7 +9994,7 @@ msgstr "ìžì‹ë…¸ë“œ 편집 가능"
#: editor/scene_tree_dock.cpp
msgid "Load As Placeholder"
-msgstr "Placeholderë¡œì¨ ë¶ˆëŸ¬ì˜¤ê¸°"
+msgstr "ìžë¦¬ 표시ìžë¡œ 불러오기"
#: editor/scene_tree_dock.cpp
msgid "Make Local"
@@ -9880,11 +10026,11 @@ msgstr "다른 노드"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
-msgstr "다른 씬ì—서 수행할 수 없는 작업입니다!"
+msgstr "다른 씬ì—서 수행할 수 없는 작업ì´ì—ìš”!"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes the current scene inherits from!"
-msgstr "ìƒì† 씬 ë‚´ì—서 수행할 수 없는 작업입니다!"
+msgstr "ìƒì† 씬 ë‚´ì—서 수행할 수 없는 작업ì´ì—ìš”!"
#: editor/scene_tree_dock.cpp
msgid "Attach Script"
@@ -9892,19 +10038,18 @@ msgstr "스í¬ë¦½íЏ ë¶™ì´ê¸°"
#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
-msgstr "노드 삭제"
+msgstr "노드 삭제하기"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "출력 í¬íЏ ì´ë¦„ 변경"
+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."
@@ -9916,7 +10061,7 @@ msgstr "저장하기 위해 ì”¬ì„ ë³µì œí•˜ëŠ” ì¤‘ì— ì˜¤ë¥˜ê°€ ë°œìƒí–ˆìŠµë‹ˆ
#: editor/scene_tree_dock.cpp
msgid "Sub-Resources"
-msgstr "서브-리소스"
+msgstr "하위-리소스"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -9928,7 +10073,7 @@ msgstr "문서 열기"
#: editor/scene_tree_dock.cpp
msgid "Add Child Node"
-msgstr "ìžì‹ 노드 추가"
+msgstr "ìžì‹ 노드 추가하기"
#: editor/scene_tree_dock.cpp
msgid "Expand/Collapse All"
@@ -9936,7 +10081,7 @@ msgstr "ëª¨ë‘ íŽ¼ì¹˜ê¸°/접기"
#: editor/scene_tree_dock.cpp
msgid "Change Type"
-msgstr "타입 변경"
+msgstr "유형 바꾸기"
#: editor/scene_tree_dock.cpp
msgid "Extend Script"
@@ -9944,7 +10089,7 @@ msgstr "스í¬ë¦½íЏ 펼치기"
#: editor/scene_tree_dock.cpp
msgid "Reparent to New Node"
-msgstr "새 ë…¸ë“œì— ë¶€ëª¨ 노드 재지정"
+msgstr "새 ë…¸ë“œì— ë¶€ëª¨ 노드 다시 지정하기"
#: editor/scene_tree_dock.cpp
msgid "Make Scene Root"
@@ -9952,38 +10097,38 @@ msgstr "씬 루트 만들기"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
-msgstr "다른 씬ì—서 가져오기"
+msgstr "다른 씬ì—서 병합하기"
#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
-msgstr "ì„ íƒ ë…¸ë“œë¥¼ 다른 씬으로 저장"
+msgstr "분기를 다른 씬으로 저장"
#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Copy Node Path"
-msgstr "노드 경로 복사"
+msgstr "노드 경로 복사하기"
#: editor/scene_tree_dock.cpp
msgid "Delete (No Confirm)"
-msgstr "ì‚­ì œ (í™•ì¸ ì—†ìŒ)"
+msgstr "삭제하기 (í™•ì¸ ì—†ìŒ)"
#: editor/scene_tree_dock.cpp
msgid "Add/Create a New Node."
-msgstr "새 노드 추가/만들기."
+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 "ì„ íƒëœ ë…¸ë“œì— ìƒˆë¡œìš´ 스í¬ë¦½íŠ¸ë¥¼ ìƒì„±í•˜ê±°ë‚˜ 기존 스í¬ë¦½íŠ¸ë¥¼ 불러옵니다."
+msgstr "ì„ íƒí•œ ë…¸ë“œì— ìƒˆë¡œìš´ í˜¹ì€ ì¡´ìž¬í•˜ëŠ” 스í¬ë¦½íŠ¸ë¥¼ 붙여요."
#: editor/scene_tree_dock.cpp
msgid "Clear a script for the selected node."
-msgstr "ì„ íƒëœ ë…¸ë“œì˜ ìŠ¤í¬ë¦½íŠ¸ë¥¼ 삭제합니다."
+msgstr "ì„ íƒí•œ ë…¸ë“œì˜ ìŠ¤í¬ë¦½íŠ¸ë¥¼ 삭제해요."
#: editor/scene_tree_dock.cpp
msgid "Remote"
@@ -9995,7 +10140,7 @@ msgstr "로컬"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance? (No Undo!)"
-msgstr "ìƒì†ì„ 지우시겠습니까? (ë˜ëŒë¦¬ê¸° 불가!)"
+msgstr "ìƒì†ì„ 지울까요? (ë˜ëŒë¦´ 수 없어요!)"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
@@ -10003,7 +10148,7 @@ msgstr "ë³´ì´ê¸° 토글"
#: editor/scene_tree_editor.cpp
msgid "Unlock Node"
-msgstr "노드 잠금 해제"
+msgstr "노드 잠금 풀기"
#: editor/scene_tree_editor.cpp
msgid "Button Group"
@@ -10015,34 +10160,31 @@ msgstr "(ì—°ê²° 시작 ì§€ì )"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
-msgstr "노드 구성 경고:"
+msgstr "노드 설정 경고:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"노드가 ì—°ê²°ê³¼ ê·¸ë£¹ì„ ê°–ê³  있습니다.\n"
-"ì‹œê·¸ë„ ë…ì„ í´ë¦­í•˜ì—¬ 보세요."
+"노드가 %s ì—°ê²°ê³¼ %s ê·¸ë£¹ì„ ê°–ê³  있어요.\n"
+"í´ë¦­í•˜ë©´ ì‹œê·¸ë„ ë…ì„ ë³´ì—¬ì¤˜ìš”."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"노드가 ì—°ê²°ì„ ê°–ê³  있습니다\n"
-"ì‹œê·¸ë„ ë…ì„ í´ë¦­í•˜ì—¬ 보세요."
+"노드가 %s ì—°ê²°ì„ ê°–ê³  있어요.\n"
+"í´ë¦­í•˜ë©´ ì‹œê·¸ë„ ë…ì„ ë³´ì—¬ì¤˜ìš”."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"노드가 그룹 ì•ˆì— ìžˆìŠµë‹ˆë‹¤.\n"
-"그룹 ë…ì„ í´ë¦­í•˜ì—¬ 보세요."
+"노드가 그룹 ì•ˆì— ìžˆì–´ìš”.\n"
+"í´ë¦­í•˜ë©´ 그룹 ë…ì„ ë³´ì—¬ì¤˜ìš”."
#: editor/scene_tree_editor.cpp
msgid "Open Script:"
@@ -10053,16 +10195,16 @@ msgid ""
"Node is locked.\n"
"Click to unlock it."
msgstr ""
-"노드가 잠겨있습니다.\n"
-"í´ë¦­í•˜ì—¬ ìž ê¸ˆì„ í‘¸ì„¸ìš”."
+"노드가 잠겨있어요.\n"
+"í´ë¦­í•˜ë©´ ìž ê¸ˆì„ í’€ì–´ìš”."
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
"Click to make selectable."
msgstr ""
-"ìžì‹ë“¤ì„ ì„ íƒí•  수 없습니다.\n"
-"í´ë¦­í•˜ë©´ ì„ íƒí•  수 있게 ë©ë‹ˆë‹¤."
+"ìžì‹ì„ ì„ íƒí•  수 없어요.\n"
+"í´ë¦­í•˜ë©´ ì„ íƒí•  수 있어요."
#: editor/scene_tree_editor.cpp
msgid "Toggle Visibility"
@@ -10073,16 +10215,16 @@ msgid ""
"AnimationPlayer is pinned.\n"
"Click to unpin."
msgstr ""
-"AnimationPlayerê°€ ê³ ì •ë˜ì–´ìžˆìŠµë‹ˆë‹¤.\n"
-"í´ë¦­í•˜ì„œ ê³ ì •ì„ í‘¸ì„¸ìš”."
+"AnimationPlayerê°€ ê³ ì •ë˜ì–´ 있어요.\n"
+"í´ë¦­í•˜ë©´ ê³ ì •ì„ í’€ì–´ìš”."
#: editor/scene_tree_editor.cpp
msgid "Invalid node name, the following characters are not allowed:"
-msgstr "올바르지 ì•Šì€ ë…¸ë“œ ì´ë¦„입니다. 다ìŒì˜ 문ìžëŠ” 허용ë˜ì§€ 않습니다:"
+msgstr "ìž˜ëª»ëœ ë…¸ë“œ ì´ë¦„ì´ì—ìš”. ë‹¤ìŒ ë¬¸ìžëŠ” 허용하지 않아요:"
#: editor/scene_tree_editor.cpp
msgid "Rename Node"
-msgstr "노드 ì´ë¦„ 변경"
+msgstr "노드 ì´ë¦„ 바꾸기"
#: editor/scene_tree_editor.cpp
msgid "Scene Tree (Nodes):"
@@ -10090,56 +10232,55 @@ msgstr "씬 트리 (노드):"
#: editor/scene_tree_editor.cpp
msgid "Node Configuration Warning!"
-msgstr "노드 구성 경고!"
+msgstr "노드 설정 경고!"
#: editor/scene_tree_editor.cpp
msgid "Select a Node"
-msgstr "노드 ì„ íƒ"
+msgstr "노드를 ì„ íƒí•˜ì„¸ìš”"
#: editor/script_create_dialog.cpp
msgid "Path is empty."
-msgstr "경로가 비었습니다."
+msgstr "경로가 비었어요."
#: editor/script_create_dialog.cpp
msgid "Filename is empty."
-msgstr "íŒŒì¼ ì´ë¦„ì´ ë¹„ì—ˆìŠµë‹ˆë‹¤."
+msgstr "íŒŒì¼ ì´ë¦„ì´ ë¹„ì—ˆì–´ìš”."
#: editor/script_create_dialog.cpp
msgid "Path is not local."
-msgstr "경로가 ë¡œì»¬ì´ ì•„ë‹™ë‹ˆë‹¤."
+msgstr "경로가 ë¡œì»¬ì´ ì•„ë‹ˆì—ìš”."
#: editor/script_create_dialog.cpp
msgid "Invalid base path."
-msgstr "올바르지 ì•Šì€ ê¸°ë³¸ 경로."
+msgstr "ìž˜ëª»ëœ ê¸°ë³¸ 경로."
#: editor/script_create_dialog.cpp
msgid "A directory with the same name exists."
-msgstr "ê°™ì€ ì´ë¦„ì˜ ë””ë ‰í† ë¦¬ê°€ 존재합니다."
+msgstr "ê°™ì€ ì´ë¦„ì˜ ë””ë ‰í† ë¦¬ê°€ 있어요."
#: editor/script_create_dialog.cpp
msgid "Invalid extension."
-msgstr "올바르지 ì•Šì€ í™•ìž¥ìž."
+msgstr "ìž˜ëª»ëœ í™•ìž¥ìž."
#: editor/script_create_dialog.cpp
msgid "Wrong extension chosen."
-msgstr "ìž˜ëª»ëœ í™•ìž¥ìž ì„ íƒìž…니다."
+msgstr "ìž˜ëª»ëœ í™•ìž¥ìž ì„ íƒ."
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
-msgstr "'%s' 템플릿 불러오기 오류"
+msgstr "'%s' 템플릿 불러오는 중 오류"
#: editor/script_create_dialog.cpp
msgid "Error - Could not create script in filesystem."
-msgstr "오류 - íŒŒì¼ ì‹œìŠ¤í…œì— ìŠ¤í¬ë¦½íŠ¸ë¥¼ ìƒì„±í•  수 없습니다."
+msgstr "오류 - íŒŒì¼ ì‹œìŠ¤í…œì— ìŠ¤í¬ë¦½íŠ¸ë¥¼ 만들 수 없어요."
#: editor/script_create_dialog.cpp
msgid "Error loading script from %s"
-msgstr "'%s' 스í¬ë¦½íЏ 로딩 중 오류"
+msgstr "'%s' 스í¬ë¦½íЏ 불러오는 중 오류"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "ë®ì–´ 쓰기"
+msgstr "재정ì˜í•˜ê¸°"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10147,7 +10288,7 @@ msgstr "해당 ì—†ìŒ"
#: editor/script_create_dialog.cpp
msgid "Open Script / Choose Location"
-msgstr "스í¬ë¦½íЏ 열기 / 위치 ì„ íƒ"
+msgstr "스í¬ë¦½íЏ 열기 / 위치 ì„ íƒí•˜ê¸°"
#: editor/script_create_dialog.cpp
msgid "Open Script"
@@ -10155,15 +10296,15 @@ msgstr "스í¬ë¦½íЏ 열기"
#: editor/script_create_dialog.cpp
msgid "File exists, it will be reused."
-msgstr "파ì¼ì´ 존재합니다, 재사용ë©ë‹ˆë‹¤."
+msgstr "파ì¼ì´ 있어요, 다시 사용할게요."
#: editor/script_create_dialog.cpp
msgid "Invalid class name."
-msgstr "올바르지 ì•Šì€ í´ëž˜ìŠ¤ëª…."
+msgstr "ìž˜ëª»ëœ í´ëž˜ìФ ì´ë¦„."
#: editor/script_create_dialog.cpp
msgid "Invalid inherited parent name or path."
-msgstr "올바르지 ì•Šì€ ìƒì†ëœ 부모 ì´ë¦„ ë˜ëŠ” 경로."
+msgstr "ìž˜ëª»ëœ ìƒì†ëœ 부모 ì´ë¦„ ë˜ëŠ” 경로."
#: editor/script_create_dialog.cpp
msgid "Script is valid."
@@ -10179,11 +10320,11 @@ msgstr "내장 스í¬ë¦½íЏ (씬 íŒŒì¼ ì•ˆ)."
#: editor/script_create_dialog.cpp
msgid "Will create a new script file."
-msgstr "새 스í¬ë¦½íЏ 파ì¼ì„ 만듭니다."
+msgstr "새 스í¬ë¦½íЏ 파ì¼ì„ 만들어요."
#: editor/script_create_dialog.cpp
msgid "Will load an existing script file."
-msgstr "기존 스í¬ë¦½íЏ 파ì¼ì„ 불러옵니다."
+msgstr "기존 스í¬ë¦½íЏ 파ì¼ì„ 불러와요."
#: editor/script_create_dialog.cpp
msgid "Language"
@@ -10195,7 +10336,7 @@ msgstr "ìƒì†"
#: editor/script_create_dialog.cpp
msgid "Class Name"
-msgstr "í´ëž˜ìŠ¤ëª…"
+msgstr "í´ëž˜ìФ ì´ë¦„"
#: editor/script_create_dialog.cpp
msgid "Template"
@@ -10218,24 +10359,60 @@ msgid "Bytes:"
msgstr "ë°”ì´íЏ:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "ìŠ¤íƒ ì¶”ì "
+#, fuzzy
+msgid "Warning:"
+msgstr "경고:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "목ë¡ì—서 한 ê°œ í˜¹ì€ ì—¬ëŸ¬ ê°œì˜ í•­ëª©ì„ ì§‘ì–´ 그래프로 ë³´ì—¬ì¤ë‹ˆë‹¤."
+msgid "Error:"
+msgstr "ì—러:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "복사하기 오류"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "ì—러:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "소스"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "소스"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "소스"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "ìŠ¤íƒ ì¶”ì "
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "오류"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "ìžì‹ 프로세스 ì—°ê²°ë¨"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
-msgstr "복사 오류"
+msgstr "복사하기 오류"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "중단ì "
#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
@@ -10254,6 +10431,11 @@ msgid "Profiler"
msgstr "프로파ì¼ëŸ¬"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "프로필 내보내기"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "모니터"
@@ -10266,8 +10448,12 @@ msgid "Monitors"
msgstr "모니터"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "목ë¡ì—서 한 ê°œ ì´ìƒì˜ í•­ëª©ì„ ì§‘ì–´ 그래프로 표시해요."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
-msgstr "리소스별 비디오 메모리 사용량 목ë¡:"
+msgstr "리소스 별 비디오 메모리 사용량 목ë¡:"
#: editor/script_editor_debugger.cpp
msgid "Total:"
@@ -10283,7 +10469,7 @@ msgstr "리소스 경로"
#: editor/script_editor_debugger.cpp
msgid "Type"
-msgstr "타입"
+msgstr "유형"
#: editor/script_editor_debugger.cpp
msgid "Format"
@@ -10303,7 +10489,7 @@ msgstr "í´ë¦­ëœ Control:"
#: editor/script_editor_debugger.cpp
msgid "Clicked Control Type:"
-msgstr "í´ë¦­ëœ Control 타입:"
+msgstr "í´ë¦­ëœ Control 유형:"
#: editor/script_editor_debugger.cpp
msgid "Live Edit Root:"
@@ -10311,7 +10497,7 @@ msgstr "실시간 편집 루트:"
#: editor/script_editor_debugger.cpp
msgid "Set From Tree"
-msgstr "트리로부터 설정"
+msgstr "트리ì—서 설정하기"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
@@ -10323,11 +10509,11 @@ msgstr "단축키 지우기"
#: editor/settings_config_dialog.cpp
msgid "Restore Shortcut"
-msgstr "단축키 ë³µì›"
+msgstr "단축키 ë³µì›í•˜ê¸°"
#: editor/settings_config_dialog.cpp
msgid "Change Shortcut"
-msgstr "단축키 변경"
+msgstr "단축키 바꾸기"
#: editor/settings_config_dialog.cpp
msgid "Editor Settings"
@@ -10343,87 +10529,87 @@ msgstr "ë°”ì¸ë”©"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
-msgstr "Light 반경 변경"
+msgstr "조명 반경 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
-msgstr "AudioStreamPlayer3D ì—미션 ê°ë„ 변경"
+msgstr "AudioStreamPlayer3D ë°©ì¶œ ê°ë„ 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
-msgstr "Camera 시야 변경"
+msgstr "ì¹´ë©”ë¼ ì‹œì•¼ 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera Size"
-msgstr "Camera í¬ê¸° 변경"
+msgstr "ì¹´ë©”ë¼ í¬ê¸° 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Notifier AABB"
-msgstr "알림 AABB 변경"
+msgstr "알림 AABB 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Particles AABB"
-msgstr "íŒŒí‹°í´ AABB 변경"
+msgstr "íŒŒí‹°í´ AABB 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Probe Extents"
-msgstr "프로브 범위 변경"
+msgstr "프로브 범위 바꾸기"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
-msgstr "구체 모양 반경 변경"
+msgstr "구체 모양 반경 바꾸기"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
-msgstr "박스 모양 범위 변경"
+msgstr "박스 모양 범위 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Capsule Shape Radius"
-msgstr "ìº¡ìŠ ëª¨ì–‘ 반경 변경"
+msgstr "ìº¡ìŠ ëª¨ì–‘ 반경 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Capsule Shape Height"
-msgstr "ìº¡ìŠ ëª¨ì–‘ ë†’ì´ ë³€ê²½"
+msgstr "ìº¡ìŠ ëª¨ì–‘ ë†’ì´ ë°”ê¾¸ê¸°"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Cylinder Shape Radius"
-msgstr "ìº¡ìŠ ëª¨ì–‘ 반지름 변경"
+msgstr "ìº¡ìŠ ëª¨ì–‘ 반지름 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Cylinder Shape Height"
-msgstr "ìº¡ìŠ ëª¨ì–‘ ë†’ì´ ë³€ê²½"
+msgstr "ìº¡ìŠ ëª¨ì–‘ ë†’ì´ ë°”ê¾¸ê¸°"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Ray Shape Length"
-msgstr "ê´‘ì„  모양 ê¸¸ì´ ë³€ê²½"
+msgstr "ê´‘ì„  모양 ê¸¸ì´ ë°”ê¾¸ê¸°"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
-msgstr "ì›ê¸°ë‘¥ 반지름 변경"
+msgstr "ì›ê¸°ë‘¥ 반지름 바꾸기"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Height"
-msgstr "ì›ê¸°ë‘¥ ë†’ì´ ë³€ê²½"
+msgstr "ì›ê¸°ë‘¥ ë†’ì´ ë°”ê¾¸ê¸°"
#: modules/csg/csg_gizmos.cpp
msgid "Change Torus Inner Radius"
-msgstr "토러스 내부 반지름 변경"
+msgstr "토러스 내부 반지름 바꾸기"
#: modules/csg/csg_gizmos.cpp
msgid "Change Torus Outer Radius"
-msgstr "토러스 외부 반지름 변경"
+msgstr "토러스 외부 반지름 바꾸기"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
-msgstr "ì´ ì—”íŠ¸ë¦¬ì— ëŒ€í•œ 다ì´ë‚˜ë¯¹ ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ì„ íƒ"
+msgstr "ì´ ì—”íŠ¸ë¦¬ì— ëŒ€í•œ 다ì´ë‚˜ë¯¹ ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ì„ íƒí•˜ê¸°"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select dependencies of the library for this entry"
-msgstr "ì´ ì—”íŠ¸ë¦¬ì— ëŒ€í•œ ë¼ì´ë¸ŒëŸ¬ë¦¬ì˜ 종ì†ì„ ì„ íƒ"
+msgstr "ì´ ì—”íŠ¸ë¦¬ì— ëŒ€í•œ ë¼ì´ë¸ŒëŸ¬ë¦¬ì˜ 종ì†ì„ ì„ íƒí•˜ê¸°"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Remove current entry"
-msgstr "현재 엔트리 삭제"
+msgstr "현재 엔트리 삭제하기"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Double click to create a new entry"
@@ -10462,10 +10648,6 @@ msgid "Library"
msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "ìƒíƒœ"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬ë“¤: "
@@ -10474,6 +10656,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "ìŠ¤í… ì¸ìˆ˜ê°€ 0입니다!"
@@ -10491,21 +10677,19 @@ msgstr "리소스 파ì¼ì— 기반하지 않ìŒ"
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary format (missing @path)"
-msgstr "올바르지 ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@path ì—†ìŒ)"
+msgstr "ìž˜ëª»ëœ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@path ì—†ìŒ)"
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary format (can't load script at @path)"
-msgstr ""
-"올바르지 ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@path ì—서 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 ì—†ìŒ)"
+msgstr "ìž˜ëª»ëœ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@path ì—서 스í¬ë¦½íŠ¸ë¥¼ 불러올 수 ì—†ìŒ)"
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary format (invalid script at @path)"
-msgstr ""
-"올바르지 ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@pathì˜ ìŠ¤í¬ë¦½íŠ¸ê°€ 올바르지 않ìŒ)"
+msgstr "ìž˜ëª»ëœ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@pathì˜ ìŠ¤í¬ë¦½íŠ¸ê°€ 올바르지 않ìŒ)"
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary (invalid subclasses)"
-msgstr "올바르지 ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary (하위 í´ëž˜ìŠ¤ê°€ 올바르지 않ìŒ)"
+msgstr "ìž˜ëª»ëœ ì¸ìŠ¤í„´ìŠ¤ Dictionary (하위 í´ëž˜ìŠ¤ê°€ 올바르지 않ìŒ)"
#: modules/gdscript/gdscript_functions.cpp
msgid "Object can't provide a length."
@@ -10537,11 +10721,11 @@ msgstr "층:"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Delete Selection"
-msgstr "그리드맵 ì„ íƒ ì‚­ì œ"
+msgstr "그리드맵 ì„ íƒ ì‚­ì œí•˜ê¸°"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Fill Selection"
-msgstr "그리드맵 채우기 ì„ íƒ"
+msgstr "그리드맵 채우기 ì„ íƒí•˜ê¸°"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paste Selection"
@@ -10617,7 +10801,7 @@ msgstr "ì„ íƒ ì§€ìš°ê¸°"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Fill Selection"
-msgstr "채우기 ì„ íƒ"
+msgstr "채우기 ì„ íƒí•˜ê¸°"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
@@ -10625,7 +10809,16 @@ msgstr "그리드맵 설정"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Pick Distance:"
-msgstr "거리 ì„ íƒ:"
+msgstr "거리 ì„ íƒí•˜ê¸°:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "메서드 필터"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
@@ -10689,7 +10882,7 @@ msgstr "내비게ì´ì…˜ 메시 ìƒì„±ê¸° 설정:"
#: modules/recast/navigation_mesh_generator.cpp
msgid "Parsing Geometry..."
-msgstr "지오메트리 ë¶„ì„ ì¤‘..."
+msgstr "형태 ë¶„ì„ ì¤‘..."
#: modules/recast/navigation_mesh_generator.cpp
msgid "Done!"
@@ -10721,7 +10914,7 @@ msgstr ""
#: modules/visual_script/visual_script.cpp
msgid "Node returned an invalid sequence output: "
-msgstr "올바르지 ì•Šì€ ì‹œí€€ìŠ¤ ì¶œë ¥ì„ ë°˜í™˜í•œ 노드: "
+msgstr "ìž˜ëª»ëœ ì‹œí€€ìŠ¤ ì¶œë ¥ì„ ë°˜í™˜í•œ 노드: "
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
@@ -10734,15 +10927,15 @@ msgstr "ìŠ¤íƒ ê¹Šì´ë¡œ 오버플로우한 스íƒ: "
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
-msgstr "ì‹œê·¸ë„ ì¸ìˆ˜ 변경"
+msgstr "ì‹œê·¸ë„ ì¸ìˆ˜ 바꾸기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Argument Type"
-msgstr "ì¸ìˆ˜ 타입 변경"
+msgstr "ì¸ìˆ˜ 유형 바꾸기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Argument name"
-msgstr "ì¸ìˆ˜ ì´ë¦„ 변경"
+msgstr "ì¸ìˆ˜ ì´ë¦„ 바꾸기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Set Variable Default Value"
@@ -10750,31 +10943,31 @@ msgstr "변수 기본값 설정"
#: modules/visual_script/visual_script_editor.cpp
msgid "Set Variable Type"
-msgstr "변수 타입 설정"
+msgstr "변수 유형 설정"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "기존 내장 타입 ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
+msgstr "존재하는 내장 함수 다시 ì •ì˜í•˜ê¸°."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "새 사ê°í˜• 만들기."
+msgstr "새 함수 만들기."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "변수:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "새 사ê°í˜• 만들기."
+msgstr "새 변수 만들기."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "시그ë„:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "새로운 í´ë¦¬ê³¤ 만들기."
+msgstr "새 ì‹œê·¸ë„ ë§Œë“¤ê¸°."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -10786,127 +10979,127 @@ msgstr "ì´ë¯¸ 다른 함수/변수/시그ë„로 ì‚¬ìš©ëœ ì´ë¦„:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Function"
-msgstr "함수명 변경"
+msgstr "함수명 바꾸기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Variable"
-msgstr "변수명 변경"
+msgstr "변수명 바꾸기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Signal"
-msgstr "시그ë„명 변경"
+msgstr "ì‹œê·¸ë„ ì´ë¦„ 바꾸기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Function"
-msgstr "함수 추가"
+msgstr "함수 추가하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Variable"
-msgstr "변수 추가"
+msgstr "변수 추가하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Signal"
-msgstr "ì‹œê·¸ë„ ì¶”ê°€"
+msgstr "ì‹œê·¸ë„ ì¶”ê°€í•˜ê¸°"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Expression"
-msgstr "í‘œí˜„ì‹ ë³€ê²½"
+msgstr "í‘œí˜„ì‹ ë°”ê¾¸ê¸°"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove VisualScript Nodes"
-msgstr "비주얼 스í¬ë¦½íЏ 노드 ì‚­ì œ"
+msgstr "비주얼 스í¬ë¦½íЏ 노드 삭제하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Duplicate VisualScript Nodes"
-msgstr "비주얼 스í¬ë¦½íЏ 노드 복제"
+msgstr "비주얼 스í¬ë¦½íЏ 노드 복제하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
msgstr ""
-"%sì„(를) 누르고 있으면 Getter를 드롭합니다. Shiftì„(를) 누르고 있으면 ì¼ë°˜ì "
-"ì¸ ì‹œê·¸ë‹ˆì²˜ë¥¼ 드롭합니다."
+"%sì„(를) 누르고 있으면 Getter를 드롭해요. Shiftì„(를) 누르고 있으면 ì¼ë°˜ì ì¸ "
+"시그니처를 드롭해요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
msgstr ""
-"Ctrlì„ ëˆ„ë¥´ê³  있으면 Getter를 드롭합니다. Shift를 누르고 있으면 ì¼ë°˜ì ì¸ 시그"
-"니처를 드롭합니다."
+"Ctrlì„ ëˆ„ë¥´ê³  있으면 Getter를 드롭해요. Shift를 누르고 있으면 ì¼ë°˜ì ì¸ 시그니"
+"처를 드롭해요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a simple reference to the node."
-msgstr "%sì„(를) 누르고 있으면 ë…¸ë“œì— ëŒ€í•œ 간단한 참조를 드롭합니다."
+msgstr "%sì„(를) 누르고 있으면 ë…¸ë“œì— ëŒ€í•œ 간단한 참조를 드롭해요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold Ctrl to drop a simple reference to the node."
-msgstr "Ctrlì„ ëˆ„ë¥´ê³  있으면 ë…¸ë“œì— ëŒ€í•œ 간단한 참조를 드롭합니다."
+msgstr "Ctrlì„ ëˆ„ë¥´ê³  있으면 ë…¸ë“œì— ëŒ€í•œ 간단한 참조를 드롭해요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a Variable Setter."
-msgstr "%sì„(를) 누르고 있르면 변수 Setter를 드롭합니다."
+msgstr "%sì„(를) 누르고 있르면 변수 Setter를 드롭해요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold Ctrl to drop a Variable Setter."
-msgstr "Ctrlì„ ëˆ„ë¥´ê³  있으면 변수 Setter를 드ëží•©ë‹ˆë‹¤."
+msgstr "Ctrlì„ ëˆ„ë¥´ê³  있으면 변수 Setter를 드롭해요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Preload Node"
-msgstr "Preload 노드 추가"
+msgstr "Preload 노드 추가하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node(s) From Tree"
-msgstr "트리ì—서 노드 추가"
+msgstr "트리ì—서 노드 추가하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Getter Property"
-msgstr "Getter ì†ì„± 추가"
+msgstr "Getter ì†ì„± 추가하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Setter Property"
-msgstr "Setter ì†ì„± 추가"
+msgstr "Setter ì†ì„± 추가하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Base Type"
-msgstr "기본 타입 변경"
+msgstr "기본 유형 바꾸기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Move Node(s)"
-msgstr "노드 ì´ë™"
+msgstr "노드 ì´ë™í•˜ê¸°"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove VisualScript Node"
-msgstr "비주얼 스í¬ë¦½íЏ 노드 ì‚­ì œ"
+msgstr "비주얼 스í¬ë¦½íЏ 노드 삭제하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Connect Nodes"
-msgstr "노드 연결"
+msgstr "노드 연결하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Connect Node Data"
-msgstr "노드 ë°ì´í„° ì—°ê²°"
+msgstr "노드 ë°ì´í„° 연결하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Connect Node Sequence"
-msgstr "노드 시퀀스 연결"
+msgstr "노드 시퀀스 연결하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
-msgstr "스í¬ë¦½íŠ¸ê°€ ì´ë¯¸ '%s' 함수를 ê°–ê³  있ìŒ"
+msgstr "스í¬ë¦½íŠ¸ê°€ ì´ë¯¸ '%s' 함수를 ê°–ê³  있어요"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Input Value"
-msgstr "입력 값 변경"
+msgstr "입력 값 바꾸기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Resize Comment"
-msgstr "ì£¼ì„ í¬ê¸° ì¡°ì ˆ"
+msgstr "ì£¼ì„ í¬ê¸° 조절하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Can't copy the function node."
-msgstr "함수 노드를 복사할 수 없습니다."
+msgstr "함수 노드를 복사할 수 없어요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Clipboard is empty!"
-msgstr "í´ë¦½ë³´ë“œê°€ 비었습니다!"
+msgstr "í´ë¦½ë³´ë“œê°€ 비었어요!"
#: modules/visual_script/visual_script_editor.cpp
msgid "Paste VisualScript Nodes"
@@ -10914,27 +11107,32 @@ msgstr "비주얼 스í¬ë¦½íЏ 노드 붙여넣기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Function"
-msgstr "함수 삭제"
+msgstr "함수 삭제하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
-msgstr "변수 삭제"
+msgstr "변수 삭제하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Variable:"
-msgstr "변수 편집:"
+msgstr "변수 편집하기:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
-msgstr "ì‹œê·¸ë„ ì‚­ì œ"
+msgstr "ì‹œê·¸ë„ ì‚­ì œí•˜ê¸°"
#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
-msgstr "ì‹œê·¸ë„ íŽ¸ì§‘:"
+msgstr "ì‹œê·¸ë„ íŽ¸ì§‘í•˜ê¸°:"
+
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "로컬로 만들기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
-msgstr "기본 타입:"
+msgstr "기본 유형:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Members:"
@@ -10946,19 +11144,19 @@ msgstr "사용 가능한 노드:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Select or create a function to edit its graph."
-msgstr "그래프를 편집하기 위한 함수를 ì„ íƒí•˜ê±°ë‚˜ 만드세요."
+msgstr "그래프를 편집하기 위한 함수를 ì„ íƒí•˜ê±°ë‚˜ 만들어요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
-msgstr "ì„ íƒ í•­ëª© ì‚­ì œ"
+msgstr "ì„ íƒ í•­ëª© 삭제하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Find Node Type"
-msgstr "노드 타입 찾기"
+msgstr "노드 유형 찾기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Copy Nodes"
-msgstr "노드 복사"
+msgstr "노드 복사하기"
#: modules/visual_script/visual_script_editor.cpp
msgid "Cut Nodes"
@@ -10966,68 +11164,67 @@ msgstr "노드 잘ë¼ë‚´ê¸°"
#: modules/visual_script/visual_script_editor.cpp
msgid "Edit Member"
-msgstr "멤버 편집"
+msgstr "멤버 편집하기"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
-msgstr "반복할 수 없는 입력 타입: "
+msgstr "반복할 수 없는 입력 유형: "
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
-msgstr "반복ìžê°€ 유효하지 않게 ë¨"
+msgstr "반복ìžê°€ 잘못ë˜ì—ˆì–´ìš”"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid: "
-msgstr "반복ìžê°€ 유효하지 않게 ë¨: "
+msgstr "반복ìžê°€ 잘못ë¨: "
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Invalid index property name."
-msgstr "올바르지 ì•Šì€ ì¸ë±ìФ ì†ì„±ëª…."
+msgstr "ìž˜ëª»ëœ ì¸ë±ìФ ì†ì„± ì´ë¦„."
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Base object is not a Node!"
-msgstr "기본 오브ì íŠ¸ëŠ” 노드가 아닙니다!"
+msgstr "기본 ê°ì²´ëŠ” 노드가 아닙니다!"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Path does not lead Node!"
-msgstr "노드를 지칭하는 경로가 아닙니다!"
+msgstr "노드를 지정하는 경로가 아니ì—ìš”!"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Invalid index property name '%s' in node %s."
-msgstr "노드 %s ì•ˆì— ì¸ë±ìФ ì†ì„± ì´ë¦„ '%s'ì€(는) 올바르지 않습니다."
+msgstr "노드 %s ì•ˆì— ì¸ë±ìФ ì†ì„± ì´ë¦„ '%s'ì´(ê°€) 잘못ë¬ì–´ìš”."
#: modules/visual_script/visual_script_nodes.cpp
msgid ": Invalid argument of type: "
-msgstr ": 올바르지 ì•Šì€ ì¸ìˆ˜ 타입: "
+msgstr ": ìž˜ëª»ëœ ì¸ìˆ˜ 유형: "
#: modules/visual_script/visual_script_nodes.cpp
msgid ": Invalid arguments: "
-msgstr ": 올바르지 ì•Šì€ ì¸ìˆ˜: "
+msgstr ": ìž˜ëª»ëœ ì¸ìˆ˜: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "VariableGet not found in script: "
-msgstr "VariableGetì´ ìŠ¤í¬ë¦½íЏì—서 발견ë˜ì§€ 않ìŒ: "
+msgstr "VariableGetì„ ìŠ¤í¬ë¦½íЏì—서 ì°¾ì„ ìˆ˜ ì—†ìŒ: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "VariableSet not found in script: "
-msgstr "VariableSetì´ ìŠ¤í¬ë¦½íЏì—서 발견ë˜ì§€ 않ìŒ: "
+msgstr "VariableSetì„ ìŠ¤í¬ë¦½íЏì—서 ì°¾ì„ ìˆ˜ ì—†ìŒ: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
-msgstr ""
-"커스텀 노드가 _step() 메서드를 갖고 있지 않아서, 그래프를 처리할 수 없습니다."
+msgstr "맞춤 ë…¸ë“œì— _step() 메서드가 없어요, 그래프를 처리할 수 없어요."
#: modules/visual_script/visual_script_nodes.cpp
msgid ""
"Invalid return value from _step(), must be integer (seq out), or string "
"(error)."
msgstr ""
-"_step()ìœ¼ë¡œë¶€í„°ì˜ ì˜¬ë°”ë¥´ì§€ ì•Šì€ ë°˜í™˜ 값으로, integer (seq out), í˜¹ì€ string "
-"(error)ê°€ 아니면 안ë©ë‹ˆë‹¤."
+"_step()ì—서 ìž˜ëª»ëœ ë°˜í™˜ ê°’ì´ì—ìš”, 정수 (seq out), ë˜ëŠ” 문ìžì—´ (error)ì´ì–´ì•¼ "
+"í•´ìš”."
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search VisualScript"
-msgstr "비주얼 스í¬ë¦½íЏ 검색"
+msgstr "비주얼 스í¬ë¦½íЏ 검색하기"
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Get %s"
@@ -11039,72 +11236,72 @@ msgstr "Set %s"
#: platform/android/export/export.cpp
msgid "Package name is missing."
-msgstr "패키지 ì´ë¦„ì´ ì—†ìŠµë‹ˆë‹¤."
+msgstr "패키지 ì´ë¦„ì´ ì—†ì–´ìš”."
#: platform/android/export/export.cpp
msgid "Package segments must be of non-zero length."
-msgstr "패키지 세그먼트는 길ì´ê°€ 0ì´ ì•„ë‹ˆì–´ì•¼ 합니다."
+msgstr "패키지 세그먼트는 길ì´ê°€ 0ì´ ì•„ë‹ˆì–´ì•¼ í•´ìš”."
#: platform/android/export/export.cpp
msgid "The character '%s' is not allowed in Android application package names."
-msgstr ""
-"ë¬¸ìž '%s'ì€(는) 안드로ì´ë“œ 애플리케ì´ì…˜ 패키지 ì´ë¦„으로 쓸 수 없습니다."
+msgstr "ë¬¸ìž '%s'ì€(는) 안드로ì´ë“œ 애플리케ì´ì…˜ 패키지 ì´ë¦„으로 쓸 수 없어요."
#: platform/android/export/export.cpp
msgid "A digit cannot be the first character in a package segment."
-msgstr "숫ìžëŠ” 패키지 ì„¸ê·¸ë¨¼íŠ¸ì˜ ì²« 문ìžê°€ ë  ìˆ˜ 없습니다."
+msgstr "숫ìžëŠ” 패키지 ì„¸ê·¸ë¨¼íŠ¸ì˜ ì²« 문ìžë¡œ 쓸 수 없어요."
#: platform/android/export/export.cpp
msgid "The character '%s' cannot be the first character in a package segment."
-msgstr "ë¬¸ìž '%s'ì€(는) 패키지 ì„¸ê·¸ë¨¼íŠ¸ì˜ ì²« 문ìžê°€ ë  ìˆ˜ 없습니다."
+msgstr "ë¬¸ìž '%s'ì€(는) 패키지 ì„¸ê·¸ë¨¼íŠ¸ì˜ ì²« 문ìžë¡œ 쓸 수 없어요."
#: platform/android/export/export.cpp
msgid "The package must have at least one '.' separator."
-msgstr "패키지는 ì ì–´ë„ í•˜ë‚˜ì˜ '.' 분리 기호를 ê°–ê³  있어야 합니다."
+msgstr "패키지는 ì ì–´ë„ í•˜ë‚˜ì˜ '.' 분리 기호가 있어야 í•´ìš”."
#: platform/android/export/export.cpp
msgid "ADB executable not configured in the Editor Settings."
-msgstr "ADB 실행 파ì¼ì´ 편집기 설정ì—서 구성ë˜ì§€ 않았습니다."
+msgstr "ADB 실행 파ì¼ì„ 편집기 설정ì—서 설정하지 않았어요."
#: platform/android/export/export.cpp
msgid "OpenJDK jarsigner not configured in the Editor Settings."
-msgstr "OpenJDK jarsignerê°€ 편집기 설정ì—서 구성ë˜ì§€ 않았습니다."
+msgstr "OpenJDK jarsigner를 편집기 설정ì—서 설정하지 않았어요."
#: platform/android/export/export.cpp
msgid "Debug keystore not configured in the Editor Settings nor in the preset."
-msgstr "Debug keystoreì´ íŽ¸ì§‘ê¸° 설정 ë˜ëŠ” 프리셋ì—서 구성ë˜ì§€ 않았습니다."
+msgstr "Debug keystore를 편집기 설정과 í”„ë¦¬ì…‹ì— ì„¤ì •í•˜ì§€ 않았어요."
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
-msgstr ""
-"커스텀 빌드ì—는 편집기 설정ì—서 올바른 안드로ì´ë“œ SDK 경로가 필요합니다."
+msgstr "맞춤 빌드ì—는 편집기 설정ì—서 올바른 안드로ì´ë“œ SDK 경로가 필요해요."
#: platform/android/export/export.cpp
msgid "Invalid Android SDK path for custom build in Editor Settings."
-msgstr "편집기 설정ì—서 커스텀 ë¹Œë“œì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ì•ˆë“œë¡œì´ë“œ SDK 경로입니다."
+msgstr "편집기 설정ì—서 맞춤 ë¹Œë“œì— ìž˜ëª»ëœ ì•ˆë“œë¡œì´ë“œ SDK 경로ì´ì—ìš”."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
-"컴파ì¼ì„ 하기 위한 안드로ì´ë“œ 프로ì íŠ¸ê°€ 설치ë˜ì§€ 않았습니다. 편집기 메뉴ì—"
-"서 설치하세요."
+"컴파ì¼í•˜ê¸° 위한 안드로ì´ë“œ 프로ì íŠ¸ë¥¼ 설치하지 않았어요. 편집기 메뉴ì—서 설치"
+"하세요."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
-msgstr "APK í™•ìž¥ì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ê³µìš© 키입니다."
+msgstr "APK í™•ìž¥ì— ìž˜ëª»ëœ ê³µê°œ 키ì´ì—ìš”."
#: platform/android/export/export.cpp
msgid "Invalid package name:"
-msgstr "올바르지 ì•Šì€ íŒ¨í‚¤ì§€ ì´ë¦„:"
+msgstr "ìž˜ëª»ëœ íŒ¨í‚¤ì§€ ì´ë¦„:"
#: platform/android/export/export.cpp
msgid ""
"Trying to build from a custom built template, but no version info for it "
"exists. Please reinstall from the 'Project' menu."
msgstr ""
-"커스텀 빌드 템플릿으로 빌드하려 했으나, 버전 정보가 존재하지 않습니다. '프로"
-"ì íЏ' 메뉴ì—서 다시 설치해주세요."
+"맞춤 빌드 템플릿으로 빌드하려 했으나, 버전 정보가가 없어요. '프로ì íЏ' 메뉴ì—"
+"서 다시 설치해주세요."
#: platform/android/export/export.cpp
msgid ""
@@ -11113,8 +11310,8 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"안드로ì´ë“œ 빌드 ë²„ì „ì´ ë§žì§€ 않습니다:\n"
-" ì„¤ì¹˜ëœ í…œí”Œë¦¿: %s\n"
+"안드로ì´ë“œ 빌드 ë²„ì „ì´ ë§žì§€ 않ìŒ:\n"
+" 설치한 템플릿: %s\n"
" Godot 버전: %s\n"
"'프로ì íЏ' 메뉴ì—서 안드로ì´ë“œ 빌드 í…œí”Œë¦¿ì„ ë‹¤ì‹œ 설치해주세요."
@@ -11127,57 +11324,57 @@ msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"안드로ì´ë“œ 프로ì íŠ¸ì˜ ë¹Œë“œì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤, 출력한 오류를 확ì¸í•˜ì„¸ìš”.\n"
-"ë˜ëŠ” docs.godotengine.orgì—서 안드로ì´ë“œ 빌드 문서를 ì°¾ì„ ìˆ˜ 있습니다."
+"안드로ì´ë“œ 프로ì íŠ¸ì˜ ë¹Œë“œì— ì‹¤íŒ¨í–ˆì–´ìš”, 출력한 오류를 확ì¸í•˜ì„¸ìš”.\n"
+"ë˜ëŠ” docs.godotengine.orgì—서 안드로ì´ë“œ 빌드 문서를 찾아 보세요."
#: platform/android/export/export.cpp
msgid "No build apk generated at: "
-msgstr "ì—¬ê¸°ì— ë¹Œë“œ apkê°€ ìƒì„±ë˜ì§€ 않았습니다: "
+msgstr "ì—¬ê¸°ì— ë¹Œë“œ apk를 만들지 않ìŒ: "
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
-msgstr "ì‹ë³„ìžê°€ 없습니다."
+msgstr "ì‹ë³„ìžê°€ 없어요."
#: platform/iphone/export/export.cpp
msgid "Identifier segments must be of non-zero length."
-msgstr "ì‹ë³„ìž ì„¸ê·¸ë¨¼íŠ¸ëŠ” 길ì´ê°€ 0ì´ ì•„ë‹ˆì–´ì•¼ 합니다."
+msgstr "ì‹ë³„ìž ì„¸ê·¸ë¨¼íŠ¸ëŠ” 길ì´ê°€ 0ì´ ì•„ë‹ˆì–´ì•¼ í•´ìš”."
#: platform/iphone/export/export.cpp
msgid "The character '%s' is not allowed in Identifier."
-msgstr "ë¬¸ìž '%s'ì€(는) ì‹ë³„ìžì— 쓸 수 없습니다."
+msgstr "ë¬¸ìž '%s'ì€(는) ì‹ë³„ìžì— 쓸 수 없어요."
#: platform/iphone/export/export.cpp
msgid "A digit cannot be the first character in a Identifier segment."
-msgstr "숫ìžëŠ” ì‹ë³„ìž ì„¸ê·¸ë¨¼íŠ¸ì˜ ì²« 문ìžê°€ ë  ìˆ˜ 없습니다."
+msgstr "숫ìžëŠ” ì‹ë³„ìž ì„¸ê·¸ë¨¼íŠ¸ì˜ ì²« 문ìžë¡œ 쓸 수 없어요."
#: platform/iphone/export/export.cpp
msgid ""
"The character '%s' cannot be the first character in a Identifier segment."
-msgstr "ë¬¸ìž '%s'ì€(는) ì‹ë³„ìž ì„¸ê·¸ë¨¼íŠ¸ì˜ ì²« 문ìžê°€ ë  ìˆ˜ 없습니다."
+msgstr "ë¬¸ìž '%s'ì€(는) ì‹ë³„ìž ì„¸ê·¸ë¨¼íŠ¸ì˜ ì²« 문ìžë¡œ 쓸 수 없어요."
#: platform/iphone/export/export.cpp
msgid "The Identifier must have at least one '.' separator."
-msgstr "ì‹ë³„ìžëŠ” ì ì–´ë„ í•˜ë‚˜ì˜ '.' 분리 기호를 ê°–ê³  있어야 합니다."
+msgstr "ì‹ë³„ìžëŠ” ì ì–´ë„ í•˜ë‚˜ì˜ '.' 분리 기호를 ê°–ê³  있어야 í•´ìš”."
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
-msgstr "앱스토어 팀 IDê°€ 지정ë˜ì§€ 않았습니다 - 프로ì íŠ¸ë¥¼ 구성할 수 없습니다."
+msgstr "App Store 팀 ID를 지정하지 않았어요 - 프로ì íŠ¸ë¥¼ 구성할 수 없어요."
#: platform/iphone/export/export.cpp
msgid "Invalid Identifier:"
-msgstr "올바르지 ì•Šì€ ì‹ë³„ìž:"
+msgstr "ìž˜ëª»ëœ ì‹ë³„ìž:"
#: platform/iphone/export/export.cpp
msgid "Required icon is not specified in the preset."
-msgstr "요구ë˜ëŠ” ì•„ì´ì½˜ì´ 프리셋ì—서 지정ë˜ì§€ 않았습니다."
+msgstr "요구하는 ì•„ì´ì½˜ì„ 프리셋ì—서 지정하지 않았어요."
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
-msgstr "브ë¼ìš°ì €ì—서 실행"
+msgstr "브ë¼ìš°ì €ì—서 실행하기"
#: platform/javascript/export/export.cpp
msgid "Run exported HTML in the system's default browser."
-msgstr "내보내기 한 HTMLì„ ì‹œìŠ¤í…œì˜ ê¸°ë³¸ 브ë¼ìš°ì €ë¥¼ 사용하여 실행."
+msgstr "내보낸 HTMLì„ ì‹œìŠ¤í…œì˜ ê¸°ë³¸ 브ë¼ìš°ì €ë¥¼ 사용하여 실행하기."
#: platform/javascript/export/export.cpp
msgid "Could not write file:"
@@ -11185,15 +11382,15 @@ msgstr "파ì¼ì— 쓸 수 ì—†ìŒ:"
#: platform/javascript/export/export.cpp
msgid "Could not open template for export:"
-msgstr "내보내기 í…œí”Œë¦¿ì„ ì—´ 수 없습니다:"
+msgstr "내보내기 í…œí”Œë¦¿ì„ ì—´ 수 ì—†ìŒ:"
#: platform/javascript/export/export.cpp
msgid "Invalid export template:"
-msgstr "올바르지 ì•Šì€ ë‚´ë³´ë‚´ê¸° 템플릿:"
+msgstr "ìž˜ëª»ëœ ë‚´ë³´ë‚´ê¸° 템플릿:"
#: platform/javascript/export/export.cpp
msgid "Could not read custom HTML shell:"
-msgstr "커스텀 HTML shellì„ ì½ì„ 수 ì—†ìŒ:"
+msgstr "맞춤 HTML shellì„ ì½ì„ 수 ì—†ìŒ:"
#: platform/javascript/export/export.cpp
msgid "Could not read boot splash image file:"
@@ -11201,68 +11398,67 @@ msgstr "부트 스플래시 ì´ë¯¸ì§€ 파ì¼ì„ ì½ì„ 수 ì—†ìŒ:"
#: platform/javascript/export/export.cpp
msgid "Using default boot splash image."
-msgstr "기본 부트 스플래시 ì´ë¯¸ì§€ 사용."
+msgstr "기본 부트 스플래시 ì´ë¯¸ì§€ 사용하기."
#: platform/uwp/export/export.cpp
msgid "Invalid package unique name."
-msgstr "올바르지 ì•Šì€ íŒ¨í‚¤ì§€ 고유 ì´ë¦„."
+msgstr "ìž˜ëª»ëœ íŒ¨í‚¤ì§€ 고유 ì´ë¦„."
#: platform/uwp/export/export.cpp
msgid "Invalid product GUID."
-msgstr "유요하지 ì•Šì€ í”„ë¡œë•트 GUID."
+msgstr "ìž˜ëª»ëœ ì œí’ˆ GUID."
#: platform/uwp/export/export.cpp
msgid "Invalid publisher GUID."
-msgstr "유요하지 ì•Šì€ í¼ë¸”리셔 GUID."
+msgstr "ìž˜ëª»ëœ í¼ë¸”리셔 GUID."
#: platform/uwp/export/export.cpp
msgid "Invalid background color."
-msgstr "유요하지 ì•Šì€ ë°°ê²½ 색ìƒ."
+msgstr "ìž˜ëª»ëœ ë°°ê²½ 색ìƒ."
#: platform/uwp/export/export.cpp
msgid "Invalid Store Logo image dimensions (should be 50x50)."
-msgstr "올바르지 ì•Šì€ ë¡œê³  ì´ë¯¸ì§€ í¬ê¸°ìž…니다 (50x50 ì´ì–´ì•¼ 합니다)."
+msgstr "ìž˜ëª»ëœ Store 로고 ì´ë¯¸ì§€ í¬ê¸°(50x50ì´ì–´ì•¼ í•´ìš”)."
#: platform/uwp/export/export.cpp
msgid "Invalid square 44x44 logo image dimensions (should be 44x44)."
-msgstr "올바르지 ì•Šì€ ë¡œê³  ì´ë¯¸ì§€ í¬ê¸°ìž…니다 (44x44 ì´ì–´ì•¼ 합니다)."
+msgstr "ìž˜ëª»ëœ ì‚¬ê°í˜• 44x44 로고 ì´ë¯¸ì§€ í¬ê¸° (44x44ì´ì–´ì•¼ í•´ìš”)."
#: platform/uwp/export/export.cpp
msgid "Invalid square 71x71 logo image dimensions (should be 71x71)."
-msgstr "올바르지 ì•Šì€ ë¡œê³  ì´ë¯¸ì§€ í¬ê¸°ìž…니다 (71x71 ì´ì–´ì•¼ 합니다)."
+msgstr "ìž˜ëª»ëœ ì‚¬ê°í˜• 71x71 로고 ì´ë¯¸ì§€ í¬ê¸° (71x71ì´ì–´ì•¼ í•´ìš”)."
#: platform/uwp/export/export.cpp
msgid "Invalid square 150x150 logo image dimensions (should be 150x150)."
-msgstr "올바르지 ì•Šì€ ë¡œê³  ì´ë¯¸ì§€ í¬ê¸°ìž…니다 (150x150 ì´ì–´ì•¼ 합니다)."
+msgstr "ìž˜ëª»ëœ ì‚¬ê°í˜• 150x150 로고 ì´ë¯¸ì§€ í¬ê¸° (150x150ì´ì–´ì•¼ í•´ìš”)."
#: platform/uwp/export/export.cpp
msgid "Invalid square 310x310 logo image dimensions (should be 310x310)."
-msgstr "올바르지 ì•Šì€ ë¡œê³  ì´ë¯¸ì§€ í¬ê¸°ìž…니다 (310x310 ì´ì–´ì•¼ 합니다)."
+msgstr "ìž˜ëª»ëœ ì‚¬ê°í˜• 310x310 로고 ì´ë¯¸ì§€ í¬ê¸° (310x310ì´ì–´ì•¼ í•´ìš”)."
#: platform/uwp/export/export.cpp
msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)."
-msgstr "올바르지 ì•Šì€ ë¡œê³  ì´ë¯¸ì§€ í¬ê¸°ìž…니다 (310x150 ì´ì–´ì•¼ 합니다)."
+msgstr "ìž˜ëª»ëœ ë„“ì€ 310x150 로고 ì´ë¯¸ì§€ í¬ê¸° (310x150ì´ì–´ì•¼ í•´ìš”)."
#: platform/uwp/export/export.cpp
msgid "Invalid splash screen image dimensions (should be 620x300)."
-msgstr ""
-"올바르지 ì•Šì€ ìŠ¤í”Œëž˜ì‹œ 스í¬ë¦° ì´ë¯¸ì§€ í¬ê¸°ìž…니다 (620x300 ì´ì–´ì•¼ 합니다)."
+msgstr "ìž˜ëª»ëœ ìŠ¤í”Œëž˜ì‹œ 스í¬ë¦° ì´ë¯¸ì§€ í¬ê¸° (620x300ì´ì–´ì•¼ í•´ìš”)."
#: 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 ""
-"AnimatedSpriteì´ í”„ë ˆìž„ì„ ë³´ì—¬ì£¼ê¸° 위해서는 \"Frames\" ì†ì„±ì— SpriteFrames 리"
-"소스를 만들거나 지정해야 합니다."
+"AnimatedSpriteì´ í”„ë ˆìž„ì„ ë³´ì—¬ì£¼ë ¤ë©´ \"Frames\" ì†ì„±ì— SpriteFrames 리소스를 "
+"만들거나 지정해야 해요."
#: 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 ""
-"씬마다 ë³´ì´ëŠ” CanvasModulateê°€ 단 하나만 허용ë©ë‹ˆë‹¤. 첫번째로 ìƒì„±ëœ 것만 ë™"
-"작하고, 나머지는 무시ë©ë‹ˆë‹¤."
+"CanvasModulate는 씬 당 단 하나만 ë³´ì¼ ìˆ˜ 있어요. 처ìŒì— 만든 것만 ìž‘ë™í•˜ê³ , "
+"나머지는 무시ë¼ìš”."
#: scene/2d/collision_object_2d.cpp
msgid ""
@@ -11270,9 +11466,8 @@ msgid ""
"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
"define its shape."
msgstr ""
-"ì´ ë…¸ë“œëŠ” Shapeì„ ê°–ëŠ” ìžì‹ 노드가 없습니다, 다른 물체와 ì¶©ëŒí•˜ê±°ë‚˜ ìƒí˜¸ìž‘ìš© "
-"할 수 없습니다.\n"
-"CollisionShape2D ë˜ëŠ” CollisionPolygon2D를 ìžì‹ 노드로 추가하여 Shapeì„ ì •ì˜"
+"ì´ ë…¸ë“œëŠ” Shapeê°€ 없어요, 다른 물체와 ì¶©ëŒí•˜ê±°ë‚˜ ìƒí˜¸ìž‘용할 수 없어요.\n"
+"CollisionShape2D ë˜ëŠ” CollisionPolygon2D를 ìžì‹ 노드로 추가하여 Shape를 ì •ì˜"
"하세요."
#: scene/2d/collision_polygon_2d.cpp
@@ -11281,13 +11476,13 @@ msgid ""
"CollisionObject2D derived node. Please only use it as a child of Area2D, "
"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
msgstr ""
-"CollisionPolygon2D는 CollisionObject2Dì— ì¶©ëŒ ëª¨ì–‘ì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©"
-"니다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì˜ ìžì‹ 노드로 ì¶”"
-"가하여 사용합니다."
+"CollisionPolygon2D는 CollisionObject2Dì— ì¶©ëŒ ëª¨ì–‘ì„ ì§€ì •í•˜ê¸° 위해서만 사용ë˜"
+"ìš”. Shape를 ì •ì˜í•´ì•¼ 하는 Area2D, StaticBody2D, RigidBody2D, KinematicBody2D "
+"ë“±ì˜ ìžì‹ìœ¼ë¡œë§Œ 사용해주세요."
#: scene/2d/collision_polygon_2d.cpp
msgid "An empty CollisionPolygon2D has no effect on collision."
-msgstr "빈 CollisionPolygon2D는 ì¶©ëŒì— ì˜í–¥ì„ 주지 않습니다."
+msgstr "빈 CollisionPolygon2D는 ì¶©ëŒì— ì˜í–¥ì„ 주지 않아요."
#: scene/2d/collision_shape_2d.cpp
msgid ""
@@ -11295,63 +11490,64 @@ msgid ""
"CollisionObject2D derived node. Please only use it as a child of Area2D, "
"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
msgstr ""
-"CollisionShape2D는 CollisionObject2Dì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©"
-"니다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì˜ ìžì‹ 노드로 ì¶”"
-"가하여 사용합니다."
+"CollisionShape2D는 CollisionObject2Dì— ì¶©ëŒ ëª¨ì–‘ì„ ì§€ì •í•˜ê¸° 위해서만 사용ë˜"
+"ìš”. Shape를 ì •ì˜í•´ì•¼ 하는 Area2D, StaticBody2D, RigidBody2D, KinematicBody2D "
+"ë“±ì˜ ìžì‹ìœ¼ë¡œë§Œ 사용해주세요."
#: scene/2d/collision_shape_2d.cpp
msgid ""
"A shape must be provided for CollisionShape2D to function. Please create a "
"shape resource for it!"
msgstr ""
-"CollisionShape2Dê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 반드시 Shapeì´ ì œê³µë˜ì–´ì•¼ 합니다. "
-"Shape 리소스를 만드세요!"
+"CollisionShape2Dê°€ ìž‘ë™í•˜ë ¤ë©´ 반드시 Shapeê°€ 있어야 í•´ìš”. Shape 리소스를 만들"
+"어주세요!"
#: scene/2d/cpu_particles_2d.cpp
msgid ""
"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
"\"Particles Animation\" enabled."
msgstr ""
-"CPUParticles2D 애니메ì´ì…˜ì„ 사용하려면 \"Particles Animation\"ì´ í™œì„±í™”ëœ "
-"CanvasItemMaterialì´ í•„ìš”í•©ë‹ˆë‹¤."
+"CPUParticles2D 애니메ì´ì…˜ì—는 \"Particles Animation\"ì´ ì¼œì§„ "
+"CanvasItemMaterialì„ ì‚¬ìš©í•´ì•¼ í•´ìš”."
#: scene/2d/light_2d.cpp
msgid ""
"A texture with the shape of the light must be supplied to the \"Texture\" "
"property."
-msgstr "ì¡°ëª…ì˜ ëª¨ì–‘ì„ ë‚˜íƒ€ë‚¼ í…스ì³ë¥¼ \"Texture\" ì†ì„±ì— 지정해야 합니다."
+msgstr "ì¡°ëª…ì˜ ëª¨ì–‘ì„ ë‚˜íƒ€ë‚¼ í…스처를 \"Texture\" ì†ì„±ì— 지정해야 í•´ìš”."
#: scene/2d/light_occluder_2d.cpp
msgid ""
"An occluder polygon must be set (or drawn) for this occluder to take effect."
msgstr ""
-"Occluderê°€ ë™ìž‘하기 위해서는 Occluder í´ë¦¬ê³¤ì„ 지정하거나 그려야 합니다."
+"ì´ Occluderê°€ ì˜í–¥ì„ 주게 하려면 Occluder í´ë¦¬ê³¤ì„ 설정해야 (í˜¹ì€ ê·¸ë ¤ì•¼)í•´"
+"ìš”."
#: scene/2d/light_occluder_2d.cpp
msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
-msgstr "Occluder í´ë¦¬ê³¤ì´ 비어있습니다. í´ë¦¬ê³¤ì„ 그리세요."
+msgstr "Occluder í´ë¦¬ê³¤ì´ 비어있어요. í´ë¦¬ê³¤ì„ 그려주세요."
#: 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 ""
-"ì´ ë…¸ë“œê°€ ë™ìž‘하기 위해서는 NavigationPolygon 리소스를 지정 ë˜ëŠ” ìƒì„±í•´ì•¼ í•©"
-"니다. ì†ì„±ì„ 지정하거나, í´ë¦¬ê³¤ì„ 그리세요."
+"ì´ ë…¸ë“œê°€ ìž‘ë™í•˜ë ¤ë©´ NavigationPolygon 리소스를 설정하거나 만들어야 í•´ìš”. ì†"
+"ì„±ì„ ì„¤ì •í•˜ê±°ë‚˜ í´ë¦¬ê³¤ì„ 그려주세요."
#: scene/2d/navigation_polygon.cpp
msgid ""
"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
"node. It only provides navigation data."
msgstr ""
-"NavigationPolygonInstanceì€ Navigation2D ë…¸ë“œì˜ í•˜ìœ„ì— ìžˆì–´ì•¼ 합니다. ì´ê²ƒì€ "
-"내비게ì´ì…˜ ë°ì´í„°ë§Œì„ 제공합니다."
+"NavigationPolygonInstance는 Navigation2D ë…¸ë“œì˜ ìžì‹ ë˜ëŠ” ê·¸ ì•„ëž˜ì— ìžˆì–´ì•¼ í•´"
+"ìš”. ì´ê²ƒì€ 내비게ì´ì…˜ ë°ì´í„°ë§Œì„ 제공해요."
#: scene/2d/parallax_layer.cpp
msgid ""
"ParallaxLayer node only works when set as child of a ParallaxBackground node."
msgstr ""
-"ParallaxLayer는 ParallaxBackground ë…¸ë“œì˜ ìžì‹ë…¸ë“œë¡œ ìžˆì„ ë•Œë§Œ ë™ìž‘합니다."
+"ParallaxLayer는 ParallaxBackground ë…¸ë“œì˜ ìžì‹ 노드로 ìžˆì„ ë•Œë§Œ ìž‘ë™í•´ìš”."
#: scene/2d/particles_2d.cpp
msgid ""
@@ -11359,29 +11555,28 @@ msgid ""
"Use the CPUParticles2D node instead. You can use the \"Convert to "
"CPUParticles\" option for this purpose."
msgstr ""
-"GPU 기반 파티í´ì€ GLES2 비디오 드ë¼ì´ë²„ì—서 ì§€ì›í•˜ì§€ 않습니다.\n"
-"CPUParticles2D 노드를 사용하세요. ì´ ê²½ìš° \"CPU파티í´ë¡œ 변환\" ì˜µì…˜ì„ ì‚¬ìš©í•  "
-"수 있습니다."
+"GPU 기반 파티í´ì€ GLES2 비디오 드ë¼ì´ë²„ì—서 ì§€ì›í•˜ì§€ 않아요.\n"
+"대신 CPUParticles2D 노드를 사용하세요. ì´ ê²½ìš° \"CPU파티í´ë¡œ 변환\" ì˜µì…˜ì„ ì‚¬"
+"용할 수 있어요."
#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
msgid ""
"A material to process the particles is not assigned, so no behavior is "
"imprinted."
msgstr ""
-"파티í´ì„ 처리할 ë©”í…Œë¦¬ì–¼ì´ í• ë‹¹ë˜ì§€ 않았기ì—, 아무런 í–‰ë™ë„ ì¸ì‡„ë˜ì§€ 않았습니"
-"다."
+"파티í´ì„ 처리할 ë¨¸í‹°ë¦¬ì–¼ì„ ì§€ì •í•˜ì§€ 않아서, 아무런 ë™ìž‘ë„ ì°ížˆì§€ 않았어요."
#: scene/2d/particles_2d.cpp
msgid ""
"Particles2D animation requires the usage of a CanvasItemMaterial with "
"\"Particles Animation\" enabled."
msgstr ""
-"Particles2D 애니메ì´ì…˜ì„ 사용하려면 \"Particles Animation\"ì´ í™œì„±í™”ëœ "
-"CanvasItemMaterialì´ í•„ìš”í•©ë‹ˆë‹¤."
+"Particles2D 애니메ì´ì…˜ì€ \"Particles Animation\"ì´ ì¼œì ¸ 있는 "
+"CanvasItemMaterialì„ ì‚¬ìš©í•´ì•¼ í•´ìš”."
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
-msgstr "PathFollow2D는 Path2D ë…¸ë“œì˜ ìžì‹ë…¸ë“œë¡œ ìžˆì„ ë•Œë§Œ ë™ìž‘합니다."
+msgstr "PathFollow2D는 Path2D ë…¸ë“œì˜ ìžì‹ 노드로 ìžˆì„ ë•Œë§Œ ìž‘ë™í•´ìš”."
#: scene/2d/physics_body_2d.cpp
msgid ""
@@ -11390,27 +11585,27 @@ msgid ""
"Change the size in children collision shapes instead."
msgstr ""
"(ìºë¦­í„°ë‚˜ 리지드 모드ì—서) RigidBody2Dì˜ í¬ê¸° ë³€ê²½ì€ ë¬¼ë¦¬ ì—”ì§„ì´ ìž‘ë™í•˜ëŠ” ë™"
-"안 í° ë¶€ë‹´ì´ ë©ë‹ˆë‹¤.\n"
+"안 í° ë¶€ë‹´ì´ ë˜ìš”.\n"
"대신 ìžì‹ ì¶©ëŒ í˜•íƒœì˜ í¬ê¸°ë¥¼ 변경해보세요."
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
-msgstr "Path ì†ì„±ì€ 올바른 Node2D 노드를 가리켜야 합니다."
+msgstr "Path ì†ì„±ì€ 올바른 Node2D 노드를 가리켜야 í•´ìš”."
#: scene/2d/skeleton_2d.cpp
msgid "This Bone2D chain should end at a Skeleton2D node."
-msgstr "ì´ Bone2D ì²´ì¸ì€ Skeleton2D 노드ì—서 ë나야 합니다."
+msgstr "ì´ Bone2D ì²´ì¸ì€ Skeleton2D 노드ì—서 ë나야 í•´ìš”."
#: scene/2d/skeleton_2d.cpp
msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
-msgstr "Bone2D는 Skeleton2D나 다른 Bone2Dê°€ 부모 노드로 있어야만 ìž‘ë™í•©ë‹ˆë‹¤."
+msgstr "Bone2D는 Skeleton2D나 다른 Bone2Dê°€ 부모 노드로 있어야만 ìž‘ë™í•´ìš”."
#: scene/2d/skeleton_2d.cpp
msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
-"ì´ ë³¸ì— ì ì ˆí•œ íœ´ì‹ ìžì„¸ê°€ 없습니다. Skeleton2D 노드로 ê°€ 휴ì‹ìœ¼ë¡œ í•  ìžì„¸ë¥¼ "
-"설정하세요."
+"ì´ ë³¸ì— ì ì ˆí•œ 대기 ìžì„¸ê°€ 없습니다. Skeleton2D 노드로 가서 대기 ìžì„¸ë¥¼ 설정"
+"하세요."
#: scene/2d/tile_map.cpp
msgid ""
@@ -11418,46 +11613,46 @@ msgid ""
"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
"KinematicBody2D, etc. to give them a shape."
msgstr ""
-"Use Parentê°€ 켜진 TileMapì€ í˜•íƒœë¥¼ 주기 위해 부모 CollisionObject2Dê°€ 필요합"
+"Use Parentê°€ 켜진 TileMapì€ í˜•íƒœë¥¼ 주기 위한 부모 CollisionObject2Dê°€ 필요합"
"니다. 형태를 주기 위해 Area2D, StaticBody2D, RigidBody2D, KinematicBody2D 등"
-"ì˜ ìžì‹ 노드로 추가하여 사용합니다."
+"ì„ ìžì‹ 노드로 사용해주세요."
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnabler2D works best when used with the edited scene root directly "
"as parent."
msgstr ""
-"VisibilityEnabler2D는 편집 ì”¬ì˜ ë£¨íŠ¸ì˜ í•˜ìœ„ 노드로 추가할 때 가장 잘 ë™ìž‘합니"
-"다."
+"VisibilityEnabler2D는 편집한 ì”¬ì˜ ë£¨íŠ¸ì— ì§ì ‘ 부모로 사용할 때 가장 잘 ìž‘ë™í•´"
+"ìš”."
#: scene/3d/arvr_nodes.cpp
msgid "ARVRCamera must have an ARVROrigin node as its parent."
-msgstr "ARVRCamera는 반드시 ARVROrigin 노드를 부모로 가지고 있어야 합니다."
+msgstr "ARVRCamera는 반드시 ARVROrigin 노드를 부모로 갖고 있어야 해요."
#: scene/3d/arvr_nodes.cpp
msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr "ARVRController는 반드시 ARVROrigin 노드를 부모로 가지고 있어야 합니다."
+msgstr "ARVRController는 반드시 ARVROrigin 노드를 부모로 갖고 있어야 해요."
#: scene/3d/arvr_nodes.cpp
msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
msgstr ""
-"컨트롤러 IDê°€ 0ì´ ë˜ë©´ 컨트롤러가 실제 ì»¨íŠ¸ë¡¤ëŸ¬ì— ë°”ì¸ë”©í•˜ì§€ 않게 ë©ë‹ˆë‹¤."
+"컨트롤러 IDê°€ 0ì´ ë˜ë©´ 컨트롤러가 실제 ì»¨íŠ¸ë¡¤ëŸ¬ì— ë°”ì¸ë”©í•˜ì§€ 않게 ë¼ìš”."
#: scene/3d/arvr_nodes.cpp
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr "ARVRAnchor는 반드시 ARVROrigin 노드를 부모로 가지고 있어야 합니다."
+msgstr "ARVRAnchor는 반드시 ARVROrigin 노드를 부모로 갖고 있어야 해요."
#: scene/3d/arvr_nodes.cpp
msgid ""
"The anchor ID must not be 0 or this anchor won't be bound to an actual "
"anchor."
-msgstr "앵커 IDê°€ 0ì´ ë˜ë©´ 앵커가 실제 ì•µì»¤ì— ë°”ì¸ë”©í•˜ì§€ 않게 ë©ë‹ˆë‹¤."
+msgstr "앵커 IDê°€ 0ì´ ë˜ë©´ 앵커가 실제 ì•µì»¤ì— ë°”ì¸ë”©í•˜ì§€ 않게 ë¼ìš”."
#: scene/3d/arvr_nodes.cpp
msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr "ARVROriginì€ ìžì‹ìœ¼ë¡œ ARVRCamera 노드가 필요합니다."
+msgstr "ARVROriginì€ ìžì‹ìœ¼ë¡œ ARVRCamera 노드가 필요해요."
#: scene/3d/baked_lightmap.cpp
msgid "%d%%"
@@ -11473,7 +11668,7 @@ msgstr "메시 구분 중: "
#: scene/3d/baked_lightmap.cpp
msgid "Plotting Lights:"
-msgstr "ë¼ì´íЏ 구분 중:"
+msgstr "조명 구분 중:"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Finishing Plot"
@@ -11481,7 +11676,7 @@ msgstr "구분 ë남"
#: scene/3d/baked_lightmap.cpp
msgid "Lighting Meshes: "
-msgstr "ë©”ì‹œì— ë¼ì´íŒ… 중: "
+msgstr "ë©”ì‹œì— ì¡°ëª… 중: "
#: scene/3d/collision_object.cpp
msgid ""
@@ -11489,10 +11684,9 @@ msgid ""
"Consider adding a CollisionShape or CollisionPolygon as a child to define "
"its shape."
msgstr ""
-"ì´ ë…¸ë“œëŠ” Shapeì„ ê°–ëŠ” ìžì‹ 노드가 없습니다, 다른 물체와 ì¶©ëŒí•˜ê±°ë‚˜ ìƒí˜¸ìž‘ìš© "
-"할 수 없습니다.\n"
-"CollisionShape ë˜ëŠ” CollisionPolygon를 ìžì‹ 노드로 추가하여 Shapeì„ ì •ì˜í•˜ì„¸"
-"ìš”."
+"ì´ ë…¸ë“œëŠ” Shapeê°€ 없어요, 다른 물체와 ì¶©ëŒí•˜ê±°ë‚˜ ìƒí˜¸ìž‘용할 수 없어요.\n"
+"CollisionShape ë˜ëŠ” CollisionPolygonì„ ìžì‹ 노드로 추가해서 Shapeì„ ì •ì˜í•´ë³´"
+"세요."
#: scene/3d/collision_polygon.cpp
msgid ""
@@ -11500,13 +11694,13 @@ msgid ""
"CollisionObject derived node. Please only use it as a child of Area, "
"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
msgstr ""
-"CollisionPolygonì€ CollisionObjectì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©ë‹ˆ"
-"다. Area, StaticBody, RigidBody, KinematicBody ë“±ì— ìžì‹ 노드로 추가하여 사용"
-"합니다."
+"CollisionPolygonì€ CollisionObjectì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë¼"
+"ìš”. Area, StaticBody, RigidBody, KinematicBody ë“±ì— ìžì‹ 노드로 추가해서 사용"
+"해주세요."
#: scene/3d/collision_polygon.cpp
msgid "An empty CollisionPolygon has no effect on collision."
-msgstr "빈 CollisionPolygon는 ì¶©ëŒì— ì˜í–¥ì„ 주지 않습니다."
+msgstr "빈 CollisionPolygon는 ì¶©ëŒì— ì˜í–¥ì„ 주지 않아요."
#: scene/3d/collision_shape.cpp
msgid ""
@@ -11514,29 +11708,29 @@ msgid ""
"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
"KinematicBody, etc. to give them a shape."
msgstr ""
-"CollisionShapeì€ CollisionObjectì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©ë‹ˆ"
-"다. Area, StaticBody, RigidBody, KinematicBody ë“±ì— ìžì‹ 노드로 추가하여 사용"
-"합니다."
+"CollisionShapeì€ CollisionObjectì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë¼ìš”. "
+"Area, StaticBody, RigidBody, KinematicBody ë“±ì— ìžì‹ 노드로 추가해서 사용해주"
+"세요."
#: scene/3d/collision_shape.cpp
msgid ""
"A shape must be provided for CollisionShape to function. Please create a "
"shape resource for it."
msgstr ""
-"CollisionShapeê°€ ì œ ê¸°ëŠ¥ì„ í•˜ë ¤ë©´ Shapeê°€ 제공ë˜ì–´ì•¼ 합니다. Shape 리소스를 "
-"만드세요."
+"CollisionShapeê°€ ì œ ê¸°ëŠ¥ì„ í•˜ë ¤ë©´ Shapeê°€ 있어야 í•´ìš”. Shape 리소스를 만들어"
+"주세요."
#: scene/3d/collision_shape.cpp
msgid ""
"Plane shapes don't work well and will be removed in future versions. Please "
"don't use them."
msgstr ""
-"í‰ë©´ ëª¨ì–‘ì€ ìž˜ ìž‘ë™í•˜ì§€ 않으며 ì´í›„ 버전ì—서 ì œê±°ë  ì˜ˆì •ìž…ë‹ˆë‹¤. 사용하지 ë§ì•„"
-"주세요."
+"í‰ë©´ Shape는 잘 ìž‘ë™í•˜ì§€ 않으며 ì´í›„ 버전ì—서 ì œê±°ë  ì˜ˆì •ì´ì—ìš”. 사용하지 ë§"
+"아주세요."
#: scene/3d/cpu_particles.cpp
msgid "Nothing is visible because no mesh has been assigned."
-msgstr "ì§€ì •ëœ ë©”ì‹œê°€ 없으므로 메시를 ë³¼ 수 없습니다."
+msgstr "지정한 메시가 없어서 아무 ê²ƒë„ ë³´ì´ì§€ 않아요."
#: scene/3d/cpu_particles.cpp
msgid ""
@@ -11544,37 +11738,35 @@ msgid ""
"Billboard Mode is set to \"Particle Billboard\"."
msgstr ""
"CPUParticles 애니메ì´ì…˜ì„ 사용하려면 Billboard Modeê°€ \"Particle Billboard"
-"\"로 ì„¤ì •ëœ SpatialMaterialì´ í•„ìš”í•©ë‹ˆë‹¤."
+"\"로 ì„¤ì •ëœ SpatialMaterialì´ í•„ìš”í•´ìš”."
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
-msgstr "메시 구분중"
+msgstr "메시 구분 중"
#: scene/3d/gi_probe.cpp
msgid ""
"GIProbes are not supported by the GLES2 video driver.\n"
"Use a BakedLightmap instead."
msgstr ""
-"GIProbe는 GLES2 비디오 드ë¼ì´ë²„ì—서 ì§€ì›í•˜ì§€ 않습니다.\n"
-"BakedLightmapì„ ì‚¬ìš©í•˜ì„¸ìš”."
+"GIProbe는 GLES2 비디오 드ë¼ì´ë²„ì—서 ì§€ì›í•˜ì§€ 않아요.\n"
+"대신 BakedLightmapì„ ì‚¬ìš©í•˜ì„¸ìš”."
#: scene/3d/light.cpp
msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
-msgstr "SpotLightì˜ ê°ë„를 90ë„ ì´ìƒìœ¼ë¡œ 잡게ë˜ë©´ 그림ìžë¥¼ 투ì˜í•  수 없습니다."
+msgstr "SpotLightì˜ ê°ë„를 90ë„ ì´ìƒìœ¼ë¡œ 잡게ë˜ë©´ 그림ìžë¥¼ 투ì˜í•  수 없어요."
#: scene/3d/navigation_mesh.cpp
msgid "A NavigationMesh resource must be set or created for this node to work."
-msgstr ""
-"ì´ ë…¸ë“œê°€ ë™ìž‘하기 위해서는 NavigationMesh 리소스를 지정하거나 ìƒì„±í•´ì•¼ 합니"
-"다."
+msgstr "ì´ ë…¸ë“œê°€ ìž‘ë™í•˜ë ¤ë©´ NavigationMesh 리소스를 설정하거나 만들어야 í•´ìš”."
#: scene/3d/navigation_mesh.cpp
msgid ""
"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
"It only provides navigation data."
msgstr ""
-"NavigationMeshInstanceì€ Navigation ë…¸ë“œì˜ í•˜ìœ„ì— ìžˆì–´ì•¼ 합니다. ì´ê²ƒì€ 내비"
-"게ì´ì…˜ ë°ì´í„°ë§Œì„ 제공합니다."
+"NavigationMeshInstance는 Navigation ë…¸ë“œì˜ ìžì‹ì´ë‚˜ ê·¸ ì•„ëž˜ì— ìžˆì–´ì•¼ í•´ìš”. ì´"
+"ê²ƒì€ ë‚´ë¹„ê²Œì´ì…˜ ë°ì´í„°ë§Œì„ 제공해요."
#: scene/3d/particles.cpp
msgid ""
@@ -11582,14 +11774,14 @@ msgid ""
"Use the CPUParticles node instead. You can use the \"Convert to CPUParticles"
"\" option for this purpose."
msgstr ""
-"GPU 기반 파티í´ì€ GLES2 비디오 드ë¼ì´ë²„ì—서 ì§€ì›í•˜ì§€ 않습니다.\n"
-"CPUParticles 노드를 사용하세요. ì´ ê²½ìš° \"CPU파티í´ë¡œ 변환\" ì˜µì…˜ì„ ì‚¬ìš©í•  "
-"수 있습니다."
+"GPU 기반 파티í´ì€ GLES2 비디오 드ë¼ì´ë²„ì—서 ì§€ì›í•˜ì§€ 않아요.\n"
+"대신 CPUParticles 노드를 사용하세요. ì´ ê²½ìš° \"CPU파티í´ë¡œ 변환\" ì„¤ì •ì„ ì‚¬ìš©"
+"할 수 있어요."
#: scene/3d/particles.cpp
msgid ""
"Nothing is visible because meshes have not been assigned to draw passes."
-msgstr "ë©”ì‹œë“¤ì„ íŒ¨ìŠ¤ë¥¼ 그리ë„ë¡ í• ë‹¹í•˜ì§€ 않았으므로 ë³´ì´ì§€ 않습니다."
+msgstr "ë©”ì‹œë“¤ì„ íŒ¨ìŠ¤ë¥¼ 그리ë„ë¡ ì§€ì •í•˜ì§€ 않아서, 아무 ê²ƒë„ ë³´ì´ì§€ 않아요."
#: scene/3d/particles.cpp
msgid ""
@@ -11597,11 +11789,11 @@ msgid ""
"Mode is set to \"Particle Billboard\"."
msgstr ""
"Particles 애니메ì´ì…˜ì„ 사용하려면 Billboard Modeê°€ \"Particle Billboard\"로 "
-"ì„¤ì •ëœ SpatialMaterialì´ í•„ìš”í•©ë‹ˆë‹¤."
+"ì„¤ì •ëœ SpatialMaterialì´ í•„ìš”í•´ìš”."
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
-msgstr "PathFollow는 Path ë…¸ë“œì˜ ìžì‹ìœ¼ë¡œ ìžˆì„ ë•Œë§Œ ë™ìž‘합니다."
+msgstr "PathFollow는 Path ë…¸ë“œì˜ ìžì‹ìœ¼ë¡œ ìžˆì„ ë•Œë§Œ ìž‘ë™í•´ìš”."
#: scene/3d/path.cpp
msgid ""
@@ -11609,7 +11801,7 @@ msgid ""
"parent Path's Curve resource."
msgstr ""
"PathFollowì˜ ROTATION_ORIENTED는 부모 Pathì˜ Curve 리소스ì—서 \"Up Vector"
-"\"ê°€ 활성화ë˜ì–´ 있어야 합니다."
+"\"가 켜져 있어야 해요."
#: scene/3d/physics_body.cpp
msgid ""
@@ -11618,7 +11810,7 @@ msgid ""
"Change the size in children collision shapes instead."
msgstr ""
"(ìºë¦­í„°ë‚˜ 리지드 모드ì—서) RigidBodyì˜ í¬ê¸° ë³€ê²½ì€ ë¬¼ë¦¬ ì—”ì§„ì´ ìž‘ë™í•˜ëŠ” ë™ì•ˆ "
-"í° ë¶€ë‹´ì´ ë©ë‹ˆë‹¤.\n"
+"í° ë¶€ë‹´ì´ ë¼ìš”.\n"
"대신 ìžì‹ ì¶©ëŒ í˜•íƒœì˜ í¬ê¸°ë¥¼ 변경해보세요."
#: scene/3d/remote_transform.cpp
@@ -11626,12 +11818,12 @@ msgid ""
"The \"Remote Path\" property must point to a valid Spatial or Spatial-"
"derived node to work."
msgstr ""
-"\"Remote Path\" ì†ì„±ì€ 올바른 Spatial 노드, ë˜ëŠ” Spatial íŒŒìƒ ë…¸ë“œë¥¼ 가리켜"
-"야 합니다."
+"\"Remote Path\" ì†ì„±ì€ 올바른 Spatial 노드, ë˜ëŠ” Spatialì—서 파ìƒëœ 노드를 ê°€"
+"리켜야 해요."
#: scene/3d/soft_body.cpp
msgid "This body will be ignored until you set a mesh."
-msgstr "ì´ ë°”ë””ëŠ” 메시를 설정할 때까지 무시ë©ë‹ˆë‹¤."
+msgstr "ì´ ë°”ë””ëŠ” 메시를 설정할 때까지 무시ë¼ìš”."
#: scene/3d/soft_body.cpp
msgid ""
@@ -11639,8 +11831,8 @@ msgid ""
"running.\n"
"Change the size in children collision shapes instead."
msgstr ""
-"SoftBodyì˜ í¬ê¸° ë³€ê²½ì€ ì‹¤í–‰ ì¤‘ì— ë¬¼ë¦¬ ì—”ì§„ì— ì˜í•´ 무시ë©ë‹ˆë‹¤.\n"
-"대신 ìžì‹ì˜ ì¶©ëŒ í¬ê¸°ë¥¼ 변경하세요."
+"실행 ì¤‘ì— SoftBodyì˜ í¬ê¸° ë³€ê²½ì€ ë¬¼ë¦¬ ì—”ì§„ì— ì˜í•´ 다시 ì •ì˜ë¼ìš”.\n"
+"대신 ìžì‹ì˜ ì¶©ëŒ ëª¨ì–‘ í¬ê¸°ë¥¼ 변경하세요."
#: scene/3d/sprite_3d.cpp
msgid ""
@@ -11648,14 +11840,14 @@ msgid ""
"order for AnimatedSprite3D to display frames."
msgstr ""
"AnimatedSprite3Dê°€ í”„ë ˆìž„ì„ ë³´ì—¬ì£¼ê¸° 위해서는 \"Frames\" ì†ì„±ì— SpriteFrames "
-"리소스 만들거나 지정해야 합니다."
+"리소스를 만들거나 설정해야 해요."
#: 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 ""
-"VehicleWheelì€ VehicleBody로 휠 ì‹œìŠ¤í…œì„ ì œê³µí•˜ëŠ” ê¸°ëŠ¥ì„ í•©ë‹ˆë‹¤. VehicleBody"
+"VehicleWheelì€ VehicleBody로 바퀴 ì‹œìŠ¤í…œì„ ì œê³µí•˜ëŠ” ì—­í• ì´ì—ìš”. VehicleBody"
"ì˜ ìžì‹ìœ¼ë¡œ 사용해주세요."
#: scene/3d/world_environment.cpp
@@ -11663,21 +11855,22 @@ msgid ""
"WorldEnvironment requires its \"Environment\" property to contain an "
"Environment to have a visible effect."
msgstr ""
-"WorldEnvironment는 ì‹œê° íš¨ê³¼ë¥¼ 위해 Environment를 갖는 \"Environment\" ì†ì„±"
-"ì´ í•„ìš”í•©ë‹ˆë‹¤."
+"WorldEnvironmentê°€ ì‹œê° íš¨ê³¼ë¥¼ ê°–ë„ë¡ Environment를 ê°–ê³  있는 \"Environment"
+"\" ì†ì„±ì´ 필요해요."
#: scene/3d/world_environment.cpp
msgid ""
"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
-msgstr "씬마다 WorldEnvironmentê°€ 단 하나만 허용ë©ë‹ˆë‹¤."
+msgstr ""
+"씬마다 (í˜¹ì€ ì¸ìŠ¤í„´ìŠ¤ëœ ì”¬ 묶ìŒë§ˆë‹¤) WorldEnvironment는 하나만 허용ë˜ìš”."
#: scene/3d/world_environment.cpp
msgid ""
"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set "
"this environment's Background Mode to Canvas (for 2D scenes)."
msgstr ""
-"ì´ WorldEnvironment는 무시ë©ë‹ˆë‹¤. (3D ì”¬ì„ ìœ„í•´) Camera를 추가하거나 아니면 "
-"(2D ì”¬ì„ ìœ„í•´) ì´ í™˜ê²½ì˜ ë°°ê²½ 모드를 Canvas로 설정하세요."
+"ì´ WorldEnvironment는 무시ë¼ìš”. (3D ì”¬ì„ ìœ„í•´) Camera를 추가하거나 아니면 "
+"(2D ì”¬ì„ ìœ„í•´) ì´ í™˜ê²½ì˜ Background Mode를 Canvas로 설정하세요."
#: scene/animation/animation_blend_tree.cpp
msgid "On BlendTree node '%s', animation not found: '%s'"
@@ -11689,11 +11882,11 @@ msgstr "애니메ì´ì…˜ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ: '%s'"
#: scene/animation/animation_tree.cpp
msgid "In node '%s', invalid animation: '%s'."
-msgstr "노드 '%s'ì—서, 올바르지 ì•Šì€ ì• ë‹ˆë©”ì´ì…˜: '%s'."
+msgstr "노드 '%s'ì—서, ìž˜ëª»ëœ ì• ë‹ˆë©”ì´ì…˜: '%s'."
#: scene/animation/animation_tree.cpp
msgid "Invalid animation: '%s'."
-msgstr "올바르지 ì•Šì€ ì• ë‹ˆë©”ì´ì…˜: '%s'."
+msgstr "ìž˜ëª»ëœ ì• ë‹ˆë©”ì´ì…˜: '%s'."
#: scene/animation/animation_tree.cpp
msgid "Nothing connected to input '%s' of node '%s'."
@@ -11701,27 +11894,25 @@ msgstr "노드 '%s'ì˜ '%s' ìž…ë ¥ì— ì•„ë¬´ê²ƒë„ ì—°ê²°ë˜ì§€ 않ìŒ."
#: scene/animation/animation_tree.cpp
msgid "No root AnimationNode for the graph is set."
-msgstr "그래프를 위한 루트 AnimationNodeê°€ 설정ë˜ì§€ 않았습니다."
+msgstr "그래프를 위한 루트 AnimationNode를 설정하지 않았어요."
#: scene/animation/animation_tree.cpp
msgid "Path to an AnimationPlayer node containing animations is not set."
msgstr ""
-"애니메ì´ì…˜ì„ ê°–ê³  있는 AnimationPlayer ë…¸ë“œì˜ ê²½ë¡œê°€ 설정ë˜ì§€ 않았습니다."
+"애니메ì´ì…˜ì„ ê°–ê³  있는 AnimationPlayer ë…¸ë“œì˜ ê²½ë¡œë¥¼ 설정하지 않았어요."
#: scene/animation/animation_tree.cpp
msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
msgstr ""
-"AnimationPlayerì— ëŒ€í•œ 경로 ì„¤ì •ì´ AnimationPlayer 노드를 향하고 있지 않습니"
-"다."
+"AnimationPlayerì— ëŒ€í•œ 경로 ì„¤ì •ì´ AnimationPlayer 노드를 향하고 있지 않아요."
#: scene/animation/animation_tree.cpp
msgid "The AnimationPlayer root node is not a valid node."
-msgstr "AnimationPlayer 루트 노드가 올바른 노드가 아닙니다."
+msgstr "AnimationPlayer 루트 노드가 올바른 노드가 아니ì—ìš”."
#: scene/animation/animation_tree_player.cpp
msgid "This node has been deprecated. Use AnimationTree instead."
-msgstr ""
-"ì´ ë…¸ë“œëŠ” ë” ì´ìƒ 사용할 수 없습니다. AnimationTree를 사용하시길 ë°”ëžë‹ˆë‹¤."
+msgstr "ì´ ë…¸ë“œëŠ” ë” ì´ìƒ 사용할 수 없어요. 대신 AnimationTree를 사용하세요."
#: scene/gui/color_picker.cpp
msgid "Pick a color from the screen."
@@ -11737,11 +11928,11 @@ msgstr "Raw"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
-msgstr "16 진수나 코드 값으로 전환합니다."
+msgstr "16진수나 코드 값으로 전환해요."
#: scene/gui/color_picker.cpp
msgid "Add current color as a preset."
-msgstr "현재 색ìƒì„ 프리셋으로 추가합니다."
+msgstr "현재 색ìƒì„ 프리셋으로 추가해요."
#: scene/gui/container.cpp
msgid ""
@@ -11749,7 +11940,7 @@ msgid ""
"children placement behavior.\n"
"If you don't intend to add a script, use a plain Control node instead."
msgstr ""
-"Container ìžì²´ëŠ” ìžì‹ 배치 ìž‘ì—…ì„ êµ¬ì„±í•˜ëŠ” 스í¬ë¦½íЏ 외ì—는 목ì ì´ 없습니다.\n"
+"Container ìžì²´ëŠ” ìžì‹ 배치 ìž‘ì—…ì„ êµ¬ì„±í•˜ëŠ” 스í¬ë¦½íЏ 외ì—는 목ì ì´ 없어요.\n"
"스í¬ë¦½íŠ¸ë¥¼ 추가하지 않는 경우, 순수한 Control 노드를 사용해주세요."
#: scene/gui/control.cpp
@@ -11757,9 +11948,8 @@ msgid ""
"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
msgstr ""
-"Hint Tooltipì€ Controlì˜ Mouse Filterê°€ \"ignore\"로 설정ë˜ì–´ 있기 ë•Œë¬¸ì— ë³´"
-"여지지 않습니다. 해결하려면, Mouse Filter를 \"Stop\"ì´ë‚˜ \"Pass\"로 설정하세"
-"ìš”."
+"Hint Tooltipì€ Controlì˜ Mouse Filterê°€ \"Ignore\"으로 설정ë˜ì–´ 있기 ë•Œë¬¸ì— "
+"ë³´ì´ì§€ 않아요. 해결하려면, Mouse Filter를 \"Stop\"ì´ë‚˜ \"Pass\"로 설정하세요."
#: scene/gui/dialogs.cpp
msgid "Alert!"
@@ -11775,12 +11965,12 @@ msgid ""
"functions. Making them visible for editing is fine, but they will hide upon "
"running."
msgstr ""
-"Popupì€ popup() ë˜ëŠ” 기타 popup*() 함수로 호출ë˜ê¸° 전까지 기본ì ìœ¼ë¡œ 숨어있습"
-"니다. 편집하는 ë™ì•ˆ ë³´ì´ë„ë¡ í•  수는 있으나, 실행 시ì—는 ë³´ì´ì§€ 않습니다."
+"Popupì€ popup() ë˜ëŠ” 기타 popup*() 함수로 호출하기 전까지 기본ì ìœ¼ë¡œ 숨어있어"
+"ìš”. 편집하는 ë™ì•ˆ ë³´ì´ë„ë¡ í•  수는 있으나, 실행 시ì—는 ë³´ì´ì§€ 않아요."
#: scene/gui/range.cpp
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr "\"Exp Edit\"ì´ í™œì„±í™”ë˜ë©´, \"Min Value\"는 반드시 0보다 커야 합니다."
+msgstr "\"Exp Edit\"ì„ ì¼œë©´, \"Min Value\"는 반드시 0보다 커야 í•´ìš”."
#: scene/gui/scroll_container.cpp
msgid ""
@@ -11788,9 +11978,9 @@ msgid ""
"Use a container as child (VBox, HBox, etc.), or a Control and set the custom "
"minimum size manually."
msgstr ""
-"ScrollContainer는 ë‹¨ì¼ ìžì‹ Controlì„ ìž‘ì—…í•˜ê¸° 위한 것입니다.\n"
-"컨테ì´ë„ˆë¥¼ ìžì‹ìœ¼ë¡œ 사용하거나 (VBox, HBox 등), Controlì„ ì‚¬ìš©í•´ ì†ìˆ˜ 최소 수"
-"치를 설정하세요."
+"ScrollContainer는 ë‹¨ì¼ ìžì‹ Controlì„ ìž‘ì—…í•˜ê¸° 위한 것ì´ì—ìš”.\n"
+"컨테ì´ë„ˆë¥¼ ìžì‹ìœ¼ë¡œ 사용하거나 (VBox, HBox 등), Controlì„ ì‚¬ìš©í•˜ê³  맞춤 최소 "
+"수치를 수ë™ìœ¼ë¡œ 설정하세오."
#: scene/gui/tree.cpp
msgid "(Other)"
@@ -11801,8 +11991,8 @@ msgid ""
"Default Environment as specified in Project Settings (Rendering -> "
"Environment -> Default Environment) could not be loaded."
msgstr ""
-"프로ì íЏ 설정 (Rendering -> Environment -> Default Environment)ì— ì§€ì •ëœ ê¸°"
-"본 í™˜ê²½ì€ ë¶ˆëŸ¬ì˜¬ 수 없습니다."
+"프로ì íЏ 설정 (Rendering -> Environment -> Default Environment)ì— ì§€ì •í•œ 기"
+"본 í™˜ê²½ì€ ë¶ˆëŸ¬ì˜¬ 수 없어요."
#: scene/main/viewport.cpp
msgid ""
@@ -11811,10 +12001,10 @@ msgid ""
"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
"texture to some node for display."
msgstr ""
-"ë·°í¬íŠ¸ê°€ ë Œë” ëŒ€ìƒìœ¼ë¡œ 설정ë˜ì§€ 않았습니다. ë·°í¬íŠ¸ì˜ ë‚´ìš©ì„ í™”ë©´ ìƒì— ì§ì ‘ 표"
-"ì‹œí•˜ê³ ìž í•  경우, í¬ê¸°ë¥¼ 얻기 위해서 Controlì˜ ìžì‹ 노드로 만들어야 합니다. "
-"그렇지 ì•Šì„ ê²½ìš°, í™”ë©´ì— í‘œì‹œí•˜ê¸° 위해서는 RenderTarget으로 설정하고 ë‚´ë¶€ì "
-"ì¸ í…스ì³ë¥¼ 다른 ë…¸ë“œì— í• ë‹¹í•´ì•¼ 합니다."
+"ë·°í¬íŠ¸ë¥¼ ë Œë” ëŒ€ìƒìœ¼ë¡œ 설정하지 않았어요. ë·°í¬íŠ¸ì˜ ë‚´ìš©ì„ í™”ë©´ì— ì§ì ‘ 표시하"
+"려면, í¬ê¸°ë¥¼ 얻기 위해서 Controlì˜ ìžì‹ 노드로 만들어야 í•´ìš”. 그렇지 ì•Šì„ ê²½"
+"ìš°, í™”ë©´ì— í‘œì‹œí•˜ê¸° 위해서는 RenderTarget으로 설정하고 ë‚´ë¶€ì ì¸ í…스처를 다"
+"른 ë…¸ë“œì— ì§€ì •í•´ì•¼ í•´ìš”."
#: scene/resources/visual_shader.cpp
msgid "Input"
@@ -11822,15 +12012,15 @@ msgstr "ìž…ë ¥"
#: scene/resources/visual_shader_nodes.cpp
msgid "Invalid source for preview."
-msgstr "ë¯¸ë¦¬ë³´ê¸°ì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ì†ŒìŠ¤."
+msgstr "미리 ë³´ê¸°ì— ìž˜ëª»ëœ ì†ŒìŠ¤."
#: scene/resources/visual_shader_nodes.cpp
msgid "Invalid source for shader."
-msgstr "ì…°ì´ë”ì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ì†ŒìŠ¤."
+msgstr "ì…°ì´ë”ì— ìž˜ëª»ëœ ì†ŒìŠ¤."
#: scene/resources/visual_shader_nodes.cpp
msgid "Invalid comparison function for that type."
-msgstr "해당 íƒ€ìž…ì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ë¹„êµ í•¨ìˆ˜."
+msgstr "해당 ìœ í˜•ì— ìž˜ëª»ëœ ë¹„êµ í•¨ìˆ˜."
#: servers/visual/shader_language.cpp
msgid "Assignment to function."
@@ -11838,15 +12028,52 @@ msgstr "í•¨ìˆ˜ì— ë°°ì¹˜í•¨."
#: servers/visual/shader_language.cpp
msgid "Assignment to uniform."
-msgstr "ê· ì¼í•˜ê²Œ 배치함."
+msgstr "유니í¼ì— 배치함."
#: servers/visual/shader_language.cpp
msgid "Varyings can only be assigned in vertex function."
-msgstr "Varyings는 ì˜¤ì§ ë²„í…스 함수ì—서만 지정할 수 있습니다."
+msgstr "Varyings는 ì˜¤ì§ ê¼­ì§“ì  í•¨ìˆ˜ì—서만 지정할 수 있어요."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr "ìƒìˆ˜ëŠ” 수정할 수 없습니다."
+msgstr "ìƒìˆ˜ëŠ” 수정할 수 없어요."
+
+#~ msgid "Properties:"
+#~ msgstr "ì†ì„±:"
+
+#~ msgid "Methods:"
+#~ msgstr "메서드:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "테마 ì†ì„±:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "ì—´ê±°:"
+
+#~ msgid "Constants:"
+#~ msgstr "ìƒìˆ˜:"
+
+#~ msgid "Class Description:"
+#~ msgstr "í´ëž˜ìФ 설명:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "ì†ì„± 설명:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "메서드 설명:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "맞춤 빌드 ìš© 안드로ì´ë“œ 프로ì íŠ¸ë¥¼ 설치할게요.\n"
+#~ "ì´ê²ƒì„ 사용하려면 내보내기 프리셋마다 ì´ ì„¤ì •ì„ ì¼œì¤˜ì•¼ í•´ìš”."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "역순 정렬."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "노드를 삭제할까요?"
#~ msgid "No Matches"
#~ msgstr "ì¼ì¹˜ ê²°ê³¼ ì—†ìŒ"
@@ -12259,9 +12486,6 @@ msgstr "ìƒìˆ˜ëŠ” 수정할 수 없습니다."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "ì„ íƒëœ ì”¬ì„ ì„ íƒëœ ë…¸ë“œì˜ ìžì‹ìœ¼ë¡œ ì¸ìŠ¤í„´ìŠ¤ 합니다."
-#~ msgid "Warnings:"
-#~ msgstr "경고:"
-
#~ msgid "Font Size:"
#~ msgstr "í°íЏ í¬ê¸°:"
@@ -12304,9 +12528,6 @@ msgstr "ìƒìˆ˜ëŠ” 수정할 수 없습니다."
#~ msgid "Select a split to erase it."
#~ msgstr "지우기 위한 ë¶„í•  위치를 ì„ íƒí•˜ê¸°."
-#~ msgid "No name provided"
-#~ msgstr "ì´ë¦„ì´ ì§€ì •ë˜ì§€ 않ìŒ"
-
#~ msgid "Add Node.."
#~ msgstr "노드 추가.."
@@ -12440,9 +12661,6 @@ msgstr "ìƒìˆ˜ëŠ” 수정할 수 없습니다."
#~ msgid "Warning"
#~ msgstr "경고"
-#~ msgid "Error:"
-#~ msgstr "ì—러:"
-
#~ msgid "Function:"
#~ msgstr "함수:"
@@ -12524,9 +12742,6 @@ msgstr "ìƒìˆ˜ëŠ” 수정할 수 없습니다."
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "그래프 노드 복제"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "ì…°ì´ë” 그래프 노드 ì‚­ì œ"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "ì—러: 순환 ì—°ê²° ë§í¬"
@@ -12953,9 +13168,6 @@ msgstr "ìƒìˆ˜ëŠ” 수정할 수 없습니다."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "새로운 ì´ë¦„ê³¼ 위치를 고르세요:"
-#~ msgid "No files selected!"
-#~ msgstr "파ì¼ì´ ì„ íƒë˜ì§€ 않았습니다!"
-
#~ msgid "Info"
#~ msgstr "ì •ë³´"
@@ -13352,12 +13564,6 @@ msgstr "ìƒìˆ˜ëŠ” 수정할 수 없습니다."
#~ msgid "Scaling to %s%%."
#~ msgstr "%s%%로 í¬ê¸° 변경."
-#~ msgid "Up"
-#~ msgstr "위"
-
-#~ msgid "Down"
-#~ msgstr "아래"
-
#~ msgid "Bucket"
#~ msgstr "채우기"
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
index 79d42d1231..4a7551e5b2 100644
--- a/editor/translations/lt.po
+++ b/editor/translations/lt.po
@@ -59,6 +59,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Nemokama"
@@ -484,6 +512,12 @@ msgid "Select None"
msgstr "Pasirinkite Nodus, kuriuos norite importuoti"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Norint redaguoti animacijas pasirinkite AnimationPlayer Nodą iš Scenos."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -813,7 +847,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -920,7 +955,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1220,7 +1256,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1412,6 +1448,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1641,6 +1678,7 @@ msgstr "(Esama)"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1717,6 +1755,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1874,46 +1913,27 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "Aprašymas:"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1922,21 +1942,12 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Aprašymas:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "Aprašymas:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1952,11 +1963,6 @@ msgid "Property Descriptions"
msgstr "Aprašymas:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Aprašymas:"
-
-#: 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]!"
@@ -1968,11 +1974,6 @@ msgid "Method Descriptions"
msgstr "Aprašymas:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Aprašymas:"
-
-#: 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]!"
@@ -2042,8 +2043,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Panaikinti pasirinkimÄ…"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2056,6 +2057,50 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "PradÄ—ti!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Atsiųsti"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2601,6 +2646,19 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versija:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2802,10 +2860,6 @@ msgstr ""
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 ""
@@ -2856,10 +2910,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2881,15 +2931,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2952,6 +3008,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr "Atidaryti praeitą Editorių"
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2962,6 +3022,11 @@ msgstr "Miniatūra..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Atidaryti Skriptų Editorių"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Priedai"
@@ -2991,12 +3056,6 @@ msgstr "Statusas:"
msgid "Edit:"
msgstr "Redaguoti"
-#: 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:"
msgstr ""
@@ -3801,9 +3860,10 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Atstatyti PriartinimÄ…"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4244,6 +4304,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4823,10 +4884,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategorija:"
@@ -5100,6 +5157,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "TimeScale Nodas"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6163,7 +6225,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6375,11 +6437,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6460,7 +6522,7 @@ msgstr ""
msgid "Connections to method:"
msgstr "Prijunkite prie Nodo:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7242,6 +7304,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Mix Nodas"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animacija"
@@ -7566,6 +7633,15 @@ msgid "Enable Priority"
msgstr "Redaguoti Filtrus"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrai..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7706,6 +7782,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Panaikinti pasirinkimÄ…"
@@ -7875,6 +7956,104 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "BendruomenÄ—"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Sukurti NaujÄ…"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Naujas pavadinimas:"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Ištrinti Efektą"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Panaikinti pasirinkimÄ…"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8120,6 +8299,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9324,6 +9508,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9461,6 +9649,10 @@ msgid "Plugins"
msgstr "Priedai"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9628,10 +9820,6 @@ msgstr ""
msgid "Reset"
msgstr "Atstatyti PriartinimÄ…"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9687,6 +9875,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9727,10 +9919,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Ištrinti Efektą"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Ištrinti Efektą"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10118,26 +10324,57 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Įvyko klaida kraunant šriftą."
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Source:"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Errors"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Child process connected."
+msgstr "Atsijungti"
+
+#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Sukurti"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10154,6 +10391,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Importuoti iš Nodo:"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10166,6 +10408,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10362,10 +10608,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10374,6 +10616,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10528,6 +10774,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filtrai..."
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10665,6 +10920,10 @@ msgid "Create a new variable."
msgstr "Sukurti NaujÄ…"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Keisti Poligono SkalÄ™"
@@ -10824,6 +11083,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10972,7 +11235,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11634,6 +11898,18 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Aprašymas:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Aprašymas:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Aprašymas:"
+
+#, fuzzy
#~ msgid "Select Mode (Q)"
#~ msgstr "Pasirinkite Nodus, kuriuos norite importuoti"
diff --git a/editor/translations/lv.po b/editor/translations/lv.po
index fe36132eca..2ffe68acc5 100644
--- a/editor/translations/lv.po
+++ b/editor/translations/lv.po
@@ -59,6 +59,34 @@ msgstr "Nderīgs arguments, lai izveidotu '%s'"
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Bezmaksas"
@@ -477,6 +505,10 @@ msgid "Select None"
msgstr "Dzēst izvēlētos"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "RÄdÄ«t celiņus tikai no mezgliem izvÄ“lÄ“tajÄ kokÄ."
@@ -804,7 +836,8 @@ msgstr "Savieno SignÄlu:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -909,7 +942,8 @@ msgstr "Meklēt:"
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1222,7 +1256,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1423,6 +1457,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1648,6 +1683,7 @@ msgstr "Izveidot Funkciju"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1722,6 +1758,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1880,46 +1917,27 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "Apraksts:"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1928,21 +1946,12 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Apraksts:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "Apraksts:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1958,11 +1967,6 @@ msgid "Property Descriptions"
msgstr "Apraksts:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Apraksts:"
-
-#: 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]!"
@@ -1974,11 +1978,6 @@ msgid "Method Descriptions"
msgstr "Apraksts:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Apraksts:"
-
-#: 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]!"
@@ -2047,8 +2046,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Noņemt Izvēlēto"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2061,6 +2060,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2607,6 +2648,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2807,10 +2860,6 @@ msgstr ""
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 ""
@@ -2862,10 +2911,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2887,15 +2932,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2958,6 +3009,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2967,6 +3022,11 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Savieno SignÄlu:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2995,11 +3055,6 @@ msgstr ""
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 ""
@@ -3797,9 +3852,10 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "AtiestatÄ«t tÄlummaiņu"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4237,6 +4293,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4804,10 +4861,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5080,6 +5133,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Mēroga Attiecība:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6142,7 +6200,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6350,11 +6408,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6435,7 +6493,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Resurs"
@@ -7223,6 +7281,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Animations:"
msgstr "Funkcijas:"
@@ -7546,6 +7608,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7685,6 +7755,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Noņemt Izvēlēto"
@@ -7852,6 +7927,106 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Izveidot Jaunu %s"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Nomainīt"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "PÄrsaukt Audio Kopni"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Izdzēst"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Nomainīt"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Mēroga Izvēle"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Nomainīt"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8096,6 +8271,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9293,6 +9473,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9430,6 +9614,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9595,10 +9783,6 @@ msgstr ""
msgid "Reset"
msgstr "AtiestatÄ«t tÄlummaiņu"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9654,6 +9838,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9694,10 +9882,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Izdzēst"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Izdzēst"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10084,26 +10286,60 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Kļūme lÄdÄ“jot:"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Resurs"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Resurs"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Resurs"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Child process connected."
+msgstr "Savienot"
+
+#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Izveidot"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10120,6 +10356,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10132,6 +10372,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10328,10 +10572,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10340,6 +10580,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10494,6 +10738,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10634,6 +10886,10 @@ msgid "Create a new variable."
msgstr "Izveidot Jaunu %s"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Izveidot"
@@ -10791,6 +11047,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10938,7 +11198,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11597,6 +11858,18 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Apraksts:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Apraksts:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Apraksts:"
+
#~ msgid "Error initializing FreeType."
#~ msgstr "Kļūme inicializējot FreeType."
diff --git a/editor/translations/mi.po b/editor/translations/mi.po
index 1bb449ea57..9b3110d3de 100644
--- a/editor/translations/mi.po
+++ b/editor/translations/mi.po
@@ -49,6 +49,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -448,6 +476,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -765,7 +797,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -866,7 +899,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1166,7 +1200,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1357,6 +1391,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1576,6 +1611,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1646,6 +1682,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1801,7 +1838,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1809,38 +1846,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1849,19 +1866,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1876,10 +1885,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1890,10 +1895,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1960,8 +1961,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1974,6 +1975,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2513,6 +2556,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2712,10 +2767,6 @@ msgstr ""
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 ""
@@ -2766,10 +2817,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2791,15 +2838,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2862,6 +2915,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2871,6 +2928,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2899,11 +2960,6 @@ msgstr ""
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 ""
@@ -3679,8 +3735,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4106,6 +4162,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4664,10 +4721,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4930,6 +4983,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5978,7 +6035,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6178,11 +6235,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6262,7 +6319,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7029,6 +7086,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7343,6 +7404,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7473,6 +7542,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7627,6 +7701,99 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Deleted"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage Selected"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7860,6 +8027,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9050,6 +9222,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9186,6 +9362,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9349,10 +9529,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9408,6 +9584,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9448,7 +9628,19 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9826,11 +10018,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9838,7 +10054,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9846,6 +10062,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9862,6 +10082,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9874,6 +10098,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10070,10 +10298,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10082,6 +10306,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10233,6 +10461,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10368,6 +10604,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10524,6 +10764,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10671,7 +10915,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/ml.po b/editor/translations/ml.po
index 876edb73fa..842e96a160 100644
--- a/editor/translations/ml.po
+++ b/editor/translations/ml.po
@@ -57,6 +57,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -456,6 +484,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -773,7 +805,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -874,7 +907,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1174,7 +1208,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1365,6 +1399,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1584,6 +1619,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1654,6 +1690,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1809,7 +1846,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1817,38 +1854,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1857,19 +1874,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1884,10 +1893,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1898,10 +1903,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1968,8 +1969,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1982,6 +1983,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2521,6 +2564,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2720,10 +2775,6 @@ msgstr ""
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 ""
@@ -2774,10 +2825,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2799,15 +2846,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2870,6 +2923,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2879,6 +2936,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2907,11 +2968,6 @@ msgstr ""
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 ""
@@ -3687,8 +3743,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4114,6 +4170,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4672,10 +4729,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4938,6 +4991,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5986,7 +6043,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6186,11 +6243,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6270,7 +6327,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7037,6 +7094,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7351,6 +7412,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7481,6 +7550,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7635,6 +7709,99 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Deleted"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage Selected"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7868,6 +8035,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9058,6 +9230,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9194,6 +9370,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9357,10 +9537,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9416,6 +9592,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9456,7 +9636,19 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9834,11 +10026,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9846,7 +10062,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9854,6 +10070,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9870,6 +10090,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9882,6 +10106,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10078,10 +10306,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10090,6 +10314,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10241,6 +10469,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10376,6 +10612,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10532,6 +10772,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10679,7 +10923,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/ms.po b/editor/translations/ms.po
index afe9e390fe..2f28b92d55 100644
--- a/editor/translations/ms.po
+++ b/editor/translations/ms.po
@@ -60,6 +60,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -474,6 +502,10 @@ msgid "Select None"
msgstr "Semua Pilihan"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -793,7 +825,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -894,7 +927,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1194,7 +1228,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1385,6 +1419,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1605,6 +1640,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1675,6 +1711,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1830,7 +1867,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1838,38 +1875,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1878,19 +1895,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1905,10 +1914,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1919,10 +1924,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1990,8 +1991,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Semua Pilihan"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2004,6 +2005,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2544,6 +2587,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2744,10 +2799,6 @@ msgstr ""
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 ""
@@ -2798,10 +2849,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2823,15 +2870,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2894,6 +2947,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2903,6 +2960,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2931,11 +2992,6 @@ msgstr ""
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 ""
@@ -3712,8 +3768,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4143,6 +4199,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4705,10 +4762,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4976,6 +5029,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6026,7 +6083,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6226,11 +6283,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6310,7 +6367,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7079,6 +7136,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Animations:"
msgstr "Set Peralihan ke:"
@@ -7398,6 +7459,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7529,6 +7598,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7685,6 +7759,103 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Komuniti"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Ubah Nama Trek Anim"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Semua Pilihan"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Semua Pilihan"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7922,6 +8093,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9113,6 +9289,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9250,6 +9430,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9414,10 +9598,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9473,6 +9653,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9513,10 +9697,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Semua Pilihan"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Semua Pilihan"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -9892,11 +10090,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9904,7 +10126,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9912,6 +10134,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9928,6 +10154,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9940,6 +10170,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10136,10 +10370,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10148,6 +10378,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10302,6 +10536,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10437,6 +10679,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10593,6 +10839,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10740,7 +10990,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index 7b642c69e0..3bc8192461 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -69,6 +69,35 @@ msgstr "Ugyldige argumenter for å lage \"%s\""
msgid "On call to '%s':"
msgstr "NÃ¥r \"%s\" ble anropt:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Bland"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Frigjør"
@@ -517,6 +546,11 @@ msgid "Select None"
msgstr "Kutt Noder"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "Velg en AnimationPlayer fra scenetreet for å endre animasjoner."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Vis kun spor fra noder valgt i treet."
@@ -852,7 +886,8 @@ msgstr "Kobler Til Signal:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -962,7 +997,8 @@ msgstr "Søk:"
msgid "Matches:"
msgstr "Treff:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1284,7 +1320,8 @@ msgid "Delete Bus Effect"
msgstr "Slett Bus Effekt"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Audio Bus, Dra og Slipp for å omorganisere."
#: editor/editor_audio_buses.cpp
@@ -1484,6 +1521,7 @@ msgid "Add AutoLoad"
msgstr "Legg til AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Bane:"
@@ -1732,6 +1770,7 @@ msgstr "Gjeldende:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Ny"
@@ -1812,6 +1851,7 @@ msgid "New Folder..."
msgstr "Ny Mappe..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Oppdater"
@@ -1973,7 +2013,8 @@ msgid "Inherited by:"
msgstr "Arvet av:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Kort beskrivelse:"
#: editor/editor_help.cpp
@@ -1981,41 +2022,19 @@ msgid "Properties"
msgstr "Egenskaper"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Egenskaper:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metoder"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "Metoder"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "Egenskaper"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-msgstr "Egenskaper"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signaler:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Nummereringer"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Nummereringer:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "num "
@@ -2024,21 +2043,13 @@ msgid "Constants"
msgstr "Konstanter"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstanter:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Beskrivelse"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "Beskrivelse:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "Online dokumentasjon:"
#: editor/editor_help.cpp
@@ -2057,11 +2068,6 @@ msgid "Property Descriptions"
msgstr "Egenskapsbeskrivelse:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Egenskapsbeskrivelse:"
-
-#: 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]!"
@@ -2075,11 +2081,6 @@ msgid "Method Descriptions"
msgstr "Metodebeskrivelse:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Metodebeskrivelse:"
-
-#: 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]!"
@@ -2159,8 +2160,8 @@ msgstr "Output:"
msgid "Copy Selection"
msgstr "Fjern Utvalg"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2173,6 +2174,50 @@ msgstr "Tøm"
msgid "Clear Output"
msgstr "Nullstill resultat"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Stopp"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Last ned"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Node"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2772,6 +2817,19 @@ msgstr "Prosjekt"
msgid "Project Settings..."
msgstr "Prosjektinnstillinger"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versjon:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -3006,10 +3064,6 @@ msgstr "Sett scenen på pause"
msgid "Stop the scene."
msgstr "Stopp scenen."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Stopp"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Spill den redigerte scenen."
@@ -3066,10 +3120,6 @@ msgid "Inspector"
msgstr "Inspektør"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Node"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "Utvid alle"
@@ -3093,15 +3143,21 @@ msgstr "HÃ¥ndter Eksportmaler"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3165,6 +3221,11 @@ msgstr "Ã…pne den neste Editoren"
msgid "Open the previous Editor"
msgstr "Ã…pne den forrige Editoren"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Ressurs"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Lager Forhåndsvisning av Mesh"
@@ -3175,6 +3236,11 @@ msgstr "Miniatyrbilde..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Kjør Skript"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Rediger Poly"
@@ -3204,12 +3270,6 @@ msgstr "Status:"
msgid "Edit:"
msgstr "Rediger"
-#: 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:"
msgstr "MÃ¥l:"
@@ -4071,9 +4131,9 @@ msgstr " Filer"
msgid "Import As:"
msgstr "Importer Som:"
-#: editor/import_dock.cpp editor/property_editor.cpp
+#: editor/import_dock.cpp
#, fuzzy
-msgid "Preset..."
+msgid "Preset"
msgstr "Preset..."
#: editor/import_dock.cpp
@@ -4552,6 +4612,7 @@ msgid "Change Animation Name:"
msgstr "Endre Animasjonsnavn:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Fjern Animasjon?"
@@ -5154,11 +5215,6 @@ msgid "Sort:"
msgstr "Sorter:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Ber om..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategori:"
@@ -5450,6 +5506,11 @@ msgstr "Panorerings-Modus"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "Velg Modus"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "Slå av/på snapping"
@@ -6560,7 +6621,7 @@ msgstr "Instans:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Type:"
@@ -6782,14 +6843,14 @@ msgid "Toggle Scripts Panel"
msgstr "Veksle skriptpanel"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Hopp Over"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Tre inn i"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Hopp Over"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Brekk"
@@ -6871,7 +6932,7 @@ msgstr "Fjern Nylige Scener"
msgid "Connections to method:"
msgstr "Koble Til Node:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Ressurs"
@@ -7685,6 +7746,11 @@ msgstr "(tom)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Flytt Modus"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animasjoner"
@@ -8022,6 +8088,15 @@ msgid "Enable Priority"
msgstr "Rediger Filtre"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrer Filer..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -8171,6 +8246,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Fjern Kurvepunkt"
@@ -8349,6 +8429,110 @@ msgstr "Denne operasjonen kan ikke gjøres uten en scene."
msgid "TileSet"
msgstr "TileSet..."
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Ingen navn gitt"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Fellesskap"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Store bokstaver"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Lag ny %s"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Forandre"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Endre navn"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Slett"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Forandre"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Slett Valgte"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Lagre Alle"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Synkroniser Skriptforandringer"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8607,6 +8791,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9840,6 +10029,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Fjern Utvalg"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9981,6 +10175,11 @@ msgid "Plugins"
msgstr "Plugins"
#: editor/property_editor.cpp
+#, fuzzy
+msgid "Preset..."
+msgstr "Preset..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -10156,10 +10355,6 @@ msgstr "Store versaler"
msgid "Reset"
msgstr "Nullstill Zoom"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10215,6 +10410,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10256,10 +10455,24 @@ msgid "Make node as Root"
msgstr "Lagre Scene"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Kutt Noder"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Kutt Noder"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10671,11 +10884,42 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
+#, fuzzy
+msgid "Warning:"
+msgstr "Advarsler:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Error!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Last Errors"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Last Errors"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Ressurs"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Ressurs"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Ressurs"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10683,8 +10927,9 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Frakoblet"
#: editor/script_editor_debugger.cpp
#, fuzzy
@@ -10692,6 +10937,11 @@ msgid "Copy Error"
msgstr "Last Errors"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Slett punkter"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10708,6 +10958,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Eksporter Prosjekt"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10720,6 +10975,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10923,10 +11182,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10935,6 +11190,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -11094,6 +11353,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Lim inn Noder"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11237,6 +11505,10 @@ msgid "Create a new variable."
msgstr "Lag ny %s"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signaler:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Lag en ny polygon fra bunnen."
@@ -11407,6 +11679,11 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Lag Ben"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11558,7 +11835,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12224,6 +12502,39 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr "Konstanter kan ikke endres."
+#~ msgid "Properties:"
+#~ msgstr "Egenskaper:"
+
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "Metoder"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Egenskaper"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Nummereringer:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstanter:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Beskrivelse:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Egenskapsbeskrivelse:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Metodebeskrivelse:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Ber om..."
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12396,9 +12707,6 @@ msgstr "Konstanter kan ikke endres."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "Instanser den valgte scene(r) som barn av den valgte noden."
-#~ msgid "Warnings:"
-#~ msgstr "Advarsler:"
-
#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "Frontvisning"
@@ -12433,9 +12741,6 @@ msgstr "Konstanter kan ikke endres."
#~ msgid "Select a split to erase it."
#~ msgstr "Velg en Mappe å Skanne"
-#~ msgid "No name provided"
-#~ msgstr "Ingen navn gitt"
-
#~ msgid "Create Poly"
#~ msgstr "Lag Poly"
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index 2c836b5685..c100b343da 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -91,6 +91,35 @@ msgstr "Ongeldig argument in constructie '%s'"
msgid "On call to '%s':"
msgstr "Tijdens invocatie van '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mengen"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Vrij"
@@ -515,6 +544,12 @@ msgid "Select None"
msgstr "Niets Selecteren"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Selecteer een AnimationPlayer uit de Scene Tree om animaties te wijzigen."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Toon alleen sporen die horen bij de geselecteerde node in de boom."
@@ -843,7 +878,8 @@ msgstr "Verbind met Signaal: "
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -949,7 +985,8 @@ msgstr "Zoeken:"
msgid "Matches:"
msgstr "Overeenkomsten:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1269,7 +1306,8 @@ msgid "Delete Bus Effect"
msgstr "Verwijder audiobuseffect"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Audiobus, versleep om volgorde te veranderen."
#: editor/editor_audio_buses.cpp
@@ -1468,6 +1506,7 @@ msgid "Add AutoLoad"
msgstr "AutoLoad Toevoegen"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Pad:"
@@ -1709,6 +1748,7 @@ msgstr "Huidig:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Nieuw"
@@ -1787,6 +1827,7 @@ msgid "New Folder..."
msgstr "Nieuwe Map..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Verversen"
@@ -1947,7 +1988,8 @@ msgid "Inherited by:"
msgstr "Geërfd door:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Korte Beschrijving:"
#: editor/editor_help.cpp
@@ -1955,38 +1997,18 @@ msgid "Properties"
msgstr "Eigenschappen"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Eigenschappen:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Methodes"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Methodes:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Thema Eigenschappen"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Thema Eigenschappen:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signalen:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumeraties"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumeraties:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1995,19 +2017,12 @@ msgid "Constants"
msgstr "Constanten"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Constanten:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Klassebeschrijving"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Klassebeschrijving:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Online Documentatie:"
#: editor/editor_help.cpp
@@ -2026,11 +2041,6 @@ msgid "Property Descriptions"
msgstr "Eigenschap Beschrijving:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Eigenschap Beschrijving:"
-
-#: 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]!"
@@ -2044,11 +2054,6 @@ msgid "Method Descriptions"
msgstr "Methode Beschrijving:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Methode Beschrijving:"
-
-#: 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]!"
@@ -2119,8 +2124,8 @@ msgstr "Uitvoer:"
msgid "Copy Selection"
msgstr "Selectie kopiëren"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2133,6 +2138,49 @@ msgstr "Leegmaken"
msgid "Clear Output"
msgstr "Maak Uitvoer Leeg"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Stop"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Start"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Download"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Knooppunt"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2739,6 +2787,19 @@ msgstr "Project"
msgid "Project Settings..."
msgstr "Projectinstellingen"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versie:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2968,10 +3029,6 @@ msgstr "Pauzeer Scene"
msgid "Stop the scene."
msgstr "Stop de scene."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Stop"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Speel de bewerkte scene."
@@ -3026,10 +3083,6 @@ msgid "Inspector"
msgstr "Inspecteur"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Knooppunt"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Vergroot onderste paneel"
@@ -3052,15 +3105,21 @@ msgstr "Beheer Export Templates"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3123,6 +3182,11 @@ msgstr "Open de volgende Editor"
msgid "Open the previous Editor"
msgstr "Open de vorige Editor"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Geen oppervlakte bron gespecificeerd."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Creëren van Mesh Previews"
@@ -3132,6 +3196,11 @@ msgid "Thumbnail..."
msgstr "Voorbeeld..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Omschrijving:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Bewerk Plugin"
@@ -3160,11 +3229,6 @@ msgstr "Staat:"
msgid "Edit:"
msgstr "Bewerken:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Start"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Meting:"
@@ -3983,9 +4047,10 @@ msgstr " Bestanden"
msgid "Import As:"
msgstr "Importereen Als:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Voorinstelling..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Voorinstelling"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4453,6 +4518,7 @@ msgid "Change Animation Name:"
msgstr "Verander Animatie Naam:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Animatie verwijderen?"
@@ -5035,11 +5101,6 @@ msgid "Sort:"
msgstr "Sorteren:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Opvragen..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Categorie:"
@@ -5335,6 +5396,11 @@ msgid "Pan Mode"
msgstr "Verschuif Modus"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Uitvoermodus:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Automatisch schikken omschakelen."
@@ -6466,7 +6532,7 @@ msgstr "Instantie:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Type:"
@@ -6684,14 +6750,14 @@ msgid "Toggle Scripts Panel"
msgstr "Schakel Scripten Paneel"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Stap Over"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Stap In"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Stap Over"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Breek"
@@ -6777,7 +6843,7 @@ msgstr "Maak Leeg"
msgid "Connections to method:"
msgstr "Verbind Aan Node:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Resource"
@@ -7613,6 +7679,11 @@ msgstr "(leeg)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Frame Plakken"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animaties"
@@ -7949,6 +8020,15 @@ msgid "Enable Priority"
msgstr "Filters Bewerken"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Bestanden Filteren..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Teken Tegel"
@@ -8098,6 +8178,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Tegelnamen tonen (Alt-toets ingedrukt houden)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Geselecteerde Texture verwijderen? Alle tegels die ervan gebruikt maken "
@@ -8285,6 +8370,111 @@ msgstr "Deze operatie kan niet uitgevoerd worden zonder scene."
msgid "TileSet"
msgstr "TileSet..."
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Naam van primaire Node, indien beschikbaar"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Fout"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Geen naam opgegeven"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Gemeenschap"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Maak Hoofdletters"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Nieuwe knopen maken."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Wijzig"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Hernoemen"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Verwijder"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Wijzig"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Geselecteerde Verwijderen"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Alles Opslaan"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Scriptveranderingen synchroniseren"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Status"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8547,6 +8737,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9851,6 +10046,11 @@ msgid "Settings saved OK."
msgstr "Instellingen succesvol opgeslagen."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Toevoegen Input Action Event"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Override voor Feature"
@@ -9996,6 +10196,10 @@ msgid "Plugins"
msgstr "Plugins"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Voorinstelling..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Nul"
@@ -10178,10 +10382,6 @@ msgstr "Hoofdletters"
msgid "Reset"
msgstr "Reset Zoom"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Fout"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10237,6 +10437,10 @@ msgid "Instance Scene(s)"
msgstr "Instantie Scene(s)"
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10281,8 +10485,23 @@ msgid "Make node as Root"
msgstr "Klinkt logisch!"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Verwijder knooppunt(en)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Alles Selecteren"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Verwijder Shader Graaf Knooppunt(en)"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Alles Selecteren"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10704,11 +10923,42 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
+#, fuzzy
+msgid "Warning:"
+msgstr "Waarschuwingen:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Fout"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Kopieer Fout"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Kopieer Fout"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Resource"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Resource"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Resource"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10716,14 +10966,20 @@ msgid "Errors"
msgstr "Fouten"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Verbinding Verbroken"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr "Kopieer Fout"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Punten aanmaken."
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Inspecteer vorige instantie"
@@ -10740,6 +10996,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Project Exporteren"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10752,6 +11013,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10952,10 +11217,6 @@ msgid "Library"
msgstr "Bibliotheek"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Status"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Bibliotheken: "
@@ -10964,6 +11225,10 @@ msgid "GDNative"
msgstr "GDInheems"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "step argument is nul!"
@@ -11126,6 +11391,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filter:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11278,6 +11552,10 @@ msgid "Create a new variable."
msgstr "Nieuwe knopen maken."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signalen:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Nieuwe veelhoek aanmaken."
@@ -11454,6 +11732,11 @@ msgid "Editing Signal:"
msgstr "Signaal Bewerken:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Maak Botten"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Basis Type:"
@@ -11607,7 +11890,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12351,6 +12635,39 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Properties:"
+#~ msgstr "Eigenschappen:"
+
+#~ msgid "Methods:"
+#~ msgstr "Methodes:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Thema Eigenschappen:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumeraties:"
+
+#~ msgid "Constants:"
+#~ msgstr "Constanten:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Klassebeschrijving:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Eigenschap Beschrijving:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Methode Beschrijving:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Opvragen..."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Verwijder knooppunt(en)?"
+
#~ msgid "No Matches"
#~ msgstr "Geen Overeenkomsten"
@@ -12584,9 +12901,6 @@ msgstr ""
#~ "Maak een nieuwe kopie van de geselecteerde scene(s) als kind van de "
#~ "geselecteerde knoop."
-#~ msgid "Warnings:"
-#~ msgstr "Waarschuwingen:"
-
#~ msgid "Font Size:"
#~ msgstr "Lettertypegrootte:"
@@ -12629,9 +12943,6 @@ msgstr ""
#~ msgid "Select a split to erase it."
#~ msgstr "Selecteer een map om te scannen"
-#~ msgid "No name provided"
-#~ msgstr "Geen naam opgegeven"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "Node Toevoegen"
@@ -12820,9 +13131,6 @@ msgstr ""
#~ msgid "Move Shader Graph Node"
#~ msgstr "Verplaats Shader Graaf Knooppunten"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "Verwijder Shader Graaf Knooppunt(en)"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "Fout: Cyclische Connectie Link"
diff --git a/editor/translations/or.po b/editor/translations/or.po
index 6745237b50..1dc9df2f8d 100644
--- a/editor/translations/or.po
+++ b/editor/translations/or.po
@@ -55,6 +55,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -454,6 +482,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -771,7 +803,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -872,7 +905,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1172,7 +1206,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1363,6 +1397,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1582,6 +1617,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1652,6 +1688,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1807,7 +1844,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1815,38 +1852,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1855,19 +1872,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1882,10 +1891,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1896,10 +1901,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1966,8 +1967,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1980,6 +1981,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2519,6 +2562,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2718,10 +2773,6 @@ msgstr ""
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 ""
@@ -2772,10 +2823,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2797,15 +2844,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2868,6 +2921,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2877,6 +2934,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2905,11 +2966,6 @@ msgstr ""
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 ""
@@ -3685,8 +3741,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4112,6 +4168,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4670,10 +4727,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4936,6 +4989,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5984,7 +6041,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6184,11 +6241,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6268,7 +6325,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7035,6 +7092,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7349,6 +7410,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7479,6 +7548,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7633,6 +7707,99 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Deleted"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage Selected"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7866,6 +8033,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9056,6 +9228,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9192,6 +9368,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9355,10 +9535,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9414,6 +9590,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9454,7 +9634,19 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9832,11 +10024,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9844,7 +10060,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9852,6 +10068,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9868,6 +10088,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9880,6 +10104,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10076,10 +10304,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10088,6 +10312,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10239,6 +10467,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10374,6 +10610,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10530,6 +10770,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10677,7 +10921,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index df28369163..da1b230208 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -21,7 +21,7 @@
# Rafał Ziemniak <synaptykq@gmail.com>, 2017.
# RM <synaptykq@gmail.com>, 2018.
# Sebastian Krzyszkowiak <dos@dosowisko.net>, 2017.
-# Sebastian Pasich <sebastian.pasich@gmail.com>, 2017.
+# Sebastian Pasich <sebastian.pasich@gmail.com>, 2017, 2019.
# siatek papieros <sbigneu@gmail.com>, 2016.
# Zatherz <zatherz@linux.pl>, 2017.
# Tomek <kobewi4e@gmail.com>, 2018, 2019.
@@ -35,11 +35,12 @@
# Przemysław Pierzga <przemyslawpierzga@gmail.com>, 2019.
# Artur MaciÄ…g <arturmaciag@gmail.com>, 2019.
# Rafał Wyszomirski <rawyszo@gmail.com>, 2019.
+# Myver <igormakarowicz@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-29 13:35+0000\n"
+"PO-Revision-Date: 2019-09-19 05:27+0000\n"
"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
@@ -65,7 +66,7 @@ msgstr ""
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr "Nieprawidłowe wejście %i (nie podano) w wyrażeniu"
+msgstr "Niewłaściwe dane %i (nie przekazane) w wyrażeniu"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -92,9 +93,38 @@ msgstr "Niepoprawne argumenty do utworzenia \"%s\""
msgid "On call to '%s':"
msgstr "Przy wywołaniu \"%s\":"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Miks"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
-msgstr "Wolny"
+msgstr "Wolne"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
@@ -507,6 +537,12 @@ msgid "Select None"
msgstr "Wybierz węzeł"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Ścieżka do węzła AnimationPlayer zawierającego animacje nie jest ustawiona."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Pokaż tylko ścieżki z węzłów zaznaczonych w drzewie."
@@ -685,14 +721,12 @@ msgid "Replaced %d occurrence(s)."
msgstr "Zastąpiono %d wystąpień."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "Znaleziono %d dopasowań."
+msgstr "%d dopasowanie."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "Znaleziono %d dopasowań."
+msgstr "%d dopasowań."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -829,7 +863,8 @@ msgstr "Nie można połączyć sygnału"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -930,7 +965,8 @@ msgstr "Szukaj:"
msgid "Matches:"
msgstr "PasujÄ…ce:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1143,22 +1179,20 @@ msgid "License"
msgstr "Licencja"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Licencja zewnętrzna"
+msgstr "Licencje zewnętrzne"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot Engine opiera się na wielu niezależnych i otwartych bibliotekach stron "
-"trzecich, wszystkie zgodne z warunkami licencji MIT. Poniżej znajduje się "
-"kompletna lista wszystkich takich komponentów stron trzecich wraz z ich "
-"oświadczeniami o prawach autorskich i postanowieniami licencyjnymi."
+"Godot Engine opiera się na wielu niezależnych i otwartych bibliotekach, "
+"wszystkie zgodne z warunkami licencji MIT. Poniżej znajduje się kompletna "
+"lista wszystkich takich zewnętrznych komponentów wraz z ich oświadczeniami o "
+"prawach autorskich i postanowieniami licencyjnymi."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1173,9 +1207,8 @@ msgid "Licenses"
msgstr "Licencje"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Błąd otwierania pliku pakietu (nie jest w formacie zip)."
+msgstr "Błąd otwierania pliku pakietu, nie jest w formacie ZIP."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1243,7 +1276,8 @@ msgid "Delete Bus Effect"
msgstr "Usuń efekt magistrali"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Magistrala audio, przeciągnij i upuść by przemieścić."
#: editor/editor_audio_buses.cpp
@@ -1434,6 +1468,7 @@ msgid "Add AutoLoad"
msgstr "Dodaj AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Ścieżka:"
@@ -1662,6 +1697,7 @@ msgstr "Ustaw na bieżący"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Nowy"
@@ -1732,6 +1768,7 @@ msgid "New Folder..."
msgstr "Utwórz katalog..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Odśwież"
@@ -1887,7 +1924,8 @@ msgid "Inherited by:"
msgstr "Dziedziczone przez:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Krótki opis:"
#: editor/editor_help.cpp
@@ -1895,38 +1933,18 @@ msgid "Properties"
msgstr "Właściwości"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Właściwości:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metody"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Metody:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Właściwości motywu"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Właściwości motywu:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Sygnały:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Wyliczenia"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Wyliczenia:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1935,19 +1953,12 @@ msgid "Constants"
msgstr "Stałe"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Stałe:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Opis klasy"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Opis klasy:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Poradniki online:"
#: editor/editor_help.cpp
@@ -1965,10 +1976,6 @@ msgid "Property Descriptions"
msgstr "Opisy właściwości"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Opisy właściwości:"
-
-#: 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]!"
@@ -1981,10 +1988,6 @@ msgid "Method Descriptions"
msgstr "Opisy metod"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Opisy metod:"
-
-#: 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]!"
@@ -2053,8 +2056,8 @@ msgstr "Wyjście:"
msgid "Copy Selection"
msgstr "Kopiuj zaznaczenie"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2067,10 +2070,51 @@ msgstr "Wyczyść"
msgid "Clear Output"
msgstr "Wyczyść dane wyjściowe"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Stop"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Start"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Dół"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Góra"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Węzeł"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "Okno"
+msgstr "Nowe okno"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2399,9 +2443,8 @@ msgid "Close Scene"
msgstr "Zamknij scenÄ™"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Zamknij scenÄ™"
+msgstr "Przywróć zamkniętą scenę"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2517,9 +2560,8 @@ msgid "Close Tab"
msgstr "Zamknij kartÄ™"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Zamknij kartÄ™"
+msgstr "Cofnij zamknięcie karty"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2652,18 +2694,29 @@ msgid "Project"
msgstr "Projekt"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Ustawienia projektu"
+msgstr "Ustawienia projektu..."
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Wersja:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "Eksport..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Zainstaluj szablon eksportu dla Androida"
+msgstr "Zainstaluj szablon eksportu dla Androida..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2674,9 +2727,8 @@ msgid "Tools"
msgstr "Narzędzia"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Eksplorator osieroconych zasobów"
+msgstr "Eksplorator osieroconych zasobów..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2776,9 +2828,8 @@ msgid "Editor"
msgstr "Edytor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Ustawienia edytora"
+msgstr "Ustawienia edytora..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2813,14 +2864,12 @@ msgid "Open Editor Settings Folder"
msgstr "Otwórz folder ustawień edytora"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Zarządzaj funkcjonalnościami edytora"
+msgstr "Zarządzaj funkcjonalnościami edytora..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "ZarzÄ…dzaj szablonami eksportu"
+msgstr "ZarzÄ…dzaj szablonami eksportu..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2876,10 +2925,6 @@ msgstr "Zapauzuj scenÄ™"
msgid "Stop the scene."
msgstr "Zatrzymaj scenÄ™."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Stop"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Uruchom aktualnie edytowanÄ… scenÄ™."
@@ -2930,10 +2975,6 @@ msgid "Inspector"
msgstr "Inspektor"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Węzeł"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Rozwiń panel dolny"
@@ -2955,17 +2996,22 @@ msgstr "ZarzÄ…dzaj szablonami"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"To zainstaluje projekt Androida dla dostosowanych wydań.\n"
-"W celu użycia go, musi zostać dołączony do każdego profilu eksportu."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Szablon budowania Androida jest już zainstalowany i nie będzie nadpisany.\n"
"Usuń ręcznie folder \"build\" przed spróbowaniem tej operacji ponownie."
@@ -3030,6 +3076,11 @@ msgstr "Otwórz następny edytor"
msgid "Open the previous Editor"
msgstr "Otwórz poprzedni edytor"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Nie ustawiono źródła płaszczyzny."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Tworzenie podglÄ…du Mesh"
@@ -3039,6 +3090,11 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Otwórz skrypt:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Edytuj wtyczkÄ™"
@@ -3067,11 +3123,6 @@ msgstr "Status:"
msgid "Edit:"
msgstr "Edytuj:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Start"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Zmierzono:"
@@ -3288,7 +3339,6 @@ msgid "Import From Node:"
msgstr "Zaimportuj z węzła:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "Pobierz ponownie"
@@ -3308,6 +3358,8 @@ msgstr "Pobierz"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Oficjalne szablony eksportowe nie są dostępne dla kompilacji "
+"programistycznych."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3390,23 +3442,20 @@ msgid "Download Complete."
msgstr "Pobieranie zakończone."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Nie mogę zapisać motywu do pliku:"
+msgstr "Nie można usunąć pliku tymczasowego:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Instalacja szablonów się nie udała. Problematyczne archiwa szablonów mogą "
-"być znalezione w \"%s\"."
+"Instalacja szablonów się nie udała.\n"
+"Problematyczne archiwa szablonów mogą być znalezione w \"%s\"."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Błąd podczas żądania adresu url: "
+msgstr "Błąd podczas żądania adresu URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3593,9 +3642,8 @@ msgid "Move To..."
msgstr "PrzenieÅ› do..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Nowa scena"
+msgstr "Nowa scena..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3663,9 +3711,8 @@ msgid "Overwrite"
msgstr "Nadpisz"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Utwórz ze sceny"
+msgstr "Utwórz scenę"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3745,21 +3792,18 @@ msgid "Invalid group name."
msgstr "Niewłaściwa nazwa grupy."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "ZarzÄ…dzaj grupami"
+msgstr "Zmień nazwę grupy"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Usuń grupę obrazków"
+msgstr "Usuń grupę"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Grupy"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
msgstr "Węzły nie w grupie"
@@ -3774,12 +3818,11 @@ msgstr "Węzły w grupie"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Puste grupy zostaną automatycznie usunięte."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group Editor"
-msgstr "Edytor skryptów"
+msgstr "Edytor grup"
#: editor/groups_editor.cpp
msgid "Manage Groups"
@@ -3880,9 +3923,10 @@ msgstr " Pliki"
msgid "Import As:"
msgstr "Importuj jako:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Ustawienie predefiniowane..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Profile eksportu"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3989,9 +4033,8 @@ msgid "MultiNode Set"
msgstr "Zestaw wielowęzłowy"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Wybierz węzeł do edycji sygnałów i grup."
+msgstr "Wybierz pojedynczy węzeł, aby edytować jego sygnały i grupy."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4323,6 +4366,7 @@ msgid "Change Animation Name:"
msgstr "Zmień nazwę animacji:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Usunąć animację?"
@@ -4447,7 +4491,7 @@ msgstr "Kierunki"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
-msgstr "Poprzednie"
+msgstr "Poprzedni"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Future"
@@ -4770,37 +4814,32 @@ msgid "Request failed, return code:"
msgstr "Żądanie nie powiodło się, zwracany kod:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
msgstr "Żądanie nie powiodło się."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Nie mogę zapisać motywu do pliku:"
+msgstr "Nie można zapisać odpowiedzi do:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Błąd pisania."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "Żądanie nieudane, zbyt dużo przekierowań"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
msgstr "Pętla przekierowań."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Żądanie nie powiodło się, zwracany kod:"
+msgstr "Żądanie nie powiodło się, przekroczono czas"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Czas"
+msgstr "Przekroczenie czasu."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4881,24 +4920,18 @@ msgid "All"
msgstr "Wszystko"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Importuj ponownie..."
+msgstr "Importuj..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Wtyczki"
+msgstr "Wtyczki..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Sortuj:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Odwróć sortowanie."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategoria:"
@@ -4908,9 +4941,8 @@ msgid "Site:"
msgstr "Źródło:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Wsparcie..."
+msgstr "Wsparcie"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4921,9 +4953,8 @@ msgid "Testing"
msgstr "Testowanie"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Wczytaj..."
+msgstr "Wczytywanie..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5092,9 +5123,8 @@ msgid "Paste Pose"
msgstr "Wklej pozÄ™"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Wyczyść kości"
+msgstr "Wyczyść prowadnice"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5182,6 +5212,11 @@ msgid "Pan Mode"
msgstr "Tryb przesuwania"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Tryb uruchamiania:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Przełącz przyciąganie."
@@ -5828,26 +5863,23 @@ msgstr "Czas generowania (sek):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Powierzchnie geometrii nie zawierają żadnego obszaru."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "Węzeł nie zawiera geometrii (ściany)."
+msgstr "Geometria nie zawiera żadnych powierzchni."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" nie dziedziczy ze Spatial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "Węzeł nie zawiera geometrii."
+msgstr "\"%s\" nie zawiera geometrii."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "Węzeł nie zawiera geometrii."
+msgstr "\"%s\" nie zawiera geometrii powierzchni."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6246,7 +6278,7 @@ msgstr "Instancja:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Typ:"
@@ -6284,9 +6316,8 @@ msgid "Error writing TextFile:"
msgstr "Błąd pisania pliku tekstowego:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Nie mogłem znaleźć tile:"
+msgstr "Nie można załadować pliku w:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6309,7 +6340,6 @@ msgid "Error Importing"
msgstr "Błąd importowania"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
msgstr "Nowy plik tekstowy..."
@@ -6391,9 +6421,8 @@ msgid "Open..."
msgstr "Otwórz..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Otwórz skrypt"
+msgstr "Przywróć zamknięty skrypt"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6449,14 +6478,14 @@ msgid "Toggle Scripts Panel"
msgstr "Przełącz panel skryptów"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Przekrocz"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Krok w"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Przekrocz"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Przerwa"
@@ -6528,15 +6557,14 @@ msgid "Search Results"
msgstr "Wyniki wyszukiwania"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Wyczyść listę ostatnio otwieranych scen"
+msgstr "Wyczyść ostatnio otwierane skrypty"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Połączenia do metody:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Źródło"
@@ -6655,9 +6683,8 @@ msgid "Complete Symbol"
msgstr "Uzupełnij symbol"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Skaluj zaznaczone"
+msgstr "Wylicz wyrażenie"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -6814,7 +6841,7 @@ msgstr "Skalowanie: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translating: "
-msgstr "Przesuwanie: "
+msgstr "Tłumaczenie: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -6965,9 +6992,8 @@ msgid "Audio Listener"
msgstr "Słuchacz dźwięku"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Włącz filtrowanie"
+msgstr "Włącz Dopplera"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7023,7 +7049,7 @@ msgstr "Przyciągnij węzły do podłogi"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "Nie udało się znaleźć stałej podłogi do przyciągnięcia zaznaczenia."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7036,9 +7062,8 @@ msgstr ""
"Alt+PPM: Lista wyboru głębi"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Tryb lokalny przestrzeni (%s)"
+msgstr "Użyj przestrzeni lokalnej"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7135,9 +7160,8 @@ msgstr "Pokaż siatkę"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Ustawienia"
+msgstr "Ustawienia..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7317,6 +7341,11 @@ msgid "(empty)"
msgstr "(pusty)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Wklej klatkÄ™"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animacje:"
@@ -7514,14 +7543,12 @@ msgid "Submenu"
msgstr "Podmenu"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Element 1"
+msgstr "Podelement 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Element 2"
+msgstr "Podpozycja 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7633,17 +7660,25 @@ msgid "Enable Priority"
msgstr "Włącz priorytety"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrowanie plików..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Maluj kafelek"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift+PPM: Rysuj liniÄ™\n"
-"Shift+Ctrl+PPM: Maluj prostokÄ…t"
+"Shift+PPM: Rysowanie linii\n"
+"Shift+Ctrl+PPM: Malowanie prostokÄ…ta"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7766,6 +7801,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Pokaż nazwy kafelków (przytrzymaj Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Usunąć wybraną teksturę? To usunie wszystkie kafelki, które jej używają."
@@ -7936,6 +7976,112 @@ msgstr "Ta właściwość nie może zostać zmieniona."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nazwa rodzica węzła, jeśli dostępna"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Błąd"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Nie podano nazwy"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Społeczność"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Wielkie litery na początku słów"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Utwórz nowy prostokąt."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Zmień"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Zmień nazwę"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Usuń"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Zmień"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Usuń zaznaczone"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Zapisz wszystko"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Synchronizuj zmiany skryptów"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Status"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Nie wybrano pliku!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Tylko GLES3)"
@@ -8042,9 +8188,8 @@ msgid "Light"
msgstr "Światło"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Utwórz węzeł shadera"
+msgstr "Pokaż wynikowy kod shadera."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8173,6 +8318,14 @@ msgstr ""
"fałszywa."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Zwraca powiązany wektor, jeśli podana wartość boolowska jest prawdziwa albo "
+"fałszywa."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Zwraca wynik boolowski porównania pomiędzy dwoma parametrami."
@@ -8409,7 +8562,6 @@ msgid "Returns the square root of the parameter."
msgstr "Zwraca pierwiastek kwadratowy parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8425,7 +8577,6 @@ msgstr ""
"pomiędzy 0.0 i 1.0 używając wielomianów Hermite'a."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
@@ -8603,9 +8754,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Liniowo interpoluje pomiędzy dwoma wektorami."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Liniowo interpoluje pomiędzy dwoma wektorami."
+msgstr "Liniowo interpoluje pomiędzy dwoma wektorami używając skalara."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8632,7 +8782,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Zwraca wektor skierowany w kierunku załamania."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8648,7 +8797,6 @@ msgstr ""
"pomiędzy 0.0 i 1.0 używając wielomianów Hermite'a."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8664,7 +8812,6 @@ msgstr ""
"pomiędzy 0.0 i 1.0 używając wielomianów Hermite'a."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8675,7 +8822,6 @@ msgstr ""
"Zwraca 0.0 jeśli \"x\" jest mniejsze niż krawędź, w innym przypadku 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8737,6 +8883,10 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Własne wyrażenie w języku shaderów Godota, znajdujące się na górze "
+"wynikowego shadera. Możesz wewnątrz utworzyć różne definicje funkcji i "
+"wywoływać je później Wyrażeniami. Możesz także deklarować zmienne, uniformy "
+"i stałe."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9130,13 +9280,12 @@ msgid "Unnamed Project"
msgstr "Projekt bez nazwy"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Importuj istniejÄ…cy projekt"
+msgstr "BrakujÄ…cy projekt"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Błąd: Projekt nieobecny w systemie plików."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9235,12 +9384,11 @@ msgstr ""
"Zawartość folderu projektu nie zostanie zmodyfikowana."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Usunąć %d projektów z listy?\n"
+"Usunąć wszystkie brakujące projekty z listy?\n"
"Zawartość folderów projektów nie zostanie zmodyfikowana."
#: editor/project_manager.cpp
@@ -9265,9 +9413,8 @@ msgid "Project Manager"
msgstr "Menedżer projektów"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Projekt"
+msgstr "Projekty"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9498,6 +9645,11 @@ msgid "Settings saved OK."
msgstr "Ustawienia zapisane pomyślnie."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Dodaj zdarzenie akcji wejścia"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Nadpisanie dla cechy"
@@ -9634,6 +9786,10 @@ msgid "Plugins"
msgstr "Wtyczki"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Ustawienie predefiniowane..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Zero"
@@ -9801,10 +9957,6 @@ msgstr "Na wielkie litery"
msgid "Reset"
msgstr "Resetuj"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Błąd"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Zmień nadrzędny węzeł"
@@ -9862,6 +10014,11 @@ msgid "Instance Scene(s)"
msgstr "Dodaj instancjÄ™ sceny"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Zapisz gałąź jako scenę"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Dodaj instancjÄ™ sceny"
@@ -9904,8 +10061,23 @@ msgid "Make node as Root"
msgstr "Zmień węzeł na Korzeń"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Usuń węzeł(y)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Usuń węzły"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Usuń węzeł(y) Shader Graph"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Usuń węzły"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -9980,9 +10152,8 @@ msgid "Remove Node(s)"
msgstr "Usuń węzeł(y)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Zmień nazwę portu wyjściowego"
+msgstr "Zmień typ węzła/ów"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10105,30 +10276,27 @@ msgid "Node configuration warning:"
msgstr "Ostrzeżenie konfiguracji węzła:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"Węzeł posiada połączenie(a) i grupę(y).\n"
+"Węzeł posiada %s połączeń i %s grup.\n"
"Kliknij, aby wyświetlić panel sygnałów."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"Węzeł posiada połączenia.\n"
+"Węzeł posiada %s połączenia.\n"
"Kliknij, aby wyświetlić panel sygnałów."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"Węzeł jest w grupach.\n"
+"Węzeł jest w %s grupach.\n"
"Kliknij, aby wyświetlić panel grup."
#: editor/scene_tree_editor.cpp
@@ -10224,9 +10392,8 @@ msgid "Error loading script from %s"
msgstr "Błąd ładowania skryptu z %s"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Nadpisz"
+msgstr "Nadpisuje"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10305,19 +10472,50 @@ msgid "Bytes:"
msgstr "Bajty:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Åšlad stosu"
+#, fuzzy
+msgid "Warning:"
+msgstr "Ostrzeżenia:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Wybierz jeden lub więcej elementów z listy by wyświetlić graf."
+msgid "Error:"
+msgstr "Błąd:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Kopiuj błąd"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Błąd:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Źródło"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Źródło"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Źródło"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Åšlad stosu"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Błędy"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Połączono z procesem potomnym"
#: editor/script_editor_debugger.cpp
@@ -10325,6 +10523,11 @@ msgid "Copy Error"
msgstr "Kopiuj błąd"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Punkty wstrzymania"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Sprawdź poprzednią instancję"
@@ -10341,6 +10544,11 @@ msgid "Profiler"
msgstr "Profiler"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Eksportuj profil"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -10353,6 +10561,10 @@ msgid "Monitors"
msgstr "Monitory"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Wybierz jeden lub więcej elementów z listy by wyświetlić graf."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Zużycie pamięci wideo według zasobów:"
@@ -10549,10 +10761,6 @@ msgid "Library"
msgstr "Biblioteka"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Status"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Biblioteki: "
@@ -10561,6 +10769,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "Argument kroku wynosi zero!"
@@ -10578,7 +10790,7 @@ msgstr "Nie bazuje na pliku zasobów"
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary format (missing @path)"
-msgstr "Niepoprawna instancja formatu słownika (brak @path)"
+msgstr "Niepoprawna instancja formatu słownika (brakujący @path)"
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary format (can't load script at @path)"
@@ -10713,6 +10925,15 @@ msgstr "Ustawienia GridMap"
msgid "Pick Distance:"
msgstr "Wybierz odległość:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filtruj metody"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Nazwa klasy nie może być słowem zastrzeżonym"
@@ -10838,28 +11059,28 @@ msgid "Set Variable Type"
msgstr "Ustaw typ zmiennej"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "Nie może kolidować z nazwą istniejącego wbudowanego typu."
+msgstr "ZastÄ…p istniejÄ…cÄ… funkcjÄ™ wbudowanÄ…."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Utwórz nowy prostokąt."
+msgstr "Utwórz nową funkcję."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Zmienne:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Utwórz nowy prostokąt."
+msgstr "Utwórz nową zmienną."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Sygnały:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Utwórz nowy wielokąt."
+msgstr "Utwórz nowy sygnał."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11018,6 +11239,11 @@ msgid "Editing Signal:"
msgstr "Edytuj sygnał:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Uczyń lokalnym"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Typ bazowy:"
@@ -11172,8 +11398,10 @@ msgstr ""
"Edytora."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"Projekt Androida nie jest zainstalowany do kompilacji. Zainstaluj z menu "
"Edytor."
@@ -11454,7 +11682,7 @@ msgstr ""
msgid ""
"ParallaxLayer node only works when set as child of a ParallaxBackground node."
msgstr ""
-"Węzeł typu ParallaxLayer zadziała, jeśli będzie dzieckiem węzła "
+"Węzeł typu ParallaxLayer zadziała tylko jeśli będzie dzieckiem węzła "
"ParallaxBackground."
#: scene/2d/particles_2d.cpp
@@ -11961,6 +12189,43 @@ msgstr "Varying może być przypisane tylko w funkcji wierzchołków."
msgid "Constants cannot be modified."
msgstr "Stałe nie mogą być modyfikowane."
+#~ msgid "Properties:"
+#~ msgstr "Właściwości:"
+
+#~ msgid "Methods:"
+#~ msgstr "Metody:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Właściwości motywu:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Wyliczenia:"
+
+#~ msgid "Constants:"
+#~ msgstr "Stałe:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Opis klasy:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Opisy właściwości:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Opisy metod:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "To zainstaluje projekt Androida dla dostosowanych wydań.\n"
+#~ "W celu użycia go, musi zostać dołączony do każdego profilu eksportu."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Odwróć sortowanie."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Usuń węzeł(y)?"
+
#~ msgid "No Matches"
#~ msgstr "Nie znaleziono"
@@ -12241,9 +12506,6 @@ msgstr "Stałe nie mogą być modyfikowane."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "Utwórz instancję wybranej sceny/scen jako dziecko wybranego węzła."
-#~ msgid "Warnings:"
-#~ msgstr "Ostrzeżenia:"
-
#~ msgid "Font Size:"
#~ msgstr "Rozmiar czcionki:"
@@ -12288,9 +12550,6 @@ msgstr "Stałe nie mogą być modyfikowane."
#~ msgid "Select a split to erase it."
#~ msgstr "Wybierz podział, by go usunąć."
-#~ msgid "No name provided"
-#~ msgstr "Nie podano nazwy"
-
#~ msgid "Add Node.."
#~ msgstr "Dodaj węzeł..."
@@ -12428,9 +12687,6 @@ msgstr "Stałe nie mogą być modyfikowane."
#~ msgid "Warning"
#~ msgstr "Ostrzeżenie"
-#~ msgid "Error:"
-#~ msgstr "Błąd:"
-
#~ msgid "Function:"
#~ msgstr "Funkcja:"
@@ -12497,9 +12753,6 @@ msgstr "Stałe nie mogą być modyfikowane."
#~ 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"
@@ -12918,9 +13171,6 @@ msgstr "Stałe nie mogą być modyfikowane."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Wybierz nowÄ… nazwÄ™ i lokacjÄ™ dla:"
-#~ msgid "No files selected!"
-#~ msgstr "Nie wybrano pliku!"
-
#~ msgid "Info"
#~ msgstr "Informacje"
@@ -13294,12 +13544,6 @@ msgstr "Stałe nie mogą być modyfikowane."
#~ msgid "Scaling to %s%%."
#~ msgstr "Skalowanie do %s%%."
-#~ msgid "Up"
-#~ msgstr "Góra"
-
-#~ msgid "Down"
-#~ msgstr "Dół"
-
#~ msgid "Bucket"
#~ msgstr "Wiadro"
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index e9d7b98fac..bbfdbb9aba 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -64,6 +64,34 @@ msgstr ": Evil argument of th' type: "
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -486,6 +514,10 @@ msgid "Select None"
msgstr "Slit th' Node"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -808,7 +840,8 @@ msgstr "Slit th' Node"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -914,7 +947,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1217,7 +1251,7 @@ msgid "Delete Bus Effect"
msgstr "Yar, Blow th' Selected Down!"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1410,6 +1444,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1642,6 +1677,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1717,6 +1753,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1874,50 +1911,29 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "Yar, Blow th' Selected Down!"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Theme Properties"
msgstr "Paste yer Node"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Theme Properties:"
-msgstr "Paste yer Node"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Yer signals:"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
msgstr "Yer functions:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Enumerations:"
-msgstr "Yer functions:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr ""
@@ -1926,21 +1942,12 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Yar, Blow th' Selected Down!"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "Yar, Blow th' Selected Down!"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1955,10 +1962,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1969,10 +1972,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2042,8 +2041,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Yar, Blow th' Selected Down!"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2056,6 +2055,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2602,6 +2643,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2806,10 +2859,6 @@ msgstr ""
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 ""
@@ -2861,10 +2910,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2887,15 +2932,21 @@ msgstr "Discharge ye' Variable"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2958,6 +3009,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2968,6 +3023,11 @@ msgstr ""
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Edit"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Ye be fixin' Signal:"
@@ -2997,11 +3057,6 @@ msgstr ""
msgid "Edit:"
msgstr "Edit"
-#: 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 ""
@@ -3807,8 +3862,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4259,6 +4314,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4823,10 +4879,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5104,6 +5156,11 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "Slit th' Node"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "Toggle ye Breakpoint"
@@ -6172,7 +6229,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6381,11 +6438,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6468,7 +6525,7 @@ msgstr ""
msgid "Connections to method:"
msgstr "Slit th' Node"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7261,6 +7318,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Forge yer Node!"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Yer functions:"
@@ -7590,6 +7652,15 @@ msgid "Enable Priority"
msgstr "Edit yer Variable:"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Paste yer Node"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7731,6 +7802,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Discharge ye' Signal"
@@ -7904,6 +7980,106 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Change"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Rename Function"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Slit th' Node"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Change"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Change"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8149,6 +8325,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9352,6 +9533,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9490,6 +9675,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9657,10 +9846,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9716,6 +9901,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9756,10 +9945,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Slit th' Node"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Slit th' Node"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10153,27 +10356,60 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Error loading yer Calligraphy Pen."
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Slit th' Node"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Slit th' Node"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+msgid "Source:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
#, fuzzy
+msgid "Child process connected."
+msgstr "Slit th' Node"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
msgid "Copy Error"
msgstr "Slit th' Node"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10190,6 +10426,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Slit th' Node"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10202,6 +10443,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10399,10 +10644,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10411,6 +10652,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "Blimey! Ye step argument be marooned!"
@@ -10571,6 +10816,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Paste yer Node"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10718,6 +10972,10 @@ msgid "Create a new variable."
msgstr "Yar, Blow th' Selected Down!"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Yer signals:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Yar, Blow th' Selected Down!"
@@ -10891,6 +11149,10 @@ msgid "Editing Signal:"
msgstr "Ye be fixin' Signal:"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "th' Base Type:"
@@ -11043,7 +11305,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11699,6 +11962,18 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Paste yer Node"
+
+#, fuzzy
+#~ msgid "Enumerations:"
+#~ msgstr "Yer functions:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Yar, Blow th' Selected Down!"
+
+#, fuzzy
#~ msgid "Select Mode (Q)"
#~ msgstr "Slit th' Node"
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index 3a42ddaad7..487cb8b4e8 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -66,12 +66,15 @@
# Gustavo da Silva Santos <gustavo94.rb@gmail.com>, 2019.
# Rafael Roque <rafael.roquec@gmail.com>, 2019.
# José Victor Dias Rodrigues <zoldyakopersonal@gmail.com>, 2019.
+# Fupi Brazil <fupicat@gmail.com>, 2019.
+# Julio Pinto Coelho <juliopcrj@gmail.com>, 2019.
+# Perrottacooking <perrottacooking@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2019-08-21 15:56+0000\n"
-"Last-Translator: Julio Yagami <juliohenrique31501234@hotmail.com>\n"
+"PO-Revision-Date: 2019-09-26 11:50+0000\n"
+"Last-Translator: Perrottacooking <perrottacooking@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -120,6 +123,35 @@ msgstr "Argumento inválido do tipo '%s'"
msgid "On call to '%s':"
msgstr "Na chamada para '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Misturar"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Livre"
@@ -189,9 +221,8 @@ msgid "Anim Change Call"
msgstr "Alterar Chamada da Anim"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Keyframe Time"
-msgstr "Alterar Tempo de Quadro-Chave da Anim"
+msgstr "Alterar Tempo de Quadro-Chave da Animação"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -204,14 +235,12 @@ msgid "Anim Multi Change Transform"
msgstr "Alterar Transformação da Anim"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Keyframe Value"
-msgstr "Alterar Valor de Quadro-Chave da Anim"
+msgstr "Alterar Valor de Quadro da Animação"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Call"
-msgstr "Alterar Chamada da Anim"
+msgstr "Alterar Chamada da Animação"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
@@ -541,6 +570,12 @@ msgid "Select None"
msgstr "Remover Seleção"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"O caminho para um nó do AnimationPlayer contendo animações não está definido."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Apenas mostrar trilhas de nós selecionados na árvore."
@@ -721,16 +756,16 @@ msgstr "%d ocorrência(s) substituída(s)."
#: editor/code_editor.cpp editor/editor_help.cpp
#, fuzzy
msgid "%d match."
-msgstr "%d correspondência(s) encontrada(s)."
+msgstr "%d correspondência."
#: editor/code_editor.cpp editor/editor_help.cpp
#, fuzzy
msgid "%d matches."
-msgstr "%d correspondência(s) encontrada(s)."
+msgstr "%d correspondências."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
-msgstr "Corresponder Caixa"
+msgstr "Caso de correspondência"
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Whole Words"
@@ -863,7 +898,8 @@ msgstr "Não foi possível conectar o sinal"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -964,7 +1000,8 @@ msgstr "Pesquisar:"
msgid "Matches:"
msgstr "Correspondências:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1178,22 +1215,20 @@ msgid "License"
msgstr "Licença"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Licença de Terceiros"
+msgstr "Licenças de Terceiros"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"A Godot Engine conta com várias bibliotecas de código aberto e gratuitas de "
-"terceiros, todas compatíveis com os termos de sua licença MIT. O seguinte é "
-"uma lista exaustiva de todos esses componentes de terceiros com suas "
-"respectivas declarações de direitos autorais e termos de licença."
+"Godot Engine depende de várias bibliotecas de código aberto e gratuitas de "
+"terceiros, todas compatíveis com os termos de sua licença MIT. A lista "
+"seguinte é uma lista completa de todos esses componentes de terceiros com "
+"suas respectivas declarações de direitos autorais e termos de licença."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1208,9 +1243,8 @@ msgid "Licenses"
msgstr "Licenças"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Erro ao abrir arquivo de pacote, não está em formato zip."
+msgstr "Erro ao abrir arquivo compactado, não está no formato ZIP."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1278,7 +1312,8 @@ msgid "Delete Bus Effect"
msgstr "Excluir Efeito de Canal"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Pista de Ãudio, arraste e solte para reorganizar."
#: editor/editor_audio_buses.cpp
@@ -1469,6 +1504,7 @@ msgid "Add AutoLoad"
msgstr "Adicionar Autoload"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Caminho:"
@@ -1697,6 +1733,7 @@ msgstr "Definir como atual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Novo"
@@ -1767,6 +1804,7 @@ msgid "New Folder..."
msgstr "Nova Pasta..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Atualizar"
@@ -1924,7 +1962,8 @@ msgid "Inherited by:"
msgstr "Herdado por:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Descrição breve:"
#: editor/editor_help.cpp
@@ -1932,38 +1971,18 @@ msgid "Properties"
msgstr "Propriedades"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Propriedades:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Métodos"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Métodos:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Propriedades do Tema"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Propriedades do Tema:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Sinais:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumerações"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumerações:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1972,19 +1991,12 @@ msgid "Constants"
msgstr "Constantes"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Constantes:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Descrição da Classe"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Descrição da Classe:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Tutoriais Online:"
#: editor/editor_help.cpp
@@ -2002,10 +2014,6 @@ msgid "Property Descriptions"
msgstr "Descrições da Propriedade"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Descrições da Propriedade:"
-
-#: 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]!"
@@ -2018,10 +2026,6 @@ msgid "Method Descriptions"
msgstr "Descrições do Método"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Descrições do Método:"
-
-#: 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]!"
@@ -2090,8 +2094,8 @@ msgstr "Saída:"
msgid "Copy Selection"
msgstr "Copiar Seleção"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2104,10 +2108,51 @@ msgstr "Limpar"
msgid "Clear Output"
msgstr "Limpar Saída"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Parar"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Iniciar"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Abaixo"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Acima"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nó"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "Janela"
+msgstr "Nova Janela"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2435,9 +2480,8 @@ msgid "Close Scene"
msgstr "Fechar Cena"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Fechar Cena"
+msgstr "Reabrir Cena Fechada"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2554,16 +2598,15 @@ msgstr "Rodar Cena"
#: editor/editor_node.cpp
msgid "Close Tab"
-msgstr "Fechar aba"
+msgstr "Fechar Aba"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Fechar aba"
+msgstr "Desfazer Fechar Aba"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
-msgstr "Fechas as outras abas"
+msgstr "Fechas as Outras Abas"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
@@ -2692,18 +2735,29 @@ msgid "Project"
msgstr "Projeto"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Configurações do Projeto"
+msgstr "Configurações do Projeto..."
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versão:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "Exportar..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Instalar o Modelo de Compilação do Android"
+msgstr "Instalar Modelo de Compilação Android..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2714,9 +2768,8 @@ msgid "Tools"
msgstr "Ferramentas"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Explorador de Recursos Órfãos"
+msgstr "Explorador de Recursos Órfãos..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2819,9 +2872,8 @@ msgid "Editor"
msgstr "Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Configurações do Editor"
+msgstr "Configurações do Editor..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2856,14 +2908,12 @@ msgid "Open Editor Settings Folder"
msgstr "Abrir Configurações do Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Gerenciar Recursos do Editor"
+msgstr "Gerenciar Recursos do Editor..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Gerenciar Modelos de Exportação"
+msgstr "Gerenciar Modelos de Exportação..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2919,10 +2969,6 @@ msgstr "Pausa a cena"
msgid "Stop the scene."
msgstr "Para a cena."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Parar"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Roda a cena editada."
@@ -2973,10 +3019,6 @@ msgid "Inspector"
msgstr "Inspetor"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nó"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Expandir Painel Inferior"
@@ -3000,18 +3042,22 @@ msgstr "Gerenciar Templates"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"Isso instalará o projeto Android para compilações personalizadas.\n"
-"Note que, para usá-lo, ele precisa estar habilitado por predefinição de "
-"exportação."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"O modelo de compilação do Android já está instalado e não será substituído.\n"
"Remova a pasta \"build\" manualmente antes de tentar esta operação novamente."
@@ -3076,6 +3122,11 @@ msgstr "Abrir o próximo Editor"
msgid "Open the previous Editor"
msgstr "Abrir o Editor anterior"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Nenhuma superfície de origem especificada."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Criando Previsualizações das Malhas"
@@ -3085,6 +3136,11 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Abrir script"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Editar Plugin"
@@ -3113,11 +3169,6 @@ msgstr "Status:"
msgid "Edit:"
msgstr "Editar:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Iniciar"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Medida:"
@@ -3355,6 +3406,8 @@ msgstr "Baixar"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Modelos de exportação oficiais não estão disponíveis para compilações de "
+"desenvolvimento."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3421,7 +3474,7 @@ msgstr "Sem resposta."
#: editor/export_template_manager.cpp
msgid "Request Failed."
-msgstr "Solicitação Falhou."
+msgstr "A Solicitação Falhou."
#: editor/export_template_manager.cpp
msgid "Redirect Loop."
@@ -3437,23 +3490,20 @@ msgid "Download Complete."
msgstr "Download completo."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Não pôde salvar tema ao arquivo:"
+msgstr "Não é possível remover o arquivo temporário:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Instalação de templates falhou. Os arquivos problemáticos podem ser achados "
-"em '%s'."
+"Falha na instalação de modelos. \n"
+"Os arquivos de modelos problemáticos podem ser encontrados em '%s'."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Erro ao solicitar url: "
+msgstr "Erro ao solicitar URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3640,9 +3690,8 @@ msgid "Move To..."
msgstr "Mover Para..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Nova Cena"
+msgstr "Nova Cena..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3710,9 +3759,8 @@ msgid "Overwrite"
msgstr "Sobrescrever"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Criar a partir de Cena"
+msgstr "Criar Cena"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3792,23 +3840,20 @@ msgid "Invalid group name."
msgstr "Nome de grupo inválido."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Gerenciar Grupos"
+msgstr "Renomear Grupo"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Excluir Imagem do Grupo"
+msgstr "Remover Grupo"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Grupos"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
-msgstr "Nós fora do Grupo"
+msgstr "Nodes fora do Grupo"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
@@ -3821,7 +3866,7 @@ msgstr "Nós no Grupo"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Grupos vazios serão removidos automaticamente."
#: editor/groups_editor.cpp
msgid "Group Editor"
@@ -3924,9 +3969,10 @@ msgstr " Arquivos"
msgid "Import As:"
msgstr "Importar como:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Predefinição..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Predefinições"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4034,9 +4080,8 @@ msgid "MultiNode Set"
msgstr "Múltiplos Nodes definidos"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Selecione um nó para editar Sinais e Grupos."
+msgstr "Selecione um nó para editar seus sinais e grupos."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4369,6 +4414,7 @@ msgid "Change Animation Name:"
msgstr "Alterar Nome da Animação:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Excluir Animação?"
@@ -4816,40 +4862,35 @@ msgstr "Não foi possível resolver o hostname:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, return code:"
-msgstr "Solicitação falhou, código de retorno:"
+msgstr "A solicitação falhou, código de retorno:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
-msgstr "Solicitação Falhou."
+msgstr "A solicitação falhou."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Não pôde salvar tema ao arquivo:"
+msgstr "Não é possível salvar a resposta para:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Erro ao gravar."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
-msgstr "Solicitação falhou, redirecionamentos demais"
+msgstr "A solicitação falhou, muitos redirecionamentos"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
-msgstr "Loop de Redirecionamento."
+msgstr "Loop de redirecionamento."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Solicitação falhou, código de retorno:"
+msgstr "A solicitação falhou, tempo esgotado"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Tempo"
+msgstr "Tempo esgotado."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4928,24 +4969,18 @@ msgid "All"
msgstr "Todos"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Re-importar..."
+msgstr "Importar..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Plugins"
+msgstr "Plugins..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Ordenar:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Inverter ordenação."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Categoria:"
@@ -4955,9 +4990,8 @@ msgid "Site:"
msgstr "Site:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Suporte..."
+msgstr "Suporte"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4968,9 +5002,8 @@ msgid "Testing"
msgstr "Testando"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Carregar..."
+msgstr "Carregando..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5139,9 +5172,8 @@ msgid "Paste Pose"
msgstr "Colar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Limpar Esqueletos"
+msgstr "Limpar Guias"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5229,6 +5261,11 @@ msgid "Pan Mode"
msgstr "Modo Panorâmico"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Modo de Início:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Alternar o snap."
@@ -5706,9 +5743,8 @@ msgid "Create Trimesh Collision Sibling"
msgstr "Criar Colisão Trimesh Irmã"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "Criar Colisão Convexa Irmã"
+msgstr "Criar Colisão Convexa Irmã(s)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5879,26 +5915,23 @@ msgstr "Gerando Tempo (seg):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "As faces da geometria não contêm área."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "O nó não contém geometria (faces)."
+msgstr "A geometria não contém nenhuma face."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" não herda de Espacial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "O nó não contém geometria."
+msgstr "\"%s\" não contém geometria."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "O nó não contém geometria."
+msgstr "\"%s\" não contém geometria de face."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6299,7 +6332,7 @@ msgstr "Instância:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Tipo:"
@@ -6337,9 +6370,8 @@ msgid "Error writing TextFile:"
msgstr "Erro ao escrever arquivo:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Não se pôde achar tile:"
+msgstr "Não foi possível carregar o arquivo em:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6362,9 +6394,8 @@ msgid "Error Importing"
msgstr "Erro ao importar"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
-msgstr "Novo arquivo de texto ..."
+msgstr "Novo arquivo de texto..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Open File"
@@ -6444,9 +6475,8 @@ msgid "Open..."
msgstr "Abrir..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Abrir script"
+msgstr "Reabrir Script Fechado"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6502,14 +6532,14 @@ msgid "Toggle Scripts Panel"
msgstr "Alternar Painel de Scripts"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Passo por cima"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Passo para dentro"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Passo por cima"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Pausar"
@@ -6581,15 +6611,14 @@ msgid "Search Results"
msgstr "Pesquisar resultados"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Limpar Cenas Recentes"
+msgstr "Limpar Scripts Recentes"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Conexões com o método:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Origem"
@@ -6661,7 +6690,6 @@ msgid "Bookmarks"
msgstr "Marcadores"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Breakpoints"
msgstr "Pontos de interrupção(Breakpoints)"
@@ -6707,9 +6735,8 @@ msgid "Complete Symbol"
msgstr "Completar Símbolo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Selecionar Escala"
+msgstr "Avaliar Seleção"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -6781,7 +6808,6 @@ msgid "Go to Previous Breakpoint"
msgstr "Ir para ponto de interrupção anterior"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
@@ -6958,12 +6984,10 @@ msgid "Rear"
msgstr "Traseira"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Align Transform with View"
msgstr "Alinhar Transformação com a Vista"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Align Rotation with View"
msgstr "Alinhar Rotação com a Vista"
@@ -7020,9 +7044,8 @@ msgid "Audio Listener"
msgstr "Ouvinte de Ãudio"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Habilitar Filtragem"
+msgstr "Ativar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7078,7 +7101,7 @@ msgstr "Encaixar Nó(s) no Chão"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "Não foi encontrado chão sólido onde encaixar a seleção."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7091,9 +7114,8 @@ msgstr ""
"Alt + botão direito do mouse: Lista de Profundidade"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Modo Espaço Local (%s)"
+msgstr "Usar Espaço Local"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7190,9 +7212,8 @@ msgstr "Ver Grade"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Configurações"
+msgstr "Configurações..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7372,6 +7393,11 @@ msgid "(empty)"
msgstr "(vazio)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Colar Frame"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animações:"
@@ -7432,7 +7458,6 @@ msgid "Select/Clear All Frames"
msgstr "Selecionar/Deselecionar Todos os Frames"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
msgstr "Criar Frames a partir da Planilha de Sprites"
@@ -7570,14 +7595,12 @@ msgid "Submenu"
msgstr "Submenu"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Item 1"
+msgstr "Subitem 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Item 2"
+msgstr "Subitem 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7689,17 +7712,25 @@ msgid "Enable Priority"
msgstr "Ativar Prioridade"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrar Arquivos..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Pintar Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift+RMB: Desenhar Linha\n"
-"Shift+Ctrl+RMB: Pintar Retângulo"
+"Shift+LMB: Desenhar Linha\n"
+"Shift+Ctrl+LMB: Pintar Retângulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7758,21 +7789,20 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Selecione a forma, subtile ou tile anterior."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Modo de Região"
+msgstr "Modo Região"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Collision Mode"
-msgstr "Modo de Colisão"
+msgstr "Modo Colisão"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Occlusion Mode"
-msgstr "Modo de Oclusão"
+msgstr "Modo Oclusão"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Navigation Mode"
-msgstr "Modo de Navegação"
+msgstr "Modo Navegação"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Bitmask Mode"
@@ -7780,11 +7810,11 @@ msgstr "Modo Bitmask"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Priority Mode"
-msgstr "Modo de Prioridade"
+msgstr "Modo Prioridade"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Icon Mode"
-msgstr "Modo de Ãcone"
+msgstr "Modo Ãcone"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Z Index Mode"
@@ -7823,6 +7853,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Exibir nomes de mosaico (segure a tecla Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Remover Texture Selecionada e TODAS PEÇAS que a usam."
@@ -7871,16 +7906,15 @@ msgid "Delete polygon."
msgstr "Excluir polígono."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
"Shift+LMB: Set wildcard bit.\n"
"Click on another Tile to edit it."
msgstr ""
-"BEM: ligar bit.\n"
-"BDM: desligar bit.\n"
-"Shift+BEM: Escolher wildcard.\n"
+"LMB: ligar bit.\n"
+"RMB: desligar bit.\n"
+"Shift+LMB: Escolher bit wildcard.\n"
"Clique em outro Mosaico para editá-lo."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7993,6 +8027,112 @@ msgstr "Esta propriedade não pode ser alterada."
msgid "TileSet"
msgstr "Conjunto de Telha"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nome pai do nó, se disponível"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Erro"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Nenhum nome fornecido"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Comunidade"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Capitalizar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Criar um novo retângulo."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Alterar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Renomear"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Excluir"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Alterar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Excluir Selecionados"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Salvar Tudo"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sincronizar Mudanças de Script"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Estado"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Nenhum arquivo selecionado!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Apenas GLES3)"
@@ -8099,12 +8239,10 @@ msgid "Light"
msgstr "Luz"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Criar Nó Shader"
+msgstr "Mostrar código de resultado do shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
msgstr "Criar Nó Shader"
@@ -8169,12 +8307,10 @@ msgid "SoftLight operator."
msgstr "Operador SoftLight."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
msgstr "Cor constante."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
msgstr "Cor uniforme."
@@ -8235,6 +8371,14 @@ msgstr ""
"falso."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Retorna um vetor associado se o valor lógico fornecido for verdadeiro ou "
+"falso."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Retorna o resultado booleano da comparação entre dois parâmetros."
@@ -8265,36 +8409,28 @@ msgstr "Parâmetro de entrada."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
msgid "'%s' input parameter for vertex and fragment shader modes."
-msgstr ""
-"Parâmetro de entrada '%s' para os modos de sombreamento de vértice e "
-"fragmento."
+msgstr "Parâmetro de entrada '%s' para os modos de shader vértice e fragmento."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "'%s' input parameter for fragment and light shader modes."
-msgstr ""
-"Parâmetro de entrada '%s' para os modos de sombreamento de fragmento e luz."
+msgstr "Parâmetro de entrada '%s' para os modos de fragmento e sombreamento."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "'%s' input parameter for fragment shader mode."
-msgstr "Parâmetro de entrada '%s' para o modo de sombreamento de fragmento."
+msgstr "Parâmetro de entrada '%s' para o modo de sombreamento."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "'%s' input parameter for light shader mode."
-msgstr "Parâmetro de entrada '%s' para o modo de sombreamento de luz."
+msgstr "Parâmetro de entrada '%s' para o modo de sombreamento da luz."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "'%s' input parameter for vertex shader mode."
-msgstr "Parâmetro de entrada '%s' para o modo de sombreamento de vértice."
+msgstr "Parâmetro de entrada '%s' para o modo de sombra do vértice."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
-"Parâmetro de entrada '%s' para o modo de sombreamento de vértice e fragmento."
+"Parâmetro de entrada '%s' para os modos de sombra de vértice e fragmentada."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Scalar function."
@@ -8394,16 +8530,14 @@ msgid "Base-e Exponential."
msgstr "Exponencial de Base e."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Base-2 Exponential."
-msgstr "Exponencial de Base-2."
+msgstr "Exponencial na base 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
msgstr "Encontra o inteiro mais próximo que é menor ou igual ao parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Computes the fractional part of the argument."
msgstr "Calcula a parte decimal do argumento."
@@ -8416,9 +8550,8 @@ msgid "Natural logarithm."
msgstr "Logaritmo natural."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Base-2 logarithm."
-msgstr "Logaritmo de Base-2."
+msgstr "Logaritmo de base-2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
@@ -8592,14 +8725,21 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"Calcular o produto externo de um par de vetores.\n"
+"\n"
+"OuterProduct trata o primeiro parâmetro \"c\" como um vetor coluna (matriz "
+"com uma coluna) e o segundo parâmetro \"r\" como um vetor linha (matriz com "
+"uma linha) e faz uma matriz algébrica linear multiplicar \"c * r\", "
+"produzindo uma matriz cujo número de linhas é o número de componentes em \"c"
+"\" e cujo número de colunas é o número de componentes em \"r\"."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr ""
+msgstr "Compõe transformação a partir de quatro vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr ""
+msgstr "Decompõe transformação em quatro vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8807,12 +8947,18 @@ msgid ""
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
+"Expressão personalizada da Godot Shader Language, com quantidade "
+"personalizada de portas de entrada e saída. Esta é uma injeção direta de "
+"código na função vértice/fragmento/luz, não a use para escrever as "
+"declarações de função internas."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
+"Retorna falloff baseado no produto escalar do normal da superfície e da "
+"direção de visualização da câmera (passe entradas associadas a ela)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -9405,9 +9551,8 @@ msgstr ""
"ou '\"'"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "An action with the name '%s' already exists."
-msgstr "A ação \"%s\" já existe!"
+msgstr "Já existe uma ação com o nome '%s'."
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
@@ -9574,6 +9719,11 @@ msgid "Settings saved OK."
msgstr "Configurações Salvas."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Adicionar Evento de Ação de Entrada"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Sobrescrever para Funcionalidade"
@@ -9713,6 +9863,10 @@ msgid "Plugins"
msgstr "Plugins"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Predefinição..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Zero"
@@ -9881,10 +10035,6 @@ msgstr "Para Maiúscula"
msgid "Reset"
msgstr "Recompor"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Erro"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Reparentar Nó"
@@ -9942,6 +10092,11 @@ msgid "Instance Scene(s)"
msgstr "Instanciar Cena(s)"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Salvar Ramo como Cena"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Instânciar Cena Filha"
@@ -9984,8 +10139,23 @@ msgid "Make node as Root"
msgstr "Tornar Raiz o Nó"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Excluir Nó(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Excluir Nós"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Deletar Nó(s) de Shader Graph(s)"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Excluir Nós"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10410,19 +10580,50 @@ msgid "Bytes:"
msgstr "Bytes:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Rastreamento de pilha"
+#, fuzzy
+msgid "Warning:"
+msgstr "Avisos:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Escolhe um ou mais itens da lista para mostrar o gráfico."
+msgid "Error:"
+msgstr "Erro:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Copiar Erro"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Erro:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Origem"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Origem"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Origem"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Rastreamento de pilha"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Erros"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Processo Filho Conectado"
#: editor/script_editor_debugger.cpp
@@ -10430,6 +10631,11 @@ msgid "Copy Error"
msgstr "Copiar Erro"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Pontos de interrupção(Breakpoints)"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Inspecionar a Instância Anterior"
@@ -10446,6 +10652,11 @@ msgid "Profiler"
msgstr "Profilador"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Exportar Perfil"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -10458,6 +10669,10 @@ msgid "Monitors"
msgstr "Monitores"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Escolhe um ou mais itens da lista para mostrar o gráfico."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Lista de Uso Memória de Vídeo por Recurso:"
@@ -10656,10 +10871,6 @@ msgid "Library"
msgstr "Biblioteca"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Estado"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Bibliotecas: "
@@ -10668,6 +10879,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "O argumento step é zero!"
@@ -10822,6 +11037,15 @@ msgstr "Configurações do GridMap"
msgid "Pick Distance:"
msgstr "Escolha uma Distância:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Métodos de filtragem"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Nome da classe não pode ser uma palavra reservada"
@@ -10966,6 +11190,10 @@ msgid "Create a new variable."
msgstr "Criar um novo retângulo."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Sinais:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Criar um novo polígono."
@@ -11127,6 +11355,11 @@ msgid "Editing Signal:"
msgstr "Editando Sinal:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Tornar Local"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Tipo de Base:"
@@ -11283,9 +11516,13 @@ msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr ""
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
+"O modelo de compilação do Android não foi encontrado, por favor instale "
+"modelos relevantes."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -12077,6 +12314,44 @@ msgstr "Variáveis só podem ser atribuídas na função de vértice."
msgid "Constants cannot be modified."
msgstr "Constantes não podem serem modificadas."
+#~ msgid "Properties:"
+#~ msgstr "Propriedades:"
+
+#~ msgid "Methods:"
+#~ msgstr "Métodos:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Propriedades do Tema:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumerações:"
+
+#~ msgid "Constants:"
+#~ msgstr "Constantes:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Descrição da Classe:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Descrições da Propriedade:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Descrições do Método:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Isso instalará o projeto Android para compilações personalizadas.\n"
+#~ "Note que, para usá-lo, ele precisa estar habilitado por predefinição de "
+#~ "exportação."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Inverter ordenação."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Excluir Nó(s)?"
+
#~ msgid "No Matches"
#~ msgstr "Sem Correspondências"
@@ -12320,9 +12595,6 @@ msgstr "Constantes não podem serem modificadas."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "Instanciar a(s) cena(s) selecionada como filho do nó selecionado."
-#~ msgid "Warnings:"
-#~ msgstr "Avisos:"
-
#~ msgid "Font Size:"
#~ msgstr "Tamanho da Fonte:"
@@ -12364,9 +12636,6 @@ msgstr "Constantes não podem serem modificadas."
#~ msgid "Select a split to erase it."
#~ msgstr "Selecione um item de configuração primeiro!"
-#~ msgid "No name provided"
-#~ msgstr "Nenhum nome fornecido"
-
#~ msgid "Add Node.."
#~ msgstr "Adicionar Nó.."
@@ -12507,9 +12776,6 @@ msgstr "Constantes não podem serem modificadas."
#~ msgid "Warning"
#~ msgstr "Aviso"
-#~ msgid "Error:"
-#~ msgstr "Erro:"
-
#~ msgid "Function:"
#~ msgstr "Função:"
@@ -12591,9 +12857,6 @@ msgstr "Constantes não podem serem modificadas."
#~ 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"
@@ -13041,9 +13304,6 @@ msgstr "Constantes não podem serem modificadas."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Escolha Novo Nome e Localização Para:"
-#~ msgid "No files selected!"
-#~ msgstr "Nenhum arquivo selecionado!"
-
#~ msgid "Info"
#~ msgstr "Informação"
@@ -13442,12 +13702,6 @@ msgstr "Constantes não podem serem modificadas."
#~ msgid "Scaling to %s%%."
#~ msgstr "Escalonando para %s%%."
-#~ msgid "Up"
-#~ msgstr "Acima"
-
-#~ msgid "Down"
-#~ msgstr "Abaixo"
-
#~ msgid "Bucket"
#~ msgstr "Balde"
diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po
index 7016f39d39..b92e719358 100644
--- a/editor/translations/pt_PT.po
+++ b/editor/translations/pt_PT.po
@@ -18,7 +18,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-07-29 19:20+0000\n"
+"PO-Revision-Date: 2019-09-07 13:52+0000\n"
"Last-Translator: João Lopes <linux-man@hotmail.com>\n"
"Language-Team: Portuguese (Portugal) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_PT/>\n"
@@ -27,7 +27,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -69,6 +69,35 @@ msgstr "Argumentos inválidos para construir '%s'"
msgid "On call to '%s':"
msgstr "Em chamada para '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Combinar"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Livre"
@@ -138,29 +167,24 @@ msgid "Anim Change Call"
msgstr "Anim Mudar Chamada"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Keyframe Time"
-msgstr "Anim Mudar Tempo do Keyframe"
+msgstr "Anim Multi Mudar Tempo do Keyframe"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Transition"
-msgstr "Anim Mudar Transição"
+msgstr "Anim Multi Mudar Transição"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Transform"
-msgstr "Anim Mudar Transformação"
+msgstr "Anim Multi Mudar Transformação"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Keyframe Value"
-msgstr "Anim Mudar Valor do Keyframe"
+msgstr "Anim Multi Mudar Valor do Keyframe"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Call"
-msgstr "Anim Mudar Chamada"
+msgstr "Anim Multi Mudar Chamada"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
@@ -491,6 +515,12 @@ msgid "Select None"
msgstr "Selecionar Nenhum"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Caminho para um nó AnimationPlayer contendo animações não está definido."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Apenas mostrar faixas de nós selecionados na árvore."
@@ -669,14 +699,12 @@ msgid "Replaced %d occurrence(s)."
msgstr "Substituído %d ocorrência(s)."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "Encontrada(s) %d correspondência(s)."
+msgstr "%d correspondência."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "Encontrada(s) %d correspondência(s)."
+msgstr "%d correspondências."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -814,7 +842,8 @@ msgstr "Impossível conectar sinal"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -915,7 +944,8 @@ msgstr "Procurar:"
msgid "Matches:"
msgstr "Correspondências:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1129,12 +1159,10 @@ msgid "License"
msgstr "Licença"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Licença de Terceiros"
+msgstr "Licenças de Terceiros"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
@@ -1159,9 +1187,8 @@ msgid "Licenses"
msgstr "Licenças"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Error ao abrir Ficheiro comprimido, não está no formato zip."
+msgstr "Erro ao abrir ficheiro comprimido, não está no formato ZIP."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1229,7 +1256,8 @@ msgid "Delete Bus Effect"
msgstr "Apagar Efeito de Barramento"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Barramento de áudio, arrastar e largar para reorganizar."
#: editor/editor_audio_buses.cpp
@@ -1421,6 +1449,7 @@ msgid "Add AutoLoad"
msgstr "Adicionar Carregamento Automático"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Caminho:"
@@ -1650,6 +1679,7 @@ msgstr "Tornar Atual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Novo"
@@ -1720,6 +1750,7 @@ msgid "New Folder..."
msgstr "Nova Diretoria..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Atualizar"
@@ -1795,32 +1826,28 @@ msgid "Move Favorite Down"
msgstr "Mover Favorito para Baixo"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to previous folder."
-msgstr "Ir para a pasta acima."
+msgstr "Ir para a pasta anterior."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to next folder."
-msgstr "Ir para a pasta acima."
+msgstr "Ir para a pasta seguinte."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Go to parent folder."
msgstr "Ir para a pasta acima."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Refresh files."
-msgstr "Procurar ficheiros"
+msgstr "Atualizar ficheiros."
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
msgstr "(Não) tornar favorita atual pasta."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Toggle the visibility of hidden files."
-msgstr "Alternar visibilidade de ficheiros escondidos."
+msgstr "Alternar a visibilidade de ficheiros escondidos."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1881,7 +1908,8 @@ msgid "Inherited by:"
msgstr "Herdado por:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Breve Descrição:"
#: editor/editor_help.cpp
@@ -1889,38 +1917,18 @@ msgid "Properties"
msgstr "Propriedades"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Propriedades:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Métodos"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Métodos:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Propriedades do Tema"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Propriedades do Tema:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Sinais:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumerações"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumerações:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1929,19 +1937,12 @@ msgid "Constants"
msgstr "Constantes"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Constantes:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Descrição da Classe"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Descrição da Classe:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Tutoriais Online:"
#: editor/editor_help.cpp
@@ -1959,10 +1960,6 @@ msgid "Property Descriptions"
msgstr "Descrições da Propriedade"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Descrições da Propriedade:"
-
-#: 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]!"
@@ -1975,10 +1972,6 @@ msgid "Method Descriptions"
msgstr "Descrições do Método"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Descrições do Método:"
-
-#: 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]!"
@@ -2047,8 +2040,8 @@ msgstr "Saída:"
msgid "Copy Selection"
msgstr "Copiar Seleção"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2061,9 +2054,52 @@ msgstr "Limpar"
msgid "Clear Output"
msgstr "Limpar Saída"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Parar"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Início"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Download"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nó"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
-msgstr ""
+msgstr "Nova Janela"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2393,9 +2429,8 @@ msgid "Close Scene"
msgstr "Fechar Cena"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Fechar Cena"
+msgstr "Reabrir Cena Fechada"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2512,9 +2547,8 @@ msgid "Close Tab"
msgstr "Fechar Separador"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Fechar Separador"
+msgstr "Desfazer Fechar Separador"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2647,19 +2681,29 @@ msgid "Project"
msgstr "Projeto"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Configurações de Projeto"
+msgstr "Configurações de Projeto..."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "Versão:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Export..."
-msgstr "Exportar"
+msgstr "Exportar..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Instalar Modelo Android de Compilação"
+msgstr "Instalar Modelo Android de Compilação..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2670,9 +2714,8 @@ msgid "Tools"
msgstr "Ferramentas"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "Explorador de Recursos Órfãos"
+msgstr "Explorador de Recursos Órfãos..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2774,9 +2817,8 @@ msgid "Editor"
msgstr "Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Configurações do Editor"
+msgstr "Configurações do Editor..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2812,14 +2854,12 @@ msgid "Open Editor Settings Folder"
msgstr "Abrir Pasta de Configurações do Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Gerir Características do Editor"
+msgstr "Gerir Características do Editor..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Gerir Modelos de Exportação"
+msgstr "Gerir Modelos de Exportação..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2875,10 +2915,6 @@ msgstr "Pausar a Cena"
msgid "Stop the scene."
msgstr "Para a Cena."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Parar"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Executa a cena editada."
@@ -2929,10 +2965,6 @@ msgid "Inspector"
msgstr "Inspetor"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nó"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Expandir Painel do Fundo"
@@ -2954,17 +2986,22 @@ msgstr "Gerir Modelos"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"O projeto Android para compilações personalizadas será instalado.\n"
-"Para o utilizar, terá de ser ativado nas predefinições de exportação."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"O modelo de compilação Android está instalado e não será substituído.\n"
"Remova manualmente a diretoria \"build\" antes de repetir esta operação."
@@ -3029,6 +3066,11 @@ msgstr "Abrir o Editor seguinte"
msgid "Open the previous Editor"
msgstr "Abrir o Editor anterior"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Fonte de superfície não especificada."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "A criar pré-visualizações de Malha"
@@ -3038,6 +3080,11 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Abrir Script:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Editar Plugin"
@@ -3066,11 +3113,6 @@ msgstr "Estado:"
msgid "Edit:"
msgstr "Editar:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Início"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Medida:"
@@ -3112,9 +3154,8 @@ msgid "Calls"
msgstr "Chamadas"
#: editor/editor_properties.cpp
-#, fuzzy
msgid "Edit Text:"
-msgstr "Editar Tema"
+msgstr "Editar Texto:"
#: editor/editor_properties.cpp editor/script_create_dialog.cpp
msgid "On"
@@ -3287,9 +3328,8 @@ msgid "Import From Node:"
msgstr "Importar do Nó:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
-msgstr "Transferir novamente"
+msgstr "Retransferir"
#: editor/export_template_manager.cpp
msgid "Uninstall"
@@ -3307,6 +3347,8 @@ msgstr "Download"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Modelos de exportação oficiais não estão disponíveis para compilações de "
+"desenvolvimento."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3389,23 +3431,20 @@ msgid "Download Complete."
msgstr "Download Completo."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Impossível guardar tema para Ficheiro:"
+msgstr "Impossível remover ficheiro temporário:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Falhou a instalação de Modelos. Os ficheiros problemáticos podem ser "
-"encontrados em '%s'."
+"Falhou a instalação de Modelos.\n"
+"Os ficheiros problemáticos podem ser encontrados em '%s'."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Erro ao solicitar url: "
+msgstr "Erro ao solicitar URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3592,9 +3631,8 @@ msgid "Move To..."
msgstr "Mover para..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Nova Cena"
+msgstr "Nova Cena..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3662,9 +3700,8 @@ msgid "Overwrite"
msgstr "Sobrescrever"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Criar a partir da Cena"
+msgstr "Criar Cena"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3744,21 +3781,18 @@ msgid "Invalid group name."
msgstr "Nome de grupo inválido."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "Gerir Grupos"
+msgstr "Renomear Grupo"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Apagar Modelo"
+msgstr "Apagar Grupo"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Grupos"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
msgstr "Nós fora do Grupo"
@@ -3773,12 +3807,11 @@ msgstr "Nós no Grupo"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Grupos vazios serão removidos automaticamente."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group Editor"
-msgstr "Editor de Script"
+msgstr "Editor de Grupo"
#: editor/groups_editor.cpp
msgid "Manage Groups"
@@ -3877,9 +3910,10 @@ msgstr " Ficheiros"
msgid "Import As:"
msgstr "Importar Como:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Predefinido..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Predefinições"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3986,9 +4020,8 @@ msgid "MultiNode Set"
msgstr "Conjunto MultiNode"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Selecionar um Nó para editar sinais e grupos."
+msgstr "Selecione um único nó para editar sinais e grupos."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4319,6 +4352,7 @@ msgid "Change Animation Name:"
msgstr "Mudar o Nome da Animação:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Apagar Animação?"
@@ -4766,37 +4800,32 @@ msgid "Request failed, return code:"
msgstr "Falha na solicitação, código de retorno:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
msgstr "Pedido falhado."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Impossível guardar tema para Ficheiro:"
+msgstr "Impossível guardar resposta para:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Erro de escrita."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "Falha na solicitação, demasiados redirecionamentos"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
msgstr "Redirecionar ciclo."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Falha na solicitação, código de retorno:"
+msgstr "Falha na solicitação, tempo expirado"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Tempo"
+msgstr "Tempo expirado."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4875,24 +4904,18 @@ msgid "All"
msgstr "Todos"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Importar"
+msgstr "Importar..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Plugins"
+msgstr "Plugins..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Ordenar:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Inverter ordenação."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Categoria:"
@@ -4902,9 +4925,8 @@ msgid "Site:"
msgstr "Site:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Suporte..."
+msgstr "Suporte"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4915,9 +4937,8 @@ msgid "Testing"
msgstr "Em teste"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Carregar..."
+msgstr "A Carregar..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5083,9 +5104,8 @@ msgid "Paste Pose"
msgstr "Colar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Apagar Ossos"
+msgstr "Limpar Guias"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5172,6 +5192,11 @@ msgid "Pan Mode"
msgstr "Modo deslocamento"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Modo Execução:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Alternar Ajuste."
@@ -5272,7 +5297,7 @@ msgstr "Apagar Ossos Personalizados"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
-msgstr "Ver"
+msgstr "Vista"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -5818,26 +5843,23 @@ msgstr "Tempo de geração (s):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "As faces da geometria não contêm qualquer área."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "O Nó não contêm geometria (faces)."
+msgstr "A geometria não contêm quaisquer faces."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\" não descende de Spatial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "O Nó não contêm geometria."
+msgstr "\"%s\" não contem geometria."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "O Nó não contêm geometria."
+msgstr "\"%s\" não contem geometria de faces."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6236,7 +6258,7 @@ msgstr "Instância:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Tipo:"
@@ -6274,9 +6296,8 @@ msgid "Error writing TextFile:"
msgstr "Erro ao escrever TextFile:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Tile não encontrado:"
+msgstr "Impossível carregar ficheiro em:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6299,9 +6320,8 @@ msgid "Error Importing"
msgstr "Erro ao importar"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
-msgstr "Novo TextFile..."
+msgstr "Novo Ficheiro de Texto..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Open File"
@@ -6381,9 +6401,8 @@ msgid "Open..."
msgstr "Abrir..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Abrir Script"
+msgstr "Reabrir Script Fechado"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6439,14 +6458,14 @@ msgid "Toggle Scripts Panel"
msgstr "Alternar painel de Scripts"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Passar sobre"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "Passar dentro"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Passar sobre"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Interrupção"
@@ -6518,15 +6537,14 @@ msgid "Search Results"
msgstr "Resultados da Pesquisa"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "Limpar Cenas Recentes"
+msgstr "Limpar Scripts Recentes"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "Conecções ao método:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Fonte"
@@ -6643,9 +6661,8 @@ msgid "Complete Symbol"
msgstr "Completar símbolo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Escalar Selecção"
+msgstr "Avaliar Seleção"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -6802,7 +6819,7 @@ msgstr "A escalar: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translating: "
-msgstr "A traduzir: "
+msgstr "A transladar: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -6893,14 +6910,12 @@ msgid "Rear"
msgstr "Trás"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Align Transform with View"
-msgstr "Alinhar com a Vista"
+msgstr "Alinhar Transformação com Vista"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Align Rotation with View"
-msgstr "Alinhar seleção com vista"
+msgstr "Alinhar Rotação com Vista"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
@@ -6955,9 +6970,8 @@ msgid "Audio Listener"
msgstr "Audição de áudio"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Ativar Filtragem"
+msgstr "Ativar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7013,7 +7027,7 @@ msgstr "Ajustar Nós ao Fundo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "Não foi encontrado um chão sólido para encaixar a seleção."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7026,9 +7040,8 @@ msgstr ""
"Alt+RMB: Seleção lista de profundidade"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Modo Espaço Local (%s)"
+msgstr "Usar Espaço Local"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7125,9 +7138,8 @@ msgstr "Ver grelha"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Configuração"
+msgstr "Configuração..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7306,6 +7318,11 @@ msgid "(empty)"
msgstr "(vazio)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Colar Frame"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animações:"
@@ -7503,14 +7520,12 @@ msgid "Submenu"
msgstr "Sub-menu"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Item 1"
+msgstr "Subitem 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Item 2"
+msgstr "Subitem 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7622,17 +7637,25 @@ msgid "Enable Priority"
msgstr "Ativar Prioridade"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrar Ficheiro..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Pintar Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift+RMB: Desenho de Linha\n"
-"Shift+Ctrl+RMB: Pintura de Retângulo"
+"Shift+LMB: Desenho de Linha\n"
+"Shift+Ctrl+LMB: Pintura de Retângulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7755,6 +7778,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Exibir nome dos tiles (segure tecla Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Remover textura selecionada? Todos os tiles que a usam serão removidos."
@@ -7925,6 +7953,111 @@ msgstr "Esta propriedade não pode ser alterada."
msgid "TileSet"
msgstr "TileSet"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Nome do parente do Nó, se disponível"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Erro"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Nenhum nome foi fornecido"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Comunidade"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Capitalizar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Criar novo retângulo."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Mudar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Renomear"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Apagar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Mudar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Apagar Selecionados"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Guardar tudo"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sincronizar Alterações de Script"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Status"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(Apenas GLES3)"
@@ -8031,9 +8164,8 @@ msgid "Light"
msgstr "Luz"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Criar Nó Shader"
+msgstr "Mostrar código-resultado do shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8164,6 +8296,14 @@ msgstr ""
"falso."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Devolve um vetor associado se o valor lógico fornecido for verdadeiro ou "
+"falso."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Devolve o resultado lógico da comparação entre dois parâmetros."
@@ -8398,7 +8538,6 @@ msgid "Returns the square root of the parameter."
msgstr "Devolve a raiz quadrada do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8408,12 +8547,11 @@ msgid ""
msgstr ""
"Função SmoothStep( escalar(limite0), escalar(limite1), escalar(x) ).\n"
"\n"
-"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se x for maior que "
+"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se 'x' for maior que "
"'limite1'. Caso contrário o valor devolvido é interpolado entre 0.0 and 1.0 "
"usando polinomiais Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
@@ -8590,9 +8728,8 @@ msgid "Linear interpolation between two vectors."
msgstr "Interpolação linear entre dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Interpolação linear entre dois vetores."
+msgstr "Interpolação linear entre dois vetores usando um escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8619,7 +8756,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Devolve um vetor que aponta na direção da refração."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8629,12 +8765,11 @@ msgid ""
msgstr ""
"Função SmoothStep( vetor(limite0), vetor(limite1), vetor(x) ).\n"
"\n"
-"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se x for maior que "
+"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se 'x' for maior que "
"'limite1'. Caso contrário o valor devolvido é interpolado entre 0.0 and 1.0 "
"usando polinomiais Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8644,12 +8779,11 @@ msgid ""
msgstr ""
"Função SmoothStep( escalar(limite0), escalar(limite1), vetor(x) ).\n"
"\n"
-"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se x for maior que "
+"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se 'x' for maior que "
"'limite1'. Caso contrário o valor devolvido é interpolado entre 0.0 and 1.0 "
"usando polinomiais Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8660,7 +8794,6 @@ msgstr ""
"Devolve 0.0 se 'x' for menor que 'limite', senão devolve 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8723,6 +8856,9 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Expressão personalizada em Linguagem Godot Shader, colocada sobre o shader "
+"resultante. Pode colocar várias definições de função e chamá-las depois nas "
+"Expressões. Pode também declarar variantes, uniformes e constantes."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9114,13 +9250,12 @@ msgid "Unnamed Project"
msgstr "Projeto sem nome"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Importar Projeto existente"
+msgstr "Projeto Inexistente"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Erro: Projeto inexistente no sistema de ficheiros."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9219,12 +9354,11 @@ msgstr ""
"O conteúdo da pasta não será modificado."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Remover %d projetos da lista?\n"
+"Remover todos os projetos inexistentes da lista?\n"
"O conteúdo das pastas não será modificado."
#: editor/project_manager.cpp
@@ -9246,12 +9380,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Project Manager"
-msgstr "Gestor de Projeto"
+msgstr "Gestor de Projetos"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Projeto"
+msgstr "Projetos"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9482,6 +9615,11 @@ msgid "Settings saved OK."
msgstr "Configuração guardada."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Adicionar evento ação de entrada"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Sobrepor por característica"
@@ -9618,6 +9756,10 @@ msgid "Plugins"
msgstr "Plugins"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Predefinido..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Zero"
@@ -9785,10 +9927,6 @@ msgstr "Para Maiúsculas"
msgid "Reset"
msgstr "Restaurar"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Erro"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Recolocar Nó"
@@ -9846,6 +9984,11 @@ msgid "Instance Scene(s)"
msgstr "Cena(s) da Instância"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Guardar ramo como Cena"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Instanciar Cena filha"
@@ -9886,8 +10029,23 @@ msgid "Make node as Root"
msgstr "Tornar Nó Raiz"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Apagar Nó(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Apagar Nós"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Apagar Nó(s) Gráfico(s) Shader"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Apagar Nós"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -9962,9 +10120,8 @@ msgid "Remove Node(s)"
msgstr "Remover Nó(s)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Mudar nome de porta de saída"
+msgstr "Mudar tipo de nó(s)"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10011,9 +10168,8 @@ msgid "Extend Script"
msgstr "Estender Script"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Reparent to New Node"
-msgstr "Recolocar Nó"
+msgstr "Recolocar o Novo Nó"
#: editor/scene_tree_dock.cpp
msgid "Make Scene Root"
@@ -10088,31 +10244,28 @@ msgid "Node configuration warning:"
msgstr "Aviso de configuração do Nó:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"Nó tem conexões e grupos.\n"
-"Clique para mostrar doca dos sinais."
+"Nó tem %s conexão(ões) e %s grupo(s).\n"
+"Clique para mostrar doca de sinais."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"Nó tem conexões.\n"
-"Clique para mostrar doca dos sinais."
+"Nó tem %s conexão(ões).\n"
+"Clique para mostrar doca de sinais."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"Nó está em grupo(s).\n"
-"Clique para mostrar doca dos grupos."
+"Nó está em %s grupo(s).\n"
+"Clique para mostrar doca de grupos."
#: editor/scene_tree_editor.cpp
msgid "Open Script:"
@@ -10207,9 +10360,8 @@ msgid "Error loading script from %s"
msgstr "Erro ao carregar Script de '%s'"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Sobrescrever"
+msgstr "Sobrepõe"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10288,19 +10440,50 @@ msgid "Bytes:"
msgstr "Bytes:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "Rastreamento de Pilha"
+#, fuzzy
+msgid "Warning:"
+msgstr "Avisos:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Escolha um ou mais itens da lista para exibir o gráfico."
+msgid "Error:"
+msgstr "Erro:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Copiar Erro"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Erro:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Fonte"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Fonte"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Fonte"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "Rastreamento de Pilha"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Erros"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Processo filho conectado"
#: editor/script_editor_debugger.cpp
@@ -10308,6 +10491,11 @@ msgid "Copy Error"
msgstr "Copiar Erro"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Pontos de paragem"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Inspecionar instância anterior"
@@ -10324,6 +10512,11 @@ msgid "Profiler"
msgstr "Profiler"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Exportar Perfil"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -10336,6 +10529,10 @@ msgid "Monitors"
msgstr "Monitores"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Escolha um ou mais itens da lista para exibir o gráfico."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Lista de utilização de Memória Vídeo por recurso:"
@@ -10532,10 +10729,6 @@ msgid "Library"
msgstr "Biblioteca"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Status"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Bibliotecas: "
@@ -10544,6 +10737,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "O argumento \"step\" é zero!"
@@ -10697,6 +10894,15 @@ msgstr "Configurações do GridMap"
msgid "Pick Distance:"
msgstr "Distância de escolha:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Métodos de filtro"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Nome de classe não pode ser uma palavra-chave reservada"
@@ -10822,28 +11028,28 @@ msgid "Set Variable Type"
msgstr "Definir tipo de variável"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "Não pode coincidir com um nome de um tipo incorporado já existente."
+msgstr "Sobrepõe-se a função incorporada."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Criar novo retângulo."
+msgstr "Criar uma nova função."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variáveis:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Criar novo retângulo."
+msgstr "Criar uma nova variável."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Sinais:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Criar um novo polígono."
+msgstr "Criar um novo sinal."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -10899,7 +11105,7 @@ msgstr ""
msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
msgstr ""
"Pressione Ctrl para largar um Getter. Pressione Shift para largar uma "
-"Assinatura genérica."
+"assinatura genérica."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a simple reference to the node."
@@ -10919,7 +11125,7 @@ msgstr "Pressione Ctrl para largar um Setter variável."
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Preload Node"
-msgstr "Adicionar Nó de carregamento prévio"
+msgstr "Adicionar Nó de Pré-carregamento"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node(s) From Tree"
@@ -11002,6 +11208,11 @@ msgid "Editing Signal:"
msgstr "A editar Sinal:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Tornar Local"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Tipo de Base:"
@@ -11075,22 +11286,22 @@ msgstr ": Argumentos inválidos: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "VariableGet not found in script: "
-msgstr "VariableGet não encontrada no Script: "
+msgstr "VariableGet não encontrado no script: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "VariableSet not found in script: "
-msgstr "VariableSet não encontrada no Script: "
+msgstr "VariableSet não encontrado no script: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
-msgstr "Impossível processar gráfico, Nó personalizado com Método no_step()."
+msgstr "Impossível processar gráfico, Nó personalizado sem método _step()."
#: modules/visual_script/visual_script_nodes.cpp
msgid ""
"Invalid return value from _step(), must be integer (seq out), or string "
"(error)."
msgstr ""
-"Valor de retorno from _step() inválido, tem de ser inteiro (seq out), ou "
+"Valor de retorno de _step() inválido, tem de ser inteiro (seq out), ou "
"string (error)."
#: modules/visual_script/visual_script_property_selector.cpp
@@ -11155,8 +11366,10 @@ msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr "Caminho inválido para Android SDK no Editor de Configurações."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"Projeto Android não está instalado para compilação. Instale-o no menu do "
"Editor."
@@ -11343,7 +11556,7 @@ 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 ""
-"Só é permitido um CanvasModulate visível por Cena (ou grupo de Cenas "
+"Só é permitido um CanvasModulate visível por cena (ou grupo de cenas "
"instanciadas). O primeiro a ser criado funcionará, enquanto o resto será "
"ignorado."
@@ -11943,6 +12156,43 @@ msgstr "Variações só podem ser atribuídas na função vértice."
msgid "Constants cannot be modified."
msgstr "Constantes não podem ser modificadas."
+#~ msgid "Properties:"
+#~ msgstr "Propriedades:"
+
+#~ msgid "Methods:"
+#~ msgstr "Métodos:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Propriedades do Tema:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumerações:"
+
+#~ msgid "Constants:"
+#~ msgstr "Constantes:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Descrição da Classe:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Descrições da Propriedade:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Descrições do Método:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "O projeto Android para compilações personalizadas será instalado.\n"
+#~ "Para o utilizar, terá de ser ativado nas predefinições de exportação."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Inverter ordenação."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Apagar Nó(s)?"
+
#~ msgid "No Matches"
#~ msgstr "Sem combinações"
@@ -12368,9 +12618,6 @@ msgstr "Constantes não podem ser modificadas."
#~ msgstr ""
#~ "Instancie a(s) Cena(s) selecionada(s) como filha(s) do Nó selecionado."
-#~ msgid "Warnings:"
-#~ msgstr "Avisos:"
-
#~ msgid "Font Size:"
#~ msgstr "Tamanho do tipo de letra:"
@@ -12412,9 +12659,6 @@ msgstr "Constantes não podem ser modificadas."
#~ msgid "Select a split to erase it."
#~ msgstr "Selecionar uma separação para a apagar."
-#~ msgid "No name provided"
-#~ msgstr "Nenhum nome foi fornecido"
-
#~ msgid "Add Node.."
#~ msgstr "Adicionar Nó.."
@@ -12547,9 +12791,6 @@ msgstr "Constantes não podem ser modificadas."
#~ msgid "Warning"
#~ msgstr "Aviso"
-#~ msgid "Error:"
-#~ msgstr "Erro:"
-
#~ msgid "Function:"
#~ msgstr "Função:"
@@ -12631,9 +12872,6 @@ msgstr "Constantes não podem ser modificadas."
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "Duplicar Nó(s)"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "Apagar Nó(s) Gráfico(s) Shader"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "Erro: conexão cíclica"
diff --git a/editor/translations/ro.po b/editor/translations/ro.po
index 93589e06f6..8204df8633 100644
--- a/editor/translations/ro.po
+++ b/editor/translations/ro.po
@@ -62,6 +62,35 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Amestecare"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Gratuit"
@@ -497,6 +526,11 @@ msgid "Select None"
msgstr "Mod Selectare"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "Selectați un Animator din Copacul Scenă să editați animații."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -833,7 +867,8 @@ msgstr "Conectați Semnal:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -942,7 +977,8 @@ msgstr "Cautați:"
msgid "Matches:"
msgstr "Potriviri:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1262,7 +1298,8 @@ msgid "Delete Bus Effect"
msgstr "Ștergeți Pista Efect"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Pista Audio, Trageți și Plasați pentru a rearanja."
#: editor/editor_audio_buses.cpp
@@ -1463,6 +1500,7 @@ msgid "Add AutoLoad"
msgstr "Adaugați AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Cale:"
@@ -1702,6 +1740,7 @@ msgstr "Curent:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1782,6 +1821,7 @@ msgid "New Folder..."
msgstr "Director Nou..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Reîmprospătați"
@@ -1945,7 +1985,8 @@ msgid "Inherited by:"
msgstr "MoÅŸtenit de:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Descriere Scurtă:"
#: editor/editor_help.cpp
@@ -1953,41 +1994,19 @@ msgid "Properties"
msgstr "Proprietăți"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metode"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "Metode"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "Proprietăți"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-msgstr "Proprietăți"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Semnale:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumerări"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumerări:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum "
@@ -1996,21 +2015,13 @@ msgid "Constants"
msgstr "Constante"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Constante:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Descriere"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "Descriere:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "Tutoriale Internet:"
#: editor/editor_help.cpp
@@ -2029,11 +2040,6 @@ msgid "Property Descriptions"
msgstr "Descriere Proprietate:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Descriere Proprietate:"
-
-#: 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]!"
@@ -2048,11 +2054,6 @@ msgid "Method Descriptions"
msgstr "Descrierea metodei:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Descrierea metodei:"
-
-#: 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]!"
@@ -2131,8 +2132,8 @@ msgstr "Afișare:"
msgid "Copy Selection"
msgstr "Elminați Selecția"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2145,6 +2146,50 @@ msgstr "Curăță"
msgid "Clear Output"
msgstr "Curăță Afișarea"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Oprește"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Descarcă"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nod"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2743,6 +2788,19 @@ msgstr "Proiect"
msgid "Project Settings..."
msgstr "Setări ale Proiectului"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versiune:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2972,10 +3030,6 @@ msgstr "Întrerupere Scenă"
msgid "Stop the scene."
msgstr "Oprește scena."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Oprește"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Rulează scena editată."
@@ -3030,10 +3084,6 @@ msgid "Inspector"
msgstr "Inspector"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nod"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "Extinde toate"
@@ -3057,15 +3107,21 @@ msgstr "Administrează Șabloanele de Export"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3128,6 +3184,11 @@ msgstr "Deschide Editorul următor"
msgid "Open the previous Editor"
msgstr "Deschide Editorul anterior"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Nicio sursă de suprafață specificată."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Se creează Previzualizările Mesh-ului"
@@ -3138,6 +3199,11 @@ msgstr "Miniatură..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Execută Scriptul"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Editează Poligon"
@@ -3167,12 +3233,6 @@ msgstr "Stare:"
msgid "Edit:"
msgstr "Modificare"
-#: 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:"
msgstr "Măsura:"
@@ -4003,8 +4063,9 @@ msgstr " Fișiere"
msgid "Import As:"
msgstr "Importă Ca:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
msgstr "Presetare..."
#: editor/import_dock.cpp
@@ -4476,6 +4537,7 @@ msgid "Change Animation Name:"
msgstr "Schimbă Numele Animației:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Ștergi Animația?"
@@ -5065,11 +5127,6 @@ msgid "Sort:"
msgstr "Sorare:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Se Solicită..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Categorie:"
@@ -5367,6 +5424,11 @@ msgstr "Mod ÃŽn Jur"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "Modul de Execuție:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "Comutare snapping"
@@ -6473,7 +6535,7 @@ msgstr "Instanță :"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6690,11 +6752,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6779,7 +6841,7 @@ msgstr "Curăță Scenele Recente"
msgid "Connections to method:"
msgstr "Conectați la Nod:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Resursă"
@@ -7587,6 +7649,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Mod Mutare"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animație"
@@ -7918,6 +7985,15 @@ msgid "Enable Priority"
msgstr "Editează Filtrele"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrează fișierele..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -8065,6 +8141,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Elimină Obiectul Selectat"
@@ -8240,6 +8321,109 @@ msgstr "Această operație nu se poate face fără o scenă."
msgid "TileSet"
msgstr "Set_de_Plăci..."
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Niciun nume furnizat"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Comunitate"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Creați %s Nou"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Schimbați"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Redenumește"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Ștergeți"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Schimbați"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Scalați Selecția"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Înlocuiți Tot"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sincronizează Modificările Scriptului"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8495,6 +8679,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9717,6 +9906,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Deplasare punct pe curbă"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9856,6 +10050,10 @@ msgid "Plugins"
msgstr "Plugin-uri"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Presetare..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -10027,10 +10225,6 @@ msgstr ""
msgid "Reset"
msgstr "Resetați Zoom-area"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10086,6 +10280,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10127,10 +10325,24 @@ msgid "Make node as Root"
msgstr "Salvează Scena"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Creează Nod"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Creează Nod"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10535,11 +10747,41 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Eroare!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Eroare!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Eroare!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Resursă"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Resursă"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Resursă"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10547,14 +10789,20 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Deconectat"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Șterge puncte"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10571,6 +10819,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Exportă Proiectul"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10583,6 +10836,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10785,10 +11042,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10797,6 +11050,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10951,6 +11208,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Proprietățile obiectului."
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11091,6 +11357,10 @@ msgid "Create a new variable."
msgstr "Creați %s Nou"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Semnale:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Creează un nou poligon de la zero."
@@ -11251,6 +11521,11 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Creează Oase"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11400,7 +11675,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12058,6 +12334,36 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "Metode"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Proprietăți"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumerări:"
+
+#~ msgid "Constants:"
+#~ msgstr "Constante:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Descriere:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Descriere Proprietate:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Descrierea metodei:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Se Solicită..."
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12206,9 +12512,6 @@ msgstr ""
#~ msgid "Splits"
#~ msgstr "Divizare cale"
-#~ msgid "No name provided"
-#~ msgstr "Niciun nume furnizat"
-
#~ msgid "Create Poly"
#~ msgstr "Crează Poligon"
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index 3e61d4d683..f6620b5aef 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -55,12 +55,13 @@
# knightpp <kotteam99@gmail.com>, 2019.
# КонÑтантин Рин <email.to.rean@gmail.com>, 2019.
# Maxim Samburskiy <alpacones@outlook.com>, 2019.
+# Dima Koshel <form.eater@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-29 13:35+0000\n"
-"Last-Translator: КонÑтантин Рин <email.to.rean@gmail.com>\n"
+"PO-Revision-Date: 2019-09-19 05:27+0000\n"
+"Last-Translator: ÐлекÑандр <ol-vin@mail.ru>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
"Language: ru\n"
@@ -111,6 +112,35 @@ msgstr "ÐедопуÑтимые аргументы Ð´Ð»Ñ Ð¿Ð¾ÑтроениÑ
msgid "On call to '%s':"
msgstr "Ðа вызове '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Сочетание"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "ОÑвободить"
@@ -496,6 +526,7 @@ msgstr ""
"один трек."
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid ""
"This animation belongs to an imported scene, so changes to imported tracks "
"will not be saved.\n"
@@ -507,6 +538,16 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Эта Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð½Ð¾ÑитÑÑ Ðº импортированной Ñцене, поÑтому Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² "
+"импортированных дорожках не ÑохранÑÑŽÑ‚ÑÑ.\n"
+"\n"
+"Чтобы включить возможноÑть Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких дорожек, перейдите к "
+"наÑтройкам импорта Ñцены и уÑтановите Ñледующие параметры\n"
+"\"ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ > Хранение(Animation > Storage)\" в меню \"Файлы(Files)\", "
+"выберите \"ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ > СохранÑть пользовательÑкие дорожки(Animation > Keep "
+"Custom Tracks)\", а затем импортируйте заново.\n"
+"Кроме того, можно иÑпользовать предуÑтановку импорта, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€ÑƒÐµÑ‚ "
+"анимацию Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
@@ -522,6 +563,11 @@ msgid "Select None"
msgstr "СброÑить выделение"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "Путь к узлу AnimationPlayer, Ñодержащему анимацию, не задан."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Показывать треки только выделенных в дереве узлов."
@@ -847,7 +893,8 @@ msgstr "Ðе удаетÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ñигнал"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -948,7 +995,8 @@ msgstr "ПоиÑк:"
msgid "Matches:"
msgstr "СовпадениÑ:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1261,7 +1309,8 @@ msgid "Delete Bus Effect"
msgstr "Удалить Ñффект шины"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Ðудио шина, перетащите Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ñ€ÑƒÐ¿Ð¿Ð¸Ñ€Ð¾Ð²ÐºÐ¸."
#: editor/editor_audio_buses.cpp
@@ -1452,6 +1501,7 @@ msgid "Add AutoLoad"
msgstr "Добавить в автозагрузку"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Путь:"
@@ -1463,7 +1513,7 @@ msgstr "Ð˜Ð¼Ñ Ð£Ð·Ð»Ð°:"
#: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp
#: editor/editor_profiler.cpp editor/settings_config_dialog.cpp
msgid "Name"
-msgstr "ИмÑ"
+msgstr "Ðазвание"
#: editor/editor_autoload_settings.cpp
msgid "Singleton"
@@ -1692,6 +1742,7 @@ msgstr "Выбранный:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Ðовый"
@@ -1715,7 +1766,6 @@ msgid "Class Options"
msgstr "ОпиÑание клаÑÑа"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
msgstr "Ðовое имÑ:"
@@ -1725,9 +1775,8 @@ msgid "Erase Profile"
msgstr "Стереть облаÑть"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Импортированный проект"
+msgstr "Импортировать проект"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1769,6 +1818,7 @@ msgid "New Folder..."
msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Обновить"
@@ -1905,6 +1955,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"МножеÑтво импортируемых объектов разного типа указывают на файл %s, импорт "
+"прерван"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -1927,7 +1979,8 @@ msgid "Inherited by:"
msgstr "УнаÑледован:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Краткое опиÑание:"
#: editor/editor_help.cpp
@@ -1935,38 +1988,18 @@ msgid "Properties"
msgstr "СвойÑтва"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "СвойÑтва:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Методы"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Методы:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "СвойÑтва темы"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 "перечиÑление "
@@ -1975,19 +2008,12 @@ msgid "Constants"
msgstr "КонÑтанты"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "КонÑтанты:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "ОпиÑание клаÑÑа"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "ОпиÑание клаÑÑа:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Онлайн уроки:"
#: editor/editor_help.cpp
@@ -2005,10 +2031,6 @@ msgid "Property Descriptions"
msgstr "ОпиÑание ÑвойÑтв"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -2021,10 +2043,6 @@ msgid "Method Descriptions"
msgstr "ОпиÑание методов"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "ОпиÑание методов:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2093,8 +2111,8 @@ msgstr "Вывод:"
msgid "Copy Selection"
msgstr "Копировать выделенное"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2107,6 +2125,48 @@ msgstr "ОчиÑтить"
msgid "Clear Output"
msgstr "ОчиÑтить вывод"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "ОÑтановить"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "ЗапуÑтить"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Вниз"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Вверх"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Узел"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
#, fuzzy
msgid "New Window"
@@ -2699,6 +2759,19 @@ msgstr "Проект"
msgid "Project Settings..."
msgstr "Параметры проекта"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "ВерÑиÑ:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr "ЭкÑпортировать..."
@@ -2924,10 +2997,6 @@ msgstr "ПриоÑтановить Ñцену"
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 "ЗапуÑтить текущую Ñцену."
@@ -2979,10 +3048,6 @@ msgid "Inspector"
msgstr "ИнÑпектор"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Узел"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Развернуть нижнюю панель"
@@ -3007,16 +3072,25 @@ msgstr "Управление шаблонами ÑкÑпорта"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
+"Шаблон Ñборки Android уже уÑтановлен и не будет перезапиÑан.\n"
+"Перед повторной попыткой удалите каталог \"build\" вручную."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3078,6 +3152,11 @@ msgstr "Открыть Ñледующий редактор"
msgid "Open the previous Editor"
msgstr "Открыть предыдущий редактор"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "ПоверхноÑть иÑточника не определена."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Создание предпроÑмотра"
@@ -3087,6 +3166,11 @@ msgid "Thumbnail..."
msgstr "Миниатюра..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Открыть Ñкрипт"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Редактировать дополнение"
@@ -3115,11 +3199,6 @@ msgstr "СтатуÑ:"
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 "Единица измерениÑ:"
@@ -3355,7 +3434,7 @@ msgstr "Загрузка"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
-msgstr ""
+msgstr "Официальные шаблоны ÑкÑпорта недоÑтупны Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‡Ð¸Ñ… Ñборок."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3736,10 +3815,13 @@ msgid "Filters:"
msgstr "Фильтры:"
#: editor/find_in_files.cpp
+#, fuzzy
msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Включает в ÑÐµÐ±Ñ Ñ„Ð°Ð¹Ð»Ñ‹ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼Ð¸ раÑширениÑми. Добавьте или удалите их в "
+"ProjectSettings."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3820,7 +3902,7 @@ msgstr "Узлы в Группе"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "ПуÑтые группы будут автоматичеÑки удалены."
#: editor/groups_editor.cpp
msgid "Group Editor"
@@ -3923,9 +4005,10 @@ msgstr " Файлы"
msgid "Import As:"
msgstr "Импортировать как:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "ПредуÑтановка..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "ПредуÑтановки"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4364,6 +4447,7 @@ msgid "Change Animation Name:"
msgstr "Изменить Ð¸Ð¼Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Удалить анимацию?"
@@ -4826,7 +4910,7 @@ msgstr "Ðевозможно Ñохранить тему в файл:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Ошибка запиÑи."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
@@ -4938,10 +5022,6 @@ msgid "Sort:"
msgstr "Сортировать:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ Ñортировка."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "КатегориÑ:"
@@ -5223,6 +5303,11 @@ msgid "Pan Mode"
msgstr "Режим оÑмотра"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Режим запуÑка:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Переключить привÑзки."
@@ -5659,7 +5744,7 @@ msgstr "Создать вогнутую форму"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ Ñоздать форму!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Convex Shape(s)"
@@ -5901,14 +5986,12 @@ msgid "\"%s\" doesn't inherit from Spatial."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "Узел не Ñодержит геометрии."
+msgstr "\"%s\" не Ñодержит геометрии."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "Узел не Ñодержит геометрии."
+msgstr "\"%s\" не Ñодержит геометрии Ñ Ð³Ñ€Ð°Ð½Ñми."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6309,7 +6392,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Тип:"
@@ -6515,14 +6598,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "Шаг через"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Пауза"
@@ -6605,7 +6688,7 @@ msgstr "ОчиÑтить поÑледние Ñцены"
msgid "Connections to method:"
msgstr "ПриÑоединить к узлу:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "ИÑточник"
@@ -7401,6 +7484,11 @@ msgid "(empty)"
msgstr "(пуÑто)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Ð’Ñтавить кадр"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Ðнимации:"
@@ -7730,6 +7818,15 @@ msgid "Enable Priority"
msgstr "Редактировать приоритет тайла"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "ОтÑортировать файлы..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "РиÑовать тайл"
@@ -7876,6 +7973,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Отобразить имена плиток (удерживать нажатой клавишу Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Удалить выделенную текÑтуру? Это удалит вÑе тайлы, которые её иÑпользуют."
@@ -8046,6 +8148,112 @@ msgstr "Это ÑвойÑтво не может быть изменено."
msgid "TileSet"
msgstr "Ðабор Тайлов"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Ð˜Ð¼Ñ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑкого узла, еÑли оно доÑтупно"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Ошибка"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Ðе указано имÑ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "СообщеÑтво"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "ПропиÑные"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Создать новый прÑмоугольник."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Изменить"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Переименовать"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Удалить"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Изменить"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Удалить выделенное"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Сохранить вÑÑ‘"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в Ñкриптах"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "СтатуÑ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Файлы не выбраны!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(только GLES3)"
@@ -8295,6 +8503,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9568,6 +9781,11 @@ msgid "Settings saved OK."
msgstr "ÐаÑтройки Ñохранены нормально."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Добавить дейÑтвие"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Переопределение СвойÑтва"
@@ -9705,6 +9923,10 @@ msgid "Plugins"
msgstr "Плагины"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "ПредуÑтановка..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Ðоль"
@@ -9875,10 +10097,6 @@ msgstr "Ð’ верхний региÑтр"
msgid "Reset"
msgstr "СброÑить"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Ошибка"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Переподчинить узел"
@@ -9936,6 +10154,11 @@ msgid "Instance Scene(s)"
msgstr "Дополнить Ñценой(ами)"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Сохранить ветку, как Ñцену"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Добавить дочернюю Ñцену"
@@ -9978,8 +10201,23 @@ msgid "Make node as Root"
msgstr "Сделать узел корневым"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Удалить узел(узлы)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Удалить узлы"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Удалить узел(ы) графа шейдера"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Удалить узлы"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10402,20 +10640,50 @@ msgid "Bytes:"
msgstr "Байты:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "ТраÑÑировка Стека"
+#, fuzzy
+msgid "Warning:"
+msgstr "ПредупреждениÑ:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr ""
-"Выбрать один или неÑколько Ñлементов из ÑпиÑка, чтобы отобразить график."
+msgid "Error:"
+msgstr "Ошибка:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Копировать ошибку"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Ошибка:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "ИÑточник"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "ИÑточник"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "ИÑточник"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "ТраÑÑировка Стека"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Ошибки"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Дочерний процеÑÑ ÑвÑзан"
#: editor/script_editor_debugger.cpp
@@ -10423,6 +10691,11 @@ msgid "Copy Error"
msgstr "Копировать ошибку"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Точки оÑтанова"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "ОÑмотреть предыдущий ÑкземплÑÑ€"
@@ -10439,6 +10712,11 @@ msgid "Profiler"
msgstr "Профайлер"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "ЭкÑпортировать проект"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Параметр"
@@ -10451,6 +10729,11 @@ msgid "Monitors"
msgstr "Мониторинг"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+"Выбрать один или неÑколько Ñлементов из ÑпиÑка, чтобы отобразить график."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "СпиÑок иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾Ð¿Ð°Ð¼Ñти реÑурÑами:"
@@ -10648,10 +10931,6 @@ msgid "Library"
msgstr "Библиотека"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "СтатуÑ"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Библиотеки: "
@@ -10660,6 +10939,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "Ðргумент шага равен нулю!"
@@ -10813,6 +11096,15 @@ msgstr "GridMap Параметры"
msgid "Pick Distance:"
msgstr "РаÑÑтоÑние выбора:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Режим фильтра:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Ð˜Ð¼Ñ ÐºÐ»Ð°ÑÑа не может быть зарезервированным ключевым Ñловом"
@@ -10957,6 +11249,10 @@ msgid "Create a new variable."
msgstr "Создать новый прÑмоугольник."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Сигналы:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Создать новый полигон."
@@ -11118,6 +11414,11 @@ msgid "Editing Signal:"
msgstr "Редактирование Ñигнала:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Сделать локальным"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Базовый тип:"
@@ -11270,9 +11571,13 @@ msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr ""
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
+"Шаблон Ñборки Android отÑутÑтвует, пожалуйÑта, уÑтановите ÑоответÑтвующие "
+"шаблоны."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -12060,6 +12365,44 @@ msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть назначены только Ð
msgid "Constants cannot be modified."
msgstr "КонÑтанты не могут быть изменены."
+#~ msgid "Properties:"
+#~ msgstr "СвойÑтва:"
+
+#~ msgid "Methods:"
+#~ msgstr "Методы:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "СвойÑтва темы:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "ПеречиÑлениÑ:"
+
+#~ msgid "Constants:"
+#~ msgstr "КонÑтанты:"
+
+#~ msgid "Class Description:"
+#~ msgstr "ОпиÑание клаÑÑа:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "ОпиÑание ÑвойÑтв:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "ОпиÑание методов:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Данный процеÑÑ ÑƒÑтановит Android проект Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких Ñборок.\n"
+#~ "Обратите внимание, что Ð´Ð»Ñ ÐµÐ³Ð¾ работы, необходимо включить его в каждом "
+#~ "преÑете ÑкÑпорта."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ Ñортировка."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Удалить узел(узлы)?"
+
#~ msgid "No Matches"
#~ msgstr "Ðет Ñовпадений"
@@ -12308,9 +12651,6 @@ msgstr "КонÑтанты не могут быть изменены."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "Добавить выбранную Ñцену(Ñ‹), в качеÑтве потомка выбранного узла."
-#~ msgid "Warnings:"
-#~ msgstr "ПредупреждениÑ:"
-
#~ msgid "Font Size:"
#~ msgstr "Размер шрифта:"
@@ -12353,9 +12693,6 @@ msgstr "КонÑтанты не могут быть изменены."
#~ msgid "Select a split to erase it."
#~ msgstr "Выберите разделение, чтобы Ñтереть его."
-#~ msgid "No name provided"
-#~ msgstr "Ðе указано имÑ"
-
#~ msgid "Add Node.."
#~ msgstr "Добавить Узел.."
@@ -12491,9 +12828,6 @@ msgstr "КонÑтанты не могут быть изменены."
#~ msgid "Warning"
#~ msgstr "Предупреждение"
-#~ msgid "Error:"
-#~ msgstr "Ошибка:"
-
#~ msgid "Function:"
#~ msgstr "ФункциÑ:"
@@ -12575,9 +12909,6 @@ msgstr "КонÑтанты не могут быть изменены."
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "Дублировать узел(ы) графа"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "Удалить узел(ы) графа шейдера"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "Ошибка: ЦикличеÑкое подключение"
@@ -13018,9 +13349,6 @@ msgstr "КонÑтанты не могут быть изменены."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Выберете новое Ð¸Ð¼Ñ Ð¸ раÑположение длÑ:"
-#~ msgid "No files selected!"
-#~ msgstr "Файлы не выбраны!"
-
#~ msgid "Info"
#~ msgstr "ИнформациÑ"
@@ -13421,12 +13749,6 @@ msgstr "КонÑтанты не могут быть изменены."
#~ msgid "Scaling to %s%%."
#~ msgstr "МаÑштабирование до %s%%."
-#~ msgid "Up"
-#~ msgstr "Вверх"
-
-#~ msgid "Down"
-#~ msgstr "Вниз"
-
#~ msgid "Bucket"
#~ msgstr "Заливка"
diff --git a/editor/translations/si.po b/editor/translations/si.po
index 2492f11666..fbea8d1c7d 100644
--- a/editor/translations/si.po
+++ b/editor/translations/si.po
@@ -57,6 +57,34 @@ msgstr "'%s' ගොඩනà·à¶œà·“මට à·€à·à¶»à¶¯à·’ තර්ක"
msgid "On call to '%s':"
msgstr "'%s' ඇමතීම:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "නිදහස්"
@@ -475,6 +503,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -794,7 +826,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -895,7 +928,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1195,7 +1229,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1386,6 +1420,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1605,6 +1640,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1675,6 +1711,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1830,7 +1867,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1838,38 +1875,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1878,19 +1895,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1905,10 +1914,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1919,10 +1924,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1989,8 +1990,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2003,6 +2004,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2542,6 +2585,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2741,10 +2796,6 @@ msgstr ""
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 ""
@@ -2796,10 +2847,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2821,15 +2868,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2892,6 +2945,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2901,6 +2958,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2929,11 +2990,6 @@ msgstr ""
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 ""
@@ -3711,8 +3767,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4143,6 +4199,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4702,10 +4759,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4972,6 +5025,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "නිවේà·à¶± මà·à¶¯à·’ලිය"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6025,7 +6083,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6225,11 +6283,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6309,7 +6367,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7079,6 +7137,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Animations:"
msgstr "à·à·Šâ€à¶»à·’à¶­:"
@@ -7395,6 +7457,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7529,6 +7599,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7685,6 +7760,101 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "යතුරු මක෠දමන්න"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "à¶­à·à¶»à·à¶œà¶­à·Š යතුරු මක෠දමන්න"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7923,6 +8093,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9116,6 +9291,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9252,6 +9431,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9415,10 +9598,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9474,6 +9653,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9514,10 +9697,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "යතුරු මක෠දමන්න"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "යතුරු මක෠දමන්න"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -9893,11 +10090,36 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "à¶šà·à¶©à¶´à¶­"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9905,7 +10127,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9913,6 +10135,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9929,6 +10155,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9941,6 +10171,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10137,10 +10371,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10149,6 +10379,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10300,6 +10534,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10437,6 +10679,10 @@ msgid "Create a new variable."
msgstr "à·ƒà·à¶¯à¶±à·Šà¶±"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10593,6 +10839,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10740,7 +10990,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index 98d594e40d..348dd044e6 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -63,6 +63,34 @@ msgstr "Neplatné argumenty pre vytvorenie '%s'"
msgid "On call to '%s':"
msgstr "Pri volaní '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Voľné"
@@ -481,6 +509,10 @@ msgid "Select None"
msgstr "Všetky vybrané"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -807,7 +839,8 @@ msgstr "Pripojiť Signál: "
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -911,7 +944,8 @@ msgstr "Hľadať:"
msgid "Matches:"
msgstr "Zhody:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1226,7 +1260,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1419,6 +1453,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Cesta:"
@@ -1644,6 +1679,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1722,6 +1758,7 @@ msgid "New Folder..."
msgstr "Vytvoriť adresár"
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1880,50 +1917,29 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "Popis:"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Theme Properties"
msgstr "Filter:"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Theme Properties:"
-msgstr "Filter:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signály:"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
msgstr "Popis:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Enumerations:"
-msgstr "Popis:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr ""
@@ -1933,21 +1949,12 @@ msgid "Constants"
msgstr "Konštanty:"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konštanty:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Popis:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "Popis:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1963,11 +1970,6 @@ msgid "Property Descriptions"
msgstr "Popis:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Popis:"
-
-#: 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]!"
@@ -1979,11 +1981,6 @@ msgid "Method Descriptions"
msgstr "Popis:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Popis:"
-
-#: 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]!"
@@ -2054,8 +2051,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Odstrániť výber"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2069,6 +2066,48 @@ msgstr ""
msgid "Clear Output"
msgstr "Popis:"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2615,6 +2654,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2817,10 +2868,6 @@ msgstr ""
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 ""
@@ -2873,10 +2920,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2899,15 +2942,21 @@ msgstr "Všetky vybrané"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2973,6 +3022,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2983,6 +3036,11 @@ msgstr ""
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Popis:"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Signály:"
@@ -3011,11 +3069,6 @@ msgstr ""
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 ""
@@ -3818,9 +3871,10 @@ msgstr "Súbor:"
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "NaÄítaÅ¥ predvolené"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4263,6 +4317,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4836,10 +4891,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5116,6 +5167,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Režim Interpolácie"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6193,7 +6249,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6402,11 +6458,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6490,7 +6546,7 @@ msgstr "Popis:"
msgid "Connections to method:"
msgstr "Pripojiť k Node:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Prostriedok"
@@ -7281,6 +7337,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Vložiť"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Popis:"
@@ -7609,6 +7670,15 @@ msgid "Enable Priority"
msgstr "Súbor:"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filter:"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7749,6 +7819,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Všetky vybrané"
@@ -7924,6 +7999,107 @@ msgstr ""
msgid "TileSet"
msgstr "Súbor:"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Komunita"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Vytvoriť adresár"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Zmeniť"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Všetky vybrané"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Vymazať"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Zmeniť"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Zmeniť veľkosť výberu"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Zmeniť"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8172,6 +8348,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9380,6 +9561,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Všetky vybrané"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9518,6 +9704,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9682,10 +9872,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9741,6 +9927,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9782,10 +9972,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Všetky vybrané"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Všetky vybrané"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10182,11 +10386,39 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Zrkadlový"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Prostriedok"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Prostriedok"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Prostriedok"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10194,7 +10426,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10202,6 +10434,11 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Všetky vybrané"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10218,6 +10455,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Vytvoriť adresár"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10230,6 +10472,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10428,10 +10674,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10440,6 +10682,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "argument \"step\"/krok je nulový!"
@@ -10597,6 +10843,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filter:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10734,6 +10989,10 @@ msgid "Create a new variable."
msgstr "Vytvoriť adresár"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signály:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Vytvoriť adresár"
@@ -10898,6 +11157,10 @@ msgid "Editing Signal:"
msgstr "Signály:"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11047,7 +11310,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11719,6 +11983,29 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Filter:"
+
+#, fuzzy
+#~ msgid "Enumerations:"
+#~ msgstr "Popis:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konštanty:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Popis:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Popis:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Popis:"
+
+#, fuzzy
#~ msgid "Tool Select"
#~ msgstr "Všetky vybrané"
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index e369352868..9d36fee05d 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -66,6 +66,35 @@ msgstr "Neveljavni argumenti za construct '%s'"
msgid "On call to '%s':"
msgstr "Na klic '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Mešaj"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Prosto"
@@ -500,6 +529,12 @@ msgid "Select None"
msgstr "Izberi Gradnik"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Če želite urediti animacije, izberite AnimationPlayer iz drevesa scene."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -835,7 +870,8 @@ msgstr "Povezovanje Signala:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -943,7 +979,8 @@ msgstr "Iskanje:"
msgid "Matches:"
msgstr "Zadetki:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1262,7 +1299,8 @@ msgid "Delete Bus Effect"
msgstr "IzbriÅ¡i uÄinek Vodila"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "ZvoÄno Vodilo, Povelci in Izpusti za preureditev."
#: editor/editor_audio_buses.cpp
@@ -1460,6 +1498,7 @@ msgid "Add AutoLoad"
msgstr "Dodaj SamodejnoNalaganje"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Pot:"
@@ -1698,6 +1737,7 @@ msgstr "Trenutno:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1778,6 +1818,7 @@ msgid "New Folder..."
msgstr "Nova Mapa..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Osveži"
@@ -1941,7 +1982,8 @@ msgid "Inherited by:"
msgstr "Podedovano od:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Kratek Opis:"
#: editor/editor_help.cpp
@@ -1949,41 +1991,19 @@ msgid "Properties"
msgstr "Lastnosti"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metode"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "Metode"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "Lastnosti"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-msgstr "Lastnosti"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Signali:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "OÅ¡tevilÄenja"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "OÅ¡tevilÄenja:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "oštevil "
@@ -1992,21 +2012,13 @@ msgid "Constants"
msgstr "Konstante"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstante:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Opis"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "Opis:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "Spletne Vaje:"
#: editor/editor_help.cpp
@@ -2024,11 +2036,6 @@ msgid "Property Descriptions"
msgstr "Opis lastnosti:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Opis lastnosti:"
-
-#: 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]!"
@@ -2042,11 +2049,6 @@ msgid "Method Descriptions"
msgstr "Opis Metode:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Opis Metode:"
-
-#: 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]!"
@@ -2125,8 +2127,8 @@ msgstr "Izhod:"
msgid "Copy Selection"
msgstr "Odstrani izbrano"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2139,6 +2141,50 @@ msgstr "PoÄisti"
msgid "Clear Output"
msgstr "PoÄisti Izhod"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Ustavi"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Zaženi!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Prenesi"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Gradnik"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2729,6 +2775,19 @@ msgstr "Projekt"
msgid "Project Settings..."
msgstr "Nastavitve Projekta"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "RazliÄica:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2956,10 +3015,6 @@ msgstr "Zaustavi prizor"
msgid "Stop the scene."
msgstr "Ustavi Prizor."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Ustavi"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Zaženi prizor u urejanju."
@@ -3015,10 +3070,6 @@ msgid "Inspector"
msgstr "Nadzornik"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Gradnik"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "Razširi vse"
@@ -3042,15 +3093,21 @@ msgstr "Upravljaj Izvozne Predloge"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3113,6 +3170,10 @@ msgstr "Odpri naslednji Urejevalnik"
msgid "Open the previous Editor"
msgstr "Odpri prejšnji Urejevalnik"
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Ustvari Predogled Modela"
@@ -3123,6 +3184,11 @@ msgstr "SliÄica..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Zaženi Skripto"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Uredi Poligon"
@@ -3152,12 +3218,6 @@ msgstr "Stanje:"
msgid "Edit:"
msgstr "Uredi"
-#: 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:"
msgstr "Mera:"
@@ -3986,8 +4046,9 @@ msgstr " Datoteke"
msgid "Import As:"
msgstr "Uvozi Kot:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
msgstr "Prednastavitev..."
#: editor/import_dock.cpp
@@ -4461,6 +4522,7 @@ msgid "Change Animation Name:"
msgstr "Spremeni Ime Animacije:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Izbrišem animacijo?"
@@ -5050,11 +5112,6 @@ msgid "Sort:"
msgstr "Razvrsti:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Zahtevam..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategorija:"
@@ -5352,6 +5409,11 @@ msgstr "NaÄin PloÅ¡Äe"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "NaÄin Obsega (R)"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "Preklopi pripenjanje"
@@ -6442,7 +6504,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6659,11 +6721,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6748,7 +6810,7 @@ msgstr "PoÄisti Nedavne Prizore"
msgid "Connections to method:"
msgstr "Poveži se z Gradnikom:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Viri"
@@ -7556,6 +7618,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "NaÄin Premika"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animacija"
@@ -7884,6 +7951,15 @@ msgid "Enable Priority"
msgstr "Uredi Filtre"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtriraj datoteke..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -8032,6 +8108,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Odstrani trenutni vnos"
@@ -8209,6 +8290,109 @@ msgstr "Ta operacija ni mogoÄa brez scene."
msgid "TileSet"
msgstr "Izvozi PloÅ¡Äno Zbirko"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Ime ni na voljo"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Skupnost"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Ustvari Nov %s"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Spremeni"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Preimenuj"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Izbriši"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Spremeni"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Izbriši Izbrano"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Zamenjaj Vse"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Usklajuj Spremembe Skript"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8464,6 +8648,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9684,6 +9873,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9822,6 +10015,10 @@ msgid "Plugins"
msgstr "VtiÄniki"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Prednastavitev..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9993,10 +10190,6 @@ msgstr ""
msgid "Reset"
msgstr "Ponastavi PoveÄavo/PomanjÅ¡avo"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10052,6 +10245,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10093,10 +10290,24 @@ msgid "Make node as Root"
msgstr "Shrani Prizor"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Izberi Gradnik"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Izberi Gradnik"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10501,11 +10712,41 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Napaka!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Napaka!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Napaka!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Viri"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Viri"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Viri"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10513,14 +10754,20 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Nepovezano"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "IzbriÅ¡i toÄke"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10537,6 +10784,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Izvozi Projekt"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10549,6 +10801,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10750,10 +11006,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10762,6 +11014,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "stopnja argumenta je niÄ!"
@@ -10918,6 +11174,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Lastnosti objekta."
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11064,6 +11329,10 @@ msgid "Create a new variable."
msgstr "Ustvari Nov %s"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Signali:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Ustvarite Poligon"
@@ -11224,6 +11493,10 @@ msgid "Editing Signal:"
msgstr "Urejanje Signala:"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Osnovni Tip:"
@@ -11376,7 +11649,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12064,6 +12338,36 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "Metode"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Lastnosti"
+
+#~ msgid "Enumerations:"
+#~ msgstr "OÅ¡tevilÄenja:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstante:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Opis:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Opis lastnosti:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Opis Metode:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Zahtevam..."
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12214,9 +12518,6 @@ msgstr ""
#~ msgid "Select a split to erase it."
#~ msgstr "Izberite Mapo za Skeniranje"
-#~ msgid "No name provided"
-#~ msgstr "Ime ni na voljo"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "Dodaj vozliÅ¡Äe"
diff --git a/editor/translations/sq.po b/editor/translations/sq.po
index 61e380e91c..2de6fb6772 100644
--- a/editor/translations/sq.po
+++ b/editor/translations/sq.po
@@ -59,6 +59,34 @@ msgstr "Argumente të gabuar për të ndërtuar '%s'"
msgid "On call to '%s':"
msgstr "Në thërritje të '%s':"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Liro"
@@ -462,6 +490,10 @@ msgid "Select None"
msgstr "Zgjidh"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -785,7 +817,8 @@ msgstr "Lidh Sinjalin: "
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -889,7 +922,8 @@ msgstr "Kërko:"
msgid "Matches:"
msgstr "Përputhjet:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1207,7 +1241,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1405,6 +1439,7 @@ msgid "Add AutoLoad"
msgstr "Shto Autoload"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Rruga:"
@@ -1648,6 +1683,7 @@ msgstr "(Aktual)"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1724,6 +1760,7 @@ msgid "New Folder..."
msgstr "Folder i Ri..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Rifresko"
@@ -1883,7 +1920,8 @@ msgid "Inherited by:"
msgstr "E trashëguar nga:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Përshkrim i Shkurtër:"
#: editor/editor_help.cpp
@@ -1891,38 +1929,18 @@ msgid "Properties"
msgstr "Vetitë"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Vetitë:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metodat"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Metodat:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Vetitë e Temës"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Vetitë e Temës:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Sinjalet:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumeracionet"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumeracionet:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr ""
@@ -1931,19 +1949,12 @@ msgid "Constants"
msgstr "Konstantet"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstantet:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Përshkrimi i Klasës"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Përshkrimi i Klasës:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Tutorialet Online:"
#: editor/editor_help.cpp
@@ -1961,10 +1972,6 @@ msgid "Property Descriptions"
msgstr "Përshkrimi i Vetive"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Përshkrimi i Vetive:"
-
-#: 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]!"
@@ -1977,10 +1984,6 @@ msgid "Method Descriptions"
msgstr "Përshkrimi i Metodës"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Përshkrimi i Metodes:"
-
-#: 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]!"
@@ -2049,8 +2052,8 @@ msgstr "Përfundimi:"
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2063,6 +2066,49 @@ msgstr "Pastro"
msgid "Clear Output"
msgstr "Pastro Përfundimin"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Ndalo"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Fillo"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Shkarko"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nyje"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2660,6 +2706,19 @@ msgstr "Projekti"
msgid "Project Settings..."
msgstr "Opsionet e Projektit"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Versioni:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2884,10 +2943,6 @@ msgstr "Pusho Skenën"
msgid "Stop the scene."
msgstr "Ndalo skenën."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Ndalo"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Luaj skenën e modifikuar."
@@ -2942,10 +2997,6 @@ msgid "Inspector"
msgstr "Inspektori"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nyje"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Zgjero Panelin Fundor"
@@ -2968,15 +3019,21 @@ msgstr "Menaxho Shabllonet e Eksportit"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3039,6 +3096,10 @@ msgstr "Hap Editorin tjetër"
msgid "Open the previous Editor"
msgstr "Hap Editorin e mëparshëm"
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Duke Krijuar Shikimin Paraprak të Mesh-ave"
@@ -3048,6 +3109,11 @@ msgid "Thumbnail..."
msgstr "Korniza..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Hap Editorin e Shkrimit"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Modifiko Shtojcën"
@@ -3076,11 +3142,6 @@ msgstr "Statusi:"
msgid "Edit:"
msgstr "Modifiko:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Fillo"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Përmasa:"
@@ -3899,9 +3960,10 @@ msgstr " Skedarët"
msgid "Import As:"
msgstr "Importo Si:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Ngarko Gabimet"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4332,6 +4394,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4897,11 +4960,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Duke bër kërkesën..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5174,6 +5232,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Ndrysho Mënyrën"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6231,7 +6294,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6436,11 +6499,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6522,7 +6585,7 @@ msgstr "Pastro Skenat e Fundit"
msgid "Connections to method:"
msgstr "Lidhë me Nyjen:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Resursi"
@@ -7305,6 +7368,11 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Lëviz të Preferuarën Lartë"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Animacionet:"
@@ -7622,6 +7690,15 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtro Skedarët..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7755,6 +7832,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7909,6 +7991,107 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Komuniteti"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Sinkronizo Nryshimet e Skenës"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Ndrysho"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Riemërto"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Fshi"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Ndrysho"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Zgjidh"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Sinkronizo Ndryshimet e Shkrimit"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8153,6 +8336,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9352,6 +9540,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9488,6 +9680,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9651,10 +9847,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9710,6 +9902,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9750,10 +9946,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Fshi Nyjen"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Fshi Nyjen"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10144,26 +10354,61 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Pasqyrë"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Ngarko Gabimet"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+#, fuzzy
+msgid "C++ Source"
+msgstr "Resursi"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Resursi"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Resursi"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Child process connected."
+msgstr "U Shkëput"
+
+#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Krijo pika."
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10180,6 +10425,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Eksporto Projektin"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10192,6 +10442,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10389,10 +10643,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10401,6 +10651,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10553,6 +10807,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Nyjet filtruese"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10691,6 +10954,10 @@ msgid "Create a new variable."
msgstr "Krijo një Folder"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Sinjalet:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Krijo %s të ri"
@@ -10848,6 +11115,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10995,7 +11266,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11641,6 +11913,34 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Properties:"
+#~ msgstr "Vetitë:"
+
+#~ msgid "Methods:"
+#~ msgstr "Metodat:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Vetitë e Temës:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumeracionet:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstantet:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Përshkrimi i Klasës:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Përshkrimi i Vetive:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Përshkrimi i Metodes:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Duke bër kërkesën..."
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po
index e6d1538c83..748f8a860b 100644
--- a/editor/translations/sr_Cyrl.po
+++ b/editor/translations/sr_Cyrl.po
@@ -58,6 +58,35 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "МикÑ"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Слободно"
@@ -500,6 +529,11 @@ msgid "Select None"
msgstr "Одабери режим"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "Одабери AnimationPlayer из дрвета Ñцене за уређивање анимација."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -836,7 +870,8 @@ msgstr "Везујући Ñигнал:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -947,7 +982,8 @@ msgstr "Тражи:"
msgid "Matches:"
msgstr "Подударање:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1269,7 +1305,8 @@ msgid "Delete Bus Effect"
msgstr "Обриши звучни ефекат"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Звучни баÑ, превуците и иÑпуÑтите за преуређивање."
#: editor/editor_audio_buses.cpp
@@ -1465,6 +1502,7 @@ msgid "Add AutoLoad"
msgstr "Додај аутоматÑко учитавање"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Пут:"
@@ -1706,6 +1744,7 @@ msgstr "Тренутно:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Ðова"
@@ -1786,6 +1825,7 @@ msgid "New Folder..."
msgstr "Ðови директоријум..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "ОÑвежи"
@@ -1949,7 +1989,8 @@ msgid "Inherited by:"
msgstr "ÐаÑлеђено од:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Кратак опиÑ:"
#: editor/editor_help.cpp
@@ -1957,41 +1998,19 @@ msgid "Properties"
msgstr "ОÑобине"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Методе"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "Методе"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "ОÑобине"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-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 "enum "
@@ -2000,22 +2019,13 @@ msgid "Constants"
msgstr "КонÑтанте"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "КонÑтанте:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "ОпиÑ"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "ОпиÑ:"
-
-#: editor/editor_help.cpp
-#, fuzzy
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "Онлајн документација"
#: editor/editor_help.cpp
@@ -2034,11 +2044,6 @@ msgid "Property Descriptions"
msgstr "ÐžÐ¿Ð¸Ñ Ð¾Ñобине:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -2052,11 +2057,6 @@ msgid "Method Descriptions"
msgstr "ÐžÐ¿Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ðµ:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "ÐžÐ¿Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ðµ:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2135,8 +2135,8 @@ msgstr "Излаз:"
msgid "Copy Selection"
msgstr "Обриши одабрано"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2150,6 +2150,50 @@ msgstr "Обриши"
msgid "Clear Output"
msgstr "Излаз"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "ЗауÑтави"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Започни!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Преучми"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Чвор"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2741,6 +2785,19 @@ msgstr "Пројекат"
msgid "Project Settings..."
msgstr "ПоÑтавке пројекта"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Верзија:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2970,10 +3027,6 @@ msgstr "Паузирај Ñцену"
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 "Покрени промењену Ñцену."
@@ -3029,10 +3082,6 @@ msgid "Inspector"
msgstr "ИнÑпектор"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Чвор"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "Прошири Ñве"
@@ -3056,15 +3105,21 @@ msgstr "Управљај извозним шаблонима"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3127,6 +3182,11 @@ msgstr "Отвори Ñледећи уредник"
msgid "Open the previous Editor"
msgstr "Отвори претходни уредник"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Извор површине није наведен."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Ðаправи приказ мрежа"
@@ -3137,6 +3197,11 @@ msgstr "Сличица..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Покрени Ñкриптицу"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Измени полигон"
@@ -3166,12 +3231,6 @@ msgstr "СтатуÑ:"
msgid "Edit:"
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:"
msgstr "Мера:"
@@ -4018,9 +4077,10 @@ msgstr " Датотеке"
msgid "Import As:"
msgstr "Увези као:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "ПоÑтавке..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "ПоÑтавке"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4490,6 +4550,7 @@ msgid "Change Animation Name:"
msgstr "Измени име анимације:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Обриши анимацију?"
@@ -5079,11 +5140,6 @@ msgid "Sort:"
msgstr "Сортирање:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Захтевање..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Категорија:"
@@ -5374,6 +5430,11 @@ msgstr "Режим инÑпекције"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "Режим Ñкалирања (R)"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "Укљ./ИÑкљ. лепљења"
@@ -6483,7 +6544,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Тип:"
@@ -6707,14 +6768,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "Корак преко"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Прекини"
@@ -6798,7 +6859,7 @@ msgstr "ОчиÑти недавне Ñцене"
msgid "Connections to method:"
msgstr "Повежи Ñа чвором:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr ""
@@ -7626,6 +7687,11 @@ msgstr "(празно)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Ðалепи оквир"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Ðнимације"
@@ -7971,6 +8037,15 @@ msgid "Enable Priority"
msgstr "Уреди филтере"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Филтрирај датотеке..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Цртај полчице"
@@ -8120,6 +8195,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Обриши тачку криве"
@@ -8300,6 +8380,109 @@ msgstr "Ова операција Ñе не може обавити без ÑцÐ
msgid "TileSet"
msgstr "TileSet..."
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Грешка"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Име није дато"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Заједница"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Велика Ñлова"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Ðаправи нов"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Промене шејдера"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Преименуј"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Обриши"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Увећај одабрано"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Сачувај Ñве"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Синхронизуј промене Ñкриптица"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8560,6 +8743,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9799,6 +9987,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Обриши одабрано"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9938,6 +10131,10 @@ msgid "Plugins"
msgstr "Прикључци"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "ПоÑтавке..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -10111,10 +10308,6 @@ msgstr "Велика Ñлова"
msgid "Reset"
msgstr "РеÑетуј увеличање"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Грешка"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10170,6 +10363,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10211,10 +10408,25 @@ msgid "Make node as Root"
msgstr "Сачувај Ñцену"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Ðаправи чвор"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Обриши чвор/ове графа шејдера"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Ðаправи чвор"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10621,27 +10833,69 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Грешка"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Учитај грешке"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Учитај грешке"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr ""
+"\n"
+"Извор: "
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
msgstr ""
+"\n"
+"Извор: "
#: editor/script_editor_debugger.cpp
-msgid "Errors"
+#, fuzzy
+msgid "C++ Source:"
+msgstr ""
+"\n"
+"Извор: "
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
#, fuzzy
+msgid "Child process connected."
+msgstr "Веза прекинута"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
msgid "Copy Error"
msgstr "Учитај грешке"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Обриши тачке"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10658,6 +10912,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Извези пројекат"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10670,6 +10929,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10873,10 +11136,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10885,6 +11144,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -11042,6 +11305,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "ПоÑтавке објекта."
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11180,6 +11452,10 @@ msgid "Create a new variable."
msgstr "Ðаправи нов"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Сигнали:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Ðаправи нови полигон од почетка."
@@ -11340,6 +11616,11 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Ðаправи коÑти"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11489,7 +11770,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12156,6 +12438,36 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "Методе"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "ОÑобине"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Енумерације:"
+
+#~ msgid "Constants:"
+#~ msgstr "КонÑтанте:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "ОпиÑ:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "ÐžÐ¿Ð¸Ñ Ð¾Ñобине:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "ÐžÐ¿Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ðµ:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Захтевање..."
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12368,9 +12680,6 @@ msgstr ""
#~ msgid "Splits"
#~ msgstr "Раздели пут"
-#~ msgid "No name provided"
-#~ msgstr "Име није дато"
-
#~ msgid "Create from scene?"
#~ msgstr "Ðаправи од Ñцене?"
@@ -12549,9 +12858,6 @@ msgstr ""
#~ msgid "Move Shader Graph Node"
#~ msgstr "Помери чвор графа шејдера"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "Обриши чвор/ове графа шејдера"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "Грешка: пронађена циклична веза"
diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po
index 49789c467a..6ba0aef967 100644
--- a/editor/translations/sr_Latn.po
+++ b/editor/translations/sr_Latn.po
@@ -61,6 +61,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Slobodno"
@@ -480,6 +508,10 @@ msgid "Select None"
msgstr "Uduplaj Selekciju"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -801,7 +833,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -903,7 +936,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1203,7 +1237,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1394,6 +1428,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1614,6 +1649,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1684,6 +1720,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1841,7 +1878,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1849,38 +1886,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1889,19 +1906,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1916,10 +1925,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1930,10 +1935,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2002,8 +2003,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "Obriši Selekciju"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2016,6 +2017,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2556,6 +2599,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2756,10 +2811,6 @@ msgstr ""
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 ""
@@ -2811,10 +2862,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2836,15 +2883,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2907,6 +2960,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2916,6 +2973,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2944,11 +3005,6 @@ msgstr ""
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 ""
@@ -3727,8 +3783,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4162,6 +4218,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4726,10 +4783,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4999,6 +5052,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6060,7 +6117,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6260,11 +6317,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6344,7 +6401,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7124,6 +7181,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Animations:"
msgstr "Optimizuj Animaciju"
@@ -7446,6 +7507,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7583,6 +7652,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Obriši Selekciju"
@@ -7749,6 +7823,104 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Zajednica"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Napravi"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Animacija Preimenuj Kanal"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Animacija ObriÅ¡i KljuÄeve"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Skaliraj Selekciju"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7989,6 +8161,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9186,6 +9363,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9323,6 +9504,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9487,10 +9672,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9546,6 +9727,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9586,10 +9771,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Animacija ObriÅ¡i KljuÄeve"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Animacija ObriÅ¡i KljuÄeve"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -9968,11 +10167,36 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "Ogledalo"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9980,7 +10204,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9988,6 +10212,11 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Napravi"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10004,6 +10233,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10016,6 +10249,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10212,10 +10449,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10224,6 +10457,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10378,6 +10615,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10515,6 +10760,10 @@ msgid "Create a new variable."
msgstr "Napravi"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Napravi"
@@ -10672,6 +10921,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10819,7 +11072,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/sv.po b/editor/translations/sv.po
index ed6ea9abe6..e59576d365 100644
--- a/editor/translations/sv.po
+++ b/editor/translations/sv.po
@@ -10,12 +10,13 @@
# Magnus Helander <helander@fastmail.net>, 2018.
# Daniel K <danielkimblad@hotmail.com>, 2018.
# Toiya <elviraa98@gmail.com>, 2019.
+# Fredrik Welin <figgemail@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-03-19 15:04+0000\n"
-"Last-Translator: Toiya <elviraa98@gmail.com>\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
+"Last-Translator: Fredrik Welin <figgemail@gmail.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/"
"godot/sv/>\n"
"Language: sv\n"
@@ -23,7 +24,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.6-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -35,14 +36,15 @@ msgstr "Ogiltligt typargument till convert(), använd TYPE_* konstanter."
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr ""
+"Inte tillräckligt antal bytes eller ogiltigt format för avkodning av bytes."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr ""
+msgstr "Ogiltig indata %i (ej överförd) i uttrycket"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr ""
+msgstr "\"self\" kan inte användas eftersom instansen är null (ej överförd)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
@@ -64,6 +66,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Gratis"
@@ -81,9 +111,8 @@ msgid "Time:"
msgstr "Tid:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Värde"
+msgstr "Värde:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -491,6 +520,11 @@ msgid "Select None"
msgstr "Välj Node"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "Välj en AnimationPlayer från Scenträdet för att redigera animationer."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -845,7 +879,8 @@ msgstr "Ansluter Signal:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -960,7 +995,8 @@ msgstr "Sök:"
msgid "Matches:"
msgstr "Matchar:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1326,7 +1362,7 @@ msgstr "Ta bort Buss-Effekt"
#: editor/editor_audio_buses.cpp
#, fuzzy
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr "Ljud-Buss, dra och släpp för att ändra ordning."
#: editor/editor_audio_buses.cpp
@@ -1556,6 +1592,7 @@ msgid "Add AutoLoad"
msgstr "Lägg till AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Path:"
@@ -1802,6 +1839,7 @@ msgstr "Nuvarande:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Ny"
@@ -1884,6 +1922,7 @@ msgid "New Folder..."
msgstr "Ny Mapp..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Uppdatera"
@@ -2057,7 +2096,8 @@ msgid "Inherited by:"
msgstr "Ärvd av:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Kort Beskrivning:"
#: editor/editor_help.cpp
@@ -2066,43 +2106,20 @@ msgid "Properties"
msgstr "Egenskaper"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Methods"
msgstr "Metoder"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "Metoder"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "Egenskaper"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-msgstr "Egenskaper"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Signals:"
-msgstr "Signaler:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Enumerations"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Enumerations:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "enum "
msgstr "enum "
@@ -2113,22 +2130,13 @@ msgid "Constants"
msgstr "Konstanter"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Konstanter:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "Beskrivning"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "Beskrivning:"
-
-#: editor/editor_help.cpp
-#, fuzzy
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "Dokumentation Online"
#: editor/editor_help.cpp
@@ -2148,11 +2156,6 @@ msgstr "Egenskapsbeskrivning:"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Egenskapsbeskrivning:"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
@@ -2167,11 +2170,6 @@ msgstr "Metodbeskrivning:"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Metodbeskrivning:"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2251,8 +2249,8 @@ msgstr "Output:"
msgid "Copy Selection"
msgstr "Ta bort Urval"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2267,6 +2265,50 @@ msgstr "Rensa"
msgid "Clear Output"
msgstr "Output:"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+#, fuzzy
+msgid "Stop"
+msgstr "Stanna"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Ladda ner"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Node"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2924,6 +2966,19 @@ msgstr "Projekt"
msgid "Project Settings..."
msgstr "Projektinställningar"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Version:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -3136,11 +3191,6 @@ msgstr "Pausa Scen"
msgid "Stop the scene."
msgstr "Stanna scenen."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-#, fuzzy
-msgid "Stop"
-msgstr "Stanna"
-
#: editor/editor_node.cpp
#, fuzzy
msgid "Play the edited scene."
@@ -3196,10 +3246,6 @@ msgid "Inspector"
msgstr "Inspektör"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Node"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "Expandera alla"
@@ -3223,15 +3269,21 @@ msgstr "Mallar"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3297,6 +3349,11 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Resurser"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -3308,6 +3365,11 @@ msgstr "Miniatyr..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "Öppna Skript"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "Redigera Polygon"
@@ -3337,11 +3399,6 @@ msgstr "Status:"
msgid "Edit:"
msgstr "Redigera"
-#: 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 ""
@@ -4208,9 +4265,10 @@ msgstr ""
msgid "Import As:"
msgstr "Importera Som:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Återställ Zoom"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4682,6 +4740,7 @@ msgid "Change Animation Name:"
msgstr "Ändra Animationsnamn:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Ta bort Animation?"
@@ -5284,10 +5343,6 @@ msgid "Sort:"
msgstr "Sortera:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategori:"
@@ -5568,6 +5623,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Växla Läge"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6663,7 +6723,7 @@ msgstr "Instans:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Type:"
msgstr "Typ:"
@@ -6897,11 +6957,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6988,7 +7048,7 @@ msgstr "Rensa Senaste Scener"
msgid "Connections to method:"
msgstr "Anslut Till Node:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Källa:"
@@ -7833,6 +7893,11 @@ msgstr "(tom)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Flytta Nod(er)"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animationer"
@@ -8173,6 +8238,15 @@ msgid "Enable Priority"
msgstr "Redigera Filter"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Filtrera Filer..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -8318,6 +8392,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Flytta nuvarande spår upp."
@@ -8494,6 +8573,109 @@ msgstr "Åtgärden kan inte göras utan en scen."
msgid "TileSet"
msgstr "TileSet..."
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Error"
+msgstr "Fel"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Community"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Skapa Ny"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Ändra"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Byt namn"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Ta bort"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Ändra"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Skala urval"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Spara Alla"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Synkronisera Skript-ändringar"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Status"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8747,6 +8929,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9995,6 +10182,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -10139,6 +10330,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
#, fuzzy
msgid "Zero"
msgstr "Noll"
@@ -10316,11 +10511,6 @@ msgstr "Versaler"
msgid "Reset"
msgstr "Återställ Zoom"
-#: editor/rename_dialog.cpp
-#, fuzzy
-msgid "Error"
-msgstr "Fel"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
#, fuzzy
msgid "Reparent Node"
@@ -10379,6 +10569,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
#, fuzzy
msgid "Instance Child Scene"
msgstr "Instansiera Barn-Scen"
@@ -10426,8 +10620,21 @@ msgstr "Vettigt!"
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Delete Node(s)?"
-msgstr "Ta bort Nod(er)?"
+msgid "Delete %d nodes?"
+msgstr "Ta bort Nod(er)"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Ta bort Nod(er)"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10856,11 +11063,41 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
+#, fuzzy
+msgid "Warning:"
+msgstr "Varning"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr "Fel:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Fel"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Fel:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Källa:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Källa:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Källa:"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10870,7 +11107,7 @@ msgstr "Fel"
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr "Barnprocess Ansluten"
#: editor/script_editor_debugger.cpp
@@ -10879,6 +11116,11 @@ msgid "Copy Error"
msgstr "Fel"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Radera punkter"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10895,6 +11137,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Exportera Projekt"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10908,6 +11155,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -11115,10 +11366,6 @@ msgid "Library"
msgstr "Bibliotek"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Status"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
#, fuzzy
msgid "Libraries: "
msgstr "Bibliotek: "
@@ -11128,6 +11375,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -11291,6 +11542,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Filtrera noder"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11432,6 +11692,11 @@ msgstr "Skapa Ny"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
+msgid "Signals:"
+msgstr "Signaler:"
+
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
msgid "Create a new signal."
msgstr "Skapa Prenumeration"
@@ -11603,6 +11868,11 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Gör Patch"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11757,7 +12027,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12461,6 +12732,36 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "Metoder"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "Egenskaper"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Enumerations:"
+
+#~ msgid "Constants:"
+#~ msgstr "Konstanter:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Beskrivning:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Egenskapsbeskrivning:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Metodbeskrivning:"
+
+#, fuzzy
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Ta bort Nod(er)?"
+
+#, fuzzy
#~ msgid "Error: could not load file."
#~ msgstr "Fel - Kunde inte skapa Skript i filsystemet."
@@ -12594,10 +12895,6 @@ msgstr ""
#~ msgstr "Instansiera valda scen(er) som barn till vald Node."
#, fuzzy
-#~ msgid "Warnings:"
-#~ msgstr "Varning"
-
-#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "Vy framifrån"
@@ -12731,9 +13028,6 @@ msgstr ""
#~ msgid "Warning"
#~ msgstr "Varning"
-#~ msgid "Error:"
-#~ msgstr "Fel:"
-
#, fuzzy
#~ msgid "Variable"
#~ msgstr "Variabel"
diff --git a/editor/translations/ta.po b/editor/translations/ta.po
index 521b42b338..227ba424b2 100644
--- a/editor/translations/ta.po
+++ b/editor/translations/ta.po
@@ -59,6 +59,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -475,6 +503,10 @@ msgid "Select None"
msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -794,7 +826,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -896,7 +929,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1196,7 +1230,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1387,6 +1421,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1607,6 +1642,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1677,6 +1713,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1832,7 +1869,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1840,38 +1877,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1880,19 +1897,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1907,10 +1916,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1921,10 +1926,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1992,8 +1993,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2006,6 +2007,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2546,6 +2589,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2746,10 +2801,6 @@ msgstr ""
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 ""
@@ -2800,10 +2851,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2825,15 +2872,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2896,6 +2949,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2905,6 +2962,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2933,11 +2994,6 @@ msgstr ""
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 ""
@@ -3716,8 +3772,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4147,6 +4203,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4710,10 +4767,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4981,6 +5034,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6033,7 +6090,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6233,11 +6290,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6317,7 +6374,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7087,6 +7144,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "சேர௠மà¯à®•à¯à®•ியபà¯à®ªà¯à®³à¯à®³à®¿à®¯à¯ˆ நகரà¯à®¤à¯à®¤à¯"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "மாறà¯à®±à®™à¯à®•ளை இதறà¯à®•௠அமை:"
@@ -7405,6 +7467,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7536,6 +7606,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7692,6 +7767,102 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "அசைவூடà¯à®Ÿà¯ பாதைகà¯à®•௠மறà¯à®ªà¯†à®¯à®°à¯ இடà¯"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7929,6 +8100,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9120,6 +9296,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9257,6 +9437,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9421,10 +9605,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9480,6 +9660,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9520,10 +9704,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -9900,11 +10098,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9912,7 +10134,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9920,6 +10142,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9936,6 +10162,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9948,6 +10178,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10144,10 +10378,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10156,6 +10386,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10310,6 +10544,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10445,6 +10687,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10601,6 +10847,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10748,7 +10998,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/te.po b/editor/translations/te.po
index 24f581a5e6..d56e46777d 100644
--- a/editor/translations/te.po
+++ b/editor/translations/te.po
@@ -57,6 +57,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -456,6 +484,10 @@ msgid "Select None"
msgstr ""
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -773,7 +805,8 @@ msgstr ""
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -874,7 +907,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1174,7 +1208,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1365,6 +1399,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1584,6 +1619,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1654,6 +1690,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1809,7 +1846,7 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr ""
#: editor/editor_help.cpp
@@ -1817,38 +1854,18 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1857,19 +1874,11 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr ""
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr ""
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1884,10 +1893,6 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1898,10 +1903,6 @@ msgid "Method Descriptions"
msgstr ""
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -1968,8 +1969,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ""
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -1982,6 +1983,48 @@ msgstr ""
msgid "Clear Output"
msgstr ""
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2521,6 +2564,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr ""
@@ -2720,10 +2775,6 @@ msgstr ""
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 ""
@@ -2774,10 +2825,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2799,15 +2846,21 @@ msgstr ""
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2870,6 +2923,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2879,6 +2936,10 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2907,11 +2968,6 @@ msgstr ""
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 ""
@@ -3687,8 +3743,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4114,6 +4170,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4672,10 +4729,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -4938,6 +4991,10 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -5986,7 +6043,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6186,11 +6243,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6270,7 +6327,7 @@ msgstr ""
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7037,6 +7094,10 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7351,6 +7412,14 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7481,6 +7550,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
@@ -7635,6 +7709,100 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "సంఘం"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Deleted"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage Selected"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -7868,6 +8036,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9058,6 +9231,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9194,6 +9371,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9357,10 +9538,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9416,6 +9593,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9456,7 +9637,19 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9834,11 +10027,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9846,7 +10063,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -9854,6 +10071,10 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -9870,6 +10091,10 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -9882,6 +10107,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10078,10 +10307,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10090,6 +10315,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10241,6 +10470,14 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10376,6 +10613,10 @@ msgid "Create a new variable."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Create a new signal."
msgstr ""
@@ -10532,6 +10773,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10679,7 +10924,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
diff --git a/editor/translations/th.po b/editor/translations/th.po
index 1b847414c4..b61dca3f4a 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -63,6 +63,35 @@ msgstr ": ประเภทตัวà¹à¸›à¸£à¹„ม่ถูà¸à¸•้อง: "
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "ร่วม"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "ฟรี"
@@ -505,6 +534,11 @@ msgid "Select None"
msgstr "ไม่เลือà¸"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "เลือภAnimationPlayer จาà¸à¸œà¸±à¸‡à¸‰à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹à¸à¹‰à¹„ขà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -839,7 +873,8 @@ msgstr "เชื่อมโยงสัà¸à¸à¸²à¸“:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -948,7 +983,8 @@ msgstr "ค้นหา:"
msgid "Matches:"
msgstr "พบ:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1266,7 +1302,8 @@ msgid "Delete Bus Effect"
msgstr "ลบเอฟเฟà¸à¸•์เสียง"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Audio Bus ลาà¸à¹à¸¥à¸°à¸§à¸²à¸‡à¹€à¸žà¸·à¹ˆà¸­à¸¢à¹‰à¸²à¸¢à¸•ำà¹à¸«à¸™à¹ˆà¸‡"
#: editor/editor_audio_buses.cpp
@@ -1462,6 +1499,7 @@ msgid "Add AutoLoad"
msgstr "เพิ่มออโต้โหลด"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡:"
@@ -1706,6 +1744,7 @@ msgstr "ปัจจุบัน:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "ไฟล์ใหม่"
@@ -1786,6 +1825,7 @@ msgid "New Folder..."
msgstr "สร้างโฟลเดอร์..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "รีเฟรช"
@@ -1949,7 +1989,8 @@ msgid "Inherited by:"
msgstr "สืบทอดโดย:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "รายละเอียด:"
#: editor/editor_help.cpp
@@ -1957,41 +1998,19 @@ msgid "Properties"
msgstr "คุณสมบัติ"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "คุณสมบัติ:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "รายชื่อเมท็อด"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "รายชื่อเมท็อด"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "คุณสมบัติ"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-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 "à¸à¸¥à¸¸à¹ˆà¸¡à¸„่าคงที่ "
@@ -2000,21 +2019,13 @@ msgid "Constants"
msgstr "ค่าคงที่"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "ค่าคงที่:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "รายละเอียด"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "รายละเอียด:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "สอนใช้งานออนไลน์:"
#: editor/editor_help.cpp
@@ -2032,11 +2043,6 @@ msgid "Property Descriptions"
msgstr "รายละเอียดตัวà¹à¸›à¸£:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -2048,11 +2054,6 @@ msgid "Method Descriptions"
msgstr "รายละเอียดเมท็อด:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "รายละเอียดเมท็อด:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2129,8 +2130,8 @@ msgstr "ข้อความ:"
msgid "Copy Selection"
msgstr "ลบที่เลือà¸"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2143,6 +2144,49 @@ msgstr "ลบ"
msgid "Clear Output"
msgstr "ลบข้อความ"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "หยุด"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "เริ่ม!"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "ลง"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "ขึ้น"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "โหนด"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
#, fuzzy
msgid "New Window"
@@ -2719,6 +2763,19 @@ msgstr "โปรเจà¸à¸•์"
msgid "Project Settings..."
msgstr "ตัวเลือà¸à¹‚ปรเจà¸à¸•์"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "รุ่น:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
msgid "Export..."
msgstr "ส่งออà¸..."
@@ -2935,10 +2992,6 @@ msgstr "หยุดชั่วคราว"
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 "เล่นฉาà¸à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™"
@@ -2994,10 +3047,6 @@ msgid "Inspector"
msgstr "คุณสมบัติ"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "โหนด"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Expand Bottom Panel"
msgstr "ขยายโฟลเดอร์"
@@ -3021,15 +3070,21 @@ msgstr "จัดà¸à¸²à¸£à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3092,6 +3147,11 @@ msgstr "เปิดตัวà¹à¸à¹‰à¹„ขถัดไป"
msgid "Open the previous Editor"
msgstr "เปิดตัวà¹à¸à¹‰à¹„ขà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "ไม่ได้ระบุพื้นผิวต้นฉบับ"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸ à¸²à¸žà¸•ัวอย่าง Mesh"
@@ -3102,6 +3162,11 @@ msgstr "รูปตัวอย่าง..."
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "เปิดสคริปต์"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม"
@@ -3131,12 +3196,6 @@ msgstr "สถานะ:"
msgid "Edit:"
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:"
msgstr "วัด:"
@@ -3965,9 +4024,10 @@ msgstr " ไฟล์"
msgid "Import As:"
msgstr "นำเข้าเป็น:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "à¹à¸šà¸š..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸­à¸­à¸"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4443,6 +4503,7 @@ msgid "Change Animation Name:"
msgstr "เปลี่ยนชื่อà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "ลบà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™?"
@@ -5032,11 +5093,6 @@ msgid "Sort:"
msgstr "เรียงตาม:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸£à¹‰à¸­à¸‡à¸‚อ..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "หมวดหมู่:"
@@ -5329,6 +5385,11 @@ msgstr "โหมดมุมมอง"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "โหมดà¸à¸²à¸£à¸—ำงาน:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "เปิด/ปิด à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”"
@@ -6437,7 +6498,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "ประเภท:"
@@ -6655,14 +6716,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "บรรทัดต่อไป"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "หยุดพัà¸"
@@ -6746,7 +6807,7 @@ msgstr "ล้างรายà¸à¸²à¸£à¸‰à¸²à¸à¸¥à¹ˆà¸²à¸ªà¸¸à¸”"
msgid "Connections to method:"
msgstr "เชื่อมไปยังโหนด:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "ต้นฉบับ:"
@@ -7573,6 +7634,11 @@ msgstr "(ว่างเปล่า)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "วางเฟรม"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
@@ -7913,6 +7979,15 @@ msgid "Enable Priority"
msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸­à¸‡"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "คัดà¸à¸£à¸­à¸‡à¹„ฟล์..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "วาด Tile"
@@ -8062,6 +8137,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "ลบรายà¸à¸²à¸£"
@@ -8245,6 +8325,111 @@ msgstr "ทำไม่ได้ถ้าไม่มีฉาà¸"
msgid "TileSet"
msgstr "Tile Set"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "ผิดพลาด"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "ไม่ได้ระบุชื่อ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "ชุมชน"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "อัà¸à¸©à¸£à¹à¸£à¸à¸žà¸´à¸¡à¸žà¹Œà¹ƒà¸«à¸à¹ˆ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "สร้าง %s ใหม่"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "เปลี่ยน"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "เปลี่ยนชื่อ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "ลบ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "เปลี่ยน"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "ลบสิ่งที่เลือà¸"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "บันทึà¸à¸—ั้งหมด"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "ซิงค์à¸à¸²à¸£à¹à¸à¹‰à¹„ขสคริปต์"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "สถานะ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "ไม่ได้เลือà¸à¹„ฟล์ไว้!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8506,6 +8691,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9754,6 +9944,11 @@ msgid "Settings saved OK."
msgstr "บันทึà¸à¹à¸¥à¹‰à¸§"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "เพิ่มปุ่มà¸à¸”ของà¸à¸²à¸£à¸à¸£à¸°à¸—ำ"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "à¸à¸³à¸«à¸™à¸”ค่าเฉพาะของฟีเจอร์"
@@ -9893,6 +10088,10 @@ msgid "Plugins"
msgstr "ปลั๊à¸à¸­à¸´à¸™"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "à¹à¸šà¸š..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "ศูนย์"
@@ -10068,10 +10267,6 @@ msgstr "ตัวพิมพ์ใหà¸à¹ˆ"
msgid "Reset"
msgstr "รีเซ็ตซูม"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "ผิดพลาด"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "หาโหนดà¹à¸¡à¹ˆà¹ƒà¸«à¸¡à¹ˆ"
@@ -10127,6 +10322,11 @@ msgid "Instance Scene(s)"
msgstr "อินสà¹à¸•นซ์ฉาà¸"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "บันทึà¸à¸à¸´à¹ˆà¸‡à¹€à¸›à¹‡à¸™à¸‰à¸²à¸"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "อินสà¹à¸•นซ์ฉาà¸à¸¥à¸¹à¸"
@@ -10168,8 +10368,23 @@ msgid "Make node as Root"
msgstr "เข้าใจ!"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "ลบโหนด?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "ลบโหนด"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "ลบโหนด"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "ลบโหนด"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10599,19 +10814,50 @@ msgstr "ไบต์:"
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Stack Trace"
-msgstr "สà¹à¸•ค"
+msgid "Warning:"
+msgstr "คำเตือน"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "เลือà¸à¸‚้อมูลจาà¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­à¹€à¸žà¸·à¹ˆà¸­à¹à¸ªà¸”งà¸à¸£à¸²à¸Ÿ"
+msgid "Error:"
+msgstr "ผิดพลาด:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "คัดลอà¸à¸œà¸´à¸”พลาด"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "ผิดพลาด:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "ต้นฉบับ:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "ต้นฉบับ:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "ต้นฉบับ:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Stack Trace"
+msgstr "สà¹à¸•ค"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "ข้อผิดพลาด"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "เชื่อมà¸à¸£à¸°à¸šà¸§à¸™à¸à¸²à¸£à¹à¸¥à¹‰à¸§"
#: editor/script_editor_debugger.cpp
@@ -10619,6 +10865,11 @@ msgid "Copy Error"
msgstr "คัดลอà¸à¸œà¸´à¸”พลาด"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "ลบจุด"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "ตรวจสอบอินสà¹à¸•นซ์à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
@@ -10635,6 +10886,11 @@ msgid "Profiler"
msgstr "ประสิทธิภาพ"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "ส่งออà¸à¹‚ปรเจà¸à¸•์"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "ข้อมูล"
@@ -10647,6 +10903,10 @@ msgid "Monitors"
msgstr "à¸à¸²à¸£à¸ªà¸±à¸‡à¹€à¸à¸•à¸à¸²à¸£à¸“์"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "เลือà¸à¸‚้อมูลจาà¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­à¹€à¸žà¸·à¹ˆà¸­à¹à¸ªà¸”งà¸à¸£à¸²à¸Ÿ"
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "รายชื่อรีซอร์สที่ใช้หน่วยความจำวีดีโอ:"
@@ -10854,10 +11114,6 @@ msgid "Library"
msgstr "ไลบรารี"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "สถานะ"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "ไลบรารี: "
@@ -10866,6 +11122,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "ตัวà¹à¸›à¸£ step เป็นศูนย์!"
@@ -11021,6 +11281,15 @@ msgstr "à¸à¸²à¸£à¸•ั้งค่า GridMap"
msgid "Pick Distance:"
msgstr "ระยะà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "โหมดà¸à¸²à¸£à¸à¸£à¸­à¸‡:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11160,6 +11429,10 @@ msgid "Create a new variable."
msgstr "สร้าง %s ใหม่"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "สัà¸à¸à¸²à¸“:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "สร้างรูปหลายเหลี่ยมจาà¸à¸„วามว่างเปล่า"
@@ -11320,6 +11593,11 @@ msgid "Editing Signal:"
msgstr "à¹à¸à¹‰à¹„ขสัà¸à¸à¸²à¸“:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "ระยะใà¸à¸¥à¹‰"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "ชนิด:"
@@ -11470,7 +11748,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12191,6 +12470,42 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Properties:"
+#~ msgstr "คุณสมบัติ:"
+
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "รายชื่อเมท็อด"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "คุณสมบัติ:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "ค่าคงที่:"
+
+#~ msgid "Constants:"
+#~ msgstr "ค่าคงที่:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "รายละเอียด:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "รายละเอียดตัวà¹à¸›à¸£:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "รายละเอียดเมท็อด:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "à¸à¸³à¸¥à¸±à¸‡à¸£à¹‰à¸­à¸‡à¸‚อ..."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "ลบโหนด?"
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr "เปิดไฟล์ file_type_cache.cch เพื่อเขียนไม่ได้ จะไม่บันทึà¸à¹à¸„ชของชนิดไฟล์!"
@@ -12434,10 +12749,6 @@ msgstr ""
#~ msgstr "อินสà¹à¸•นซ์ฉาà¸à¸—ี่เลือà¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¹‚หนดลูà¸à¸‚องโหนดที่เลือà¸"
#, fuzzy
-#~ msgid "Warnings:"
-#~ msgstr "คำเตือน"
-
-#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "ขนาดฟอนต์ต้นฉบับ:"
@@ -12479,9 +12790,6 @@ msgstr ""
#~ msgid "Select a split to erase it."
#~ msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¸•ัวเลือà¸à¸à¹ˆà¸­à¸™!"
-#~ msgid "No name provided"
-#~ msgstr "ไม่ได้ระบุชื่อ"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "เพิ่มโหนด"
@@ -12619,9 +12927,6 @@ msgstr ""
#~ msgid "Warning"
#~ msgstr "คำเตือน"
-#~ msgid "Error:"
-#~ msgstr "ผิดพลาด:"
-
#~ msgid "Function:"
#~ msgstr "ฟังà¸à¹Œà¸Šà¸±à¸™:"
@@ -12700,9 +13005,6 @@ msgstr ""
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "ทำซ้ำโหนด"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "ลบโหนด"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "ผิดพลาด: เชื่อมต่อเป็นวง"
@@ -13130,9 +13432,6 @@ msgstr ""
#~ msgid "Pick New Name and Location For:"
#~ msgstr "เลือà¸à¸Šà¸·à¹ˆà¸­à¹à¸¥à¸°à¸•ำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่อยู่ใหม่ให้à¸à¸±à¸š:"
-#~ msgid "No files selected!"
-#~ msgstr "ไม่ได้เลือà¸à¹„ฟล์ไว้!"
-
#~ msgid "Info"
#~ msgstr "ข้อมูล"
@@ -13514,12 +13813,6 @@ msgstr ""
#~ msgid "Scaling to %s%%."
#~ msgstr "ปรับขนาดเป็น %s%%"
-#~ msgid "Up"
-#~ msgstr "ขึ้น"
-
-#~ msgid "Down"
-#~ msgstr "ลง"
-
#~ msgid "Bucket"
#~ msgstr "ถัง"
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index afbea77509..5f87d558a8 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -29,12 +29,17 @@
# Enes Can Yerlikaya <enescanyerlikaya@gmail.com>, 2019.
# Ömer Akgöz <omerakgoz34@gmail.com>, 2019.
# Mehmet Dursun <mehmet.dursun@gmail.com>, 2019.
+# Ali Can Çekmez <alcamez@icloud.com>, 2019.
+# Erdem Gez <erdemgezzz@gmail.com>, 2019.
+# rayray61 <laladodo000@gmail.com>, 2019.
+# enesygt <enesyigittt@gmail.com>, 2019.
+# Mustafa Turhan <odunluzikkim@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-29 13:34+0000\n"
-"Last-Translator: Mehmet Dursun <mehmet.dursun@gmail.com>\n"
+"PO-Revision-Date: 2019-09-26 11:50+0000\n"
+"Last-Translator: Mustafa Turhan <odunluzikkim@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/"
"godot/tr/>\n"
"Language: tr\n"
@@ -85,6 +90,35 @@ msgstr "'%s' oluşturulurken geçersiz argümanlar atandı"
msgid "On call to '%s':"
msgstr "'%s' çağrıldığında:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "Çırp"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Ücretsiz"
@@ -501,6 +535,13 @@ msgid "Select None"
msgstr "Hiçbir Şey Seçilmedi"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+"Sahne Ağacı'ndan animasyonları düzenleyebilmek için bir AnimationPlayer "
+"seçin."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "sadece ağaç'ta seçili düğümlerdeki izleri göster."
@@ -680,12 +721,11 @@ msgstr "DeÄŸiÅŸtirildi %d oluÅŸ(sn)."
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "%d match."
-msgstr ""
+msgstr "% d eÅŸleÅŸme."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "EÅŸleÅŸme Yok"
+msgstr "%d eÅŸleÅŸme."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -800,7 +840,7 @@ msgstr "ErtelenmiÅŸ"
#: editor/connections_dialog.cpp
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
+msgstr "Sinyali savunur, sıraya kaydeder ve sadece rölantide iken ateşler."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -808,12 +848,11 @@ msgstr "Tek sefer"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "İlk yayılmasından sonra sinyal bağlantısını keser."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Bağlantı Sinyali: "
+msgstr "Sinyale bağlanamıyor"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -822,7 +861,8 @@ msgstr "Bağlantı Sinyali: "
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -834,9 +874,8 @@ msgid "Connect"
msgstr "BaÄŸla"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Signal:"
-msgstr "Sinyaller:"
+msgstr "Sinyal:"
#: editor/connections_dialog.cpp
msgid "Connect '%s' to '%s'"
@@ -860,14 +899,12 @@ msgid "Disconnect"
msgstr "Bağlantıyı kes"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Bağlantı Sinyali: "
+msgstr "Bir Yönteme Bir Sinyal Bağlayın"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Bağlantıları Düzenle "
+msgstr "Bağlantıyı Düzenle:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -927,7 +964,8 @@ msgstr "Ara:"
msgid "Matches:"
msgstr "EÅŸleÅŸmeler:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -943,22 +981,20 @@ msgid "Dependencies For:"
msgstr "Şunun İçin Bağımlılıklar:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
"'%s' Sahnesi şu anda düzenleniyor.\n"
-"Yeniden yüklenene kadar değişiklikler etki etmeyecek."
+"Değişiklikler sadece yeniden yüklendikten sonra etki edecektir."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Kaynak '%s' kullanımda.\n"
-"Değişiklikler yeniden yükleme yapılınca etkin olacak."
+"'%s' kaynağı kullanılıyor.\n"
+"Değişiklikler yeniden yükleme yapıldığında etkin olacak."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -1005,9 +1041,8 @@ msgid "Owners Of:"
msgstr "Şunların sahipleri:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Remove selected files from the project? (Can't be restored)"
-msgstr "Seçili dosyaları projeden kaldır? (geri alınamaz)"
+msgstr "Seçili dosyaları projeden kaldır? (Geri alınamaz)"
#: editor/dependency_editor.cpp
msgid ""
@@ -1051,9 +1086,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "%d Öğeleri kalıcı olarak silsin mi? (Geri alınamaz!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Bağımlılıklar"
+msgstr "Bağımlılıkları göster"
#: editor/dependency_editor.cpp
msgid "Orphan Resource Explorer"
@@ -1144,12 +1178,10 @@ msgid "License"
msgstr "Lisans"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Üçüncü Parti Lisans"
+msgstr "Üçüncü Parti Lisanslar"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
@@ -1158,8 +1190,9 @@ msgid ""
msgstr ""
"Godot Oyun Motoru, bazı ücretsiz ve açık kaynaklı üçüncü parti "
"kütüphanelerden faydalanır, bunların hepsinin kullanım koşulları MIT "
-"lisansına uygundur. Aşağıda, bu üçüncü parti bileşenlerin ayrıntılı telif "
-"hakkı bildirimleri ve lisans koşulları belirtilmiştir."
+"lisansına uygundur. Aşağıda, bu tür üçüncü parti bileşenlerinin telif hakkı "
+"beyanları ve lisans koşulları ile birlikte ayrıntılı bir listesi "
+"bulunmaktadır."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1174,9 +1207,8 @@ msgid "Licenses"
msgstr "Lisanslar"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Paket dosyası açılamıyor, zip formatında değil."
+msgstr "Paket dosyası açılırken hata oluştu, zip formatında değil."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1244,7 +1276,8 @@ msgid "Delete Bus Effect"
msgstr "Bus Efekti Sil"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Audio Bus, düzenlemek için Sürükle-Bırak."
#: editor/editor_audio_buses.cpp
@@ -1318,7 +1351,7 @@ msgstr "Audio Bus Yerleşim Düzenini Aç"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "'%s' dosyası bulunamadı"
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1375,23 +1408,20 @@ msgid "Valid characters:"
msgstr "Geçerli damgalar:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr "Geçersiz isim. Varolan bir motor sınıf ismi ile çakışmamalı."
+msgstr "Varolan bir motor sınıf ismi ile çakışmamalı."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing built-in type name."
-msgstr "Geçersiz ad. Var olan gömülü türdeki ad ile çakışmamalı."
+msgstr "Var olan gömülü türdeki ad ile çakışmamalı."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "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."
+msgstr "Var olan genel değişmeyen bir adla çakışmamalıdır."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "Anahtar kelime otomatik-yükleme ismi olarak kullanılamaz."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1422,9 +1452,8 @@ msgid "Rearrange Autoloads"
msgstr "KendindenYüklenme'leri Yeniden Sırala"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
-msgstr "Gecersiz Yol."
+msgstr "Geçersiz yol."
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
msgid "File does not exist."
@@ -1439,6 +1468,7 @@ msgid "Add AutoLoad"
msgstr "KendindenYüklenme Ekle"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "Dosya yolu:"
@@ -1477,9 +1507,8 @@ msgid "[unsaved]"
msgstr "[kaydedilmemiÅŸ]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Lütfen öncelikle bir taban dizini seçin"
+msgstr "Lütfen önce bir taban dizini seçin."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1565,22 +1594,19 @@ msgstr "Şablon dosyası bulunamadı:"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
-msgstr ""
+msgstr "32-bit dışa aktarımlarda gömülü PCK 4GiB'tan büyük olamaz."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Düzenleyici"
+msgstr "3D Düzenleyici"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Betik Düzenleyiciyi Aç"
+msgstr "Kod Düzenleyici"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Malvarlığı Kütüphanesini Aç"
+msgstr "Varlık Kütüphanesi"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1598,18 +1624,16 @@ msgid "Node Dock"
msgstr "Biçimi Taşı"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "FileSystem and Import Docks"
-msgstr "DosyaSistemi"
+msgstr "DosyaSistemi ve İçe Aktarım"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Tümünü Değiştir (geri alma yok)"
+msgstr "'%s' profilini sil? (geri alınamaz)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "Profil geçerli bir dosya adı olmalı ve '.' içermemelidir"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1617,13 +1641,13 @@ msgid "Profile with this name already exists."
msgstr "Bu isimde zaten bir dosya ve ya klasör mevcut."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Editör Devre Dışı, Özellikler Devre Dışı)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Sadece Özellikler"
+msgstr "(Özellikler Devre Dışı)"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1631,14 +1655,12 @@ msgid "(Editor Disabled)"
msgstr "Klip Devre dışı"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Sınıf Açıklaması:"
+msgstr "Sınıf Seçenekleri:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Sonraki Düzenleyiciyi aç"
+msgstr "İçeriksel Düzenleyiciyi Etkinleştir"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1657,13 +1679,15 @@ msgstr "Sınıfları Ara"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "'%s' dosyası geçersiz, içe aktarma iptal edildi."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"'%s' profili zaten var. İçe aktarmadan önce silin, içe aktarma iptal edildi."
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1671,8 +1695,9 @@ msgid "Error saving profile to path: '%s'."
msgstr "Şablon '%s' yüklenirken hata"
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid "Unset"
-msgstr ""
+msgstr "Ayarını kaldır"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1686,6 +1711,7 @@ msgstr "Geçerli:"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Yeni"
@@ -1711,7 +1737,7 @@ msgstr "Sınıf Açıklaması"
#: editor/editor_feature_profile.cpp
#, fuzzy
msgid "New profile name:"
-msgstr "Yeni ad:"
+msgstr "Yeni alan adı:"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1721,7 +1747,7 @@ msgstr "Alanı Sil"
#: editor/editor_feature_profile.cpp
#, fuzzy
msgid "Import Profile(s)"
-msgstr "İçe Aktarılan Proje"
+msgstr "İçe Aktarılan Proje(ler)"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1755,7 +1781,6 @@ msgstr "Dosya Yöneticisinde Aç"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
#: editor/filesystem_dock.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Show in File Manager"
msgstr "Dosya Yöneticisinde Göster"
@@ -1764,6 +1789,7 @@ msgid "New Folder..."
msgstr "Yeni Klasör..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Yenile"
@@ -1841,22 +1867,21 @@ msgstr "Beğenileni Aşağı Taşı"
#: editor/editor_file_dialog.cpp
#, fuzzy
msgid "Go to previous folder."
-msgstr "Üst klasöre git"
+msgstr "Önceki klasöre git"
#: editor/editor_file_dialog.cpp
#, fuzzy
msgid "Go to next folder."
-msgstr "Üst klasöre git"
+msgstr "Sonraki klasöre git"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Go to parent folder."
-msgstr "Üst klasöre git"
+msgstr "Asıl klasöre git"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Refresh files."
-msgstr "Dosyaları ara"
+msgstr "Dosyaları yenile."
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
@@ -1899,10 +1924,13 @@ msgid "ScanSources"
msgstr "KaynaklarıTara"
#: editor/editor_file_system.cpp
+#, fuzzy
msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"%s dosyasına işaret eden farklı tipler için birden fazla içe aktarım var, "
+"içe aktarma iptal edildi"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -1925,7 +1953,8 @@ msgid "Inherited by:"
msgstr "Şundan miras alındı:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Kısa Açıklama:"
#: editor/editor_help.cpp
@@ -1933,38 +1962,18 @@ msgid "Properties"
msgstr "Özellikler"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Özellikler:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Metotlar"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Metotlar:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "Tema Özellikleri"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Tema Özellikleri:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Sinyaller:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr "Numaralandırmalar"
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr "Numaralandırmalar:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr "enum… "
@@ -1973,19 +1982,12 @@ msgid "Constants"
msgstr "Sabitler"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "Sabitler:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "Sınıf Açıklaması"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "Sınıf Açıklaması:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Çevrimiçi Rehberler:"
#: editor/editor_help.cpp
@@ -2003,10 +2005,6 @@ msgid "Property Descriptions"
msgstr "Özellik Açıklamaları"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-msgstr "Özellik Açıklamaları:"
-
-#: 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]!"
@@ -2019,10 +2017,6 @@ msgid "Method Descriptions"
msgstr "Metot Açıklamaları"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Metot Açıklamaları:"
-
-#: 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]!"
@@ -2088,12 +2082,11 @@ msgid "Output:"
msgstr "Çıktı:"
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Copy Selection"
-msgstr "Seçimi Kaldır"
+msgstr "Seçimi Kopyala"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2106,10 +2099,51 @@ msgstr "Temizle"
msgid "Clear Output"
msgstr "Çıktıyı Temizle"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Durdur"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "BaÅŸlat"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "Aşağı"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "Yukarı"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Düğüm"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "Pencere"
+msgstr "Yeni Pencere"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2253,7 +2287,6 @@ msgstr ""
"aktarma kısmını okuyunuz."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
@@ -2284,14 +2317,13 @@ msgstr ""
"aktarma kısmını okuyunuz."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
"Bu bir uzak nesne, yani yaptığınız değişiklikler saklanmayacaktır.\n"
-"Lütfen, bu iş akışını daha iyi anlamak için dökümantasyondaki sahneleri içe "
+"Lütfen, bu iş akışını daha iyi anlamak için belgelemedeki sahneleri içe "
"aktarma kısmını okuyunuz."
#: editor/editor_node.cpp
@@ -2315,9 +2347,8 @@ msgid "Open Base Scene"
msgstr "Ana Sahneyi Aç"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Sahneyi Hızlı Aç..."
+msgstr "Hızlı Aç..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2442,9 +2473,8 @@ msgid "Close Scene"
msgstr "Sahneyi Kapat"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Sahneyi Kapat"
+msgstr "Kapalı Sahneyi Yeniden Aç"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2547,7 +2577,6 @@ msgstr "Varsayılan"
#: editor/editor_node.cpp editor/editor_properties.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
-#, fuzzy
msgid "Show in FileSystem"
msgstr "Dosya Sisteminde Göster"
@@ -2560,9 +2589,8 @@ msgid "Close Tab"
msgstr "Sekmeyi Kapat"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Sekmeyi Kapat"
+msgstr "Sekmeyi Kapat'ı geri al"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2570,12 +2598,11 @@ msgstr "DiÄŸer Sekmeleri Kapat"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Sekmeleri SaÄŸa DoÄŸru Kapat"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Tümünü Kapat"
+msgstr "Tüm Sekmeleri Kapat"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2618,9 +2645,8 @@ msgid "Go to previously opened scene."
msgstr "Daha önce açılan sahneye git."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Copy Text"
-msgstr "Dosya Yolunu Tıpkıla"
+msgstr "Metni Kopyala"
#: editor/editor_node.cpp
msgid "Next tab"
@@ -2697,17 +2723,30 @@ msgid "Project"
msgstr "Proje"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Proje Ayarları"
+msgstr "Proje Ayarları..."
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Sürüm:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "Dışa Aktar..."
#: editor/editor_node.cpp
+#, fuzzy
msgid "Install Android Build Template..."
-msgstr ""
+msgstr "Android Yapı Şablonunu Yükle ..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2832,14 +2871,12 @@ msgid "Editor Layout"
msgstr "Düzenleyici Yerleşim Düzeni"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Take Screenshot"
-msgstr "Anlamlı!"
+msgstr "Ekran Görüntüsü Al"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Screenshots are stored in the Editor Data/Settings Folder."
-msgstr "Düzenleyici Verileri/Ayarları Klasörünü Aç"
+msgstr "Ekran Görüntüleri Düzenleyici Verileri/Ayarları Klasöründe saklanır."
#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
@@ -2865,7 +2902,7 @@ msgstr "Düzenleyici Ayarları Klasörünü Aç"
#: editor/editor_node.cpp
#, fuzzy
msgid "Manage Editor Features..."
-msgstr "Dışa Aktarım Şablonlarını Yönet"
+msgstr "Düzenleyici Şablonlarını Yönet..."
#: editor/editor_node.cpp
#, fuzzy
@@ -2891,8 +2928,9 @@ msgid "Online Docs"
msgstr "Çevrimiçi Belgeler"
#: editor/editor_node.cpp
+#, fuzzy
msgid "Q&A"
-msgstr "SSS"
+msgstr "S&C"
#: editor/editor_node.cpp
msgid "Issue Tracker"
@@ -2926,10 +2964,6 @@ msgstr "Sahneyi Duraklat"
msgid "Stop the scene."
msgstr "Sahneyi durdur."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Durdur"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Düzenlenmiş sahneyi oynat."
@@ -2963,12 +2997,12 @@ msgstr "Düzenleyici penceresi yeniden boyandığında döner."
#: editor/editor_node.cpp
#, fuzzy
msgid "Update Continuously"
-msgstr "Kesintisiz"
+msgstr "Kesintisiz Güncelle"
#: editor/editor_node.cpp
#, fuzzy
msgid "Update When Changed"
-msgstr "Değişiklikleri güncelle"
+msgstr "Değiştirildiğinde güncelle"
#: editor/editor_node.cpp
#, fuzzy
@@ -2984,10 +3018,6 @@ msgid "Inspector"
msgstr "Denetçi"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Düğüm"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Alt Panoyu GeniÅŸlet"
@@ -3000,8 +3030,9 @@ msgid "Don't Save"
msgstr "Kaydetme"
#: editor/editor_node.cpp
+#, fuzzy
msgid "Android build template is missing, please install relevant templates."
-msgstr ""
+msgstr "Android yapı şablonu eksik, lütfen ilgili şablonları yükleyin."
#: editor/editor_node.cpp
#, fuzzy
@@ -3010,16 +3041,25 @@ msgstr "Dışa Aktarım Şablonlarını Yönet"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
+"Android yapı şablonu zaten yüklü ve üzerine yazılmayacak.\n"
+"Bu işlemi tekrar denemeden önce \"build\" dizinini el ile kaldırın."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3081,6 +3121,11 @@ msgstr "Sonraki Düzenleyiciyi aç"
msgid "Open the previous Editor"
msgstr "Önceki Düzenleyiciyi Aç"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Yüzey kaynağı belirtilmedi."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Mesh Önizlemeleri Oluşturuluyor"
@@ -3090,6 +3135,11 @@ msgid "Thumbnail..."
msgstr "Küçük Resim..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Betik Aç"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Eklentiyi Düzenle"
@@ -3118,11 +3168,6 @@ msgstr "Durum:"
msgid "Edit:"
msgstr "Düzenle:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "BaÅŸlat"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Ölçüm:"
@@ -3363,6 +3408,8 @@ msgstr "İndir"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
msgstr ""
+"Resmi dışa aktarım şablonları, geliştirici sürümleri için kullanılabilir "
+"deÄŸildir."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3753,10 +3800,13 @@ msgid "Filters:"
msgstr "Süzgeçler:"
#: editor/find_in_files.cpp
+#, fuzzy
msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Bu uzantıdaki dosyaları dahil et. Uzantıları ProjeAyarlarından ekle ya da "
+"sil."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3837,7 +3887,7 @@ msgstr "Gruptaki Düğümler"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "BoÅŸ gruplar otomatik olarak silinecektir."
#: editor/groups_editor.cpp
#, fuzzy
@@ -3943,9 +3993,10 @@ msgstr " Dosyalar"
msgid "Import As:"
msgstr "Şu Şekilde İçe Aktar:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Ön ayar..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Önayarlar"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4267,7 +4318,7 @@ msgstr "Otomatik Üçgenleri Aç / Kapat"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Create triangles by connecting points."
-msgstr ""
+msgstr "Bağlantı noktalarından üçgen yarat."
#: editor/plugins/animation_blend_space_2d_editor.cpp
#, fuzzy
@@ -4405,6 +4456,7 @@ msgid "Change Animation Name:"
msgstr "Animasyonun Adını Değiştir:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Animasyon Silinsin mi?"
@@ -4994,11 +5046,6 @@ msgid "Sort:"
msgstr "Sırala:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "İsteniyor..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Kategori:"
@@ -5297,6 +5344,11 @@ msgstr "Kaydırma Biçimi"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
+msgid "Ruler Mode"
+msgstr "Çalışma Kipi:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Toggle snapping."
msgstr "Yapılmayı aç/kapat"
@@ -6403,7 +6455,7 @@ msgstr "Örnek:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Tür:"
@@ -6621,14 +6673,14 @@ msgid "Toggle Scripts Panel"
msgstr "Betikler Panelini Aç/Kapa"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
-msgstr "Adımla"
-
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
msgstr "İçeri Adımla"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr "Adımla"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Ara Ver"
@@ -6712,7 +6764,7 @@ msgstr "En Son Sahneleri Temizle"
msgid "Connections to method:"
msgstr "Düğüme Bağla:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "Kaynak:"
@@ -7538,6 +7590,11 @@ msgstr "(boÅŸ)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Çerçeveyi Yapıştır"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Animasyonlar"
@@ -7875,6 +7932,15 @@ msgid "Enable Priority"
msgstr "Süzgeçleri Düzenle"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Dosyaları Süz..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Karo Boya"
@@ -8024,6 +8090,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Mevcut giriyi kaldır"
@@ -8209,6 +8280,111 @@ msgstr "Bu işlem bir sahne olmadan yapılamaz."
msgid "TileSet"
msgstr "Karo Takımı"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Hata"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "İsim sağlanmadı"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Topluluk"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "Büyük harfe çevirme"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Yeni %s oluÅŸtur"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "DeÄŸiÅŸtir"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Yeniden Adlandır"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Sil"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "DeÄŸiÅŸtir"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Seçilenleri Sil"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Tümünü kaydet"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Betik DeÄŸiÅŸikliklerini EÅŸ Zamanla"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "Durum"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "Hiçbir Dizeç Seçilmedi!"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8469,6 +8645,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9727,6 +9908,11 @@ msgid "Settings saved OK."
msgstr "Ayarlar kaydedildi TAMAM."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Giriş İşlem Olayı Ekle"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Özelliğin Üzerine Yaz"
@@ -9865,6 +10051,10 @@ msgid "Plugins"
msgstr "Eklentiler"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Ön ayar..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Sıfır"
@@ -10040,10 +10230,6 @@ msgstr "Büyük harf"
msgid "Reset"
msgstr "Yaklaşmayı Sıfırla"
-#: editor/rename_dialog.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"
@@ -10101,6 +10287,11 @@ msgid "Instance Scene(s)"
msgstr "Sahne(leri) Örnekle"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Dalı Sahne olarak Kaydet"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Çocuk Sahnesini Örnekle"
@@ -10142,8 +10333,23 @@ msgid "Make node as Root"
msgstr "Anlamlı!"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Düğüm(ler) Silinsin mi?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Düğümleri Sil"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Gölgelendirici Çizge Düğümünü Sil"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Düğümleri Sil"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10575,19 +10781,50 @@ msgstr "Baytlar:"
#: editor/script_editor_debugger.cpp
#, fuzzy
-msgid "Stack Trace"
-msgstr "Çerçeveleri Yığ"
+msgid "Warning:"
+msgstr "Uyarılar"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Grafiği görüntülemek için listeden bir veya daha fazla öğe seçin."
+msgid "Error:"
+msgstr "Hata:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Hatayı Kopyala"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Hata:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Kaynak:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Kaynak:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Kaynak:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Stack Trace"
+msgstr "Çerçeveleri Yığ"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Hatalar"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "Çocuk Süreç Bağlandı"
#: editor/script_editor_debugger.cpp
@@ -10595,6 +10832,11 @@ msgid "Copy Error"
msgstr "Hatayı Kopyala"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Noktalar oluÅŸtur."
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "Önceki Örneği İncele"
@@ -10611,6 +10853,11 @@ msgid "Profiler"
msgstr "Kesitçi"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Projeyi Dışa Aktar"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Görüntülük"
@@ -10623,6 +10870,10 @@ msgid "Monitors"
msgstr "Monitörler"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Grafiği görüntülemek için listeden bir veya daha fazla öğe seçin."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Kaynağa Göre İzleti Belleği Kullanımının Dizelgesi:"
@@ -10830,10 +11081,6 @@ msgid "Library"
msgstr "Kütüphane"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "Durum"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Kütüphaneler: "
@@ -10842,6 +11089,10 @@ msgid "GDNative"
msgstr "GDYerel"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "adım değiştirgeni sıfır!"
@@ -10998,6 +11249,15 @@ msgstr "IzgaraHaritası Ayarları"
msgid "Pick Distance:"
msgstr "Uzaklık Seç:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Süzgeç kipi:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Sınıf ismi ayrılmış anahtar kelime olamaz"
@@ -11142,6 +11402,10 @@ msgid "Create a new variable."
msgstr "Yeni %s oluÅŸtur"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Sinyaller:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Sıfırdan yeni bir çokgen oluşturun."
@@ -11306,6 +11570,11 @@ msgid "Editing Signal:"
msgstr "Sinyal Düzenleniyor:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "YerelleÅŸtir"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Taban Türü:"
@@ -11457,9 +11726,11 @@ msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr ""
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
-msgstr ""
+"Android build template not installed in the project. Install it from the "
+"Project menu."
+msgstr "Android yapı şablonu eksik, lütfen ilgili şablonları yükleyin."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -12200,36 +12471,76 @@ msgid "Input"
msgstr "GiriÅŸ Ekle"
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Invalid source for preview."
-msgstr "Geçersiz kaynak!"
+msgstr "Önizleme için geçersiz kaynak."
#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
msgid "Invalid source for shader."
-msgstr "Geçersiz kaynak!"
+msgstr "Gölgelendirici için geçersiz kaynak."
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Invalid comparison function for that type."
-msgstr "Geçersiz kaynak!"
+msgstr "Bu tür için geçersiz karşılaştırma işlevi."
#: servers/visual/shader_language.cpp
msgid "Assignment to function."
-msgstr ""
+msgstr "İşleve atama."
#: servers/visual/shader_language.cpp
+#, fuzzy
msgid "Assignment to uniform."
-msgstr ""
+msgstr "DeÄŸiÅŸmeze atama."
#: servers/visual/shader_language.cpp
+#, fuzzy
msgid "Varyings can only be assigned in vertex function."
-msgstr ""
+msgstr "Değişkenler yalnızca tepe işlevinde atanabilir."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez."
+#~ msgid "Properties:"
+#~ msgstr "Özellikler:"
+
+#~ msgid "Methods:"
+#~ msgstr "Metotlar:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Tema Özellikleri:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Numaralandırmalar:"
+
+#~ msgid "Constants:"
+#~ msgstr "Sabitler:"
+
+#~ msgid "Class Description:"
+#~ msgstr "Sınıf Açıklaması:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "Özellik Açıklamaları:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Metot Açıklamaları:"
+
+#, fuzzy
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "Bu, özel yapımlar için Android projesini yükleyecektir.\n"
+#~ "Bunu kullanmak için, içe aktarım ön ayarı başına etkinleştirilmesi "
+#~ "gerektiÄŸine dikkat edin."
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "İsteniyor..."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Düğüm(ler) Silinsin mi?"
+
#~ msgid ""
#~ "Can't open file_type_cache.cch for writing, not saving file type cache!"
#~ msgstr ""
@@ -12477,10 +12788,6 @@ msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez."
#~ msgstr "Seçilen sahneyi/sahneleri seçilen düğüme çocuk olarak örneklendir."
#, fuzzy
-#~ msgid "Warnings:"
-#~ msgstr "Uyarılar"
-
-#, fuzzy
#~ msgid "Font Size:"
#~ msgstr "Kaynak Yazı Türü Boyutu:"
@@ -12523,9 +12830,6 @@ msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez."
#~ msgid "Select a split to erase it."
#~ msgstr "Önce bir ayar öğesi seçin!"
-#~ msgid "No name provided"
-#~ msgstr "İsim sağlanmadı"
-
#, fuzzy
#~ msgid "Add Node.."
#~ msgstr "Düğüm Ekle"
@@ -12667,9 +12971,6 @@ msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez."
#~ msgid "Warning"
#~ msgstr "Uyarı"
-#~ msgid "Error:"
-#~ msgstr "Hata:"
-
#~ msgid "Function:"
#~ msgstr "Fonksiyon:"
@@ -12748,9 +13049,6 @@ msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez."
#~ 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ı"
@@ -13173,9 +13471,6 @@ msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez."
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Şunun için yeni ad ile konum seçin:"
-#~ msgid "No files selected!"
-#~ msgstr "Hiçbir Dizeç Seçilmedi!"
-
#~ msgid "Info"
#~ msgstr "Bilgi"
@@ -13576,12 +13871,6 @@ msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez."
#~ msgid "Scaling to %s%%."
#~ msgstr "Şuna %s%% Ölçeklendiriliyor."
-#~ msgid "Up"
-#~ msgstr "Yukarı"
-
-#~ msgid "Down"
-#~ msgstr "Aşağı"
-
#~ msgid "Bucket"
#~ msgstr "Kova"
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index bee04e31b7..bee2015a88 100644
--- a/editor/translations/uk.po
+++ b/editor/translations/uk.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ukrainian (Godot Engine)\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-08-04 14:22+0000\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
@@ -25,7 +25,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -68,6 +68,35 @@ msgstr "Ðекоректні аргументи Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ «%s»"
msgid "On call to '%s':"
msgstr "При виклику «%s»:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "ПоєднаннÑ"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Вивільнити"
@@ -485,6 +514,11 @@ msgid "Select None"
msgstr "СкаÑувати позначеннÑ"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "ШлÑÑ… до вузла AnimationPlayer, де міÑÑ‚ÑтьÑÑ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—, не вÑтановлено."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Показувати доріжки лише Ð´Ð»Ñ Ð²ÑƒÐ·Ð»Ñ–Ð², Ñкі позначено у ієрархії."
@@ -664,14 +698,12 @@ msgid "Replaced %d occurrence(s)."
msgstr "Замінено %d випадок(-ів)."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "ВиÑвлено %d відповідників."
+msgstr "%d відповідник."
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "ВиÑвлено %d відповідників."
+msgstr "%d відповідників."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -809,7 +841,8 @@ msgstr "Ðе вдалоÑÑ Ð·'єднати Ñигнал"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -910,7 +943,8 @@ msgstr "Пошук:"
msgid "Matches:"
msgstr "Збіги:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1125,12 +1159,10 @@ msgid "License"
msgstr "ЛіцензіÑ"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ Ñ‚Ñ€ÐµÑ‚ÑŒÐ¾Ñ— Ñторони"
+msgstr "Ð›Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ñторонніх компонентів"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
@@ -1138,7 +1170,7 @@ msgid ""
"respective copyright statements and license terms."
msgstr ""
"Рушій Godot ÑпираєтьÑÑ Ð½Ð° Ñ€Ñд Ñторонніх безкоштовних Ñ– відкритих бібліотек, "
-"ÑуміÑних з умовами ліцензії MIT. Ðижче наводитьÑÑ Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð½Ð¸Ð¹ ÑпиÑок вÑÑ–Ñ… "
+"ÑуміÑних з умовами Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ MIT. Ðижче наведено вичерпний ÑпиÑок вÑÑ–Ñ… "
"таких Ñторонніх компонентів з відповідними заÑвами авторÑьких прав Ñ– умов "
"ліцензійної угоди."
@@ -1155,9 +1187,8 @@ msgid "Licenses"
msgstr "Ліцензії"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Помилка Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ„Ð°Ð¹Ð»Ð° пакунка, не у форматі zip."
+msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби відкрити файл пакунка — дані не у форматі zip."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1225,7 +1256,8 @@ msgid "Delete Bus Effect"
msgstr "Вилучити ефект шини"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Ðудіо шина, перетÑгнути, щоб змінити."
#: editor/editor_audio_buses.cpp
@@ -1416,6 +1448,7 @@ msgid "Add AutoLoad"
msgstr "Додати автозавантаженнÑ"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "ШлÑÑ…:"
@@ -1646,6 +1679,7 @@ msgstr "Зробити поточним"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Ðовий"
@@ -1716,6 +1750,7 @@ msgid "New Folder..."
msgstr "Створити теку..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Оновити"
@@ -1873,7 +1908,8 @@ msgid "Inherited by:"
msgstr "УÑпадковано:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "СтиÑлий опиÑ:"
#: editor/editor_help.cpp
@@ -1881,38 +1917,18 @@ msgid "Properties"
msgstr "ВлаÑтивоÑті"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "ВлаÑтивоÑті:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Методи"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Методи:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "ВлаÑтивоÑті теми"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 "перелічуваний "
@@ -1921,19 +1937,12 @@ msgid "Constants"
msgstr "КонÑтанти"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "КонÑтанти:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "ÐžÐ¿Ð¸Ñ ÐºÐ»Ð°Ñу"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "ÐžÐ¿Ð¸Ñ ÐºÐ»Ð°Ñу:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "Підручники в інтернеті:"
#: editor/editor_help.cpp
@@ -1951,10 +1960,6 @@ msgid "Property Descriptions"
msgstr "ОпиÑи влаÑтивоÑтей"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1967,10 +1972,6 @@ msgid "Method Descriptions"
msgstr "ОпиÑи методів"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "ОпиÑи методів:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2039,8 +2040,8 @@ msgstr "Вивід:"
msgid "Copy Selection"
msgstr "Копіювати позначене"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2053,9 +2054,52 @@ msgstr "ОчиÑтити"
msgid "Clear Output"
msgstr "ОчиÑтити вивід"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Зупинити"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Початок"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Завантажити"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Вузол"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
-msgstr ""
+msgstr "Ðове вікно"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2382,9 +2426,8 @@ msgid "Close Scene"
msgstr "Закрити Ñцену"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "Закрити Ñцену"
+msgstr "Повторно відкрити закриту Ñцену"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2504,9 +2547,8 @@ msgid "Close Tab"
msgstr "Закрити вкладку"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "Закрити вкладку"
+msgstr "СкаÑувати Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ¸"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2639,19 +2681,29 @@ msgid "Project"
msgstr "Проєкт"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "Параметри проєкту"
+msgstr "Параметри проєкту…"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
+msgid "Version Control"
+msgstr "ВерÑÑ–Ñ:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Export..."
-msgstr "ЕкÑпортуваннÑ"
+msgstr "ЕкÑпортувати…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "Ð’Ñтановити шаблон Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Android"
+msgstr "Ð’Ñтановити шаблон Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Android…"
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2662,9 +2714,8 @@ msgid "Tools"
msgstr "ІнÑтрументи"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "ОглÑд підключених реÑурÑів"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñиротілими реÑурÑами…"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2767,9 +2818,8 @@ msgid "Editor"
msgstr "Редактор"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Параметри редактора"
+msgstr "Параметри редактора…"
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2804,14 +2854,12 @@ msgid "Open Editor Settings Folder"
msgstr "Відкрити теку параметрів редактора"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñми редактора"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñми редактора…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпорту"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпортуваннÑ…"
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2867,10 +2915,6 @@ msgstr "Пауза Ñцени"
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 "Відтворити поточну відредаговану Ñцену."
@@ -2921,10 +2965,6 @@ msgid "Inspector"
msgstr "ІнÑпектор"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Вузол"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Розгорнути нижню панель"
@@ -2948,19 +2988,22 @@ msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"У результаті Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— дії буде вÑтановлено проєкт Android Ð´Ð»Ñ "
-"нетипового збираннÑ.\n"
-"Зауважте, що Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб ним можна було ÑкориÑтатиÑÑ, його Ñлід увімкнути "
-"екÑпортуваннÑм набору правил."
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Шаблон Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Android вже вÑтановлено. Його не буде перезапиÑано.\n"
"Вилучіть каталог «build» вручну, перш ніж намагатиÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð¸Ñ‚Ð¸ цю дію."
@@ -3025,6 +3068,11 @@ msgstr "Відкрити наÑтупний редактор"
msgid "Open the previous Editor"
msgstr "Відкрити попередній редактор"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "Ðе задано джерело поверхні."
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ переглÑду Ñітки"
@@ -3034,6 +3082,11 @@ msgid "Thumbnail..."
msgstr "Мініатюра..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Відкрити Ñкрипт:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ°"
@@ -3062,11 +3115,6 @@ msgstr "СтатуÑ:"
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 "Вимірювати:"
@@ -3283,9 +3331,8 @@ msgid "Import From Node:"
msgstr "Імпортувати з вузла:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
-msgstr "Перезавантажити"
+msgstr "Отримати повторно"
#: editor/export_template_manager.cpp
msgid "Uninstall"
@@ -3302,7 +3349,7 @@ msgstr "Завантажити"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
-msgstr ""
+msgstr "Ð”Ð»Ñ Ñ‚ÐµÑтових збірок не передбачено офіційних шаблонів екÑпортуваннÑ."
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3385,23 +3432,20 @@ msgid "Download Complete."
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð¾."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ тему до файла:"
+msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ тимчаÑовий файл:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Ðе вдалоÑÑ Ð²Ñтановити шаблони. Проблемні архіви із шаблонами можна знайти "
-"тут: «%s»."
+"Ðе вдалоÑÑ Ð²Ñтановити шаблони.\n"
+"Проблемні архіви із шаблонами можна знайти тут: «%s»."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "Помилка запиту url: "
+msgstr "Помилка під Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ за такою адреÑою:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3588,9 +3632,8 @@ msgid "Move To..."
msgstr "ПереміÑтити до..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "Ðова Ñцена"
+msgstr "Створити Ñцену…"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3658,9 +3701,8 @@ msgid "Overwrite"
msgstr "ПерезапиÑати"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Створити зі Ñцени"
+msgstr "Створити Ñцену"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3740,21 +3782,18 @@ msgid "Invalid group name."
msgstr "ÐеприпуÑтима назва групи."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€ÑƒÐ¿Ð°Ð¼Ð¸"
+msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€ÑƒÐ¿Ð¸"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Видалити компонуваннÑ"
+msgstr "Ð’Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð³Ñ€ÑƒÐ¿Ð¸"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "Групи"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
msgstr "Вузли поза групою"
@@ -3769,12 +3808,11 @@ msgstr "Вузли у групі"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "Порожні групи буде автоматично вилучено."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group Editor"
-msgstr "Редактор Ñкриптів"
+msgstr "Редактор груп"
#: editor/groups_editor.cpp
msgid "Manage Groups"
@@ -3873,9 +3911,10 @@ msgstr " Файли"
msgid "Import As:"
msgstr "Імпортувати Ñк:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "Заздалегідь уÑтановлений..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "Ðабори"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3982,9 +4021,8 @@ msgid "MultiNode Set"
msgstr "Мультивузловий набір"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "Виберіть вузол Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñигналів та груп."
+msgstr "Виберіть окремий вузол Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¹Ð¾Ð³Ð¾ Ñигналів та груп."
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4320,6 +4358,7 @@ msgid "Change Animation Name:"
msgstr "Змінити ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Видалити анімацію?"
@@ -4768,37 +4807,32 @@ msgid "Request failed, return code:"
msgstr "Помилка запиту, код поверненнÑ:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
-msgstr "Запит не вдавÑÑ."
+msgstr "Ðе вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ запит."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ тему до файла:"
+msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ відповідь Ñюди:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Помилка під Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸ÑуваннÑ."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "Запит не вдавÑÑ, забагато перенаправлень"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
msgstr "Циклічне переÑпрÑмуваннÑ."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "Помилка запиту, код поверненнÑ:"
+msgstr "Помилка запиту, перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° відповідь"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "ЧаÑ"
+msgstr "Перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° відповідь."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4877,24 +4911,18 @@ msgid "All"
msgstr "Ð’Ñе"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "Імпортувати"
+msgstr "Імпортувати…"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "Плаґіни (додатки)"
+msgstr "Додатки…"
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "Сортувати:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr "Обернений порÑдок."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "КатегоріÑ:"
@@ -4904,9 +4932,8 @@ msgid "Site:"
msgstr "Сайт:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "Підтримка..."
+msgstr "Підтримка"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4917,9 +4944,8 @@ msgid "Testing"
msgstr "ТеÑтуваннÑ"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "Завантажити…"
+msgstr "ЗавантаженнÑ…"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5087,9 +5113,8 @@ msgid "Paste Pose"
msgstr "Ð’Ñтавити позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "ОчиÑтити кіÑтки"
+msgstr "Вилучити напрÑмні"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
@@ -5177,6 +5202,11 @@ msgid "Pan Mode"
msgstr "Режим панорамуваннÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Режим виконаннÑ:"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "Увімкнути або вимкнути прив'ÑзуваннÑ."
@@ -5825,26 +5855,23 @@ msgstr "Ð§Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— (Ñек):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "Сторони геометричної фігури не обмежують жодної площі."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "Вузол не міÑтить геометрії (граней)."
+msgstr "Ð“ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ñ–Ñ Ð½Ðµ міÑтить жодної грані."
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "«%s» не уÑпадковує влаÑтивоÑті від Spatial."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "Вузол не міÑтить геометрії."
+msgstr "«%s» не міÑтить геометричної конÑтрукції."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "Вузол не міÑтить геометрії."
+msgstr "«%s» не міÑтить геометрії граней."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -6244,7 +6271,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "Тип:"
@@ -6282,9 +6309,8 @@ msgid "Error writing TextFile:"
msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби запиÑати TextFile:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "Ðеможливо знайти плитку:"
+msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ цей файл:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6307,7 +6333,6 @@ msgid "Error Importing"
msgstr "Помилка імпортуваннÑ"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
msgstr "Створити текÑтовий файл…"
@@ -6389,9 +6414,8 @@ msgid "Open..."
msgstr "Відкрити..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "Відкрити Ñкрипт"
+msgstr "Повторно відкрити закритий Ñкрипт"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6447,14 +6471,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "Крок через"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "Пауза"
@@ -6526,15 +6550,14 @@ msgid "Search Results"
msgstr "Результати пошуку"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "ОчиÑтити недавні Ñцени"
+msgstr "Спорожнити ÑпиÑок нещодавніх Ñкриптів"
#: editor/plugins/script_text_editor.cpp
msgid "Connections to method:"
msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· методом:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr "Джерело"
@@ -6653,9 +6676,8 @@ msgid "Complete Symbol"
msgstr "Завершити Ñимвол"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Вибір маÑштабу"
+msgstr "Оцінка позначеного"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -6963,9 +6985,8 @@ msgid "Audio Listener"
msgstr "ПроÑÐ»ÑƒÑ…Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð²ÑƒÐºÑƒ"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "Увімкнути фільтруваннÑ"
+msgstr "Увімкнути ефект Доплера"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -7022,7 +7043,7 @@ msgstr "Приліпити вузли до підлоги"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ твердої оÑнови Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ фрагмента."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7035,9 +7056,8 @@ msgstr ""
"Alt+Права кнопка: Вибір у ÑпиÑку за глибиною"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "Режим локального проÑтору (%s)"
+msgstr "ВикориÑтати локальний проÑтір"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7134,9 +7154,8 @@ msgstr "ПереглÑд ґратки"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "Параметри"
+msgstr "Параметри…"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7317,6 +7336,11 @@ msgid "(empty)"
msgstr "(порожньо)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "Ð’Ñтавити кадр"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "Ðнімації:"
@@ -7514,14 +7538,12 @@ msgid "Submenu"
msgstr "Підменю"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "Елемент 1"
+msgstr "Піделемент 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "Елемент 2"
+msgstr "Піделемент 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7633,17 +7655,25 @@ msgid "Enable Priority"
msgstr "Увімкнути пріоритетніÑть"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Фільтрувати файли..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "Ðамалювати плитку"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift+права кнопка: малювати лінію\n"
-"Shift+Ctrl+права кнопка: малювати прÑмокутник"
+"Shift+ліва кнопка: малювати лінію\n"
+"Shift+Ctrl+ліва кнопка: малювати прÑмокутник"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7768,6 +7798,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "Показати назви плиток (Ñкщо затиÑнути клавішу Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ""
"Вилучити позначену текÑтуру? ÐаÑлідком буде Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… плиток, у Ñких Ñ—Ñ— "
@@ -7940,6 +7975,111 @@ msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— влаÑтивоÑті не можна зміÐ
msgid "TileSet"
msgstr "Ðабір плиток"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "Ðазва батьківÑького запиÑу вузла, Ñкщо такий Ñ”"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "Помилка"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "Ім'Ñ Ð½Ðµ вказано"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Спільнота"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "З Великої"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Створити прÑмокутник."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Змінити"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Перейменувати"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Вилучити"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Змінити"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Вилучити вибране"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Зберегти вÑе"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Синхронізувати зміни в Ñкрипті"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "СтатуÑ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "(лише GLES3)"
@@ -8046,9 +8186,8 @@ msgid "Light"
msgstr "Світло"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "Створити вузол шейдера"
+msgstr "Показати отриманий код шейдера."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Create Shader Node"
@@ -8177,6 +8316,13 @@ msgstr ""
"Повертає пов'Ñзаний вектор за заданим булевим значеннÑм «true» або «false»."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+"Повертає пов'Ñзаний вектор за заданим булевим значеннÑм «true» або «false»."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Повертає булевий результат порівнÑÐ½Ð½Ñ Ð¼Ñ–Ð¶ двома параметрами."
@@ -8417,7 +8563,6 @@ msgid "Returns the square root of the parameter."
msgstr "Повертає квадратний корінь з параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8432,7 +8577,6 @@ msgstr ""
"у проміжку від 0.0 до 1.0, Ñку визначено на оÑнові поліномів Ерміта."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
@@ -8609,9 +8753,9 @@ msgid "Linear interpolation between two vectors."
msgstr "Лінійна інтерполÑÑ†Ñ–Ñ Ð²Ñ–Ð´ двох векторних значень."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "Лінійна інтерполÑÑ†Ñ–Ñ Ð²Ñ–Ð´ двох векторних значень."
+msgstr ""
+"Лінійна інтерполÑÑ†Ñ–Ñ Ð²Ñ–Ð´ двох векторних значень з викориÑтаннÑм ÑкалÑра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8638,7 +8782,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "Повертає вектор, Ñкий вказує напрÑмок рефракції."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8653,7 +8796,6 @@ msgstr ""
"у проміжку від 0.0 до 1.0, Ñку визначено на оÑнові поліномів Ерміта."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8668,7 +8810,6 @@ msgstr ""
"у проміжку від 0.0 до 1.0, Ñку визначено на оÑнові поліномів Ерміта."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8679,7 +8820,6 @@ msgstr ""
"Повертає 0.0, Ñкщо «x» Ñ” меншим за «межа». Якщо це не так, повертає 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8742,6 +8882,10 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"Ðетиповий вираз мовою шейдерів Godot, Ñкий буде додано над отриманим "
+"шейдером. Ви можете розташовувати різні Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ вÑередині коду Ñ– "
+"викликати його пізніше у виразах. Ви також можете оголошувати змінні, "
+"уніформи та Ñталі."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
@@ -9134,13 +9278,12 @@ msgid "Unnamed Project"
msgstr "Проєкт без назви"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "Імпортувати наÑвний проєкт"
+msgstr "Ðе виÑтачає проєкту"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "Помилка: у файловій ÑиÑтемі немає проєкту."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9239,12 +9382,11 @@ msgstr ""
"ВміÑÑ‚ теки не буде змінено."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Вилучити %d проєктів зі ÑпиÑку?\n"
+"Вилучити уÑÑ– проєкти, Ñких не знайдено, зі ÑпиÑку?\n"
"ВміÑÑ‚ тек проєктів змінено не буде."
#: editor/project_manager.cpp
@@ -9269,9 +9411,8 @@ msgid "Project Manager"
msgstr "Керівник проекту"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "Проєкт"
+msgstr "Проєкти"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9502,6 +9643,11 @@ msgid "Settings saved OK."
msgstr "Параметри уÑпішно збережено."
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "Додати подію за вхідною дією"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "Перевизначено Ð´Ð»Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñті"
@@ -9638,6 +9784,10 @@ msgid "Plugins"
msgstr "Плаґіни (додатки)"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Заздалегідь уÑтановлений..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "Ðуль"
@@ -9807,10 +9957,6 @@ msgstr "ВЕРХÐІЙ РЕГІСТР"
msgid "Reset"
msgstr "Скинути"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "Помилка"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Змінити батьківÑький вузол"
@@ -9868,6 +10014,11 @@ msgid "Instance Scene(s)"
msgstr "Сцени екземплÑра"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "Зберегти гілку Ñк Ñцену"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "Створити екземплÑÑ€ дочірньої Ñцени"
@@ -9910,8 +10061,23 @@ msgid "Make node as Root"
msgstr "Зробити вузол кореневим"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Вилучити вузли?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Вилучити вузли"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "Вилучити взули графу шейдера"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Вилучити вузли"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -9986,9 +10152,8 @@ msgid "Remove Node(s)"
msgstr "Вилучити вузли"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Змінити назву вихідного порту"
+msgstr "Змінити тип вузлів"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10111,30 +10276,27 @@ msgid "Node configuration warning:"
msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑƒÐ·Ð»Ð°:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"Вузол міÑтить з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ– групи.\n"
+"Вузол міÑтить %s з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ– %s групи.\n"
"Клацніть, щоб переглÑнути панель Ñигналів."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"Вузол міÑтить з'єднаннÑ\n"
+"Вузол міÑтить %s з'єднань.\n"
"Клацніть, щоб переглÑнути панель Ñигналів."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"Вузол належить групам.\n"
+"Вузол належить %s групам.\n"
"Клацніть, щоб переглÑнути панель груп."
#: editor/scene_tree_editor.cpp
@@ -10230,9 +10392,8 @@ msgid "Error loading script from %s"
msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби завантажити Ñкрипт з %s"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "ПерезапиÑати"
+msgstr "ПеревизначеннÑ"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10311,19 +10472,50 @@ msgid "Bytes:"
msgstr "Байтів:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "ТраÑÑƒÐ²Ð°Ð½Ð½Ñ Ñтека"
+#, fuzzy
+msgid "Warning:"
+msgstr "ПопередженнÑ:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "Виберіть один або декілька пунктів зі ÑпиÑку Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду графу."
+msgid "Error:"
+msgstr "Помилка:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Помилка копіюваннÑ"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Помилка:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Джерело"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Джерело"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "Джерело"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "ТраÑÑƒÐ²Ð°Ð½Ð½Ñ Ñтека"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "Помилки"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "З'єднано дочірній процеÑ"
#: editor/script_editor_debugger.cpp
@@ -10331,6 +10523,11 @@ msgid "Copy Error"
msgstr "Помилка копіюваннÑ"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Точки зупину"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "ІнÑпектувати попередній екземплÑÑ€"
@@ -10347,6 +10544,11 @@ msgid "Profiler"
msgstr "ЗаÑіб профілюваннÑ"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "ЕкÑпорт профілю"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Монітор"
@@ -10359,6 +10561,10 @@ msgid "Monitors"
msgstr "Монітори"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "Виберіть один або декілька пунктів зі ÑпиÑку Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду графу."
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "СпиÑок викориÑÑ‚Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ÐµÐ¾Ð¿Ð°Ð¼'Ñті за реÑурÑами:"
@@ -10555,10 +10761,6 @@ msgid "Library"
msgstr "Бібліотека"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr "СтатуÑ"
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr "Бібліотеки: "
@@ -10567,6 +10769,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "Ðргумент кроку дорівнює нулеві!"
@@ -10720,6 +10926,15 @@ msgstr "Параметри GridMap"
msgid "Pick Distance:"
msgstr "ВідÑтань вибору:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Фільтрувати методи"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "Ðазвою клаÑу не може бути зарезервоване ключове Ñлово"
@@ -10845,28 +11060,28 @@ msgid "Set Variable Type"
msgstr "Ð’Ñтановити тип змінної"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "Ðазва не повинна збігатиÑÑ Ñ–Ð· наÑвною назвою вбудованого типу."
+msgstr "ÐŸÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð°Ñвної вбудованої функції."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Створити прÑмокутник."
+msgstr "Створити функцію."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Змінні:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Створити прÑмокутник."
+msgstr "Створити змінну."
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Сигнали:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Створити новий полігон."
+msgstr "Створити Ñигнал."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11025,6 +11240,11 @@ msgid "Editing Signal:"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñигналу:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "Зробити локальним"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "Базовий тип:"
@@ -11181,8 +11401,10 @@ msgstr ""
"редактора."
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
"Ð”Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð½Ðµ вÑтановлено проєкт Android. Ð’Ñтановіть його за допомогою "
"меню редактора."
@@ -11981,6 +12203,45 @@ msgstr "Змінні величини можна пов'Ñзувати лише
msgid "Constants cannot be modified."
msgstr "Сталі не можна змінювати."
+#~ msgid "Properties:"
+#~ msgstr "ВлаÑтивоÑті:"
+
+#~ msgid "Methods:"
+#~ msgstr "Методи:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "ВлаÑтивоÑті теми:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "Перелічуваний:"
+
+#~ msgid "Constants:"
+#~ msgstr "КонÑтанти:"
+
+#~ msgid "Class Description:"
+#~ msgstr "ÐžÐ¿Ð¸Ñ ÐºÐ»Ð°Ñу:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "ОпиÑи влаÑтивоÑтей:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "ОпиÑи методів:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "У результаті Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— дії буде вÑтановлено проєкт Android Ð´Ð»Ñ "
+#~ "нетипового збираннÑ.\n"
+#~ "Зауважте, що Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб ним можна було ÑкориÑтатиÑÑ, його Ñлід "
+#~ "увімкнути екÑпортуваннÑм набору правил."
+
+#~ msgid "Reverse sorting."
+#~ msgstr "Обернений порÑдок."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Вилучити вузли?"
+
#~ msgid "No Matches"
#~ msgstr "Ðемає збігів"
@@ -12400,9 +12661,6 @@ msgstr "Сталі не можна змінювати."
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "Додати вибрану Ñцену(и), Ñк нащадка вибраного вузла."
-#~ msgid "Warnings:"
-#~ msgstr "ПопередженнÑ:"
-
#~ msgid "Font Size:"
#~ msgstr "Розмір шрифту:"
@@ -12442,9 +12700,6 @@ msgstr "Сталі не можна змінювати."
#~ msgid "Select a split to erase it."
#~ msgstr "Виберіть поділ Ð´Ð»Ñ Ð¹Ð¾Ð³Ð¾ витираннÑ."
-#~ msgid "No name provided"
-#~ msgstr "Ім'Ñ Ð½Ðµ вказано"
-
#~ msgid "Add Node.."
#~ msgstr "Додати вузол…"
@@ -12577,9 +12832,6 @@ msgstr "Сталі не можна змінювати."
#~ msgid "Warning"
#~ msgstr "ПопередженнÑ"
-#~ msgid "Error:"
-#~ msgstr "Помилка:"
-
#~ msgid "Function:"
#~ msgstr "ФункціÑ:"
@@ -12661,9 +12913,6 @@ msgstr "Сталі не можна змінювати."
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "Дублювати вузли графу"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "Вилучити взули графу шейдера"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "Помилка: циклічне поÑиланнÑ"
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index d02d8f8c2c..5102a4b463 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -62,6 +62,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -465,6 +493,10 @@ msgid "Select None"
msgstr ".تمام کا انتخاب"
#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -787,7 +819,8 @@ msgstr ".تمام کا انتخاب"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -892,7 +925,8 @@ msgstr ""
msgid "Matches:"
msgstr ""
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1194,7 +1228,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1388,6 +1422,7 @@ msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr ""
@@ -1613,6 +1648,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1687,6 +1723,7 @@ msgid "New Folder..."
msgstr ""
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr ""
@@ -1847,47 +1884,28 @@ msgid "Inherited by:"
msgstr ""
#: editor/editor_help.cpp
-msgid "Brief Description:"
-msgstr ""
+#, fuzzy
+msgid "Brief Description"
+msgstr "سب سکریپشن بنائیں"
#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr ""
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Theme Properties"
msgstr ".تمام کا انتخاب"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-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 ""
@@ -1896,21 +1914,12 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "سب سکریپشن بنائیں"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Class Description:"
-msgstr "سب سکریپشن بنائیں"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
@@ -1926,11 +1935,6 @@ msgid "Property Descriptions"
msgstr "سب سکریپشن بنائیں"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -1942,11 +1946,6 @@ msgid "Method Descriptions"
msgstr "سب سکریپشن بنائیں"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "سب سکریپشن بنائیں"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2014,8 +2013,8 @@ msgstr ""
msgid "Copy Selection"
msgstr ".تمام کا انتخاب"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2029,6 +2028,48 @@ msgstr ""
msgid "Clear Output"
msgstr "سب سکریپشن بنائیں"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2572,6 +2613,18 @@ msgstr ""
msgid "Project Settings..."
msgstr ""
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2773,10 +2826,6 @@ msgstr ""
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 ""
@@ -2827,10 +2876,6 @@ msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -2853,15 +2898,21 @@ msgstr ".تمام کا انتخاب"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2925,6 +2976,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2934,6 +2989,11 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -2962,11 +3022,6 @@ msgstr ""
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 ""
@@ -3759,8 +3814,8 @@ msgstr ""
msgid "Import As:"
msgstr ""
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+msgid "Preset"
msgstr ""
#: editor/import_dock.cpp
@@ -4200,6 +4255,7 @@ msgid "Change Animation Name:"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr ""
@@ -4765,10 +4821,6 @@ msgid "Sort:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Reverse sorting."
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr ""
@@ -5049,6 +5101,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "ایکشن منتقل کریں"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6117,7 +6174,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6322,11 +6379,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6408,7 +6465,7 @@ msgstr "سب سکریپشن بنائیں"
msgid "Connections to method:"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7193,6 +7250,11 @@ msgid "(empty)"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "ایکشن منتقل کریں"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr ""
@@ -7514,6 +7576,15 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7654,6 +7725,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr ".تمام کا انتخاب"
@@ -7823,6 +7899,105 @@ msgstr ""
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "کمیونٹی"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr ".Ù†ÙˆÙ¹ÙØ¦Ø± Ú©Û’ اکسٹنٹ Ú©Ùˆ تبدیل کیجیۓ"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr ".تمام کا انتخاب"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr ".تمام کا انتخاب"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage All"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8063,6 +8238,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9266,6 +9446,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr ".تمام کا انتخاب"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9403,6 +9588,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9566,10 +9755,6 @@ msgstr ""
msgid "Reset"
msgstr ""
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9625,6 +9810,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9666,10 +9855,24 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10060,11 +10263,35 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10072,7 +10299,7 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+msgid "Child process connected."
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10080,6 +10307,11 @@ msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr ".تمام کا انتخاب"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10096,6 +10328,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr ".تمام کا انتخاب"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10108,6 +10345,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10308,10 +10549,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10320,6 +10557,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "سٹیپ Ú©Û’ ارگمنٹس Ø³ÙØ± Ûیں!"
@@ -10477,6 +10718,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "سب سکریپشن بنائیں"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10614,6 +10864,10 @@ msgid "Create a new variable."
msgstr "سب سکریپشن بنائیں"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "سب سکریپشن بنائیں"
@@ -10775,6 +11029,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -10923,7 +11181,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11571,6 +11830,18 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "سب سکریپشن بنائیں"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "سب سکریپشن بنائیں"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "سب سکریپشن بنائیں"
+
+#, fuzzy
#~ msgid "Tool Select"
#~ msgstr ".تمام کا انتخاب"
diff --git a/editor/translations/vi.po b/editor/translations/vi.po
index 2cad1f6396..060209311d 100644
--- a/editor/translations/vi.po
+++ b/editor/translations/vi.po
@@ -10,12 +10,13 @@
# 38569459 <xxx38569459@gmail.com>, 2018.
# TyTYct Hihi <tytyct@gmail.com>, 2019.
# Steve Dang <itsnguu@outlook.com>, 2019.
+# Peter Anh <peteranh3105@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-07-29 19:20+0000\n"
-"Last-Translator: Steve Dang <itsnguu@outlook.com>\n"
+"PO-Revision-Date: 2019-09-07 13:51+0000\n"
+"Last-Translator: Peter Anh <peteranh3105@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/"
"godot/vi/>\n"
"Language: vi\n"
@@ -23,7 +24,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -34,7 +35,7 @@ msgstr "Hàm convert() có đối số không hợp lệ, sử dụng các hằn
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
+msgstr "Số byte không đủ để giải mã, hoặc cấu trúc không chính xác."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
@@ -46,7 +47,7 @@ msgstr ""
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr ""
+msgstr "Toán hạng không hợp lệ cho toán tử %s, %s và %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
@@ -58,12 +59,40 @@ msgstr ""
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
-msgstr ""
+msgstr "Äối số không hợp lệ để dá»±ng '%s'"
#: core/math/expression.cpp
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "Miễn phí"
@@ -478,6 +507,11 @@ msgid "Select None"
msgstr "Chá»n Không có"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "Chá»n má»™t AnimationPlayer từ Scene Tree để chỉnh sá»­a animation."
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -800,7 +834,8 @@ msgstr "Không thể kết nối tín hiệu"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -901,7 +936,8 @@ msgstr "Tìm kiếm:"
msgid "Matches:"
msgstr "Phù hợp:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1214,7 +1250,7 @@ msgid "Delete Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1406,6 +1442,7 @@ msgid "Add AutoLoad"
msgstr "Thêm AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "ÄÆ°á»ng dẫn:"
@@ -1628,6 +1665,7 @@ msgstr "Äặt làm hiện tại"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "Má»›i"
@@ -1699,6 +1737,7 @@ msgid "New Folder..."
msgstr "Thư mục mới ..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "Làm mới"
@@ -1858,7 +1897,8 @@ msgid "Inherited by:"
msgstr "ÄÆ°á»£c thừa kế bởi:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "Mô tả ngắn gá»n:"
#: editor/editor_help.cpp
@@ -1866,38 +1906,18 @@ msgid "Properties"
msgstr "Thuộc tính"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "Thuộc tính:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "Hàm"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "Hàm:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "Tín hiệu:"
-
-#: editor/editor_help.cpp
msgid "Enumerations"
msgstr ""
#: editor/editor_help.cpp
-msgid "Enumerations:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr ""
@@ -1906,20 +1926,12 @@ msgid "Constants"
msgstr ""
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Class Description"
-msgstr "Mô tả lớp:"
+msgstr "Mô tả lớp"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "Mô tả:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "Hướng dẫn trực tuyến:"
#: editor/editor_help.cpp
@@ -1935,11 +1947,6 @@ msgid "Property Descriptions"
msgstr "Mô tả ngắn gá»n:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Mô tả ngắn gá»n:"
-
-#: 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]!"
@@ -1950,10 +1957,6 @@ msgid "Method Descriptions"
msgstr "Mô tả hàm"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "Mô tả hàm:"
-
-#: 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]!"
@@ -2020,8 +2023,8 @@ msgstr "Äầu ra:"
msgid "Copy Selection"
msgstr "Sao chép lá»±a chá»n"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2034,6 +2037,49 @@ msgstr "Xoá"
msgid "Clear Output"
msgstr "Xoá đầu ra"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "Dừng"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "Bắt đầu"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "Tải"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "Nút"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2608,6 +2654,19 @@ msgstr "Dự án"
msgid "Project Settings..."
msgstr "List Project"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "Phiên bản:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2817,10 +2876,6 @@ msgstr "Tạm dừng Cảnh"
msgid "Stop the scene."
msgstr "Dừng cảnh."
-#: editor/editor_node.cpp editor/editor_profiler.cpp
-msgid "Stop"
-msgstr "Dừng"
-
#: editor/editor_node.cpp
msgid "Play the edited scene."
msgstr "Chạy cảnh đã chỉnh sửa."
@@ -2873,10 +2928,6 @@ msgid "Inspector"
msgstr "Quản lý đối tượng"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "Nút"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "Mở rá»™ng bảng Ä‘iá»u khiển phía dưới"
@@ -2898,15 +2949,21 @@ msgstr "Quản lý Mẫu"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -2969,6 +3026,10 @@ msgstr ""
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -2978,6 +3039,11 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "Tạo Script"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr ""
@@ -3006,11 +3072,6 @@ msgstr "Trạng thái:"
msgid "Edit:"
msgstr "Sá»­a:"
-#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
-#: editor/rename_dialog.cpp
-msgid "Start"
-msgstr "Bắt đầu"
-
#: editor/editor_profiler.cpp
msgid "Measure:"
msgstr "Äo đạc:"
@@ -3803,8 +3864,9 @@ msgstr " Tệp tin"
msgid "Import As:"
msgstr "Nhập vào với:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
msgstr "Cài sẵn ..."
#: editor/import_dock.cpp
@@ -4242,6 +4304,7 @@ msgid "Change Animation Name:"
msgstr "Äổi tên Hoạt ảnh:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "Xoá Hoạt ảnh?"
@@ -4814,11 +4877,6 @@ msgid "Sort:"
msgstr "Sắp xếp:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "Äang yêu cầu..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "Danh mục:"
@@ -5094,6 +5152,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "Chế độ Tỉ lệ"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6158,7 +6221,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6372,11 +6435,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6459,7 +6522,7 @@ msgstr "Dá»n các cảnh gần đây"
msgid "Connections to method:"
msgstr "Kết nối đến Node:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
msgstr ""
@@ -7252,6 +7315,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "Di chuyển Nút"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "Các Công cụ Animation"
@@ -7579,6 +7647,15 @@ msgid "Enable Priority"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "Lá»c tệp tin ..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -7721,6 +7798,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "Xóa Texture hiện tại từ TileSet"
@@ -7891,6 +7973,108 @@ msgstr ""
msgid "TileSet"
msgstr "Xuất Tile Set"
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "Cộng đồng"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "Tạo nodes mới."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "Äổi"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "Äổi tên"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "Xóa"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "Äổi"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "Xoá lá»±a chá»n"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "Chá»n Toàn Bá»™"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "Äổi"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8143,6 +8327,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9354,6 +9543,10 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9492,6 +9685,10 @@ msgid "Plugins"
msgstr ""
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "Cài sẵn ..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9660,10 +9857,6 @@ msgstr ""
msgid "Reset"
msgstr "Äặt lại phóng"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -9719,6 +9912,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -9759,8 +9956,22 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "Xóa Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "Xóa Node(s)"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "Xóa Node(s)"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10156,11 +10367,41 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+#, fuzzy
+msgid "Warning:"
+msgstr "Cảnh báo"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Error:"
+msgstr "Lá»—i!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "Lá»—i!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "Lá»—i!"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "Sao chép Tài nguyên"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "Quét nguồn"
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10168,14 +10409,20 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "Các Nút đã ngắt Kết nối"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "Tạo các điểm."
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10192,6 +10439,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "Xuất hồ sơ"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10204,6 +10456,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10402,10 +10658,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10414,6 +10666,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10569,6 +10825,15 @@ msgstr ""
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "Lá»c các nút"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -10706,6 +10971,10 @@ msgid "Create a new variable."
msgstr "Tạo nodes mới."
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "Tín hiệu:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "Tạo"
@@ -10865,6 +11134,10 @@ msgid "Editing Signal:"
msgstr "Chỉnh sửa Signal:"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11012,7 +11285,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -11670,7 +11944,31 @@ msgstr ""
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Không thể chỉnh sửa hằng số."
+
+#~ msgid "Properties:"
+#~ msgstr "Thuộc tính:"
+
+#~ msgid "Methods:"
+#~ msgstr "Hàm:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "Mô tả:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Mô tả ngắn gá»n:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "Mô tả hàm:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "Äang yêu cầu..."
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "Xóa Node(s)?"
#~ msgid "No Matches"
#~ msgstr "Không khớp"
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index b79ebd625f..5c8029a727 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -54,12 +54,15 @@
# liu lizhi <kz-xy@163.com>, 2019.
# çŽ‹å¾ <jackey20000331@gmail.com>, 2019.
# 巴哈姆特 <ttwings@126.com>, 2019.
+# Morge Tolbert <pygyme@gmail.com>, 2019.
+# idleman <1524328475@qq.com>, 2019.
+# king <wangding1992@126.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2019-08-29 13:35+0000\n"
-"Last-Translator: yzt <834950797@qq.com>\n"
+"PO-Revision-Date: 2019-09-26 11:51+0000\n"
+"Last-Translator: idleman <1524328475@qq.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
"Language: zh_CN\n"
@@ -72,45 +75,74 @@ 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_â€æ‰“头的常é‡ã€‚"
+msgstr "convert()çš„å‚æ•°ç±»åž‹æ— æ•ˆï¼Œè¯·ä½¿ç”¨TYPE_*常é‡ã€‚"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "没有足够的字节æ¥è§£ç æˆ–无效的格å¼ã€‚"
+msgstr "è§£ç çš„字节ä¸è¶³ï¼Œæˆ–无效的格å¼ã€‚"
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr "表达å¼ä¸­æœ‰éžæ³•的输入 %i (未通过)"
+msgstr "表达å¼ä¸­æœ‰æ— æ•ˆè¾“å…¥ %i (未通过)"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "self无法使用因为实例为空(ä¸é€šè¿‡)"
+msgstr "self无法使用因为实例为空(未通过)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "æ“作符的æ“作数无效%s, %s and %s."
+msgstr "æ“作符 %s çš„æ“作数 %s å’Œ %s 无效。"
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
-msgstr "无效类型索引 %s,从基类 %s"
+msgstr "类型 %s (基类 %s) 的索引无效"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr "从基类 %s 无效的å称索引 '%s'"
+msgstr "命å的索引 '%s' 对基类 %s 无效"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
-msgstr "æž„é€ çš„å‚æ•°æ— æ•ˆï¼š '%s'"
+msgstr "构造 '%s' çš„å‚æ•°æ— æ•ˆ"
#: core/math/expression.cpp
msgid "On call to '%s':"
-msgstr "对'%s'调用 :"
+msgstr "对'%s'的调用 :"
+
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "æ··åˆ"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
#: editor/animation_bezier_editor.cpp
msgid "Free"
-msgstr "释放"
+msgstr "自由"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
@@ -154,7 +186,7 @@ msgstr "动画å¤åˆ¶å…³é”®å¸§"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
-msgstr "删除关键帧"
+msgstr "动画删除关键帧"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
@@ -276,7 +308,7 @@ msgstr "æ’值模å¼"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr "循环包裹模å¼ï¼ˆæ’入开始循环结æŸï¼‰"
+msgstr "æ— ç¼å¾ªçŽ¯æ¨¡å¼ï¼ˆä½¿ç”¨å¾ªçޝ开始æ’值循环结æŸï¼‰"
#: editor/animation_track_editor.cpp
msgid "Remove this track."
@@ -405,7 +437,7 @@ msgstr "釿–°æŽ’列轨é“"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr "å˜æ¢è½¨è¿¹ä»…适用于基于空间的节点。"
+msgstr "å˜æ¢è½¨è¿¹ä»…应用基于Spatial节点的节点。"
#: editor/animation_track_editor.cpp
msgid ""
@@ -425,7 +457,7 @@ msgstr "动画轨迹åªèƒ½æŒ‡å‘AnimationPlayer节点。"
#: editor/animation_track_editor.cpp
msgid "An animation player can't animate itself, only other players."
-msgstr "动画播放器ä¸èƒ½æ’­æ”¾æœ¬èº«ï¼Œåªèƒ½æ’­æ”¾å…¶ä»–播放器。"
+msgstr "动画播放器ä¸èƒ½åŠ¨ç”»åŒ–è‡ªå·±ï¼Œåªèƒ½åŠ¨ç”»åŒ–å…¶ä»–æ’­æ”¾å™¨ã€‚"
#: editor/animation_track_editor.cpp
msgid "Not possible to add a new track without a root"
@@ -441,7 +473,7 @@ msgstr "轨é“路径无效,因此无法添加键。"
#: editor/animation_track_editor.cpp
msgid "Track is not of type Spatial, can't insert key"
-msgstr "Track䏿˜¯Spatial类型,ä¸èƒ½ä½œä¸ºé”®å€¼æ’å…¥"
+msgstr "轨é“䏿˜¯Spatial类型,ä¸èƒ½æ’入键"
#: editor/animation_track_editor.cpp
msgid "Add Transform Track Key"
@@ -453,7 +485,7 @@ msgstr "添加轨é“é”®"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a method key."
-msgstr "跟踪路径无效,所以ä¸èƒ½æ·»åŠ æ–¹æ³•å¸§ã€‚"
+msgstr "轨é“路径无效,所以ä¸èƒ½æ·»åŠ æ–¹æ³•å¸§ã€‚"
#: editor/animation_track_editor.cpp
msgid "Add Method Track Key"
@@ -516,6 +548,11 @@ msgid "Select None"
msgstr "å–æ¶ˆé€‰æ‹©"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "包å«åŠ¨ç”»çš„ AnimationPlayer 节点没有设置路径。"
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "仅显示在树中选择的节点的轨é“。"
@@ -694,14 +731,12 @@ msgid "Replaced %d occurrence(s)."
msgstr "替æ¢äº†%d项。"
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d match."
-msgstr "找到%d个匹é…项。"
+msgstr "%d 匹é…。"
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "找到%d个匹é…项。"
+msgstr "ï¼…d匹é…项。"
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -835,7 +870,8 @@ msgstr "无法连接信å·"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -936,7 +972,8 @@ msgstr "æœç´¢:"
msgid "Matches:"
msgstr "匹é…项:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1145,20 +1182,18 @@ msgid "License"
msgstr "许å¯è¯"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
-msgstr "第三方许å¯è¯"
+msgstr "第三方许å¯"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot引擎ä¾èµ–第三方开æºä»£ç åº“,全部符åˆMIT 许å¯è¯çš„æ¡æ¬¾ã€‚ä¸‹é¢åˆ—出所有第三方组"
-"件相关的版æƒå£°æ˜Žå’Œè®¸å¯åè®®æ¡æ¬¾ã€‚"
+"Godot引擎ä¾èµ–多个第三方å…费开æºä»£ç åº“,这些库全部兼容MIT许å¯è¯çš„æ¡æ¬¾ã€‚ä»¥ä¸‹æ˜¯"
+"所有此类第三方组件åŠå…¶å„自版æƒå£°æ˜Žå’Œè®¸å¯æ¡æ¬¾çš„详尽列表。"
#: editor/editor_about.cpp
msgid "All Components"
@@ -1173,9 +1208,8 @@ msgid "Licenses"
msgstr "许å¯è¯"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "打开压缩包出错,éžzipæ ¼å¼ã€‚"
+msgstr "打开压缩文件时出错,éžzipæ ¼å¼ã€‚"
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1243,7 +1277,8 @@ msgid "Delete Bus Effect"
msgstr "删除音频总线效果"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "éŸ³é¢‘æ€»çº¿ï¼Œæ‹–æ”¾é‡æ–°æŽ’列。"
#: editor/editor_audio_buses.cpp
@@ -1434,6 +1469,7 @@ msgid "Add AutoLoad"
msgstr "添加自动加载"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "路径:"
@@ -1655,6 +1691,7 @@ msgstr "设为当å‰"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "新建"
@@ -1725,6 +1762,7 @@ msgid "New Folder..."
msgstr "新建文件夹 ..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "刷新"
@@ -1880,7 +1918,8 @@ msgid "Inherited by:"
msgstr "派生类:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "简介:"
#: editor/editor_help.cpp
@@ -1888,38 +1927,18 @@ msgid "Properties"
msgstr "属性"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "属性:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "方法"
#: editor/editor_help.cpp
-msgid "Methods:"
-msgstr "方法:"
-
-#: editor/editor_help.cpp
msgid "Theme Properties"
msgstr "主题属性"
#: editor/editor_help.cpp
-msgid "Theme Properties:"
-msgstr "Theme Properties:"
-
-#: 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 "枚举 "
@@ -1928,19 +1947,12 @@ msgid "Constants"
msgstr "常é‡"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "常é‡:"
-
-#: editor/editor_help.cpp
msgid "Class Description"
msgstr "类说明"
#: editor/editor_help.cpp
-msgid "Class Description:"
-msgstr "类说明:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+#, fuzzy
+msgid "Online Tutorials"
msgstr "在线教程:"
#: editor/editor_help.cpp
@@ -1957,10 +1969,6 @@ msgid "Property Descriptions"
msgstr "属性说明"
#: editor/editor_help.cpp
-msgid "Property Descriptions:"
-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]!"
@@ -1973,10 +1981,6 @@ msgid "Method Descriptions"
msgstr "方法说明"
#: editor/editor_help.cpp
-msgid "Method Descriptions:"
-msgstr "方法说明:"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2045,8 +2049,8 @@ msgstr "日志:"
msgid "Copy Selection"
msgstr "å¤åˆ¶é€‰æ‹©"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2059,10 +2063,51 @@ msgstr "清除"
msgid "Clear Output"
msgstr "清空输出"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "åœæ­¢"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "开始"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr "å‘下"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr "å‘上"
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr "节点"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
-#, fuzzy
msgid "New Window"
-msgstr "窗å£"
+msgstr "新窗å£"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2214,7 +2259,6 @@ msgstr ""
"此资æºå·²å¯¼å…¥, 因此无法编辑。在 \"导入\" 颿¿ä¸­æ›´æ”¹å…¶è®¾ç½®, ç„¶åŽé‡æ–°å¯¼å…¥ã€‚"
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
@@ -2222,18 +2266,17 @@ msgid ""
"understand this workflow."
msgstr ""
"场景已被导入, 对它的更改将ä¸ä¼šä¿ç•™ã€‚\n"
-"å…许对它的实例或继承进行更改。\n"
+"对其进行实例化或继承将å…许对其进行更改。\n"
"请阅读与导入场景相关的文档, 以便更好地ç†è§£æ­¤å·¥ä½œæµã€‚"
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"这是一个远程对象,因此对它的更改将ä¸ä¼šè¢«ä¿ç•™ã€‚\n"
-"请阅读与调试相关的文档,以便更好地ç†è§£è¿™ä¸ªå·¥ä½œæµã€‚"
+"这是一个远程对象,因此ä¸ä¼šä¿ç•™å¯¹å…¶çš„æ›´æ”¹ã€‚ 请阅读与调试相关的文档,以更好地了"
+"解此工作æµç¨‹ã€‚"
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -2378,9 +2421,8 @@ msgid "Close Scene"
msgstr "关闭场景"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "关闭场景"
+msgstr "釿–°æ‰“开关闭的场景"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2486,9 +2528,8 @@ msgid "Close Tab"
msgstr "关闭标签页"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "关闭标签页"
+msgstr "撤销关闭标签页"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2621,18 +2662,29 @@ msgid "Project"
msgstr "项目"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "项目设置"
+msgstr "项目设置..."
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "版本:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
#: editor/editor_node.cpp
msgid "Export..."
msgstr "导出..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Install Android Build Template..."
-msgstr "安装 Android 构建模æ¿"
+msgstr "安装 Android 构建模æ¿..."
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
@@ -2643,9 +2695,8 @@ msgid "Tools"
msgstr "工具"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "查看孤立资æº"
+msgstr "å•ä¸€èµ„æºæµè§ˆå™¨..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2738,9 +2789,8 @@ msgid "Editor"
msgstr "编辑器"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "编辑器设置"
+msgstr "编辑器设置..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -2775,14 +2825,12 @@ msgid "Open Editor Settings Folder"
msgstr "æ‰“å¼€â€œç¼–è¾‘å™¨è®¾ç½®â€æ–‡ä»¶å¤¹"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "管ç†ç¼–辑器功能"
+msgstr "管ç†ç¼–辑器功能..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "管ç†å¯¼å‡ºæ¨¡æ¿"
+msgstr "管ç†å¯¼å‡ºæ¨¡æ¿..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2804,7 +2852,7 @@ msgstr "在线文档"
#: editor/editor_node.cpp
msgid "Q&A"
-msgstr "常è§é—®é¢˜ä¸Žç­”案"
+msgstr "问答"
#: editor/editor_node.cpp
msgid "Issue Tracker"
@@ -2838,10 +2886,6 @@ msgstr "æš‚åœè¿è¡Œåœºæ™¯"
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 "打开并è¿è¡Œåœºæ™¯ã€‚"
@@ -2880,9 +2924,8 @@ msgid "Update When Changed"
msgstr "当有更改时更新"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Hide Update Spinner"
-msgstr "ç¦ç”¨è‡ªåŠ¨æ›´æ–°"
+msgstr "éšè—更新微调"
#: editor/editor_node.cpp
msgid "FileSystem"
@@ -2893,10 +2936,6 @@ msgid "Inspector"
msgstr "å±žæ€§é¢æ¿"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr "节点"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "å±•å¼€åº•éƒ¨é¢æ¿"
@@ -2918,17 +2957,22 @@ msgstr "ç®¡ç†æ¨¡æ¿"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
-"将安装Android项目以进行自定义构建。\n"
-"注æ„,为了å¯ç”¨ï¼Œéœ€è¦ä¸ºæ¯ä¸ªå¯¼å‡ºé¢„设å¯ç”¨ã€‚"
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
"Android 构建模æ¿å·²ç»å®‰è£…且ä¸ä¼šè¢«è¦†ç›–。\n"
"请先移除“buildâ€ç›®å½•å†é‡æ–°å°è¯•æ­¤æ“作。"
@@ -2993,6 +3037,11 @@ msgstr "打开下一个编辑器"
msgid "Open the previous Editor"
msgstr "打开上一个编辑器"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "æ²¡æœ‰æŒ‡å®šçš„è¡¨é¢æºã€‚"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "创建网格预览"
@@ -3002,6 +3051,11 @@ msgid "Thumbnail..."
msgstr "缩略图..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "打开脚本:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "编辑æ’ä»¶"
@@ -3030,11 +3084,6 @@ msgstr "状æ€ï¼š"
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 "测é‡:"
@@ -3246,7 +3295,6 @@ msgid "Import From Node:"
msgstr "从节点中导入:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Redownload"
msgstr "釿–°ä¸‹è½½"
@@ -3265,7 +3313,7 @@ msgstr "下载"
#: editor/export_template_manager.cpp
msgid "Official export templates aren't available for development builds."
-msgstr ""
+msgstr "开呿ž„建下官方导出模æ¿ä¸å¯ç”¨ã€‚"
#: editor/export_template_manager.cpp
msgid "(Missing)"
@@ -3346,21 +3394,18 @@ msgid "Download Complete."
msgstr "下载完æˆã€‚"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "无法ä¿å­˜ä¸»é¢˜åˆ°æ–‡ä»¶:"
+msgstr "无法移除临时文件:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
-msgstr "模æ¿å®‰è£…失败。å¯ä»¥åœ¨ '%s' ä¸­æ‰¾åˆ°è¿™äº›é—®é¢˜æ¨¡æ¿æ–‡æ¡£ã€‚"
+msgstr "模æ¿å®‰è£…å¤±è´¥ã€‚æœ‰é—®é¢˜çš„æ¨¡æ¿æ–‡æ¡£åœ¨ '%s' 。"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error requesting URL:"
-msgstr "请求链接错误: "
+msgstr "错误的请求链接:"
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3477,9 +3522,8 @@ msgid "No name provided."
msgstr "没有æä¾›ä»»ä½•å称。"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "æä¾›çš„åç§°åŒ…å«æ— æ•ˆå­—符"
+msgstr "存在无效字符。"
#: editor/filesystem_dock.cpp
msgid "A file or folder with this name already exists."
@@ -3510,7 +3554,6 @@ msgid "New Inherited Scene"
msgstr "新继承的场景"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
msgstr "打开场景"
@@ -3519,12 +3562,10 @@ msgid "Instance"
msgstr "创建实例节点"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
msgstr "添加到收è—夹"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
msgstr "从收è—夹中删除"
@@ -3549,9 +3590,8 @@ msgid "Move To..."
msgstr "移动..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "新建场景"
+msgstr "新建场景..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "New Script..."
@@ -3579,21 +3619,18 @@ msgid "Rename"
msgstr "é‡å‘½å"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "上一个文件夹"
+msgstr "上一个文件夹/文件"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "下一个文件夹"
+msgstr "下一个文件夹/文件"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "釿–°æ‰«ææ–‡ä»¶ç³»ç»Ÿ"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
msgstr "åˆ‡æ¢æ‹†åˆ†æ¨¡å¼"
@@ -3622,9 +3659,8 @@ msgid "Overwrite"
msgstr "覆盖"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "从场景中创建"
+msgstr "创建场景"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -3702,23 +3738,20 @@ msgid "Invalid group name."
msgstr "ç»„åæ— æ•ˆã€‚"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "管ç†åˆ†ç»„"
+msgstr "é‡å‘½å组"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "删除图片分组"
+msgstr "删除分组"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
msgstr "分组"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes Not in Group"
-msgstr "ä¸åœ¨åˆ†ç»„中的节点"
+msgstr "节点ä¸åœ¨åˆ†ç»„中"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
@@ -3731,7 +3764,7 @@ msgstr "分组中的节点"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "空的分组会自动移除。"
#: editor/groups_editor.cpp
msgid "Group Editor"
@@ -3834,9 +3867,10 @@ msgstr " 文件"
msgid "Import As:"
msgstr "导入为:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "预设..."
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "预设"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3941,9 +3975,8 @@ msgid "MultiNode Set"
msgstr "多节点组"
#: editor/node_dock.cpp
-#, fuzzy
msgid "Select a single node to edit its signals and groups."
-msgstr "请选择一个节点æ¥è®¾ç½®ä¿¡å·æˆ–分组。"
+msgstr "选择一个节点以编辑其信å·å’Œç»„。"
#: editor/plugin_config_dialog.cpp
msgid "Edit a Plugin"
@@ -4106,9 +4139,8 @@ msgid "Open Animation Node"
msgstr "打开动画节点"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "三角形已ç»å­˜åœ¨"
+msgstr "三角形已ç»å­˜åœ¨ã€‚"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4248,9 +4280,8 @@ msgid "Edit Filtered Tracks:"
msgstr "编辑轨é“过滤器:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
-msgstr "å…许过滤"
+msgstr "å¯ç”¨è¿‡æ»¤"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -4269,6 +4300,7 @@ msgid "Change Animation Name:"
msgstr "é‡å‘½å动画:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "是å¦åˆ é™¤åŠ¨ç”»ï¼Ÿ"
@@ -4384,9 +4416,8 @@ msgid "Enable Onion Skinning"
msgstr "å¯ç”¨æ´‹è‘±çš®(Onion Skinning)"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "洋葱皮(Onion Skining)"
+msgstr "洋葱皮选项"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4715,37 +4746,32 @@ msgid "Request failed, return code:"
msgstr "请求失败,错误代ç :"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed."
msgstr "请求失败。"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Cannot save response to:"
-msgstr "无法ä¿å­˜ä¸»é¢˜åˆ°æ–‡ä»¶:"
+msgstr "无法将å“应ä¿å­˜åˆ°ï¼š"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "写错误。"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
msgstr "请求失败,é‡å®šå‘次数过多"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect loop."
-msgstr "循环é‡å®šå‘。"
+msgstr "é‡å®šå‘循环。"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Request failed, timeout"
-msgstr "请求失败,错误代ç :"
+msgstr "请求失败,超时"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "æ—¶é—´"
+msgstr "超时。"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
@@ -4788,9 +4814,8 @@ msgid "Idle"
msgstr "空闲"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Install..."
-msgstr "安装"
+msgstr "安装..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Retry"
@@ -4825,25 +4850,18 @@ msgid "All"
msgstr "全部"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Import..."
-msgstr "釿–°å¯¼å…¥..."
+msgstr "导入…"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Plugins..."
-msgstr "æ’ä»¶"
+msgstr "æ’ä»¶..."
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
msgstr "排åº:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "正在请求。。"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "分类:"
@@ -4853,9 +4871,8 @@ msgid "Site:"
msgstr "站点:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support"
-msgstr "支æŒ..."
+msgstr "支æŒ"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
@@ -4866,9 +4883,8 @@ msgid "Testing"
msgstr "测试"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Loading..."
-msgstr "加载..."
+msgstr "载入中..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -4924,39 +4940,32 @@ msgid "Rotation Step:"
msgstr "旋转步长:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Move Vertical Guide"
-msgstr "移动垂直标尺"
+msgstr "移动垂直å‚考线"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Vertical Guide"
-msgstr "创建新的垂直标尺"
+msgstr "创建垂直å‚考线"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Remove Vertical Guide"
-msgstr "删除垂直标尺"
+msgstr "删除垂直å‚考线"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Move Horizontal Guide"
-msgstr "移动水平标尺"
+msgstr "移动水平å‚考线"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Horizontal Guide"
-msgstr "创建水平标尺"
+msgstr "创建水平å‚考线"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Remove Horizontal Guide"
-msgstr "移除水平标尺"
+msgstr "移除水平å‚考线"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Horizontal and Vertical Guides"
-msgstr "创建垂直水平标尺"
+msgstr "创建垂直水平å‚考线"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move pivot"
@@ -5012,46 +5021,39 @@ msgstr "编辑锚点"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "选择工具"
+msgstr "é”定选定"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "删除已选中"
+msgstr "è§£é”æ‰€é€‰"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "å¤åˆ¶é€‰æ‹©"
+msgstr "分组选择"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "å¤åˆ¶é€‰æ‹©"
+msgstr "å–æ¶ˆé€‰å®šåˆ†ç»„"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "粘贴姿势"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "清除姿势"
+msgstr "清除å‚考线"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
-msgstr "从节点制作自定义骨骼"
+msgstr "从节点创建自定义骨骼"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "清除姿势"
+msgstr "清除骨骼"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5122,7 +5124,12 @@ msgstr "点击设置对象的旋转中心。"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Pan Mode"
-msgstr "移动画布"
+msgstr "平移模å¼"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "è¿è¡Œæ¨¡å¼:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
@@ -5131,88 +5138,80 @@ msgstr "开关å¸é™„。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Use Snap"
-msgstr "使用å¸é™„"
+msgstr "使用对é½"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snapping Options"
-msgstr "å¸é™„选项"
+msgstr "对é½é€‰é¡¹"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
-msgstr "å¸é™„到网格"
+msgstr "对é½ç½‘æ ¼"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
-msgstr "使用旋转å¸é™„"
+msgstr "使用旋转对é½"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
-msgstr "相对å¸é™„"
+msgstr "相对对é½"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Pixel Snap"
-msgstr "使用åƒç´ å¸é™„"
+msgstr "使用åƒç´ å¯¹é½"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
-msgstr "智能å¸é™„"
+msgstr "智能对é½"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Configure Snap..."
-msgstr "设置å¸é™„..."
+msgstr "设置对é½..."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
-msgstr "å¸é™„到父节点"
+msgstr "对é½åˆ°çˆ¶çº§"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
-msgstr "å¸é™„到node锚点"
+msgstr "对é½åˆ°èŠ‚ç‚¹é”šç‚¹"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
-msgstr "å¸é™„到nodeè¾¹"
+msgstr "对é½åˆ°èŠ‚ç‚¹ä¾§"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
-msgstr "å¸é™„到节点中心ä½ç½®"
+msgstr "对é½åˆ°èŠ‚ç‚¹ä¸­å¿ƒä½ç½®"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
-msgstr "å¸é™„到其他node节点"
+msgstr "对é½åˆ°å…¶ä»–node节点"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
-msgstr "å¸é™„到标尺"
+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 "é”定选中对象的ä½ç½®ã€‚"
+msgstr "将所选对象é”定到该ä½ç½®ï¼ˆæ— æ³•移动)。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock the selected object (can be moved)."
-msgstr "è§£é”选中对象的ä½ç½®ã€‚"
+msgstr "è§£é”æ‰€é€‰å¯¹è±¡ï¼ˆå¯ä»¥ç§»åŠ¨ï¼‰ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Makes sure the object's children are not selectable."
-msgstr "ç¡®ä¿èŠ‚ç‚¹çš„å­å­™æ— æ³•被选中。"
+msgstr "ç¡®ä¿å¯¹è±¡çš„å­é¡¹ä¸å¯é€‰æ‹©ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Restores the object's children's ability to be selected."
-msgstr "æ¢å¤èŠ‚ç‚¹çš„å­å­™èƒ½å¤Ÿè¢«é€‰ä¸­ã€‚"
+msgstr "æ¢å¤é€‰æ‹©å¯¹è±¡çš„å­çº§çš„功能。"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -5273,9 +5272,8 @@ msgid "Frame Selection"
msgstr "最大化显示选中节点"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Preview Canvas Scale"
-msgstr "ç²¾çµé›†é¢„览"
+msgstr "预览画布比例"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5329,26 +5327,25 @@ msgid "Divide grid step by 2"
msgstr "网格步进除以2"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "Rear视图"
+msgstr "平移视图"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
-msgstr "添加(Add) %s"
+msgstr "添加%s"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Adding %s..."
-msgstr "添加(Adding) %s..."
+msgstr "正在添加%s ..."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
-msgstr "无法实例化没有根的多个节点。"
+msgstr "没有根节点无法实例化多个节点。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Create Node"
-msgstr "新节点"
+msgstr "创建节点"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -5356,9 +5353,8 @@ msgid "Error instancing scene from %s"
msgstr "从%s实例化场景出错"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
-msgstr "修改默认值"
+msgstr "更改默认类型"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5370,7 +5366,7 @@ msgstr ""
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Create Polygon3D"
-msgstr "创建3D多边形"
+msgstr "创建Polygon3D"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly"
@@ -5393,14 +5389,13 @@ msgstr "加载Emission Mask(å‘å°„å±è”½ï¼‰"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Restart"
-msgstr "ç«‹å³é‡æ–°å¯åЍ"
+msgstr "釿–°å¯åЍ"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
-msgstr "清除Emission Mask(å‘å°„å±è”½ï¼‰"
+msgstr "清除å‘å°„å±è”½"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5416,12 +5411,12 @@ msgstr "生æˆé¡¶ç‚¹è®¡æ•°:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Mask"
-msgstr "å‘å…‰é®ç½©ï¼ˆmask)"
+msgstr "å‘å°„é®ç½©"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Capture from Pixel"
-msgstr "从åƒç´ æ•æ‰"
+msgstr "从åƒç´ æ•获"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5443,14 +5438,12 @@ msgid "Create Emission Points From Node"
msgstr "从节点创建å‘射器(Emission)"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
msgstr "å¹³é¢0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "å¹³é¢1"
+msgstr "å¹³é¢ 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5477,33 +5470,28 @@ msgid "Load Curve Preset"
msgstr "加载曲线预设"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
-msgstr "添加顶点"
+msgstr "添加点"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
-msgstr "移除顶点"
+msgstr "移除点"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
msgstr "左线性"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
msgstr "å³çº¿æ€§"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
-msgstr "加载预设"
+msgstr "载入预置"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Curve Point"
-msgstr "移除路径顶点"
+msgstr "移除曲线点"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Toggle Curve Linear Tangent"
@@ -5554,22 +5542,20 @@ msgid "This doesn't work on scene root!"
msgstr "æ­¤æ“作无法引用在根节点上ï¼"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "创建Trimesh(三维网格)形状"
+msgstr "åˆ›å»ºä¸‰ç»´ç½‘æ ¼é™æ€å½¢çж"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
msgstr "创建形状失败ï¼"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "创建 凸(Convex) 形状"
+msgstr "创建凸形"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
-msgstr "创建导航Mesh(网格)"
+msgstr "创建导航网格"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Contained Mesh is not of type ArrayMesh."
@@ -5581,7 +5567,7 @@ msgstr "UV展开失败,å¯èƒ½è¯¥ç½‘æ ¼å¹¶éžæµå½¢ï¼Ÿ"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "No mesh to debug."
-msgstr "没有è¦è°ƒè¯•çš„mesh。"
+msgstr "没有è¦è°ƒè¯•的网格。"
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/sprite_editor_plugin.cpp
@@ -5610,20 +5596,19 @@ msgstr "创建轮廓(outlines)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh"
-msgstr "网络"
+msgstr "网 格"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
-msgstr "åˆ›å»ºä¸‰ç»´é™æ€èº«ä½“(Body)"
+msgstr "åˆ›å»ºä¸‰ç»´é™æ€å®žä½“(Body)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Collision Sibling"
msgstr "创建三维碰撞åŒçº§"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "创建凸(Convex)碰撞åŒçº§"
+msgstr "创建凸型碰撞åŒçº§"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5631,7 +5616,7 @@ msgstr "创建轮廓网格(Outline Mesh)..."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "View UV1"
-msgstr "查看UV1"
+msgstr "视图UV1"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "View UV2"
@@ -5791,26 +5776,23 @@ msgstr "ç”Ÿæˆæ—¶é—´ï¼ˆç§’):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "The geometry's faces don't contain any area."
-msgstr ""
+msgstr "几何(é¢ï¼‰ä¸åŒ…å«ä»»ä½•区域。"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "The geometry doesn't contain any faces."
-msgstr "节点ä¸åŒ…å«å‡ ä½•(é¢ï¼‰ã€‚"
+msgstr "几何体ä¸åŒ…å«ä»»ä½•é¢ã€‚"
#: editor/plugins/particles_editor_plugin.cpp
msgid "\"%s\" doesn't inherit from Spatial."
-msgstr ""
+msgstr "\"%s\"ä¸ä»Žç©ºé—´(Spatial)继承。"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain geometry."
-msgstr "节点ä¸åŒ…å«å‡ ä½•。"
+msgstr "\"%s\"ä¸åŒ…å«å‡ ä½•体。"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "\"%s\" doesn't contain face geometry."
-msgstr "节点ä¸åŒ…å«å‡ ä½•。"
+msgstr "\"%s\"ä¸åŒ…å«é¢å‡ ä½•体。"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -5981,7 +5963,6 @@ msgid "Split Segment (in curve)"
msgstr "拆分(曲线)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
msgstr "移动关节"
@@ -6204,7 +6185,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr "类型:"
@@ -6242,9 +6223,8 @@ msgid "Error writing TextFile:"
msgstr "写入文本文件时出错:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "找ä¸åˆ°ç –å—:"
+msgstr "无法在以下ä½ç½®åŠ è½½æ–‡ä»¶ï¼š"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
@@ -6267,9 +6247,8 @@ msgid "Error Importing"
msgstr "导入出错"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
-msgstr "新建文本文档..."
+msgstr "新文本文件..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Open File"
@@ -6305,18 +6284,16 @@ msgid "Find Next"
msgstr "查找下一项"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Filter scripts"
-msgstr "属性筛选"
+msgstr "过滤脚本"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "åˆ‡æ¢æŒ‰å­—æ¯è¡¨æŽ’åºæ–¹å¼æŽ’列方法。"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Filter methods"
-msgstr "筛选模å¼ï¼š"
+msgstr "过滤方å¼"
#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
@@ -6351,9 +6328,8 @@ msgid "Open..."
msgstr "打开…"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reopen Closed Script"
-msgstr "打开脚本"
+msgstr "釿–°æ‰“开关闭的脚本"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6409,14 +6385,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "啿­¥è·³è¿‡"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "跳过"
@@ -6434,18 +6410,16 @@ msgid "Debug with External Editor"
msgstr "使用外部编辑器进行调试"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "打开Godot在线文档"
+msgstr "打开Godot在线文档。"
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "请求文档"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "通过æä¾›å馈å助改进Godot文档"
+msgstr "通过æä¾›å馈帮助改进godot文档。"
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6490,22 +6464,18 @@ msgid "Search Results"
msgstr "æœç´¢ç»“æžœ"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Scripts"
-msgstr "清除近期的场景"
+msgstr "清除最近的脚本"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "连接到节点:"
+msgstr "与方法的连接:"
-#: editor/plugins/script_text_editor.cpp
-#, fuzzy
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
msgid "Source"
-msgstr "æº:"
+msgstr "æº"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
msgstr "ä¿¡å·"
@@ -6514,10 +6484,9 @@ msgid "Target"
msgstr "构建目标"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "没有任何物体连接到节点 '%s' 的输入 '%s' 。"
+msgstr "从节点'ï¼…s'到节点'ï¼…s'的信å·'ï¼…s'缺少连接方法'ï¼…s'。"
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6574,9 +6543,8 @@ msgid "Bookmarks"
msgstr "书签"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Breakpoints"
-msgstr "创建点。"
+msgstr "断点"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
@@ -6620,9 +6588,8 @@ msgid "Complete Symbol"
msgstr "代ç è¡¥å…¨"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "缩放选中项"
+msgstr "评估选择"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -6653,24 +6620,20 @@ msgid "Contextual Help"
msgstr "æœç´¢å…‰æ ‡ä½ç½®"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "切æ¢è‡ªç”±è§‚察模å¼"
+msgstr "切æ¢ä¹¦ç­¾"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "å‰å¾€ä¸‹ä¸€ä¸ªæ–­ç‚¹"
+msgstr "转到下一个书签"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "å‰å¾€ä¸Šä¸€ä¸ªæ–­ç‚¹"
+msgstr "转到上一个书签"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "移除类项目"
+msgstr "删除所有书签"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function..."
@@ -6698,13 +6661,12 @@ msgid "Go to Previous Breakpoint"
msgstr "å‰å¾€ä¸Šä¸€ä¸ªæ–­ç‚¹"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"ç£ç›˜ä¸­çš„下列文件已更新。\n"
-"请选择执行那项æ“作?:"
+"æ­¤ç€è‰²å™¨å·²åœ¨ç£ç›˜ä¸Šä¿®æ”¹.\n"
+"应该采å–什么行动?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6875,14 +6837,12 @@ msgid "Rear"
msgstr "åŽæ–¹"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Align Transform with View"
-msgstr "对é½è§†å›¾"
+msgstr "å°†å˜æ¢ä¸Žè§†å›¾å¯¹é½"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Align Rotation with View"
-msgstr "选中项与视图对é½"
+msgstr "将旋转与视图对é½"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
@@ -6937,9 +6897,8 @@ msgid "Audio Listener"
msgstr "音频监å¬å™¨"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Enable Doppler"
-msgstr "å…许过滤"
+msgstr "å¯ç”¨å¤šæ™®å‹’效应"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
@@ -6995,7 +6954,7 @@ msgstr "将节点å¸é™„至地é¢"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr ""
+msgstr "找ä¸åˆ°ä¸€ä¸ªåšå®žçš„åœ°æ¿æ¥å¿«é€Ÿé€‰æ‹©ã€‚"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7008,9 +6967,8 @@ msgstr ""
"Alt+é¼ æ ‡å³é”®ï¼šæ˜¾ç¤ºåˆ—表"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Use Local Space"
-msgstr "æœ¬åœ°ç©ºé—´æ¨¡å¼ (%s)"
+msgstr "使用本地空间"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7037,9 +6995,8 @@ msgid "Right View"
msgstr "å³è§†å›¾"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
-msgstr "åˆ‡æ¢æŠ•å½±ï¼ˆæ­£äº¤ï¼‰è§†å›¾"
+msgstr "åˆ‡æ¢æŠ•å½±/正交视图"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
@@ -7063,9 +7020,8 @@ msgid "Transform"
msgstr "å˜æ¢"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
-msgstr "å¸é™„物体到地é¢"
+msgstr "将对象对é½åˆ°åœ°æ¿"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
@@ -7109,9 +7065,8 @@ msgstr "显示网格"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Settings..."
-msgstr "设置"
+msgstr "设置..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7254,14 +7209,12 @@ msgid "Settings:"
msgstr "设置:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "最大化显示选中节点"
+msgstr "未选择帧"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "添加帧"
+msgstr "添加%d帧"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7292,6 +7245,11 @@ msgid "(empty)"
msgstr "(空)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
+msgid "Move Frame"
+msgstr "粘贴帧"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animations:"
msgstr "动画:"
@@ -7340,24 +7298,20 @@ msgid "Select Frames"
msgstr "选择帧"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "水平翻转"
+msgstr "æ°´å¹³:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "顶点"
+msgstr "垂直:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "全选"
+msgstr "选择/清除所有帧"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "从场景中创建"
+msgstr "从 Sprite Sheet 中创建帧"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7425,9 +7379,8 @@ msgid "Remove All"
msgstr "移除全部"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "编辑主题..."
+msgstr "编辑主题"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7454,23 +7407,20 @@ msgid "Create From Current Editor Theme"
msgstr "从当å‰ç¼–辑器主题模æ¿åˆ›å»º"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "鼠标按键"
+msgstr "åˆ‡æ¢æŒ‰é’®"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "中键"
+msgstr "ä¸å¯ç”¨çš„æŒ‰é’®"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "项目(Item)"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "å·²ç¦ç”¨"
+msgstr "ä¸å¯ç”¨çš„项目"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7489,23 +7439,20 @@ msgid "Checked Radio Item"
msgstr "已选å•选项目"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Named Sep."
-msgstr "称为 Sep。"
+msgstr "命å为 Sep。"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
msgstr "å­èœå•(Submenu)"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 1"
-msgstr "项目(Item)"
+msgstr "å­é¡¹ç›®1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Subitem 2"
-msgstr "项目(Item)"
+msgstr "å­é¡¹ç›®2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7516,9 +7463,8 @@ msgid "Many"
msgstr "许多(Many)"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "å·²ç¦ç”¨"
+msgstr "行编辑ä¸å¯ç”¨"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7533,9 +7479,8 @@ msgid "Tab 3"
msgstr "分页3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "å…许编辑å­å­™èŠ‚ç‚¹"
+msgstr "å¯ç¼–辑节点"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
@@ -7615,49 +7560,51 @@ msgid "Disable Autotile"
msgstr "ç¦ç”¨æ™ºèƒ½ç£è´´(Autotile)"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "编辑ç£è´´ä¼˜å…ˆçº§"
+msgstr "å¯ç”¨ä¼˜å…ˆçº§"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "筛选文件..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "绘制ç£è´´"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift+é¼ æ ‡å³é”®ï¼šç»˜åˆ¶ç›´çº¿\n"
-"Shift+Ctrl+é¼ æ ‡å³é”®ï¼šç»˜åˆ¶çŸ©å½¢"
+"Shift+鼠标左键:绘制直线\n"
+"Shift+Ctrl+鼠标左键:绘制矩形"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "选择ç£è´´"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
msgstr "å‘左旋转"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
msgstr "å‘峿—‹è½¬"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
msgstr "水平翻转"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
msgstr "垂直翻转"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
msgstr "æ¸…é™¤å˜æ¢"
@@ -7694,44 +7641,36 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "选择上一个形状,å­ç –å—,或砖å—。"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "è¿è¡Œæ¨¡å¼:"
+msgstr "区域模å¼"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "æ’值模å¼"
+msgstr "碰撞模å¼"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "ç¼–è¾‘é®æŒ¡å¤šè¾¹å½¢"
+msgstr "鮿Œ¡æ¨¡å¼"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "创建导航Mesh(网格)"
+msgstr "导航模å¼"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "旋转模å¼"
+msgstr "ä½æŽ©ç æ¨¡å¼"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "导出模å¼:"
+msgstr "优先模å¼"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "移动画布"
+msgstr "图标模å¼"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "移动画布"
+msgstr "Z索引模å¼"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7768,6 +7707,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "显示ç£è´´çš„åå­—ï¼ˆæŒ‰ä½ Alt 键)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "删除选定的纹ç†ï¼Ÿè¿™å°†åˆ é™¤ä½¿ç”¨å®ƒçš„æ‰€æœ‰ç£è´´ã€‚"
@@ -7816,7 +7760,6 @@ msgid "Delete polygon."
msgstr "删除多边形。"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
@@ -7825,7 +7768,8 @@ msgid ""
msgstr ""
"鼠标左键: å¯ç”¨æ¯”特。\n"
"é¼ æ ‡å³é”®ï¼š 关闭比特。\n"
-"点击å¦ä¸€ä¸ªç£è´´è¿›è¡Œç¼–辑。"
+"Shift+鼠标左键: 设置通é…符ä½.\n"
+"点击å¦ä¸€ä¸ªç“¦ç‰‡è¿›è¡Œç¼–辑。"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -7936,24 +7880,127 @@ msgstr "ä¸èƒ½ä¿®æ”¹è¯¥å±žæ€§ã€‚"
msgid "TileSet"
msgstr "ç –å—集"
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No VCS addons are available."
+msgstr "父节点的å称,如果有的è¯"
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr "错误"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No commit message was provided"
+msgstr "未æä¾›åç§°"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "社区"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "首字æ¯å¤§å†™"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "新建一个四边形。"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "更改"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "é‡å‘½å"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "删除"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "更改"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "删除已选中"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "全部ä¿å­˜"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "åŒæ­¥è„šæœ¬å˜æ›´"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr "状æ€"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "No file diff is active"
+msgstr "没有选中任何文件ï¼"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr "åªä½¿ç”¨GLES3"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "添加输入事件"
+msgstr "添加输入+"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "添加输入事件"
+msgstr "添加输出+"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "缩放:"
+msgstr "æ ‡é‡"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vector"
@@ -7964,53 +8011,44 @@ msgid "Boolean"
msgstr "布尔值"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "添加输入事件"
+msgstr "添加输入端å£"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
msgstr "增加输出端å£"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "修改默认值"
+msgstr "更改输入端å£ç±»åž‹"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "修改默认值"
+msgstr "更改输出端å£ç±»åž‹"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "更改输入åç§°"
+msgstr "更改输入端å£åç§°"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "更改输入åç§°"
+msgstr "更改输出端å£åç§°"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "移除顶点"
+msgstr "移除输入端å£"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "移除顶点"
+msgstr "移除输出端å£"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "更改表达å¼"
+msgstr "设置表达å¼"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "å¯è§†ç€è‰²å™¨"
+msgstr "调整å¯è§†ç€è‰²å™¨èŠ‚ç‚¹"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -8054,28 +8092,24 @@ msgid "Light"
msgstr "ç¯å…‰"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Show resulted shader code."
-msgstr "新节点"
+msgstr "显示生æˆçš„ç€è‰²å™¨ä»£ç ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "新节点"
+msgstr "创建ç€è‰²å™¨èŠ‚ç‚¹"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "转到函数"
+msgstr "颜色函数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
msgstr "颜色è¿ç®—符。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "创建方法"
+msgstr "ç°åº¦åŠŸèƒ½ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
@@ -8086,27 +8120,22 @@ msgid "Converts RGB vector to HSV equivalent."
msgstr "å°†RGBå‘é‡è½¬æ¢ä¸ºç­‰æ•ˆçš„HSVå‘é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "é‡å‘½å函数"
+msgstr "棕è¤è‰²åŠŸèƒ½ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Burn operator."
-msgstr "Burn æ“作。"
+msgstr "烧录è¿ç®—符。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Darken operator."
-msgstr "Darken è¿ç®—符。"
+msgstr "å˜æš—è¿ç®—符。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "ä»…ä¸åŒ"
+msgstr "差异è¿ç®—符。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Dodge operator."
msgstr "Dodge è¿ç®—符。"
@@ -8135,26 +8164,24 @@ msgid "Color constant."
msgstr "颜色常é‡."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "颜色å‡åŒ€ã€‚"
+msgstr "颜色统一。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Returns the boolean result of the %s comparison between two parameters."
msgstr "è¿”å›žä¸¤ä¸ªå‚æ•°ä¹‹é—´ï¼…s比较的布尔结果。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Equal (==)"
-msgstr "等于 (==)"
+msgstr "等于(==)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Greater Than (>)"
-msgstr "大于 (>)"
+msgstr "大于(>)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Greater Than or Equal (>=)"
-msgstr "大于等于 (>=)"
+msgstr "大于或等于(> =)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8163,18 +8190,16 @@ msgid ""
msgstr "如果æä¾›çš„æ ‡é‡ç›¸ç­‰ï¼Œæ›´å¤§æˆ–æ›´å°ï¼Œåˆ™è¿”回关è”çš„å‘é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Returns the boolean result of the comparison between INF and a scalar "
"parameter."
-msgstr "返回 INF 和标é‡å‚数之间比较的布尔结果。"
+msgstr "返回INF和标é‡å‚数之间比较的布尔结果。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Returns the boolean result of the comparison between NaN and a scalar "
"parameter."
-msgstr "返回 NaN 和标é‡å‚数之间比较的布尔结果。"
+msgstr "返回NaN和标é‡å‚数之间比较的布尔结果。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Less Than (<)"
@@ -8182,17 +8207,22 @@ msgstr "å°äºŽ (*)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Less Than or Equal (<=)"
-msgstr "å°äºŽæˆ–等于 (+)"
+msgstr "å°äºŽæˆ–等于(<=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Not Equal (!=)"
-msgstr "ä¸ç­‰äºŽï¼ˆ!=)"
+msgstr "ä¸ç­‰äºŽï¼ˆï¼=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
-msgstr "如果æä¾›çš„布尔值为true或false,则返回关è”çš„å‘é‡ã€‚"
+msgstr "如果æä¾›çš„布尔值是true或false,则返回关è”çš„å‘é‡ã€‚"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr "如果æä¾›çš„布尔值是true或false,则返回关è”çš„å‘é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
@@ -8229,23 +8259,20 @@ msgid "'%s' input parameter for fragment and light shader modes."
msgstr "'%s'为片段和ç¯å…‰ç€è‰²å™¨æ¨¡æ¿çš„è¾“å…¥å‚æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "'%s' input parameter for fragment shader mode."
-msgstr "'%s' 为片段ç€è‰²å™¨æ¨¡å¼çš„è¾“å…¥å‚æ•°ã€‚"
+msgstr "片段ç€è‰²å™¨æ¨¡å¼çš„'ï¼…s'è¾“å…¥å‚æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "'%s' input parameter for light shader mode."
-msgstr "'%s' 为ç¯å…‰ç€è‰²å™¨æ¨¡æ¿çš„è¾“å…¥å‚æ•°ã€‚"
+msgstr "ç¯å…‰ç€è‰²å™¨æ¨¡å¼çš„'ï¼…s'è¾“å…¥å‚æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "'%s' input parameter for vertex shader mode."
-msgstr "'%s' 为顶点ç€è‰²å™¨æ¨¡æ¿çš„è¾“å…¥å‚æ•°ã€‚"
+msgstr "顶点ç€è‰²å™¨æ¨¡å¼çš„'ï¼…s'è¾“å…¥å‚æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "'%s' input parameter for vertex and fragment shader mode."
-msgstr "'%s'为顶点和片段ç€è‰²å™¨æ¨¡æ¿çš„è¾“å…¥å‚æ•°ã€‚"
+msgstr "用于顶点和片段ç€è‰²å™¨æ¨¡å¼çš„'ï¼…s'è¾“å…¥å‚æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Scalar function."
@@ -8430,7 +8457,6 @@ msgid "Returns the square root of the parameter."
msgstr "è¿”å›žå‚æ•°çš„平方根。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
"\n"
@@ -8444,7 +8470,6 @@ msgstr ""
"回Hermiteå¤šé¡¹å¼æ’值的值。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), scalar(x) ).\n"
"\n"
@@ -8463,14 +8488,12 @@ msgid "Returns the hyperbolic tangent of the parameter."
msgstr "è¿”å›žå‚æ•°çš„åŒæ›²æ­£åˆ‡å€¼ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Finds the truncated value of the parameter."
msgstr "æŸ¥æ‰¾å‚æ•°çš„æˆªæ–­å€¼ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Adds scalar to scalar."
-msgstr "呿 ‡é‡æ·»åŠ æ ‡é‡ã€‚"
+msgstr "å°†æ ‡é‡æ·»åŠ åˆ°æ ‡é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
@@ -8481,23 +8504,20 @@ msgid "Multiplies scalar by scalar."
msgstr "将标é‡ä¹˜ä»¥æ ‡é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Returns the remainder of the two scalars."
-msgstr "返回两个标é‡çš„剩余部分。"
+msgstr "返回两个标é‡çš„余数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
msgstr "从标é‡ä¸­å‡åŽ»æ ‡é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar constant."
-msgstr "修改Scalar常é‡ç³»æ•°"
+msgstr "æ ‡é‡å¸¸æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar uniform."
-msgstr "修改Uniform Scalar"
+msgstr "æ ‡é‡ä¸€è‡´ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
@@ -8508,24 +8528,20 @@ msgid "Perform the texture lookup."
msgstr "æ‰§è¡Œç«‹æ–¹ä½“çº¹ç†æŸ¥æ‰¾ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Cubic texture uniform lookup."
-msgstr "修改Uniform纹ç†"
+msgstr "立方纹ç†å‡åŒ€æŸ¥æ‰¾ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "2D texture uniform lookup."
-msgstr "修改Uniform纹ç†"
+msgstr "2D 纹ç†å‡åŒ€æŸ¥æ‰¾ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "2D texture uniform lookup with triplanar."
-msgstr "修改Uniform纹ç†"
+msgstr "2D 纹ç†å‡åŒ€æŸ¥æ‰¾ä¸Žä¸‰å¹³é¢ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform function."
-msgstr "å˜æ¢å¯¹è¯æ¡†..."
+msgstr "转æ¢å‡½æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8537,6 +8553,9 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"计算一对矢é‡çš„外部乘积。 OuterProduct å°†ç¬¬ä¸€ä¸ªå‚æ•°\"c\"视为列矢é‡ï¼ˆåŒ…å«ä¸€åˆ—çš„"
+"çŸ©é˜µï¼‰ï¼Œå°†ç¬¬äºŒä¸ªå‚æ•°\"r\"视为行矢é‡ï¼ˆå…·æœ‰ä¸€è¡Œçš„矩阵),并执行线性代数矩阵乘以"
+"\"c = r\",生æˆè¡Œæ•°ä¸º\"c\"中的组件,其列数是\"r\"中的组件数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
@@ -8567,24 +8586,20 @@ msgid "Multiplies vector by transform."
msgstr "ç”¨å˜æ¢ä¹˜ä»¥å‘é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform constant."
-msgstr "å·²å¿½ç•¥å˜æ¢ã€‚"
+msgstr "å˜æ¢å¸¸æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform uniform."
-msgstr "å·²å¿½ç•¥å˜æ¢ã€‚"
+msgstr "å˜æ¢ç»Ÿä¸€ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector function."
-msgstr "对函数的赋值。"
+msgstr "å‘é‡åŠŸèƒ½ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector operator."
-msgstr "更改 Vec è¿ç®—符(Vec Operator)"
+msgstr "å‘é‡è¿ç®—符。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
@@ -8625,9 +8640,8 @@ msgid "Linear interpolation between two vectors."
msgstr "两个å‘é‡ä¹‹é—´çš„线性æ’值。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Linear interpolation between two vectors using scalar."
-msgstr "两个å‘é‡ä¹‹é—´çš„线性æ’值。"
+msgstr "使用标é‡çš„两个矢é‡ä¹‹é—´çš„线性æ’值。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
@@ -8652,7 +8666,6 @@ msgid "Returns the vector that points in the direction of refraction."
msgstr "è¿”å›žæŒ‡å‘æŠ˜å°„æ–¹å‘的矢é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
"\n"
@@ -8660,13 +8673,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
-"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
-"\n"
-"如果'x'å°äºŽ'edge0'则返回0.0,如果x大于'edge1'则返回1.0。å¦åˆ™åœ¨0.0å’Œ1.0之间返"
-"回Hermiteå¤šé¡¹å¼æ’值的值。"
+"平滑步函数(矢é‡ï¼ˆè¾¹ç¼˜0)ã€çŸ¢é‡ï¼ˆè¾¹ç¼˜1)ã€çŸ¢é‡ï¼ˆx))。 如果\"x\"å°äºŽ"
+"\"edge0\",则返回 0.0;如果\"x\"大于\"edge1\",则返回 0.0。å¦åˆ™ï¼Œè¿”回值将使用"
+"赫密特多项å¼åœ¨ 0.0 å’Œ 1.0 之间æ’值。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
"\n"
@@ -8674,13 +8685,12 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
-"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
+"smoothstep函数(标é‡ï¼ˆedge0ï¼‰ã€æ ‡é‡ï¼ˆedge1)ã€å‘é‡ï¼ˆx))。\n"
"\n"
"如果'x'å°äºŽ'edge0'则返回0.0,如果x大于'edge1'则返回1.0。å¦åˆ™åœ¨0.0å’Œ1.0之间返"
"回Hermiteå¤šé¡¹å¼æ’值的值。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( vector(edge), vector(x) ).\n"
"\n"
@@ -8691,7 +8701,6 @@ msgstr ""
"如果'x'å°äºŽ'edge'则返回0.0,å¦åˆ™è¿”回1.0。"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"Step function( scalar(edge), vector(x) ).\n"
"\n"
@@ -8722,14 +8731,12 @@ msgid "Subtracts vector from vector."
msgstr "从å‘é‡ä¸­å‡åŽ»å‘é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector constant."
-msgstr "修改Vec常é‡ç³»æ•°"
+msgstr "å‘é‡å¸¸æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector uniform."
-msgstr "对uniform的赋值。"
+msgstr "å‘é‡ä¸€è‡´"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8744,7 +8751,7 @@ msgstr ""
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
-msgstr ""
+msgstr "æ ¹æ®è¡¨é¢æ³•线和相机视图方å‘的点积返回衰å‡ï¼ˆå°†ç›¸å…³è¾“入传递给它)。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8752,50 +8759,52 @@ msgid ""
"shader. You can place various function definitions inside and call it later "
"in the Expressions. You can also declare varyings, uniforms and constants."
msgstr ""
+"自定义的Godotç€è‰²å™¨è¯­è¨€è¡¨è¾¾å¼ï¼Œä½äºŽç”Ÿæˆçš„ç€è‰²å™¨é¡¶éƒ¨ã€‚您å¯ä»¥åœ¨å…¶ä¸­æ”¾ç½®å„ç§å‡½æ•°"
+"定义,然åŽåœ¨è¡¨è¾¾å¼ä¸­è°ƒç”¨å®ƒã€‚您还å¯ä»¥å£°æ˜Žå˜åŒ–,统一和常é‡ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Scalar derivative function."
-msgstr ""
+msgstr "(仅é™ç‰‡æ®µ/光照模å¼ï¼‰æ ‡é‡å¯¼æ•°å‡½æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(Fragment/Light mode only) Vector derivative function."
-msgstr ""
+msgstr "(仅é™ç‰‡æ®µ/ç¯å…‰æ¨¡å¼ï¼‰çŸ¢é‡å¯¼æ•°åŠŸèƒ½ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(Fragment/Light mode only) (Vector) Derivative in 'x' using local "
"differencing."
-msgstr ""
+msgstr "(仅é™ç‰‡æ®µ/光照模å¼ï¼‰ï¼ˆçŸ¢é‡ï¼‰ä½¿ç”¨å±€éƒ¨å·®åˆ†çš„“ xâ€ä¸­çš„导数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local "
"differencing."
-msgstr ""
+msgstr "(仅é™ç‰‡æ®µ/光照模å¼ï¼‰ï¼ˆæ ‡é‡ï¼‰ä½¿ç”¨æœ¬åœ°å·®åˆ†çš„“ xâ€ä¸­çš„导数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(Fragment/Light mode only) (Vector) Derivative in 'y' using local "
"differencing."
-msgstr ""
+msgstr "(仅适用于片段/光照模å¼ï¼‰ï¼ˆçŸ¢é‡ï¼‰ä½¿ç”¨å±€éƒ¨å·®åˆ†çš„'y'导数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local "
"differencing."
-msgstr ""
+msgstr "(仅é™ç‰‡æ®µ/光照模å¼ï¼‰ï¼ˆæ ‡é‡ï¼‰ä½¿ç”¨å±€éƒ¨å·®åˆ†çš„'y'导数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and "
"'y'."
-msgstr ""
+msgstr "(仅é™ç‰‡æ®µ/光照模å¼ï¼‰ï¼ˆå‘é‡ï¼‰â€œ xâ€å’Œâ€œ yâ€ä¸­çš„ç»å¯¹å¯¼æ•°ä¹‹å’Œã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and "
"'y'."
-msgstr ""
+msgstr "(仅é™ç‰‡æ®µ/光照模å¼ï¼‰ï¼ˆæ ‡é‡ï¼‰â€œ xâ€å’Œâ€œ yâ€ä¸­çš„ç»å¯¹å¯¼æ•°ä¹‹å’Œã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "VisualShader"
@@ -8819,7 +8828,7 @@ msgstr "从列表中删除补ä¸''%s'?"
#: editor/project_export.cpp
msgid "Delete preset '%s'?"
-msgstr "删除当å‰çš„ '%s' ?"
+msgstr "删除预设的“%sâ€ï¼Ÿ"
#: editor/project_export.cpp
msgid ""
@@ -8840,7 +8849,7 @@ msgstr ""
#: editor/project_export.cpp
msgid "Release"
-msgstr "å‘行"
+msgstr "å‘布"
#: editor/project_export.cpp
msgid "Exporting All"
@@ -8852,7 +8861,7 @@ msgstr "指定导出路径ä¸å­˜åœ¨ï¼š"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing/corrupted:"
-msgstr "没有此平å°çš„导出模æ¿:"
+msgstr "该平å°çš„导出模æ¿ä¸¢å¤±/æŸå:"
#: editor/project_export.cpp
msgid "Presets"
@@ -8893,20 +8902,20 @@ msgstr "导出的资æº:"
#: editor/project_export.cpp
msgid ""
"Filters to export non-resource files (comma separated, e.g: *.json, *.txt)"
-msgstr "导出éžèµ„æºæ–‡ä»¶ç­›é€‰ï¼ˆä½¿ç”¨è‹±æ–‡é€—å·åˆ†éš”,如:*.json,*.txt)"
+msgstr "筛选导出éžèµ„æºæ–‡ä»¶ï¼ˆä½¿ç”¨è‹±æ–‡é€—å·åˆ†éš”,如:*.json,*.txt)"
#: editor/project_export.cpp
msgid ""
"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)"
-msgstr "排除导出的éžèµ„æºæ–‡ä»¶ç­›é€‰ï¼ˆä½¿ç”¨è‹±æ–‡é€—å·åˆ†éš”,如:*.json,*.txt)"
+msgstr "过滤从项目中排除文件(以逗å·åˆ†éš”,例如:*。json,*。txt)"
#: editor/project_export.cpp
msgid "Patches"
-msgstr "Patch"
+msgstr "è¡¥ä¸"
#: editor/project_export.cpp
msgid "Make Patch"
-msgstr "制作Patch"
+msgstr "制作补ä¸"
#: editor/project_export.cpp
msgid "Features"
@@ -8926,7 +8935,7 @@ msgstr "脚本"
#: editor/project_export.cpp
msgid "Script Export Mode:"
-msgstr "脚本导出方å¼:"
+msgstr "脚本导出模å¼:"
#: editor/project_export.cpp
msgid "Text"
@@ -8938,7 +8947,7 @@ msgstr "编译"
#: editor/project_export.cpp
msgid "Encrypted (Provide Key Below)"
-msgstr "使用下列密ç åР坆"
+msgstr "åŠ å¯†ï¼ˆåœ¨ä¸‹é¢æä¾›å¯†é’¥ï¼‰"
#: editor/project_export.cpp
msgid "Invalid Encryption Key (must be 64 characters long)"
@@ -8946,7 +8955,7 @@ msgstr "无效的加密密钥(长度必须为64个字符)"
#: editor/project_export.cpp
msgid "Script Encryption Key (256-bits as hex):"
-msgstr "脚本密匙(256ä½16进制ç ï¼‰:"
+msgstr "脚本加密密钥(256ä½16进制ç ï¼‰:"
#: editor/project_export.cpp
msgid "Export PCK/Zip"
@@ -8962,7 +8971,7 @@ msgstr "全部导出"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
-msgstr "没有下列平å°çš„导出模æ¿:"
+msgstr "该平å°çš„导出模æ¿ä¸¢å¤±ï¼š"
#: editor/project_export.cpp
msgid "Manage Export Templates"
@@ -8970,11 +8979,11 @@ msgstr "管ç†å¯¼å‡ºæ¨¡æ¿"
#: editor/project_export.cpp
msgid "Export With Debug"
-msgstr "导出为调试"
+msgstr "使用调试导出"
#: editor/project_manager.cpp
msgid "The path does not exist."
-msgstr "路径ä¸å­˜åœ¨ã€‚"
+msgstr "该路径ä¸å­˜åœ¨ã€‚"
#: editor/project_manager.cpp
msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
@@ -9010,7 +9019,7 @@ msgstr "无法创建文件夹。"
#: editor/project_manager.cpp
msgid "There is already a folder in this path with the specified name."
-msgstr "已存在与给定å称相åŒçš„目录。"
+msgstr "æ­¤è·¯å¾„ä¸­å·²ç»æœ‰ä¸€ä¸ªå…·æœ‰æŒ‡å®šå称的文件夹。"
#: editor/project_manager.cpp
msgid "It would be a good idea to name your project."
@@ -9037,7 +9046,7 @@ msgstr "无法在项目目录下创建project.godot文件。"
#: editor/project_manager.cpp
msgid "The following files failed extraction from package:"
-msgstr "æå–以下文件失败:"
+msgstr "以下文件无法从包中æå–:"
#: editor/project_manager.cpp
msgid "Rename Project"
@@ -9124,13 +9133,12 @@ msgid "Unnamed Project"
msgstr "未命å项目"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Missing Project"
-msgstr "导入现有项目"
+msgstr "缺少项目"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr ""
+msgstr "错误:文件系统上丢失项目。"
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9141,7 +9149,6 @@ msgid "Are you sure to open more than one project?"
msgstr "æ‚¨ç¡®å®šè¦æ‰“开多个项目å—?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"The following project settings file does not specify the version of Godot "
"through which it was created.\n"
@@ -9153,15 +9160,14 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"以下项目设置文件没有指定创建它的Godot版本:\n"
+"以下项目设置文件未指定创建它的 Godot 版本。\n"
"\n"
"%s\n"
"\n"
-"如果你继续打开它,它将被转æ¢ä¸ºGodot的当å‰é…置文件格å¼ã€‚\n"
-"警告:您将无法å†ä½¿ç”¨ä»¥å‰ç‰ˆæœ¬çš„引擎打开项目。"
+"如果继续打开它,它将转æ¢ä¸ºæˆˆå¤šçš„当å‰é…置文件格å¼ã€‚ 警告: 您将无法å†ä½¿ç”¨ä»¥å‰"
+"版本的引擎打开项目。"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"The following project settings file was generated by an older engine "
"version, and needs to be converted for this version:\n"
@@ -9172,10 +9178,9 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"以下项目设置文件是由旧的引擎版本生æˆçš„,需è¦ä¸ºæ­¤ç‰ˆæœ¬è½¬æ¢ï¼š\n"
+"以下项目设置文件由较旧的引擎版本生æˆï¼Œéœ€è¦ä¸ºæ­¤ç‰ˆæœ¬è¿›è¡Œè½¬æ¢ï¼š\n"
"%s\n"
-"是å¦è¦è½¬æ¢å®ƒï¼Ÿ\n"
-"警告:您将无法å†ä½¿ç”¨ä»¥å‰ç‰ˆæœ¬çš„引擎打开项目。"
+" 是å¦è¦è½¬æ¢å®ƒï¼Ÿ 警告: 您将无法å†ä½¿ç”¨ä»¥å‰ç‰ˆæœ¬çš„引擎打开项目。"
#: editor/project_manager.cpp
msgid ""
@@ -9184,14 +9189,13 @@ msgid ""
msgstr "项目设置是由更新的引擎版本创建的,其设置与此版本ä¸å…¼å®¹ã€‚"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
-"尚未定义主场景, 现在选择一个�\n"
-"你也å¯ä»¥ç¨åŽåœ¨é¡¹ç›®è®¾ç½®çš„Application分类下修改。"
+"无法è¿è¡Œé¡¹ç›®ï¼šæœªå®šä¹‰ä¸»åœºæ™¯ã€‚ \n"
+"请编辑项目并在“应用程åºâ€ç±»åˆ«ä¸‹çš„“项目设置â€ä¸­è®¾ç½®ä¸»åœºæ™¯ã€‚"
#: editor/project_manager.cpp
msgid ""
@@ -9202,55 +9206,46 @@ msgstr ""
"请编辑项目导入åˆå§‹åŒ–资æºã€‚"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to run %d projects at once?"
-msgstr "æ‚¨ç¡®å®šè¦æ‰§è¡Œå¤šä¸ªé¡¹ç›®å—?"
+msgstr "您确定è¦ç«‹å³è¿è¡Œï¼…d个项目å—?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove %d projects from the list?\n"
"The project folders' contents won't be modified."
-msgstr "移除此项目(项目的文件ä¸å—å½±å“)"
+msgstr "从列表中删除%d个项目? 项目文件夹的内容ä¸ä¼šè¢«ä¿®æ”¹ã€‚"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove this project from the list?\n"
"The project folder's contents won't be modified."
-msgstr "移除此项目(项目的文件ä¸å—å½±å“)"
+msgstr "从列表中删除该项目? 项目文件夹的内容ä¸ä¼šè¢«ä¿®æ”¹ã€‚"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
-msgstr "移除此项目(项目的文件ä¸å—å½±å“)"
+msgstr "从列表中删除所有丢失的项目? 项目文件夹的内容ä¸ä¼šè¢«ä¿®æ”¹ã€‚"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
-msgstr ""
-"语言已更改。\n"
-"用户界é¢å°†åœ¨ä¸‹æ¬¡ç¼–辑器或项目管ç†å™¨å¯åŠ¨æ—¶æ›´æ–°ã€‚"
+msgstr "语言已更改。 釿–°å¯åŠ¨ç¼–è¾‘å™¨æˆ–é¡¹ç›®ç®¡ç†å™¨åŽï¼Œç•Œé¢å°†æ›´æ–°ã€‚"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
-msgstr "æ‚¨ç¡®è®¤è¦æ‰«æ%s目录下现有的Godot项目å—?"
+msgstr "æ‚¨ç¡®å®šè¦æ‰«æï¼…s文件夹中的现有Godot项目å—? è¿™å¯èƒ½éœ€è¦ä¸€æ®µæ—¶é—´ã€‚"
#: editor/project_manager.cpp
msgid "Project Manager"
msgstr "项目管ç†å™¨"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Projects"
-msgstr "项目"
+msgstr "工程"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9265,9 +9260,8 @@ msgid "New Project"
msgstr "新建"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Remove Missing"
-msgstr "移除顶点"
+msgstr "删除缺失"
#: editor/project_manager.cpp
msgid "Templates"
@@ -9282,13 +9276,12 @@ msgid "Can't run project"
msgstr "无法è¿è¡Œé¡¹ç›®"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
-"æ‚¨ç›®å‰æ²¡æœ‰ä»»ä½•项目。\n"
-"是å¦è¦æ‰“开资æºå•†åº—æµè§ˆå®˜æ–¹æ ·ä¾‹é¡¹ç›®ï¼Ÿ"
+"æ‚¨ç›®å‰æ²¡æœ‰ä»»ä½•项目。 \n"
+"您想在素æèµ„æºåº“中æµè§ˆæ­£å¼çš„示例项目å—?"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -9314,9 +9307,8 @@ msgstr ""
"无效的æ“作å称。æ“作åä¸èƒ½ä¸ºç©ºï¼Œä¹Ÿä¸èƒ½åŒ…å« '/', ':', '=', '\\' 或者空字符串"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "An action with the name '%s' already exists."
-msgstr "动作%s已存在ï¼"
+msgstr "å为'%s'çš„æ“作已存在。"
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
@@ -9481,6 +9473,11 @@ msgid "Settings saved OK."
msgstr "ä¿å­˜è®¾ç½®æˆåŠŸã€‚"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "添加输入事件"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr "é‡å†™åŠŸèƒ½"
@@ -9533,9 +9530,8 @@ msgid "Override For..."
msgstr "é‡å†™çš„......"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-#, fuzzy
msgid "The editor must be restarted for changes to take effect."
-msgstr "编辑器需è¦é‡å¯ä»¥è®©ä¿®æ”¹ç”Ÿæ•ˆ"
+msgstr "å¿…é¡»é‡æ–°å¯åŠ¨ç¼–è¾‘å™¨æ‰èƒ½ä½¿æ›´æ”¹ç”Ÿæ•ˆã€‚"
#: editor/project_settings_editor.cpp
msgid "Input Map"
@@ -9594,14 +9590,12 @@ msgid "Locales Filter"
msgstr "区域筛选器"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
-msgstr "显示所有区域设置"
+msgstr "显示所有语言设置"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
-msgstr "仅显示选定的区域设置"
+msgstr "仅显示选定的语言环境"
#: editor/project_settings_editor.cpp
msgid "Filter mode:"
@@ -9620,6 +9614,10 @@ msgid "Plugins"
msgstr "æ’ä»¶"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "预设..."
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr "置零"
@@ -9684,7 +9682,6 @@ msgid "Suffix"
msgstr "åŽç¼€"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
msgstr "高级选项"
@@ -9788,10 +9785,6 @@ msgstr "转为大写"
msgid "Reset"
msgstr "é‡ç½®"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr "错误"
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "é‡è®¾çˆ¶èŠ‚ç‚¹"
@@ -9847,6 +9840,11 @@ msgid "Instance Scene(s)"
msgstr "实例化场景"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Replace with Branch Scene"
+msgstr "将分支ä¿å­˜ä¸ºåœºæ™¯"
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr "实例化å­åœºæ™¯"
@@ -9887,8 +9885,23 @@ msgid "Make node as Root"
msgstr "将节点设置为根节点"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
-msgstr "确定è¦åˆ é™¤èŠ‚ç‚¹å—?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "删除节点"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete the root node \"%s\"?"
+msgstr "删除Graph Node节点"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "删除节点"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -9941,9 +9954,8 @@ msgid "User Interface"
msgstr "用户界é¢"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Other Node"
-msgstr "删除节点"
+msgstr "其他节点"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -9962,9 +9974,8 @@ msgid "Remove Node(s)"
msgstr "移除节点"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "更改输入åç§°"
+msgstr "更改节点的类型"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -9989,18 +10000,16 @@ msgid "Clear Inheritance"
msgstr "清除继承"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Open Documentation"
-msgstr "打开Godot文档"
+msgstr "打开文档"
#: editor/scene_tree_dock.cpp
msgid "Add Child Node"
msgstr "添加å­èŠ‚ç‚¹"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Expand/Collapse All"
-msgstr "全部折å "
+msgstr "展开/折å å…¨éƒ¨"
#: editor/scene_tree_dock.cpp
msgid "Change Type"
@@ -10011,9 +10020,8 @@ msgid "Extend Script"
msgstr "打开脚本"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Reparent to New Node"
-msgstr "é‡è®¾çˆ¶èŠ‚ç‚¹"
+msgstr "釿–°åˆ†é…到新节点"
#: editor/scene_tree_dock.cpp
msgid "Make Scene Root"
@@ -10036,9 +10044,8 @@ msgid "Delete (No Confirm)"
msgstr "确认删除"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Add/Create a New Node."
-msgstr "添加/创建节点"
+msgstr "添加/创建新节点。"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10071,55 +10078,42 @@ msgid "Toggle Visible"
msgstr "切æ¢å¯è§æ€§"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Unlock Node"
-msgstr "选择节点"
+msgstr "è§£é”节点"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Button Group"
-msgstr "按键 7"
+msgstr "按钮组"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "(Connecting From)"
-msgstr "连接错误"
+msgstr "(连接从)"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "节点é…置警告:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
-msgstr ""
-"节点具有信å·è¿žæŽ¥å’Œåˆ†ç»„。\n"
-"å•å‡»ä»¥æ˜¾ç¤ºä¿¡å·æŽ¥å£ã€‚"
+msgstr "节点具有%s个连接和%s个组。 å•击以显示信å·åº•座。"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
-msgstr ""
-"节点有信å·è¿žæŽ¥ã€‚\n"
-"å•å‡»æŸ¥çœ‹ä¿¡å·æ ã€‚"
+msgstr "节点具有%s个连接。 å•击以显示信å·åº•座。"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
-msgstr ""
-"分组中的节点。\n"
-"å•击显示分组æ ã€‚"
+msgstr "节点ä½äºŽ %s 组中。 å•击以显示分组æ ã€‚"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Open Script:"
-msgstr "打开脚本"
+msgstr "打开脚本:"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10170,39 +10164,32 @@ msgid "Select a Node"
msgstr "选择一个节点"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is empty."
-msgstr "文件路径为空"
+msgstr "路径为空。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Filename is empty."
-msgstr "文件å为空"
+msgstr "文件å为空。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is not local."
-msgstr "必须是项目内的路径"
+msgstr "è·¯å¾„ä¸æ˜¯æœ¬åœ°çš„。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid base path."
-msgstr "çˆ¶è·¯å¾„éžæ³•"
+msgstr "无效的基本路径。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "A directory with the same name exists."
-msgstr "存在åŒå目录"
+msgstr "存在具有相åŒå称的目录。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid extension."
-msgstr "扩展åéžæ³•"
+msgstr "æ‰©å±•åæ— æ•ˆã€‚"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Wrong extension chosen."
-msgstr "选择了错误的扩展å"
+msgstr "选择了错误的扩展å。"
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
@@ -10217,16 +10204,14 @@ msgid "Error loading script from %s"
msgstr "从%s加载脚本出错"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "覆盖"
+msgstr "é‡å†™"
#: editor/script_create_dialog.cpp
msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Open Script / Choose Location"
msgstr "打开脚本/选择ä½ç½®"
@@ -10235,44 +10220,36 @@ msgid "Open Script"
msgstr "打开脚本"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, it will be reused."
-msgstr "文件已存在, 将被é‡ç”¨"
+msgstr "文件存在,将被é‡ç”¨ã€‚"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid class name."
-msgstr "ç±»åéžæ³•"
+msgstr "无效的类别å称。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid inherited parent name or path."
-msgstr "éžæ³•的基类å称或脚本路径"
+msgstr "无效的继承父å称或路径。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script is valid."
-msgstr "脚本å¯ç”¨"
+msgstr "脚本有效。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Allowed: a-z, A-Z, 0-9, _ and ."
-msgstr "ä»…å…许使用: a-z, A-Z, 0-9 或 _"
+msgstr "å…许:a-z,a-z,0-9,u和。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in script (into scene file)."
-msgstr "内置脚本(ä¿å­˜åœ¨åœºæ™¯æ–‡ä»¶ä¸­)"
+msgstr "内置脚本(到场景文件中)。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will create a new script file."
-msgstr "创建新脚本"
+msgstr "将创建一个新的脚本文件。"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will load an existing script file."
-msgstr "加载现有脚本"
+msgstr "将加载现有的脚本文件。"
#: editor/script_create_dialog.cpp
msgid "Language"
@@ -10307,19 +10284,50 @@ msgid "Bytes:"
msgstr "字节:"
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr "栈追踪"
+#, fuzzy
+msgid "Warning:"
+msgstr "警告:"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
-msgstr "从列表中选å–一个或多个项目以显示图形。"
+msgid "Error:"
+msgstr "错误:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "å¤åˆ¶é”™è¯¯ä¿¡æ¯"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "错误:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "æº"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "æº"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "æº"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr "栈追踪"
#: editor/script_editor_debugger.cpp
msgid "Errors"
msgstr "错误"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
+#, fuzzy
+msgid "Child process connected."
msgstr "å­è¿›ç¨‹å·²è¿žæŽ¥"
#: editor/script_editor_debugger.cpp
@@ -10327,6 +10335,11 @@ msgid "Copy Error"
msgstr "å¤åˆ¶é”™è¯¯ä¿¡æ¯"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "断点"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr "编辑上一个实例"
@@ -10343,6 +10356,11 @@ msgid "Profiler"
msgstr "性能分æž"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "导出é…置文件"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "监视"
@@ -10355,6 +10373,10 @@ msgid "Monitors"
msgstr "显示"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr "从列表中选å–一个或多个项目以显示图形。"
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "å ç”¨æ˜¾å­˜çš„资æºåˆ—表:"
@@ -10404,7 +10426,7 @@ msgstr "从场景树设置"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "导出为CSVæ ¼å¼"
#: editor/settings_config_dialog.cpp
msgid "Erase Shortcut"
@@ -10540,22 +10562,17 @@ msgstr "动æ€é“¾æŽ¥åº“"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "å¯ç”¨gdnative singleton"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Disabled GDNative Singleton"
-msgstr "ç¦ç”¨è‡ªåŠ¨æ›´æ–°"
+msgstr "ç¦ç”¨çš„ GDNative å•例"
#: 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 "库: "
@@ -10564,6 +10581,10 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr "Step傿•°ä¸º 0 ï¼"
@@ -10632,9 +10653,8 @@ msgid "GridMap Fill Selection"
msgstr "填充选择网格地图"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Paste Selection"
-msgstr "删除选择的GridMap"
+msgstr "GridMap粘贴选择"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paint"
@@ -10716,6 +10736,15 @@ msgstr "GridMap设置"
msgid "Pick Distance:"
msgstr "拾å–è·ç¦»:"
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "过滤方å¼"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr "ç±»åä¸èƒ½æ˜¯ä¿ç•™å…³é”®å­—"
@@ -10836,28 +10865,28 @@ msgid "Set Variable Type"
msgstr "设置å˜é‡ç±»åž‹"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "与引擎内置类型å称冲çªã€‚"
+msgstr "覆盖现有的内置函数。"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "新建一个四边形。"
+msgstr "创建一个新函数。"
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "å˜é‡ï¼š"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "新建一个四边形。"
+msgstr "创建一个新å˜é‡ã€‚"
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "ä¿¡å·:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "创建新多边形。"
+msgstr "创建一个新信å·ã€‚"
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11012,6 +11041,11 @@ msgid "Editing Signal:"
msgstr "编辑信å·:"
#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Make Tool:"
+msgstr "使用本地"
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr "基础类型:"
@@ -11024,9 +11058,8 @@ msgid "Available Nodes:"
msgstr "有效节点:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Select or create a function to edit its graph."
-msgstr "选择或创建一个函数æ¥ç¼–辑"
+msgstr "选择或创建一个函数æ¥ç¼–辑其图形。"
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
@@ -11152,16 +11185,18 @@ msgstr "未在编辑器设置或预设中é…置调试密钥库。"
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
-msgstr ""
+msgstr "自定义构建需è¦åœ¨â€œç¼–辑器设置â€ä¸­ä½¿ç”¨æœ‰æ•ˆçš„Android SDK路径。"
#: platform/android/export/export.cpp
msgid "Invalid Android SDK path for custom build in Editor Settings."
-msgstr ""
+msgstr "用于“编辑器设置â€ä¸­è‡ªå®šä¹‰æž„建的Android SDK路径是无效的。"
#: platform/android/export/export.cpp
+#, fuzzy
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
-msgstr ""
+"Android build template not installed in the project. Install it from the "
+"Project menu."
+msgstr "未安装Android项目进行编译。从编辑器èœå•安装。"
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -11176,6 +11211,7 @@ msgid ""
"Trying to build from a custom built template, but no version info for it "
"exists. Please reinstall from the 'Project' menu."
msgstr ""
+"å°è¯•ä»Žè‡ªå®šä¹‰æž„å»ºçš„æ¨¡æ¿æž„建,但是ä¸å­˜åœ¨å…¶ç‰ˆæœ¬ä¿¡æ¯ã€‚请从“项目â€èœå•䏭釿–°å®‰è£…。"
#: platform/android/export/export.cpp
msgid ""
@@ -11184,20 +11220,26 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
+"Android构建版本ä¸åŒ¹é…:\n"
+" 安装的模æ¿ï¼š\n"
+" Godot版本:%s\n"
+"请从“项目â€èœå•䏭釿–°å®‰è£…Android构建模æ¿ã€‚"
#: platform/android/export/export.cpp
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "构建android项目(gradle)"
#: platform/android/export/export.cpp
msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
+"Android项目构建失败,请检查输出以了解错误。 或者访问docs.godotengine.org获å–"
+"Android构建文档。"
#: platform/android/export/export.cpp
msgid "No build apk generated at: "
-msgstr ""
+msgstr "在以下ä½ç½®æœªç”Ÿæˆæž„建APK: "
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
@@ -11313,13 +11355,12 @@ msgid "Invalid splash screen image dimensions (should be 620x300)."
msgstr "å¯åŠ¨ç”»é¢å›¾ç‰‡å°ºå¯¸æ— æ•ˆï¼ˆåº”为620x300)。"
#: scene/2d/animated_sprite.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the \"Frames\" property in "
"order for AnimatedSprite to display frames."
msgstr ""
-"SpriteFrames资æºå¿…须是通过AnimatedSprite节点的frames属性创建的,å¦åˆ™æ— æ³•显示"
-"动画帧。"
+"必须创建SpriteFrames资æºï¼Œæˆ–在“ Framesâ€å±žæ€§ä¸­è®¾ç½®SpriteFrames资æºï¼Œä»¥ä¾¿"
+"AnimatedSprite显示帧。"
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -11374,11 +11415,10 @@ msgid ""
msgstr "CPUParticles2D动画需è¦ä½¿ç”¨å¯ç”¨äº†â€œç²’å­åŠ¨ç”»â€çš„CanvasItemMaterial。"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid ""
"A texture with the shape of the light must be supplied to the \"Texture\" "
"property."
-msgstr "光照的形状与纹ç†å¿…é¡»æä¾›ç»™çº¹ç†å±žæ€§ã€‚"
+msgstr "必须将具有ç¯å…‰å½¢çŠ¶çš„çº¹ç†æä¾›ç»™â€œçº¹ç†â€ï¼ˆTexture)属性。"
#: scene/2d/light_occluder_2d.cpp
msgid ""
@@ -11386,9 +11426,8 @@ msgid ""
msgstr "æ­¤é®å…‰ä½“必须设置é®å…‰å½¢çжæ‰èƒ½èµ·åˆ°é®å…‰ä½œç”¨ã€‚"
#: scene/2d/light_occluder_2d.cpp
-#, fuzzy
msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
-msgstr "æ­¤é®å…‰ä½“çš„é®å…‰å½¢çŠ¶ä¸ºç©ºï¼Œè¯·ä¸ºå…¶ç»˜åˆ¶ä¸€ä¸ªé®å…‰å½¢çжï¼"
+msgstr "æ­¤å°å µå™¨çš„å°å µå™¨å¤šè¾¹å½¢ä¸ºç©ºã€‚请绘制一个多边形。"
#: scene/2d/navigation_polygon.cpp
msgid ""
@@ -11465,55 +11504,47 @@ msgid ""
msgstr "该骨骼没有一个åˆé€‚çš„ REST 姿势。请到 Skeleton2D 节点中设置一个。"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid ""
"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
"KinematicBody2D, etc. to give them a shape."
msgstr ""
-"CollisionShape2D类型节点åªèƒ½ä¸ºCollisionObject2D的派生类æä¾›ç¢°æ’žå½¢çŠ¶æ•°æ®ï¼Œè¯·å°†"
-"其放在Area2Dã€StaticBody2Dã€RigidBody2D或者是KinematicBody2D节点下。"
+"å¯ç”¨äº†â€œä½¿ç”¨çˆ¶çº§â€çš„TileMap需è¦çˆ¶çº§CollisionObject2Dæ‰èƒ½æä¾›å½¢çŠ¶ã€‚è¯·ä½¿ç”¨å®ƒä½œä¸º"
+"Area2D,StaticBody2D,RigidBody2D,KinematicBody2D等的å­é¡¹æ¥èµ‹äºˆå®ƒä»¬å½¢çŠ¶ã€‚"
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid ""
"VisibilityEnabler2D works best when used with the edited scene root directly "
"as parent."
-msgstr "VisibilityEnable2D类型的节点用于场景的根节点æ‰èƒ½èŽ·å¾—æœ€å¥½çš„æ•ˆæžœã€‚"
+msgstr "当直接将已编辑的场景根作为父级使用时,VisibilityEnabler2D效果最佳。"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRCamera must have an ARVROrigin node as its parent."
-msgstr "ARVRCamera 必须处于 ARVROrigin 节点之下"
+msgstr "ARVRCamera必须将ARVROrigin节点作为其父节点。"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr "ARVRController 必须处于 ARVROrigin 节点之下"
+msgstr "ARVRController必须具有ARVROrigin节点作为其父节点。"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
-msgstr "控制器 id å¿…é¡»ä¸ä¸º 0 或此控制器将ä¸ç»‘定到实际的控制器"
+msgstr "控制器IDä¸èƒ½ä¸º0,å¦åˆ™æ­¤æŽ§åˆ¶å™¨å°†ä¸ä¼šç»‘定到实际的控制器。"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr "ARVRAnchor 必须处于 ARVROrigin 节点之下"
+msgstr "ARVRAnchor必须具有ARVROrigin节点作为其父节点。"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The anchor ID must not be 0 or this anchor won't be bound to an actual "
"anchor."
-msgstr "锚 id å¿…é¡»ä¸æ˜¯ 0 或这个锚点将ä¸ç»‘定到实际的锚"
+msgstr "锚点IDä¸èƒ½ä¸º0,å¦åˆ™æ­¤é”šç‚¹å°†ä¸ä¼šç»‘定到实际的锚点。"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr "ARVROrigin 必须拥有 ARVRCamera å­èŠ‚ç‚¹"
+msgstr "ARVROrigin需è¦ä¸€ä¸ªARVRCameraå­èŠ‚ç‚¹ã€‚"
#: scene/3d/baked_lightmap.cpp
msgid "%d%%"
@@ -11571,13 +11602,10 @@ msgstr ""
"在Areaã€StaticBodyã€RigidBody或KinematicBody节点下。"
#: scene/3d/collision_shape.cpp
-#, fuzzy
msgid ""
"A shape must be provided for CollisionShape to function. Please create a "
"shape resource for it."
-msgstr ""
-"CollisionShape节点必须拥有一个形状æ‰èƒ½è¿›è¡Œç¢°æ’žæ£€æµ‹å·¥ä½œï¼Œè¯·ä¸ºå®ƒåˆ›å»ºä¸€ä¸ªå½¢çŠ¶èµ„"
-"æºï¼"
+msgstr "å¿…é¡»æä¾›å½¢çŠ¶ä»¥ä½¿CollisionShape起作用。请为其创建形状资æºã€‚"
#: scene/3d/collision_shape.cpp
msgid ""
@@ -11590,11 +11618,12 @@ msgid "Nothing is visible because no mesh has been assigned."
msgstr "无物å¯è§ï¼Œå› ä¸ºæ²¡æœ‰æŒ‡å®šç½‘格。"
#: scene/3d/cpu_particles.cpp
-#, fuzzy
msgid ""
"CPUParticles animation requires the usage of a SpatialMaterial whose "
"Billboard Mode is set to \"Particle Billboard\"."
-msgstr "CPUParticles动画需è¦ä½¿ç”¨å¯åŠ¨äº†â€œBillboard Particlesâ€çš„SpatialMaterial。"
+msgstr ""
+"CPUParticles动画需è¦ä½¿ç”¨SpatialMaterial,其“公告牌模å¼â€è®¾ç½®ä¸ºâ€œ Particle "
+"Billboardâ€ã€‚"
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
@@ -11638,23 +11667,22 @@ msgid ""
msgstr "ç²’å­ä¸å¯è§ï¼Œå› ä¸ºæ²¡æœ‰ç½‘æ ¼(meshe)指定到绘制通é“(draw passes)。"
#: scene/3d/particles.cpp
-#, fuzzy
msgid ""
"Particles animation requires the usage of a SpatialMaterial whose Billboard "
"Mode is set to \"Particle Billboard\"."
-msgstr "ç²’å­åŠ¨ç”»éœ€è¦ä½¿ç”¨å¯ç”¨äº†â€œBillboard Particlesâ€çš„SpatialMaterial。"
+msgstr ""
+"ç²’å­åŠ¨ç”»éœ€è¦ä½¿ç”¨SpatialMaterial,其“公告牌模å¼â€è®¾ç½®ä¸ºâ€œ Particle Billboardâ€ã€‚"
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
msgstr "PathFollowç±»åž‹çš„èŠ‚ç‚¹åªæœ‰ä½œä¸ºPath类型节点的å­èŠ‚ç‚¹æ‰èƒ½æ­£å¸¸å·¥ä½œã€‚"
#: scene/3d/path.cpp
-#, fuzzy
msgid ""
"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
"parent Path's Curve resource."
msgstr ""
-"PathFollow ROTATION_ORIENTED需è¦åœ¨å…¶çˆ¶è·¯å¾„的曲线资æºä¸­å¯ç”¨â€œUp Vectorâ€ã€‚"
+"PathFollowçš„ROTATION_ORIENTEDè¦æ±‚在其父路径的Curve资æºä¸­å¯ç”¨â€œå‘上矢é‡â€ã€‚"
#: scene/3d/physics_body.cpp
msgid ""
@@ -11667,16 +11695,14 @@ msgstr ""
"建议您修改å­èŠ‚ç‚¹çš„ç¢°æ’žå½¢çŠ¶ã€‚"
#: scene/3d/remote_transform.cpp
-#, fuzzy
msgid ""
"The \"Remote Path\" property must point to a valid Spatial or Spatial-"
"derived node to work."
-msgstr "path属性必须指å‘ä¸€ä¸ªåˆæ³•çš„Spatial节点æ‰èƒ½æ­£å¸¸å·¥ä½œã€‚"
+msgstr "“远程路径â€å±žæ€§å¿…é¡»æŒ‡å‘æœ‰æ•ˆçš„Spatial或Spatial派生的节点æ‰èƒ½å·¥ä½œã€‚"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "This body will be ignored until you set a mesh."
-msgstr "这个物体将被忽略,除éžè®¾ç½®ä¸€ä¸ªç½‘æ ¼"
+msgstr "在设置网格之å‰ï¼Œå°†å¿½ç•¥è¯¥å®žä½“。"
#: scene/3d/soft_body.cpp
msgid ""
@@ -11688,13 +11714,11 @@ msgstr ""
"建议修改å­èŠ‚ç‚¹çš„ç¢°æ’žä½“å½¢çŠ¶å°ºå¯¸ã€‚"
#: scene/3d/sprite_3d.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the \"Frames\" property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
-"SpriteFrame资æºå¿…须是通过AnimatedSprite3D节点的Frames属性创建的,å¦åˆ™æ— æ³•显示"
-"动画帧。"
+"必须在“framesâ€å±žæ€§ä¸­åˆ›å»ºæˆ–设置spriteframes资æºï¼Œä»¥ä¾¿animatedsprite3d显示帧。"
#: scene/3d/vehicle_body.cpp
msgid ""
@@ -11745,9 +11769,8 @@ msgid "Nothing connected to input '%s' of node '%s'."
msgstr "没有任何物体连接到节点 '%s' 的输入 '%s' 。"
#: scene/animation/animation_tree.cpp
-#, fuzzy
msgid "No root AnimationNode for the graph is set."
-msgstr "图表没有设置动画节点作为根节点。"
+msgstr "没有为图设置根AnimationNode。"
#: scene/animation/animation_tree.cpp
msgid "Path to an AnimationPlayer node containing animations is not set."
@@ -11758,9 +11781,8 @@ msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
msgstr "动画播放器的路径没有加载一个 AnimationPlayer 节点。"
#: scene/animation/animation_tree.cpp
-#, fuzzy
msgid "The AnimationPlayer root node is not a valid node."
-msgstr "AnimationPlayer çš„æ ¹èŠ‚ç‚¹ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„节点。"
+msgstr "AnimationPlayeræ ¹èŠ‚ç‚¹ä¸æ˜¯æœ‰æ•ˆèŠ‚ç‚¹ã€‚"
#: scene/animation/animation_tree_player.cpp
msgid "This node has been deprecated. Use AnimationTree instead."
@@ -11771,14 +11793,12 @@ msgid "Pick a color from the screen."
msgstr "从å±å¹•中选择一ç§é¢œè‰²ã€‚"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "HSV"
msgstr "HSV"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Raw"
-msgstr "å航"
+msgstr "原始"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11789,14 +11809,13 @@ msgid "Add current color as a preset."
msgstr "将当å‰é¢œè‰²æ·»åŠ ä¸ºé¢„è®¾ã€‚"
#: scene/gui/container.cpp
-#, fuzzy
msgid ""
"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, use a plain Control node instead."
msgstr ""
-"除éžåœ¨è„šæœ¬å†…é…置其å­é¡¹çš„æ”¾ç½®è¡Œä¸ºï¼Œå¦åˆ™å®¹å™¨æœ¬èº«æ²¡æœ‰ç”¨å¤„。\n"
-"å¦‚æžœæ‚¨ä¸æ‰“算添加脚本,请使用简å•的“控件â€èŠ‚ç‚¹ã€‚"
+"除éžè„šæœ¬é…置其å­ä»£æ”¾ç½®è¡Œä¸ºï¼Œå¦åˆ™å®¹å™¨æœ¬èº«æ²¡æœ‰ä»»ä½•作用。 å¦‚æžœæ‚¨ä¸æƒ³æ·»åŠ è„šæœ¬ï¼Œè¯·"
+"改用普通的Control节点。"
#: scene/gui/control.cpp
msgid ""
@@ -11815,29 +11834,26 @@ msgid "Please Confirm..."
msgstr "请确认..."
#: scene/gui/popup.cpp
-#, fuzzy
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
"functions. Making them visible for editing is fine, but they will hide upon "
"running."
msgstr ""
-"Popupå¯¹è±¡é»˜è®¤ä¿æŒéšè—,除éžä½ è°ƒç”¨popup()或其他popup相关方法。编辑时å¯ä»¥è®©å®ƒä»¬"
-"ä¿æŒå¯è§ï¼Œä½†å®ƒåœ¨è¿è¡Œæ—¶ä»¬ä¼šè‡ªåЍéšè—。"
+"默认情况下,弹出窗å£å°†éšè—ï¼Œé™¤éžæ‚¨è°ƒç”¨popup()或任何popup *()函数。使它们"
+"å¯è§ä»¥è¿›è¡Œç¼–辑是å¯ä»¥çš„,但是它们会在è¿è¡Œæ—¶éšè—。"
#: scene/gui/range.cpp
-#, fuzzy
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr "如果exp_edit为true, 则min_value必须为>0。"
+msgstr "如果å¯ç”¨äº†â€œ Exp Editâ€ï¼Œåˆ™â€œ Min Valueâ€å¿…须大于0。"
#: scene/gui/scroll_container.cpp
-#, fuzzy
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 ""
-"ScrollContainer旨在与å•ä¸ªå­æŽ§ä»¶é…åˆä½¿ç”¨ã€‚\n"
-"请使用Container(VBox,HBoxç­‰ï¼‰ä½œä¸ºå…¶å­æŽ§ä»¶æˆ–æ‰‹åŠ¨è®¾ç½®Control的最å°å°ºå¯¸ã€‚"
+"ScrollContainer旨在与å•ä¸ªå­æŽ§ä»¶ä¸€èµ·ä½¿ç”¨ã€‚ 使用容器作为å­å®¹å™¨ï¼ˆVBox,HBox等)"
+"或控件,并手动设置自定义最å°å°ºå¯¸ã€‚"
#: scene/gui/tree.cpp
msgid "(Other)"
@@ -11873,9 +11889,8 @@ msgid "Invalid source for shader."
msgstr "éžæ³•çš„ç€è‰²å™¨æºã€‚"
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Invalid comparison function for that type."
-msgstr "该类型的比较函数无效。"
+msgstr "该类型的比较功能无效。"
#: servers/visual/shader_language.cpp
msgid "Assignment to function."
@@ -11893,6 +11908,43 @@ msgstr "å˜é‡åªèƒ½åœ¨é¡¶ç‚¹å‡½æ•°ä¸­æŒ‡å®šã€‚"
msgid "Constants cannot be modified."
msgstr "ä¸å…许修改常é‡ã€‚"
+#~ msgid "Properties:"
+#~ msgstr "属性:"
+
+#~ msgid "Methods:"
+#~ msgstr "方法:"
+
+#~ msgid "Theme Properties:"
+#~ msgstr "Theme Properties:"
+
+#~ msgid "Enumerations:"
+#~ msgstr "枚举:"
+
+#~ msgid "Constants:"
+#~ msgstr "常é‡:"
+
+#~ msgid "Class Description:"
+#~ msgstr "类说明:"
+
+#~ msgid "Property Descriptions:"
+#~ msgstr "属性说明:"
+
+#~ msgid "Method Descriptions:"
+#~ msgstr "方法说明:"
+
+#~ msgid ""
+#~ "This will install the Android project for custom builds.\n"
+#~ "Note that, in order to use it, it needs to be enabled per export preset."
+#~ msgstr ""
+#~ "将安装Android项目以进行自定义构建。\n"
+#~ "注æ„,为了å¯ç”¨ï¼Œéœ€è¦ä¸ºæ¯ä¸ªå¯¼å‡ºé¢„设å¯ç”¨ã€‚"
+
+#~ msgid "Reverse sorting."
+#~ msgstr "å呿ޒåºã€‚"
+
+#~ msgid "Delete Node(s)?"
+#~ msgstr "确定è¦åˆ é™¤èŠ‚ç‚¹å—?"
+
#~ msgid "No Matches"
#~ msgstr "无匹é…项"
@@ -12134,9 +12186,6 @@ msgstr "ä¸å…许修改常é‡ã€‚"
#~ msgid "Instance the selected scene(s) as child of the selected node."
#~ msgstr "将选中的场景实例为选中节点的å­èŠ‚ç‚¹ã€‚"
-#~ msgid "Warnings:"
-#~ msgstr "警告:"
-
#~ msgid "Font Size:"
#~ msgstr "字体大å°:"
@@ -12180,9 +12229,6 @@ msgstr "ä¸å…许修改常é‡ã€‚"
#~ msgid "Select a split to erase it."
#~ msgstr "选择一个拆分以擦除它。"
-#~ msgid "No name provided"
-#~ msgstr "未æä¾›åç§°"
-
#~ msgid "Add Node.."
#~ msgstr "添加节点.."
@@ -12316,9 +12362,6 @@ msgstr "ä¸å…许修改常é‡ã€‚"
#~ msgid "Warning"
#~ msgstr "警告"
-#~ msgid "Error:"
-#~ msgstr "错误:"
-
#~ msgid "Function:"
#~ msgstr "函数:"
@@ -12400,9 +12443,6 @@ msgstr "ä¸å…许修改常é‡ã€‚"
#~ msgid "Duplicate Graph Node(s)"
#~ msgstr "å¤åˆ¶Graph Node节点"
-#~ msgid "Delete Shader Graph Node(s)"
-#~ msgstr "删除Graph Node节点"
-
#~ msgid "Error: Cyclic Connection Link"
#~ msgstr "错误:循环的连接"
@@ -12846,9 +12886,6 @@ msgstr "ä¸å…许修改常é‡ã€‚"
#~ msgid "Pick New Name and Location For:"
#~ msgstr "选择新å称和路径:"
-#~ msgid "No files selected!"
-#~ msgstr "没有选中任何文件ï¼"
-
#~ msgid "Info"
#~ msgstr "ä¿¡æ¯"
@@ -13244,12 +13281,6 @@ msgstr "ä¸å…许修改常é‡ã€‚"
#~ msgid "Scaling to %s%%."
#~ msgstr "缩放到%s%%。"
-#~ msgid "Up"
-#~ msgstr "å‘上"
-
-#~ msgid "Down"
-#~ msgstr "å‘下"
-
#~ msgid "Bucket"
#~ msgstr "æ¡¶(Bucket)"
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index 89e0d28fcf..fef45a44f4 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -58,6 +58,34 @@ msgstr ""
msgid "On call to '%s':"
msgstr ""
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr ""
@@ -503,6 +531,11 @@ msgid "Select None"
msgstr "ä¸é¸"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "ç”±Scene Treeé¸å–一個動畫播放器以編輯當中動畫。"
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -845,7 +878,8 @@ msgstr "連接訊號:"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -957,7 +991,8 @@ msgstr "æœå°‹ï¼š"
msgid "Matches:"
msgstr "å»åˆï¼š"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1274,7 +1309,7 @@ msgid "Delete Bus Effect"
msgstr "刪除é¸ä¸­æª”案"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+msgid "Drag & drop to rearrange."
msgstr ""
#: editor/editor_audio_buses.cpp
@@ -1489,6 +1524,7 @@ msgid "Add AutoLoad"
msgstr "新增AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "路徑:"
@@ -1727,6 +1763,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr ""
@@ -1809,6 +1846,7 @@ msgid "New Folder..."
msgstr "新增資料夾"
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "釿–°æ•´ç†"
@@ -1975,7 +2013,7 @@ msgstr ""
#: editor/editor_help.cpp
#, fuzzy
-msgid "Brief Description:"
+msgid "Brief Description"
msgstr "簡述:"
#: editor/editor_help.cpp
@@ -1983,44 +2021,21 @@ msgid "Properties"
msgstr ""
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Methods"
msgstr "鏿“‡æ¨¡å¼"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "鏿“‡æ¨¡å¼"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "篩é¸:"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Theme Properties:"
-msgstr "篩é¸:"
-
-#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Signals:"
-msgstr "訊號:"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
msgstr "翻譯:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Enumerations:"
-msgstr "翻譯:"
-
-#: editor/editor_help.cpp
msgid "enum "
msgstr ""
@@ -2030,22 +2045,13 @@ msgid "Constants"
msgstr "常數"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr ""
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "æè¿°ï¼š"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "æè¿°ï¼š"
-
-#: editor/editor_help.cpp
-#, fuzzy
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "關閉場景"
#: editor/editor_help.cpp
@@ -2061,11 +2067,6 @@ msgid "Property Descriptions"
msgstr "簡述:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-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]!"
@@ -2077,11 +2078,6 @@ msgid "Method Descriptions"
msgstr "æè¿°ï¼š"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "æè¿°ï¼š"
-
-#: editor/editor_help.cpp
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
@@ -2156,8 +2152,8 @@ msgstr ""
msgid "Copy Selection"
msgstr "移除é¸é …"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2171,6 +2167,49 @@ msgstr "清空"
msgid "Clear Output"
msgstr "下一個腳本"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "åœæ­¢"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "下載"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2755,6 +2794,19 @@ msgstr "專案"
msgid "Project Settings..."
msgstr "專案設定"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "版本:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2969,10 +3021,6 @@ msgstr "æš«åœå ´æ™¯"
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 "é‹è¡Œä¿®æ”¹çš„場景"
@@ -3026,10 +3074,6 @@ msgid "Inspector"
msgstr "監視器"
#: editor/editor_node.cpp
-msgid "Node"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr ""
@@ -3052,15 +3096,21 @@ msgstr "管ç†è¼¸å‡ºç¯„本"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3128,6 +3178,11 @@ msgstr "è¦é›¢é–‹ç·¨è¼¯å™¨å—Ž?"
msgid "Open the previous Editor"
msgstr ""
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "資æº"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr ""
@@ -3139,6 +3194,11 @@ msgstr "縮圖"
#: editor/editor_plugin_settings.cpp
#, fuzzy
+msgid "Main Script:"
+msgstr "下一個腳本"
+
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
msgid "Edit Plugin"
msgstr "æ’ä»¶"
@@ -3169,11 +3229,6 @@ msgstr "狀態:"
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 ""
@@ -4020,9 +4075,10 @@ msgstr "檔案"
msgid "Import As:"
msgstr "å°Žå…¥"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr ""
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "é‡è¨­ç¸®æ”¾æ¯”例"
#: editor/import_dock.cpp
#, fuzzy
@@ -4491,6 +4547,7 @@ msgid "Change Animation Name:"
msgstr "更改動畫å稱:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "刪除動畫?"
@@ -5085,11 +5142,6 @@ msgid "Sort:"
msgstr "排åºï¼š"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "請求中..."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "分類:"
@@ -5372,6 +5424,11 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "鏿“‡æ¨¡å¼"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr ""
@@ -6457,7 +6514,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6679,11 +6736,11 @@ msgid "Toggle Scripts Panel"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Over"
+msgid "Step Into"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Step Into"
+msgid "Step Over"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
@@ -6769,7 +6826,7 @@ msgstr "關閉場景"
msgid "Connections to method:"
msgstr "連到:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "來æº:"
@@ -7585,6 +7642,11 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "移動模å¼"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "新增動畫"
@@ -7920,6 +7982,15 @@ msgid "Enable Priority"
msgstr "檔案"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "ç¯©é¸æª”案..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr ""
@@ -8064,6 +8135,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "åªé™é¸ä¸­"
@@ -8241,6 +8317,108 @@ msgstr "ä¸èƒ½åŸ·è¡Œé€™å€‹å‹•作,因為沒有tree root."
msgid "TileSet"
msgstr "TileSet..."
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "社群"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "新增"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "當改變時更新"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "釿–°å‘½å..."
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "刪除"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "當改變時更新"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "刪除é¸ä¸­æª”案"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "å…¨é¸"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "åŒæ­¥æ›´æ–°è…³æœ¬"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8492,6 +8670,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9728,6 +9911,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "縮放selection"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9866,6 +10054,10 @@ msgid "Plugins"
msgstr "æ’ä»¶"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -10042,10 +10234,6 @@ msgstr "轉為..."
msgid "Reset"
msgstr "é‡è¨­ç¸®æ”¾æ¯”例"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10101,6 +10289,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10143,10 +10335,24 @@ msgid "Make node as Root"
msgstr "儲存場景"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "ä¸é¸"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "ä¸é¸"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10559,11 +10765,40 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
+msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+msgid "Error:"
+msgstr "錯誤:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "載入錯誤"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "錯誤:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "來æº:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "來æº:"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "來æº:"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10571,8 +10806,9 @@ msgid "Errors"
msgstr "錯誤"
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "中斷"
#: editor/script_editor_debugger.cpp
#, fuzzy
@@ -10580,6 +10816,11 @@ msgid "Copy Error"
msgstr "載入錯誤"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "刪除"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10596,6 +10837,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "匯出"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10608,6 +10854,10 @@ msgid "Monitors"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -10809,10 +11059,6 @@ msgid "Library"
msgstr "MeshLibrary..."
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10821,6 +11067,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
msgstr ""
@@ -10982,6 +11232,15 @@ msgstr "設定"
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "篩é¸:"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11122,6 +11381,10 @@ msgid "Create a new variable."
msgstr "新增"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "訊號:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "縮放selection"
@@ -11292,6 +11555,10 @@ msgid "Editing Signal:"
msgstr "連接"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11441,7 +11708,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12108,6 +12376,34 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "鏿“‡æ¨¡å¼"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "篩é¸:"
+
+#, fuzzy
+#~ msgid "Enumerations:"
+#~ msgstr "翻譯:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "æè¿°ï¼š"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "簡述:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "æè¿°ï¼š"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "請求中..."
+
+#, fuzzy
#~ msgid "Error: could not load file."
#~ msgstr "無法新增資料夾"
@@ -12289,9 +12585,6 @@ msgstr ""
#~ msgid "Convert To Lowercase"
#~ msgstr "轉為..."
-#~ msgid "Error:"
-#~ msgstr "錯誤:"
-
#~ msgid "Errors:"
#~ msgstr "錯誤:"
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index cfda19870f..dbc8432108 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -71,6 +71,35 @@ msgstr "ç„¡æ•ˆåƒæ•¸é¡žåž‹: '%s'"
msgid "On call to '%s':"
msgstr "調用“%sâ€æ™‚:"
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+#, fuzzy
+msgid "MiB"
+msgstr "æ··åˆ"
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
#: editor/animation_bezier_editor.cpp
msgid "Free"
msgstr "释放"
@@ -509,6 +538,11 @@ msgid "Select None"
msgstr "鏿“‡æ¨¡å¼"
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr "å¾žå ´æ™¯æ¨¹ä¸­é¸æ“‡ä¸€å€‹ AnimationPlayer 來編輯動畫。"
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "僅顯示樹中所é¸ç¯€é»žçš„軌跡。"
@@ -845,7 +879,8 @@ msgstr "無法連接訊號"
#: 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/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/version_control_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
@@ -947,7 +982,8 @@ msgstr "æœå°‹:"
msgid "Matches:"
msgstr "ç¬¦åˆæ¢ä»¶:"
-#: editor/create_dialog.cpp editor/plugin_config_dialog.cpp
+#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
@@ -1273,7 +1309,8 @@ msgid "Delete Bus Effect"
msgstr "刪除 Bus 效果"
#: editor/editor_audio_buses.cpp
-msgid "Audio Bus, Drag and Drop to rearrange."
+#, fuzzy
+msgid "Drag & drop to rearrange."
msgstr "Audio Busã€‚æ‹–æ”¾ä»¥é‡æ–°æŽ’列。"
#: editor/editor_audio_buses.cpp
@@ -1478,6 +1515,7 @@ msgid "Add AutoLoad"
msgstr "新增 AutoLoad"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Path:"
msgstr "路徑:"
@@ -1727,6 +1765,7 @@ msgstr "ç•¶å‰ï¼š"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "New"
msgstr "新增"
@@ -1807,6 +1846,7 @@ msgid "New Folder..."
msgstr "新增資料夾..."
#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
msgid "Refresh"
msgstr "釿–°æ•´ç†"
@@ -1971,7 +2011,8 @@ msgid "Inherited by:"
msgstr "繼承:"
#: editor/editor_help.cpp
-msgid "Brief Description:"
+#, fuzzy
+msgid "Brief Description"
msgstr "ç°¡è¦èªªæ˜Žï¼š"
#: editor/editor_help.cpp
@@ -1979,41 +2020,19 @@ msgid "Properties"
msgstr "性質"
#: editor/editor_help.cpp
-msgid "Properties:"
-msgstr "效能:"
-
-#: editor/editor_help.cpp
msgid "Methods"
msgstr "方法"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Methods:"
-msgstr "方法"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Theme Properties"
msgstr "éŽæ¿¾æª”案..."
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Theme Properties:"
-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 "枚舉 "
@@ -2022,21 +2041,13 @@ msgid "Constants"
msgstr "定數"
#: editor/editor_help.cpp
-msgid "Constants:"
-msgstr "定數:"
-
-#: editor/editor_help.cpp
#, fuzzy
msgid "Class Description"
msgstr "æè¿°:"
#: editor/editor_help.cpp
#, fuzzy
-msgid "Class Description:"
-msgstr "æè¿°:"
-
-#: editor/editor_help.cpp
-msgid "Online Tutorials:"
+msgid "Online Tutorials"
msgstr "線上教學:"
#: editor/editor_help.cpp
@@ -2054,11 +2065,6 @@ msgid "Property Descriptions"
msgstr "Property 說明:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Property Descriptions:"
-msgstr "Property 說明:"
-
-#: 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]!"
@@ -2072,11 +2078,6 @@ msgid "Method Descriptions"
msgstr "Method 說明:"
#: editor/editor_help.cpp
-#, fuzzy
-msgid "Method Descriptions:"
-msgstr "Method 說明:"
-
-#: 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]!"
@@ -2152,8 +2153,8 @@ msgstr "輸出:"
msgid "Copy Selection"
msgstr "è¤‡è£½é¸æ“‡"
-#: editor/editor_log.cpp editor/editor_profiler.cpp
-#: editor/editor_properties.cpp
+#: editor/editor_log.cpp editor/editor_network_profiler.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
@@ -2167,6 +2168,50 @@ msgstr "清除"
msgid "Clear Output"
msgstr "輸出:"
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr "åœæ­¢"
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr "é–‹å§‹"
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+#, fuzzy
+msgid "Down"
+msgstr "下載"
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#, fuzzy
+msgid "Node"
+msgstr "節點"
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "New Window"
msgstr ""
@@ -2741,6 +2786,19 @@ msgstr "專案"
msgid "Project Settings..."
msgstr "專案設定"
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Version Control"
+msgstr "版本:"
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
#: editor/editor_node.cpp
#, fuzzy
msgid "Export..."
@@ -2957,10 +3015,6 @@ msgstr "æš«åœå ´æ™¯"
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 "é‹è¡Œç·¨è¼¯éŽçš„場景。"
@@ -3015,11 +3069,6 @@ msgid "Inspector"
msgstr "å±¬æ€§é¢æ¿"
#: editor/editor_node.cpp
-#, fuzzy
-msgid "Node"
-msgstr "節點"
-
-#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
msgstr "å±•é–‹åº•éƒ¨é¢æ¿"
@@ -3042,15 +3091,21 @@ msgstr "管ç†è¼¸å‡ºæ¨¡æ¿"
#: editor/editor_node.cpp
msgid ""
-"This will install the Android project for custom builds.\n"
-"Note that, in order to use it, it needs to be enabled per export preset."
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
msgstr ""
#: editor/editor_node.cpp
msgid ""
-"Android build template is already installed and it won't be overwritten.\n"
-"Remove the \"build\" directory manually before attempting this operation "
-"again."
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
msgstr ""
#: editor/editor_node.cpp
@@ -3113,6 +3168,11 @@ msgstr "開啟下一個編輯器"
msgid "Open the previous Editor"
msgstr "開啟上一個編輯器"
+#: editor/editor_path.cpp
+#, fuzzy
+msgid "No sub-resources found."
+msgstr "æœªæŒ‡å®šè¡¨é¢æºã€‚"
+
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
msgstr "創建網格é è¦½"
@@ -3122,6 +3182,11 @@ msgid "Thumbnail..."
msgstr "縮圖…"
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Main Script:"
+msgstr "開啟最近存å–"
+
+#: editor/editor_plugin_settings.cpp
msgid "Edit Plugin"
msgstr "編輯擴充功能"
@@ -3150,11 +3215,6 @@ msgstr "狀態:"
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 "措施:"
@@ -3989,9 +4049,10 @@ msgstr " 資料夾"
msgid "Import As:"
msgstr "導入為:"
-#: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset..."
-msgstr "é è¨­ã€‚。。"
+#: editor/import_dock.cpp
+#, fuzzy
+msgid "Preset"
+msgstr "é è¨­"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -4451,6 +4512,7 @@ msgid "Change Animation Name:"
msgstr "更改動畫å稱:"
#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
msgstr "刪除動畫?"
@@ -5036,11 +5098,6 @@ msgid "Sort:"
msgstr "排åº:"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Reverse sorting."
-msgstr "正在請求…"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
msgstr "類別:"
@@ -5322,6 +5379,11 @@ msgid "Pan Mode"
msgstr "平移模å¼"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Ruler Mode"
+msgstr "縮放模å¼"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
msgstr "切æ›å¸é™„。"
@@ -6418,7 +6480,7 @@ 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/scene_tree_editor.cpp editor/script_editor_debugger.cpp
msgid "Type:"
msgstr ""
@@ -6637,14 +6699,14 @@ msgid "Toggle Scripts Panel"
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 "Step Over"
+msgstr "è·¨éŽ"
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
msgstr "è·³éŽ"
@@ -6727,7 +6789,7 @@ msgstr "清除最近開啟的場景"
msgid "Connections to method:"
msgstr "連接到節點:"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Source"
msgstr "資æº"
@@ -7540,6 +7602,11 @@ msgstr "(空)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
+msgid "Move Frame"
+msgstr "粘貼幀"
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#, fuzzy
msgid "Animations:"
msgstr "動畫:"
@@ -7874,6 +7941,15 @@ msgid "Enable Priority"
msgstr "編輯ç£è²¼å„ªå…ˆç´š"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter tiles"
+msgstr "ç¯©é¸æª”案..."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
msgstr "繪製ç£è²¼"
@@ -8021,6 +8097,11 @@ msgid "Display Tile Names (Hold Alt Key)"
msgstr "顯示ç£è²¼å稱 (æŒ‰ä½ ALT éµ)"
#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
msgstr "刪除é¸å®šçš„ç´‹ç†ï¼Ÿé€™å°‡åˆªé™¤ä½¿ç”¨å®ƒçš„æ‰€æœ‰ç£è²¼ã€‚"
@@ -8189,6 +8270,109 @@ msgstr "無法更改此屬性。"
msgid "TileSet"
msgstr ""
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS addons are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No files added to stage"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit"
+msgstr "社å€"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "VCS Addon is not initialized"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Initialize"
+msgstr "首字æ¯å¤§å¯«"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staging area"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Detect new changes"
+msgstr "創建新矩形。"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Changes"
+msgstr "æ›´æ›"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Renamed"
+msgstr "é‡å‘½å"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Deleted"
+msgstr "刪除"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Typechange"
+msgstr "æ›´æ›"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage Selected"
+msgstr "縮放所é¸"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Stage All"
+msgstr "全部ä¿å­˜"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Add a commit message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#, fuzzy
+msgid "Commit Changes"
+msgstr "åŒæ­¥è…³æœ¬çš„變更"
+
+#: editor/plugins/version_control_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No file diff is active"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect changes in file diff"
+msgstr ""
+
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
msgstr ""
@@ -8444,6 +8628,11 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the comparison between two parameters."
msgstr ""
@@ -9676,6 +9865,11 @@ msgid "Settings saved OK."
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Moved Input Action Event"
+msgstr "æ‰€æœ‰çš„é¸æ“‡"
+
+#: editor/project_settings_editor.cpp
msgid "Override for Feature"
msgstr ""
@@ -9818,6 +10012,10 @@ msgid "Plugins"
msgstr "挿件"
#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr "é è¨­ã€‚。。"
+
+#: editor/property_editor.cpp
msgid "Zero"
msgstr ""
@@ -9990,10 +10188,6 @@ msgstr "è½‰æ›æˆ..."
msgid "Reset"
msgstr "é‡è¨­ç¸®æ”¾å¤§å°"
-#: editor/rename_dialog.cpp
-msgid "Error"
-msgstr ""
-
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -10049,6 +10243,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
msgstr ""
@@ -10090,10 +10288,24 @@ msgid "Make node as Root"
msgstr "儲存場景"
#: editor/scene_tree_dock.cpp
-msgid "Delete Node(s)?"
+#, fuzzy
+msgid "Delete %d nodes?"
+msgstr "刪除"
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Delete node \"%s\"?"
+msgstr "刪除"
+
+#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
msgstr ""
@@ -10502,11 +10714,42 @@ msgid "Bytes:"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Stack Trace"
-msgstr ""
+#, fuzzy
+msgid "Warning:"
+msgstr "警告"
#: editor/script_editor_debugger.cpp
-msgid "Pick one or more items from the list to display the graph."
+#, fuzzy
+msgid "Error:"
+msgstr "錯誤ï¼"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error"
+msgstr "連接..."
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Error:"
+msgstr "連接..."
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source"
+msgstr "資æº"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Source:"
+msgstr "資æº"
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "C++ Source:"
+msgstr "資æº"
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
msgstr ""
#: editor/script_editor_debugger.cpp
@@ -10514,8 +10757,9 @@ msgid "Errors"
msgstr ""
#: editor/script_editor_debugger.cpp
-msgid "Child Process Connected"
-msgstr ""
+#, fuzzy
+msgid "Child process connected."
+msgstr "æ–·ç·š"
#: editor/script_editor_debugger.cpp
#, fuzzy
@@ -10523,6 +10767,11 @@ msgid "Copy Error"
msgstr "連接..."
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Skip Breakpoints"
+msgstr "刪除"
+
+#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
msgstr ""
@@ -10539,6 +10788,11 @@ msgid "Profiler"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Network Profiler"
+msgstr "輸出專案"
+
+#: editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -10552,6 +10806,10 @@ msgid "Monitors"
msgstr "監看畫é¢"
#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
#, fuzzy
msgid "List of Video Memory Usage by Resource:"
msgstr "影片記憶體使用容é‡åˆ—表(ä¾è³‡æºåˆ¥):"
@@ -10763,10 +11021,6 @@ msgid "Library"
msgstr ""
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-msgid "Status"
-msgstr ""
-
-#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Libraries: "
msgstr ""
@@ -10775,6 +11029,10 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
#, fuzzy
msgid "Step argument is zero!"
msgstr "step引數為0!"
@@ -10943,6 +11201,15 @@ msgstr "專案設定"
msgid "Pick Distance:"
msgstr ""
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Filter meshes"
+msgstr "éŽæ¿¾æª”案..."
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
msgstr ""
@@ -11084,6 +11351,10 @@ msgid "Create a new variable."
msgstr "創建新矩形。"
#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr "訊號:"
+
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Create a new signal."
msgstr "創建新多邊形。"
@@ -11245,6 +11516,10 @@ msgid "Editing Signal:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
msgstr ""
@@ -11394,7 +11669,8 @@ msgstr ""
#: platform/android/export/export.cpp
msgid ""
-"Android project is not installed for compiling. Install from Editor menu."
+"Android build template not installed in the project. Install it from the "
+"Project menu."
msgstr ""
#: platform/android/export/export.cpp
@@ -12077,6 +12353,39 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Properties:"
+#~ msgstr "效能:"
+
+#, fuzzy
+#~ msgid "Methods:"
+#~ msgstr "方法"
+
+#, fuzzy
+#~ msgid "Theme Properties:"
+#~ msgstr "éŽæ¿¾æª”案..."
+
+#~ msgid "Enumerations:"
+#~ msgstr "枚舉:"
+
+#~ msgid "Constants:"
+#~ msgstr "定數:"
+
+#, fuzzy
+#~ msgid "Class Description:"
+#~ msgstr "æè¿°:"
+
+#, fuzzy
+#~ msgid "Property Descriptions:"
+#~ msgstr "Property 說明:"
+
+#, fuzzy
+#~ msgid "Method Descriptions:"
+#~ msgstr "Method 說明:"
+
+#, fuzzy
+#~ msgid "Reverse sorting."
+#~ msgstr "正在請求…"
+
#~ msgid "No Matches"
#~ msgstr "ç„¡ç¬¦åˆæ¢ä»¶"
diff --git a/main/SCsub b/main/SCsub
index 62bc155c67..73cec1d250 100644
--- a/main/SCsub
+++ b/main/SCsub
@@ -28,7 +28,8 @@ env.CommandNoCache("#main/splash_editor.gen.h", "#main/splash_editor.png", run_i
env.Depends("#main/app_icon.gen.h", "#main/app_icon.png")
env.CommandNoCache("#main/app_icon.gen.h", "#main/app_icon.png", run_in_subprocess(main_builders.make_app_icon))
-SConscript('tests/SCsub')
+if env["tools"]:
+ SConscript('tests/SCsub')
lib = env.add_library("main", env.main_sources)
env.Prepend(LIBS=[lib])
diff --git a/main/main.cpp b/main/main.cpp
index 5de5c52b14..6df02af3a5 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -444,6 +444,32 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
if (I->next()) {
audio_driver = I->next()->get();
+
+ bool found = false;
+ for (int i = 0; i < OS::get_singleton()->get_audio_driver_count(); i++) {
+ if (audio_driver == OS::get_singleton()->get_audio_driver_name(i)) {
+ found = true;
+ }
+ }
+
+ if (!found) {
+ OS::get_singleton()->print("Unknown audio driver '%s', aborting.\nValid options are ", audio_driver.utf8().get_data());
+
+ for (int i = 0; i < OS::get_singleton()->get_audio_driver_count(); i++) {
+ if (i == OS::get_singleton()->get_audio_driver_count() - 1) {
+ OS::get_singleton()->print(" and ");
+ } else if (i != 0) {
+ OS::get_singleton()->print(", ");
+ }
+
+ OS::get_singleton()->print("'%s'", OS::get_singleton()->get_audio_driver_name(i));
+ }
+
+ OS::get_singleton()->print(".\n");
+
+ goto error;
+ }
+
N = I->next()->next();
} else {
OS::get_singleton()->print("Missing audio driver argument, aborting.\n");
@@ -455,6 +481,32 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
if (I->next()) {
video_driver = I->next()->get();
+
+ bool found = false;
+ for (int i = 0; i < OS::get_singleton()->get_video_driver_count(); i++) {
+ if (video_driver == OS::get_singleton()->get_video_driver_name(i)) {
+ found = true;
+ }
+ }
+
+ if (!found) {
+ OS::get_singleton()->print("Unknown video driver '%s', aborting.\nValid options are ", video_driver.utf8().get_data());
+
+ for (int i = 0; i < OS::get_singleton()->get_video_driver_count(); i++) {
+ if (i == OS::get_singleton()->get_video_driver_count() - 1) {
+ OS::get_singleton()->print(" and ");
+ } else if (i != 0) {
+ OS::get_singleton()->print(", ");
+ }
+
+ OS::get_singleton()->print("'%s'", OS::get_singleton()->get_video_driver_name(i));
+ }
+
+ OS::get_singleton()->print(".\n");
+
+ goto error;
+ }
+
N = I->next()->next();
} else {
OS::get_singleton()->print("Missing video driver argument, aborting.\n");
@@ -989,10 +1041,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
}
if (video_driver_idx < 0) {
-
- //OS::get_singleton()->alert("Invalid Video Driver: " + video_driver);
video_driver_idx = 0;
- //goto error;
}
if (audio_driver == "") { // specified in project.godot
@@ -1009,10 +1058,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
}
if (audio_driver_idx < 0) {
-
- OS::get_singleton()->alert("Invalid Audio Driver: " + audio_driver);
audio_driver_idx = 0;
- //goto error;
}
{
@@ -1457,12 +1503,11 @@ bool Main::start() {
};
if (test != "") {
-#ifdef DEBUG_ENABLED
+#ifdef TOOLS_ENABLED
main_loop = test_main(test, args);
if (!main_loop)
return false;
-
#endif
} else if (script != "") {
diff --git a/main/splash_editor.png b/main/splash_editor.png
index d8677f1749..ab10716a2e 100644
--- a/main/splash_editor.png
+++ b/main/splash_editor.png
Binary files differ
diff --git a/main/tests/test_oa_hash_map.cpp b/main/tests/test_oa_hash_map.cpp
index bf5b4588ea..beee52d1de 100644
--- a/main/tests/test_oa_hash_map.cpp
+++ b/main/tests/test_oa_hash_map.cpp
@@ -140,6 +140,19 @@ MainLoop *test() {
OS::get_singleton()->print("test for issue #31402 passed.\n");
}
+ // test collision resolution, should not crash or run indefinitely
+ {
+ OAHashMap<int, int> map(4);
+ map.set(1, 1);
+ map.set(5, 1);
+ map.set(9, 1);
+ map.set(13, 1);
+ map.remove(5);
+ map.remove(9);
+ map.remove(13);
+ map.set(5, 1);
+ }
+
return NULL;
}
} // namespace TestOAHashMap
diff --git a/misc/dist/html/fixed-size.html b/misc/dist/html/fixed-size.html
index 14766e8239..1cc6fd715e 100644
--- a/misc/dist/html/fixed-size.html
+++ b/misc/dist/html/fixed-size.html
@@ -229,6 +229,7 @@ $GODOT_HEAD_INCLUDE
(function() {
+ const EXECUTABLE_NAME = '$GODOT_BASENAME';
const MAIN_PACK = '$GODOT_BASENAME.pck';
const DEBUG_ENABLED = $GODOT_DEBUG_ENABLED;
const INDETERMINATE_STATUS_STEP_MS = 100;
@@ -380,7 +381,7 @@ $GODOT_HEAD_INCLUDE
} else {
setStatusMode('indeterminate');
engine.setCanvas(canvas);
- engine.startGame(MAIN_PACK).then(() => {
+ engine.startGame(EXECUTABLE_NAME, MAIN_PACK).then(() => {
setStatusMode('hidden');
initializing = false;
}, displayFailureNotice);
diff --git a/misc/dist/html/full-size.html b/misc/dist/html/full-size.html
index 12b9af21e5..9269227d02 100644
--- a/misc/dist/html/full-size.html
+++ b/misc/dist/html/full-size.html
@@ -142,6 +142,7 @@ $GODOT_HEAD_INCLUDE
(function() {
+ const EXECUTABLE_NAME = '$GODOT_BASENAME';
const MAIN_PACK = '$GODOT_BASENAME.pck';
const INDETERMINATE_STATUS_STEP_MS = 100;
@@ -254,7 +255,7 @@ $GODOT_HEAD_INCLUDE
} else {
setStatusMode('indeterminate');
engine.setCanvas(canvas);
- engine.startGame(MAIN_PACK).then(() => {
+ engine.startGame(EXECUTABLE_NAME, MAIN_PACK).then(() => {
setStatusMode('hidden');
initializing = false;
}, displayFailureNotice);
diff --git a/misc/scripts/sort-demos.sh b/misc/scripts/sort-demos.sh
deleted file mode 100644
index 5e01b86b46..0000000000
--- a/misc/scripts/sort-demos.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-# When scanning for demos, the project manager sorts them based on their
-# timestamp, i.e. last modification date. This can make for a pretty
-# messy output, so this script 'touches' each project.godot file in reverse
-# alphabetical order to ensure a nice listing.
-#
-# It's good practice to run it once before packaging demos on the build
-# server.
-
-if [ ! -d "demos" ]; then
- echo "Run this script from the root directory where 'demos/' is contained."
- exit 1
-fi
-
-if [ -e demos.list ]; then
- rm -f demos.list
-fi
-
-for dir in 2d 3d gui misc viewport; do
- find "demos/$dir" -name "project.godot" |sort >> demos.list
-done
-cat demos.list |sort -r > demos_r.list
-
-while read line; do
- touch $line
- sleep 0.2
-done < demos_r.list
-
-#rm -f demos.list demos_r.list
diff --git a/modules/gdscript/doc_classes/@GDScript.xml b/modules/gdscript/doc_classes/@GDScript.xml
index 788db7fb86..1d0567dd8d 100644
--- a/modules/gdscript/doc_classes/@GDScript.xml
+++ b/modules/gdscript/doc_classes/@GDScript.xml
@@ -590,10 +590,10 @@
extends Sprite
var elapsed = 0.0
func _process(delta):
- var min_angle = deg2rad(0.0)
- var max_angle = deg2rad(90.0)
- rotation = lerp_angle(min_angle, max_angle, elapsed)
- elapsed += delta
+ var min_angle = deg2rad(0.0)
+ var max_angle = deg2rad(90.0)
+ rotation = lerp_angle(min_angle, max_angle, elapsed)
+ elapsed += delta
[/codeblock]
</description>
</method>
diff --git a/modules/gdscript/editor/gdscript_highlighter.cpp b/modules/gdscript/editor/gdscript_highlighter.cpp
index 963b40529d..4d6279074c 100644
--- a/modules/gdscript/editor/gdscript_highlighter.cpp
+++ b/modules/gdscript/editor/gdscript_highlighter.cpp
@@ -247,7 +247,7 @@ Map<int, TextEdit::HighlighterInfo> GDScriptSyntaxHighlighter::_get_line_syntax_
in_function_args = false;
}
- if (expect_type && prev_is_char) {
+ if (expect_type && (prev_is_char || str[j] == '=')) {
expect_type = false;
}
@@ -364,20 +364,28 @@ void GDScriptSyntaxHighlighter::_update_cache() {
number_color = text_editor->get_color("number_color");
member_color = text_editor->get_color("member_variable_color");
- EditorSettings *settings = EditorSettings::get_singleton();
- String text_editor_color_theme = settings->get("text_editor/theme/color_theme");
+ const String text_editor_color_theme = EditorSettings::get_singleton()->get("text_editor/theme/color_theme");
+ const bool default_theme = text_editor_color_theme == "Default";
- bool default_theme = text_editor_color_theme == "Default";
- bool dark_theme = settings->is_dark_theme();
-
- function_definition_color = default_theme ? Color(0.0, 0.88, 1.0) : dark_theme ? Color(0.0, 0.88, 1.0) : Color(0.0, 0.65, 0.73);
- node_path_color = default_theme ? Color(0.39, 0.76, 0.35) : dark_theme ? Color(0.39, 0.76, 0.35) : Color(0.32, 0.55, 0.29);
+ if (default_theme || EditorSettings::get_singleton()->is_dark_theme()) {
+ function_definition_color = Color(0.4, 0.9, 1.0);
+ node_path_color = Color(0.39, 0.76, 0.35);
+ } else {
+ function_definition_color = Color(0.0, 0.65, 0.73);
+ node_path_color = Color(0.32, 0.55, 0.29);
+ }
EDITOR_DEF("text_editor/highlighting/gdscript/function_definition_color", function_definition_color);
EDITOR_DEF("text_editor/highlighting/gdscript/node_path_color", node_path_color);
if (text_editor_color_theme == "Adaptive" || default_theme) {
- settings->set_initial_value("text_editor/highlighting/gdscript/function_definition_color", function_definition_color, true);
- settings->set_initial_value("text_editor/highlighting/gdscript/node_path_color", node_path_color, true);
+ EditorSettings::get_singleton()->set_initial_value(
+ "text_editor/highlighting/gdscript/function_definition_color",
+ function_definition_color,
+ true);
+ EditorSettings::get_singleton()->set_initial_value(
+ "text_editor/highlighting/gdscript/node_path_color",
+ node_path_color,
+ true);
}
function_definition_color = EDITOR_GET("text_editor/highlighting/gdscript/function_definition_color");
diff --git a/modules/gdscript/gdscript_functions.cpp b/modules/gdscript/gdscript_functions.cpp
index 97790e00bb..d9535d0f1f 100644
--- a/modules/gdscript/gdscript_functions.cpp
+++ b/modules/gdscript/gdscript_functions.cpp
@@ -572,37 +572,31 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
} break;
case OBJ_WEAKREF: {
VALIDATE_ARG_COUNT(1);
- if (p_args[0]->get_type() != Variant::OBJECT) {
-
+ if (p_args[0]->get_type() == Variant::OBJECT) {
+ if (p_args[0]->is_ref()) {
+ Ref<WeakRef> wref = memnew(WeakRef);
+ REF r = *p_args[0];
+ if (r.is_valid()) {
+ wref->set_ref(r);
+ }
+ r_ret = wref;
+ } else {
+ Ref<WeakRef> wref = memnew(WeakRef);
+ Object *obj = *p_args[0];
+ if (obj) {
+ wref->set_obj(obj);
+ }
+ r_ret = wref;
+ }
+ } else if (p_args[0]->get_type() == Variant::NIL) {
+ r_ret = memnew(WeakRef);
+ } else {
r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
r_error.argument = 0;
r_error.expected = Variant::OBJECT;
r_ret = Variant();
return;
}
-
- if (p_args[0]->is_ref()) {
-
- REF r = *p_args[0];
- if (!r.is_valid()) {
- r_ret = Variant();
- return;
- }
-
- Ref<WeakRef> wref = memnew(WeakRef);
- wref->set_ref(r);
- r_ret = wref;
- } else {
- Object *obj = *p_args[0];
- if (!obj) {
- r_ret = Variant();
- return;
- }
- Ref<WeakRef> wref = memnew(WeakRef);
- wref->set_obj(obj);
- r_ret = wref;
- }
-
} break;
case FUNC_FUNCREF: {
VALIDATE_ARG_COUNT(2);
diff --git a/modules/jsonrpc/jsonrpc.cpp b/modules/jsonrpc/jsonrpc.cpp
index e1bba60f2f..ea90cce83d 100644
--- a/modules/jsonrpc/jsonrpc.cpp
+++ b/modules/jsonrpc/jsonrpc.cpp
@@ -47,11 +47,11 @@ void JSONRPC::_bind_methods() {
ClassDB::bind_method(D_METHOD("make_notification", "method", "params"), &JSONRPC::make_notification);
ClassDB::bind_method(D_METHOD("make_response_error", "code", "message", "id"), &JSONRPC::make_response_error, DEFVAL(Variant()));
- BIND_ENUM_CONSTANT(PARSE_ERROR)
- BIND_ENUM_CONSTANT(INVALID_REQUEST)
- BIND_ENUM_CONSTANT(METHOD_NOT_FOUND)
- BIND_ENUM_CONSTANT(INVALID_PARAMS)
- BIND_ENUM_CONSTANT(INTERNAL_ERROR)
+ BIND_ENUM_CONSTANT(PARSE_ERROR);
+ BIND_ENUM_CONSTANT(INVALID_REQUEST);
+ BIND_ENUM_CONSTANT(METHOD_NOT_FOUND);
+ BIND_ENUM_CONSTANT(INVALID_PARAMS);
+ BIND_ENUM_CONSTANT(INTERNAL_ERROR);
}
Dictionary JSONRPC::make_response_error(int p_code, const String &p_message, const Variant &p_id) const {
diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp
index 28f098d323..28cab2ab61 100644
--- a/modules/mono/editor/bindings_generator.cpp
+++ b/modules/mono/editor/bindings_generator.cpp
@@ -30,7 +30,7 @@
#include "bindings_generator.h"
-#ifdef DEBUG_METHODS_ENABLED
+#if defined(DEBUG_METHODS_ENABLED) && defined(TOOLS_ENABLED)
#include "core/engine.h"
#include "core/global_constants.h"
diff --git a/modules/mono/editor/bindings_generator.h b/modules/mono/editor/bindings_generator.h
index 26718f1d11..8f3676940b 100644
--- a/modules/mono/editor/bindings_generator.h
+++ b/modules/mono/editor/bindings_generator.h
@@ -36,7 +36,7 @@
#include "editor/doc/doc_data.h"
#include "editor/editor_help.h"
-#ifdef DEBUG_METHODS_ENABLED
+#if defined(DEBUG_METHODS_ENABLED) && defined(TOOLS_ENABLED)
#include "core/ustring.h"
diff --git a/modules/mono/mono_gd/gd_mono.cpp b/modules/mono/mono_gd/gd_mono.cpp
index 915a01af7e..544bfc4615 100644
--- a/modules/mono/mono_gd/gd_mono.cpp
+++ b/modules/mono/mono_gd/gd_mono.cpp
@@ -119,26 +119,29 @@ void gdmono_debug_init() {
mono_debug_init(MONO_DEBUG_FORMAT_MONO);
+ CharString da_args = OS::get_singleton()->get_environment("GODOT_MONO_DEBUGGER_AGENT").utf8();
+
+#ifdef TOOLS_ENABLED
int da_port = GLOBAL_DEF("mono/debugger_agent/port", 23685);
bool da_suspend = GLOBAL_DEF("mono/debugger_agent/wait_for_debugger", false);
int da_timeout = GLOBAL_DEF("mono/debugger_agent/wait_timeout", 3000);
- CharString da_args = OS::get_singleton()->get_environment("GODOT_MONO_DEBUGGER_AGENT").utf8();
-
-#ifdef TOOLS_ENABLED
if (Engine::get_singleton()->is_editor_hint() ||
ProjectSettings::get_singleton()->get_resource_path().empty() ||
Main::is_project_manager()) {
if (da_args.size() == 0)
return;
}
-#endif
if (da_args.length() == 0) {
da_args = String("--debugger-agent=transport=dt_socket,address=127.0.0.1:" + itos(da_port) +
",embedding=1,server=y,suspend=" + (da_suspend ? "y,timeout=" + itos(da_timeout) : "n"))
.utf8();
}
+#else
+ if (da_args.length() == 0)
+ return; // Exported games don't use the project settings to setup the debugger agent
+#endif
// --debugger-agent=help
const char *options[] = {
@@ -427,8 +430,8 @@ void GDMono::_register_internal_calls() {
}
void GDMono::_initialize_and_check_api_hashes() {
-
#ifdef MONO_GLUE_ENABLED
+#ifdef DEBUG_METHODS_ENABLED
if (get_api_core_hash() != GodotSharpBindings::get_core_api_hash()) {
ERR_PRINT("Mono: Core API hash mismatch.");
}
@@ -438,6 +441,7 @@ void GDMono::_initialize_and_check_api_hashes() {
ERR_PRINT("Mono: Editor API hash mismatch.");
}
#endif // TOOLS_ENABLED
+#endif // DEBUG_METHODS_ENABLED
#endif // MONO_GLUE_ENABLED
}
@@ -761,7 +765,9 @@ bool GDMono::_try_load_api_assemblies() {
void GDMono::_load_api_assemblies() {
- if (!_try_load_api_assemblies()) {
+ bool api_assemblies_loaded = _try_load_api_assemblies();
+
+ if (!api_assemblies_loaded) {
#ifdef TOOLS_ENABLED
// The API assemblies are out of sync. Fine, try one more time, but this time
// update them from the prebuilt assemblies directory before trying to load them.
@@ -782,28 +788,30 @@ void GDMono::_load_api_assemblies() {
CRASH_COND_MSG(domain_load_err != OK, "Mono: Failed to load scripts domain.");
// 4. Try loading the updated assemblies
- if (!_try_load_api_assemblies()) {
- // welp... too bad
-
- if (_are_api_assemblies_out_of_sync()) {
- if (core_api_assembly_out_of_sync) {
- ERR_PRINT("The assembly '" CORE_API_ASSEMBLY_NAME "' is out of sync.");
- } else if (!GDMonoUtils::mono_cache.godot_api_cache_updated) {
- ERR_PRINT("The loaded assembly '" CORE_API_ASSEMBLY_NAME "' is in sync, but the cache update failed.");
- }
-
- if (editor_api_assembly_out_of_sync) {
- ERR_PRINT("The assembly '" EDITOR_API_ASSEMBLY_NAME "' is out of sync.");
- }
-
- CRASH_NOW();
- } else {
- CRASH_NOW_MSG("Failed to load one of the API assemblies.");
+ api_assemblies_loaded = _try_load_api_assemblies();
+#endif
+ }
+
+ if (!api_assemblies_loaded) {
+ // welp... too bad
+
+ if (_are_api_assemblies_out_of_sync()) {
+ if (core_api_assembly_out_of_sync) {
+ ERR_PRINT("The assembly '" CORE_API_ASSEMBLY_NAME "' is out of sync.");
+ } else if (!GDMonoUtils::mono_cache.godot_api_cache_updated) {
+ ERR_PRINT("The loaded assembly '" CORE_API_ASSEMBLY_NAME "' is in sync, but the cache update failed.");
+ }
+
+#ifdef TOOLS_ENABLED
+ if (editor_api_assembly_out_of_sync) {
+ ERR_PRINT("The assembly '" EDITOR_API_ASSEMBLY_NAME "' is out of sync.");
}
- }
-#else
- CRASH_NOW_MSG("Failed to load one of the API assemblies.");
#endif
+
+ CRASH_NOW();
+ } else {
+ CRASH_NOW_MSG("Failed to load one of the API assemblies.");
+ }
}
}
diff --git a/modules/mono/mono_gd/gd_mono.h b/modules/mono/mono_gd/gd_mono.h
index 4f7d3791f7..343d68bc2d 100644
--- a/modules/mono/mono_gd/gd_mono.h
+++ b/modules/mono/mono_gd/gd_mono.h
@@ -151,6 +151,7 @@ protected:
static GDMono *singleton;
public:
+#ifdef DEBUG_METHODS_ENABLED
uint64_t get_api_core_hash() {
if (api_core_hash == 0)
api_core_hash = ClassDB::get_api_hash(ClassDB::API_CORE);
@@ -162,7 +163,8 @@ public:
api_editor_hash = ClassDB::get_api_hash(ClassDB::API_EDITOR);
return api_editor_hash;
}
-#endif
+#endif // TOOLS_ENABLED
+#endif // DEBUG_METHODS_ENABLED
#ifdef TOOLS_ENABLED
bool copy_prebuilt_api_assembly(APIAssembly::Type p_api_type, const String &p_config);
diff --git a/modules/visual_script/config.py b/modules/visual_script/config.py
index 04e1a40b81..087a13a200 100644
--- a/modules/visual_script/config.py
+++ b/modules/visual_script/config.py
@@ -11,6 +11,7 @@ def get_doc_classes():
"VisualScriptBuiltinFunc",
"VisualScriptClassConstant",
"VisualScriptComment",
+ "VisualScriptComposeArray",
"VisualScriptCondition",
"VisualScriptConstant",
"VisualScriptConstructor",
@@ -28,6 +29,7 @@ def get_doc_classes():
"VisualScriptIndexSet",
"VisualScriptInputAction",
"VisualScriptIterator",
+ "VisualScriptLists",
"VisualScriptLocalVarSet",
"VisualScriptLocalVar",
"VisualScriptMathConstant",
diff --git a/modules/visual_script/doc_classes/VisualScriptComposeArray.xml b/modules/visual_script/doc_classes/VisualScriptComposeArray.xml
new file mode 100644
index 0000000000..92efbc51d1
--- /dev/null
+++ b/modules/visual_script/doc_classes/VisualScriptComposeArray.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="VisualScriptComposeArray" inherits="VisualScriptLists" category="Core" version="3.2">
+ <brief_description>
+ A Visual Script Node used to create array from a list of items.
+ </brief_description>
+ <description>
+ A Visual Script Node used to compose array from the list of elements provided with custom in-graph UI hard coded in the VisualScript Editor.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/modules/visual_script/doc_classes/VisualScriptLists.xml b/modules/visual_script/doc_classes/VisualScriptLists.xml
new file mode 100644
index 0000000000..8cf3eb1d38
--- /dev/null
+++ b/modules/visual_script/doc_classes/VisualScriptLists.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="VisualScriptLists" inherits="VisualScriptNode" category="Core" version="3.2">
+ <brief_description>
+ A Visual Script virtual class for in-graph editable nodes.
+ </brief_description>
+ <description>
+ A Visual Script virtual class that defines the shape and the default behaviour of the nodes that have to be in-graph editable nodes.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="add_input_data_port">
+ <return type="void">
+ </return>
+ <argument index="0" name="type" type="int" enum="Variant.Type">
+ </argument>
+ <argument index="1" name="name" type="String">
+ </argument>
+ <argument index="2" name="index" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="add_output_data_port">
+ <return type="void">
+ </return>
+ <argument index="0" name="type" type="int" enum="Variant.Type">
+ </argument>
+ <argument index="1" name="name" type="String">
+ </argument>
+ <argument index="2" name="index" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="remove_input_data_port">
+ <return type="void">
+ </return>
+ <argument index="0" name="index" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="remove_output_data_port">
+ <return type="void">
+ </return>
+ <argument index="0" name="index" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="set_input_data_port_name">
+ <return type="void">
+ </return>
+ <argument index="0" name="index" type="int">
+ </argument>
+ <argument index="1" name="name" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="set_input_data_port_type">
+ <return type="void">
+ </return>
+ <argument index="0" name="index" type="int">
+ </argument>
+ <argument index="1" name="type" type="int" enum="Variant.Type">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="set_output_data_port_name">
+ <return type="void">
+ </return>
+ <argument index="0" name="index" type="int">
+ </argument>
+ <argument index="1" name="name" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="set_output_data_port_type">
+ <return type="void">
+ </return>
+ <argument index="0" name="index" type="int">
+ </argument>
+ <argument index="1" name="type" type="int" enum="Variant.Type">
+ </argument>
+ <description>
+ </description>
+ </method>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/modules/visual_script/register_types.cpp b/modules/visual_script/register_types.cpp
index 24b96223d7..49272345fe 100644
--- a/modules/visual_script/register_types.cpp
+++ b/modules/visual_script/register_types.cpp
@@ -56,6 +56,8 @@ void register_visual_script_types() {
ClassDB::register_virtual_class<VisualScriptNode>();
ClassDB::register_class<VisualScriptFunctionState>();
ClassDB::register_class<VisualScriptFunction>();
+ ClassDB::register_virtual_class<VisualScriptLists>();
+ ClassDB::register_class<VisualScriptComposeArray>();
ClassDB::register_class<VisualScriptOperator>();
ClassDB::register_class<VisualScriptVariableSet>();
ClassDB::register_class<VisualScriptVariableGet>();
diff --git a/modules/visual_script/visual_script.cpp b/modules/visual_script/visual_script.cpp
index 6bed1742eb..0cacd0f0b5 100644
--- a/modules/visual_script/visual_script.cpp
+++ b/modules/visual_script/visual_script.cpp
@@ -1014,17 +1014,16 @@ void VisualScript::get_script_method_list(List<MethodInfo> *p_list) const {
Ref<VisualScriptFunction> func = E->get().nodes[E->get().function_id].node;
if (func.is_valid()) {
-
for (int i = 0; i < func->get_argument_count(); i++) {
PropertyInfo arg;
arg.name = func->get_argument_name(i);
arg.type = func->get_argument_type(i);
mi.arguments.push_back(arg);
}
+
+ p_list->push_back(mi);
}
}
-
- p_list->push_back(mi);
}
}
@@ -1137,6 +1136,9 @@ void VisualScript::_set_data(const Dictionary &p_data) {
Array funcs = d["functions"];
functions.clear();
+ Vector2 last_pos = Vector2(-100 * funcs.size(), -100 * funcs.size()); // this is the center of the last fn box
+ Vector2 last_size = Vector2(0.0, 0.0);
+
for (int i = 0; i < funcs.size(); i++) {
Dictionary func = funcs[i];
@@ -1149,11 +1151,42 @@ void VisualScript::_set_data(const Dictionary &p_data) {
Array nodes = func["nodes"];
- for (int j = 0; j < nodes.size(); j += 3) {
+ if (!d.has("vs_unify") && nodes.size() > 0) {
+ Vector2 top_left = nodes[1];
+ Vector2 bottom_right = nodes[1];
- add_node(name, nodes[j], nodes[j + 2], nodes[j + 1]);
- }
+ for (int j = 0; j < nodes.size(); j += 3) {
+ Point2 pos = nodes[j + 1];
+ if (pos.y > top_left.y) {
+ top_left.y = pos.y;
+ }
+ if (pos.y < bottom_right.y) {
+ bottom_right.y = pos.y;
+ }
+ if (pos.x > bottom_right.x) {
+ bottom_right.x = pos.x;
+ }
+ if (pos.x < top_left.x) {
+ top_left.x = pos.x;
+ }
+ }
+
+ Vector2 size = Vector2(bottom_right.x - top_left.x, top_left.y - bottom_right.y);
+
+ Vector2 offset = last_pos + (last_size / 2.0) + (size / 2.0); // dunno I might just keep it in one axis but diagonal feels better....
+ last_pos = offset;
+ last_size = size;
+
+ for (int j = 0; j < nodes.size(); j += 3) {
+ add_node(name, nodes[j], nodes[j + 2], offset + nodes[j + 1]); // also add an additional buffer if you want to
+ }
+
+ } else {
+ for (int j = 0; j < nodes.size(); j += 3) {
+ add_node(name, nodes[j], nodes[j + 2], nodes[j + 1]);
+ }
+ }
Array sequence_connections = func["sequence_connections"];
for (int j = 0; j < sequence_connections.size(); j += 3) {
@@ -1254,8 +1287,8 @@ Dictionary VisualScript::_get_data() const {
}
d["functions"] = funcs;
-
d["is_tool_script"] = is_tool_script;
+ d["vs_unify"] = true;
return d;
}
@@ -1330,6 +1363,10 @@ VisualScript::VisualScript() {
base_type = "Object";
}
+StringName VisualScript::get_default_func() const {
+ return StringName("f_312843592");
+}
+
Set<int> VisualScript::get_output_sequence_ports_connected(const String &edited_func, int from_node) {
List<VisualScript::SequenceConnection> *sc = memnew(List<VisualScript::SequenceConnection>);
get_sequence_connection_list(edited_func, sc);
@@ -1403,6 +1440,10 @@ void VisualScriptInstance::get_method_list(List<MethodInfo> *p_list) const {
for (const Map<StringName, VisualScript::Function>::Element *E = script->functions.front(); E; E = E->next()) {
+ if (E->key() == script->get_default_func()) {
+ continue;
+ }
+
MethodInfo mi;
mi.name = E->key();
if (E->get().function_id >= 0 && E->get().nodes.has(E->get().function_id)) {
@@ -1421,8 +1462,6 @@ void VisualScriptInstance::get_method_list(List<MethodInfo> *p_list) const {
if (!vsf->is_sequenced()) { //assumed constant if not sequenced
mi.flags |= METHOD_FLAG_CONST;
}
-
- //vsf->Get_ for now at least it does not return..
}
}
@@ -1431,6 +1470,9 @@ void VisualScriptInstance::get_method_list(List<MethodInfo> *p_list) const {
}
bool VisualScriptInstance::has_method(const StringName &p_method) const {
+ if (p_method == script->get_default_func())
+ return false;
+
return script->functions.has(p_method);
}
@@ -2002,6 +2044,9 @@ Ref<Script> VisualScriptInstance::get_script() const {
MultiplayerAPI::RPCMode VisualScriptInstance::get_rpc_mode(const StringName &p_method) const {
+ if (p_method == script->get_default_func())
+ return MultiplayerAPI::RPC_MODE_DISABLED;
+
const Map<StringName, VisualScript::Function>::Element *E = script->functions.find(p_method);
if (!E) {
return MultiplayerAPI::RPC_MODE_DISABLED;
@@ -2050,11 +2095,14 @@ void VisualScriptInstance::create(const Ref<VisualScript> &p_script, Object *p_o
for (const Map<StringName, VisualScript::Variable>::Element *E = script->variables.front(); E; E = E->next()) {
variables[E->key()] = E->get().default_value;
- //no hacer que todo exporte, solo las que queres!
}
for (const Map<StringName, VisualScript::Function>::Element *E = script->functions.front(); E; E = E->next()) {
+ if (E->key() == script->get_default_func()) {
+ continue;
+ }
+
Function function;
function.node = E->get().function_id;
function.max_stack = 0;
@@ -2091,6 +2139,7 @@ void VisualScriptInstance::create(const Ref<VisualScript> &p_script, Object *p_o
for (const Map<int, VisualScript::Function::NodeData>::Element *F = E->get().nodes.front(); F; F = F->next()) {
Ref<VisualScriptNode> node = F->get().node;
+
VisualScriptNodeInstance *instance = node->instance(this); //create instance
ERR_FAIL_COND(!instance);
diff --git a/modules/visual_script/visual_script.h b/modules/visual_script/visual_script.h
index 14927c4363..a035f6d42d 100644
--- a/modules/visual_script/visual_script.h
+++ b/modules/visual_script/visual_script.h
@@ -239,6 +239,7 @@ private:
PropertyInfo info;
Variant default_value;
bool _export;
+ // add getter & setter options here
};
Map<StringName, Function> functions;
@@ -267,6 +268,8 @@ protected:
static void _bind_methods();
public:
+ // TODO: Remove it in future when breaking changes are acceptable
+ StringName get_default_func() const;
void add_function(const StringName &p_name);
bool has_function(const StringName &p_name) const;
void remove_function(const StringName &p_name);
diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp
index 7262dde359..093901ad07 100644
--- a/modules/visual_script/visual_script_editor.cpp
+++ b/modules/visual_script/visual_script_editor.cpp
@@ -421,31 +421,42 @@ void VisualScriptEditor::_update_graph_connections() {
graph->clear_connections();
- List<VisualScript::SequenceConnection> sequence_conns;
- script->get_sequence_connection_list(edited_func, &sequence_conns);
-
- for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
+ List<StringName> funcs;
+ script->get_function_list(&funcs);
- graph->connect_node(itos(E->get().from_node), E->get().from_output, itos(E->get().to_node), 0);
+ if (funcs.size() <= 0) {
+ updating_graph = false;
+ return;
}
- List<VisualScript::DataConnection> data_conns;
- script->get_data_connection_list(edited_func, &data_conns);
-
- for (List<VisualScript::DataConnection>::Element *E = data_conns.front(); E; E = E->next()) {
+ for (List<StringName>::Element *F = funcs.front(); F; F = F->next()) {
- VisualScript::DataConnection dc = E->get();
+ List<VisualScript::SequenceConnection> sequence_conns;
+ script->get_sequence_connection_list(F->get(), &sequence_conns);
- Ref<VisualScriptNode> from_node = script->get_node(edited_func, E->get().from_node);
- Ref<VisualScriptNode> to_node = script->get_node(edited_func, E->get().to_node);
+ for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
- if (to_node->has_input_sequence_port()) {
- dc.to_port++;
+ graph->connect_node(itos(E->get().from_node), E->get().from_output, itos(E->get().to_node), 0);
}
- dc.from_port += from_node->get_output_sequence_port_count();
+ List<VisualScript::DataConnection> data_conns;
+ script->get_data_connection_list(F->get(), &data_conns);
- graph->connect_node(itos(E->get().from_node), dc.from_port, itos(E->get().to_node), dc.to_port);
+ for (List<VisualScript::DataConnection>::Element *E = data_conns.front(); E; E = E->next()) {
+
+ VisualScript::DataConnection dc = E->get();
+
+ Ref<VisualScriptNode> from_node = script->get_node(F->get(), E->get().from_node);
+ Ref<VisualScriptNode> to_node = script->get_node(F->get(), E->get().to_node);
+
+ if (to_node->has_input_sequence_port()) {
+ dc.to_port++;
+ }
+
+ dc.from_port += from_node->get_output_sequence_port_count();
+
+ graph->connect_node(itos(E->get().from_node), dc.from_port, itos(E->get().to_node), dc.to_port);
+ }
}
}
@@ -474,7 +485,10 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
}
}
- if (!script->has_function(edited_func)) {
+ List<StringName> funcs;
+ script->get_function_list(&funcs);
+
+ if (funcs.size() <= 0) {
graph->hide();
select_func_text->show();
updating_graph = false;
@@ -516,254 +530,390 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
Ref<Texture> seq_port = Control::get_icon("VisualShaderPort", "EditorIcons");
- List<int> ids;
- script->get_node_list(edited_func, &ids);
- StringName editor_icons = "EditorIcons";
+ for (List<StringName>::Element *F = funcs.front(); F; F = F->next()) { // loop through all the functions
- for (List<int>::Element *E = ids.front(); E; E = E->next()) {
+ List<int> ids;
+ script->get_node_list(F->get(), &ids);
+ StringName editor_icons = "EditorIcons";
- if (p_only_id >= 0 && p_only_id != E->get())
- continue;
+ for (List<int>::Element *E = ids.front(); E; E = E->next()) {
- Ref<VisualScriptNode> node = script->get_node(edited_func, E->get());
- Vector2 pos = script->get_node_position(edited_func, E->get());
+ if (p_only_id >= 0 && p_only_id != E->get())
+ continue;
- GraphNode *gnode = memnew(GraphNode);
- gnode->set_title(node->get_caption());
- gnode->set_offset(pos * EDSCALE);
- if (error_line == E->get()) {
- gnode->set_overlay(GraphNode::OVERLAY_POSITION);
- } else if (node->is_breakpoint()) {
- gnode->set_overlay(GraphNode::OVERLAY_BREAKPOINT);
- }
+ Ref<VisualScriptNode> node = script->get_node(F->get(), E->get());
+ Vector2 pos = script->get_node_position(F->get(), E->get());
- gnode->set_meta("__vnode", node);
- gnode->set_name(itos(E->get()));
- gnode->connect("dragged", this, "_node_moved", varray(E->get()));
- gnode->connect("close_request", this, "_remove_node", varray(E->get()), CONNECT_DEFERRED);
+ GraphNode *gnode = memnew(GraphNode);
+ gnode->set_title(node->get_caption());
+ gnode->set_offset(pos * EDSCALE);
+ if (error_line == E->get()) {
+ gnode->set_overlay(GraphNode::OVERLAY_POSITION);
+ } else if (node->is_breakpoint()) {
+ gnode->set_overlay(GraphNode::OVERLAY_BREAKPOINT);
+ }
- if (E->get() != script->get_function_node_id(edited_func)) {
- //function can't be erased
- gnode->set_show_close_button(true);
- }
+ gnode->set_meta("__vnode", node);
+ gnode->set_name(itos(E->get()));
+ gnode->connect("dragged", this, "_node_moved", varray(E->get()));
+ gnode->connect("close_request", this, "_remove_node", varray(E->get()), CONNECT_DEFERRED);
- bool has_gnode_text = false;
+ if (E->get() != script->get_function_node_id(F->get())) {
+ //function can't be erased
+ gnode->set_show_close_button(true);
+ }
- if (Object::cast_to<VisualScriptExpression>(node.ptr())) {
- has_gnode_text = true;
- LineEdit *line_edit = memnew(LineEdit);
- line_edit->set_text(node->get_text());
- line_edit->set_expand_to_text_length(true);
- line_edit->add_font_override("font", get_font("source", "EditorFonts"));
- gnode->add_child(line_edit);
- line_edit->connect("text_changed", this, "_expression_text_changed", varray(E->get()));
- } else {
- String text = node->get_text();
- if (!text.empty()) {
+ bool has_gnode_text = false;
+
+ Ref<VisualScriptLists> nd_list = node;
+ bool is_vslist = nd_list.is_valid();
+ if (is_vslist) {
+ HBoxContainer *hbnc = memnew(HBoxContainer);
+ if (nd_list->is_input_port_editable()) {
+ has_gnode_text = true;
+ Button *btn = memnew(Button);
+ btn->set_text("Add Input Port");
+ hbnc->add_child(btn);
+ btn->connect("pressed", this, "_add_input_port", varray(E->get()));
+ }
+ if (nd_list->is_output_port_editable()) {
+ if (nd_list->is_input_port_editable())
+ hbnc->add_spacer();
+ has_gnode_text = true;
+ Button *btn = memnew(Button);
+ btn->set_text("Add Output Port");
+ hbnc->add_child(btn);
+ btn->connect("pressed", this, "_add_output_port", varray(E->get()));
+ }
+ gnode->add_child(hbnc);
+ } else if (Object::cast_to<VisualScriptExpression>(node.ptr())) {
has_gnode_text = true;
- Label *label = memnew(Label);
- label->set_text(text);
- gnode->add_child(label);
+ LineEdit *line_edit = memnew(LineEdit);
+ line_edit->set_text(node->get_text());
+ line_edit->set_expand_to_text_length(true);
+ line_edit->add_font_override("font", get_font("source", "EditorFonts"));
+ gnode->add_child(line_edit);
+ line_edit->connect("text_changed", this, "_expression_text_changed", varray(E->get()));
+ } else {
+ String text = node->get_text();
+ if (!text.empty()) {
+ has_gnode_text = true;
+ Label *label = memnew(Label);
+ label->set_text(text);
+ gnode->add_child(label);
+ }
}
- }
-
- if (Object::cast_to<VisualScriptComment>(node.ptr())) {
- Ref<VisualScriptComment> vsc = node;
- gnode->set_comment(true);
- gnode->set_resizable(true);
- gnode->set_custom_minimum_size(vsc->get_size() * EDSCALE);
- gnode->connect("resize_request", this, "_comment_node_resized", varray(E->get()));
- }
- if (node_styles.has(node->get_category())) {
- Ref<StyleBoxFlat> sbf = node_styles[node->get_category()];
- if (gnode->is_comment())
- sbf = EditorNode::get_singleton()->get_theme_base()->get_theme()->get_stylebox("comment", "GraphNode");
-
- Color c = sbf->get_border_color();
- c.a = 1;
- if (EditorSettings::get_singleton()->get("interface/theme/use_graph_node_headers")) {
- Color mono_color = ((c.r + c.g + c.b) / 3) < 0.7 ? Color(1.0, 1.0, 1.0) : Color(0.0, 0.0, 0.0);
- mono_color.a = 0.85;
- c = mono_color;
+ if (Object::cast_to<VisualScriptComment>(node.ptr())) {
+ Ref<VisualScriptComment> vsc = node;
+ gnode->set_comment(true);
+ gnode->set_resizable(true);
+ gnode->set_custom_minimum_size(vsc->get_size() * EDSCALE);
+ gnode->connect("resize_request", this, "_comment_node_resized", varray(E->get()));
}
- gnode->add_color_override("title_color", c);
- c.a = 0.7;
- gnode->add_color_override("close_color", c);
- gnode->add_color_override("resizer_color", c);
- gnode->add_style_override("frame", sbf);
- }
-
- const Color mono_color = get_color("mono_color", "Editor");
-
- int slot_idx = 0;
-
- bool single_seq_output = node->get_output_sequence_port_count() == 1 && node->get_output_sequence_port_text(0) == String();
- if ((node->has_input_sequence_port() || single_seq_output) || has_gnode_text) {
- // IF has_gnode_text is true BUT we have no sequence ports to draw (in here),
- // we still draw the disabled default ones to shift up the slots by one,
- // so the slots DON'T start with the content text.
-
- // IF has_gnode_text is false, but we DO want to draw default sequence ports,
- // we draw a dummy text to take up the position of the sequence nodes, so all the other ports are still aligned correctly.
- if (!has_gnode_text) {
- Label *dummy = memnew(Label);
- dummy->set_text(" ");
- gnode->add_child(dummy);
+ if (node_styles.has(node->get_category())) {
+ Ref<StyleBoxFlat> sbf = node_styles[node->get_category()];
+ if (gnode->is_comment())
+ sbf = EditorNode::get_singleton()->get_theme_base()->get_theme()->get_stylebox("comment", "GraphNode");
+
+ Color c = sbf->get_border_color();
+ c.a = 1;
+ if (EditorSettings::get_singleton()->get("interface/theme/use_graph_node_headers")) {
+ Color mono_color = ((c.r + c.g + c.b) / 3) < 0.7 ? Color(1.0, 1.0, 1.0) : Color(0.0, 0.0, 0.0);
+ mono_color.a = 0.85;
+ c = mono_color;
+ }
+ gnode->add_color_override("title_color", c);
+ c.a = 0.7;
+ gnode->add_color_override("close_color", c);
+ gnode->add_color_override("resizer_color", c);
+ gnode->add_style_override("frame", sbf);
}
- gnode->set_slot(0, node->has_input_sequence_port(), TYPE_SEQUENCE, mono_color, single_seq_output, TYPE_SEQUENCE, mono_color, seq_port, seq_port);
- slot_idx++;
- }
- int mixed_seq_ports = 0;
+ const Color mono_color = get_color("mono_color", "Editor");
- if (!single_seq_output) {
+ int slot_idx = 0;
- if (node->has_mixed_input_and_sequence_ports()) {
- mixed_seq_ports = node->get_output_sequence_port_count();
- } else {
- for (int i = 0; i < node->get_output_sequence_port_count(); i++) {
+ bool single_seq_output = node->get_output_sequence_port_count() == 1 && node->get_output_sequence_port_text(0) == String();
+ if ((node->has_input_sequence_port() || single_seq_output) || has_gnode_text) {
+ // IF has_gnode_text is true BUT we have no sequence ports to draw (in here),
+ // we still draw the disabled default ones to shift up the slots by one,
+ // so the slots DON'T start with the content text.
- Label *text2 = memnew(Label);
- text2->set_text(node->get_output_sequence_port_text(i));
- text2->set_align(Label::ALIGN_RIGHT);
- gnode->add_child(text2);
- gnode->set_slot(slot_idx, false, 0, Color(), true, TYPE_SEQUENCE, mono_color, seq_port, seq_port);
- slot_idx++;
+ // IF has_gnode_text is false, but we DO want to draw default sequence ports,
+ // we draw a dummy text to take up the position of the sequence nodes, so all the other ports are still aligned correctly.
+ if (!has_gnode_text) {
+ Label *dummy = memnew(Label);
+ dummy->set_text(" ");
+ gnode->add_child(dummy);
}
+ gnode->set_slot(0, node->has_input_sequence_port(), TYPE_SEQUENCE, mono_color, single_seq_output, TYPE_SEQUENCE, mono_color, seq_port, seq_port);
+ slot_idx++;
}
- }
- for (int i = 0; i < MAX(node->get_output_value_port_count(), MAX(mixed_seq_ports, node->get_input_value_port_count())); i++) {
+ int mixed_seq_ports = 0;
- bool left_ok = false;
- Variant::Type left_type = Variant::NIL;
- String left_name;
+ if (!single_seq_output) {
- if (i < node->get_input_value_port_count()) {
- PropertyInfo pi = node->get_input_value_port_info(i);
- left_ok = true;
- left_type = pi.type;
- left_name = pi.name;
+ if (node->has_mixed_input_and_sequence_ports()) {
+ mixed_seq_ports = node->get_output_sequence_port_count();
+ } else {
+ for (int i = 0; i < node->get_output_sequence_port_count(); i++) {
+
+ Label *text2 = memnew(Label);
+ text2->set_text(node->get_output_sequence_port_text(i));
+ text2->set_align(Label::ALIGN_RIGHT);
+ gnode->add_child(text2);
+ gnode->set_slot(slot_idx, false, 0, Color(), true, TYPE_SEQUENCE, mono_color, seq_port, seq_port);
+ slot_idx++;
+ }
+ }
}
- bool right_ok = false;
- Variant::Type right_type = Variant::NIL;
- String right_name;
+ for (int i = 0; i < MAX(node->get_output_value_port_count(), MAX(mixed_seq_ports, node->get_input_value_port_count())); i++) {
- if (i >= mixed_seq_ports && i < node->get_output_value_port_count() + mixed_seq_ports) {
- PropertyInfo pi = node->get_output_value_port_info(i - mixed_seq_ports);
- right_ok = true;
- right_type = pi.type;
- right_name = pi.name;
- }
+ bool left_ok = false;
+ Variant::Type left_type = Variant::NIL;
+ String left_name;
- HBoxContainer *hbc = memnew(HBoxContainer);
+ if (i < node->get_input_value_port_count()) {
+ PropertyInfo pi = node->get_input_value_port_info(i);
+ left_ok = true;
+ left_type = pi.type;
+ left_name = pi.name;
+ }
- if (left_ok) {
+ bool right_ok = false;
+ Variant::Type right_type = Variant::NIL;
+ String right_name;
- Ref<Texture> t;
- if (left_type >= 0 && left_type < Variant::VARIANT_MAX) {
- t = type_icons[left_type];
- }
- if (t.is_valid()) {
- TextureRect *tf = memnew(TextureRect);
- tf->set_texture(t);
- tf->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
- hbc->add_child(tf);
+ if (i >= mixed_seq_ports && i < node->get_output_value_port_count() + mixed_seq_ports) {
+ PropertyInfo pi = node->get_output_value_port_info(i - mixed_seq_ports);
+ right_ok = true;
+ right_type = pi.type;
+ right_name = pi.name;
}
+ VBoxContainer *vbc = memnew(VBoxContainer);
+ HBoxContainer *hbc = memnew(HBoxContainer);
+ HBoxContainer *hbc2 = memnew(HBoxContainer);
+ vbc->add_child(hbc);
+ vbc->add_child(hbc2);
+ if (left_ok) {
+
+ Ref<Texture> t;
+ if (left_type >= 0 && left_type < Variant::VARIANT_MAX) {
+ t = type_icons[left_type];
+ }
+ if (t.is_valid()) {
+ TextureRect *tf = memnew(TextureRect);
+ tf->set_texture(t);
+ tf->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
+ hbc->add_child(tf);
+ }
- hbc->add_child(memnew(Label(left_name)));
+ if (is_vslist) {
+ if (nd_list->is_input_port_name_editable()) {
+ LineEdit *name_box = memnew(LineEdit);
+ hbc->add_child(name_box);
+ name_box->set_custom_minimum_size(Size2(60 * EDSCALE, 0));
+ name_box->set_text(left_name);
+ name_box->set_expand_to_text_length(true);
+ name_box->connect("resized", this, "_update_node_size", varray(E->get()));
+ name_box->connect("focus_exited", this, "_port_name_focus_out", varray(name_box, E->get(), i, true));
+ } else {
+ hbc->add_child(memnew(Label(left_name)));
+ }
- if (left_type != Variant::NIL && !script->is_input_value_port_connected(edited_func, E->get(), i)) {
+ if (nd_list->is_input_port_type_editable()) {
+ OptionButton *opbtn = memnew(OptionButton);
+ for (int j = Variant::NIL; j < Variant::VARIANT_MAX; j++) {
+ opbtn->add_item(Variant::get_type_name(Variant::Type(j)));
+ }
+ opbtn->select(left_type);
+ opbtn->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
+ hbc->add_child(opbtn);
+ opbtn->connect("item_selected", this, "_change_port_type", varray(E->get(), i, true), CONNECT_DEFERRED);
+ }
- PropertyInfo pi = node->get_input_value_port_info(i);
- Button *button = memnew(Button);
- Variant value = node->get_default_input_value(i);
- if (value.get_type() != left_type) {
- //different type? for now convert
- //not the same, reconvert
- Variant::CallError ce;
- const Variant *existingp = &value;
- value = Variant::construct(left_type, &existingp, 1, ce, false);
+ Button *rmbtn = memnew(Button);
+ rmbtn->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("Remove", "EditorIcons"));
+ hbc->add_child(rmbtn);
+ rmbtn->connect("pressed", this, "_remove_input_port", varray(E->get(), i), CONNECT_DEFERRED);
+ } else {
+ hbc->add_child(memnew(Label(left_name)));
}
- if (left_type == Variant::COLOR) {
- button->set_custom_minimum_size(Size2(30, 0) * EDSCALE);
- button->connect("draw", this, "_draw_color_over_button", varray(button, value));
- } else if (left_type == Variant::OBJECT && Ref<Resource>(value).is_valid()) {
+ if (left_type != Variant::NIL && !script->is_input_value_port_connected(F->get(), E->get(), i)) {
+
+ PropertyInfo pi = node->get_input_value_port_info(i);
+ Button *button = memnew(Button);
+ Variant value = node->get_default_input_value(i);
+ if (value.get_type() != left_type) {
+ //different type? for now convert
+ //not the same, reconvert
+ Variant::CallError ce;
+ const Variant *existingp = &value;
+ value = Variant::construct(left_type, &existingp, 1, ce, false);
+ }
- Ref<Resource> res = value;
- Array arr;
- arr.push_back(button->get_instance_id());
- arr.push_back(String(value));
- EditorResourcePreview::get_singleton()->queue_edited_resource_preview(res, this, "_button_resource_previewed", arr);
+ if (left_type == Variant::COLOR) {
+ button->set_custom_minimum_size(Size2(30, 0) * EDSCALE);
+ button->connect("draw", this, "_draw_color_over_button", varray(button, value));
+ } else if (left_type == Variant::OBJECT && Ref<Resource>(value).is_valid()) {
- } else if (pi.type == Variant::INT && pi.hint == PROPERTY_HINT_ENUM) {
+ Ref<Resource> res = value;
+ Array arr;
+ arr.push_back(button->get_instance_id());
+ arr.push_back(String(value));
+ EditorResourcePreview::get_singleton()->queue_edited_resource_preview(res, this, "_button_resource_previewed", arr);
- button->set_text(pi.hint_string.get_slice(",", value));
- } else {
+ } else if (pi.type == Variant::INT && pi.hint == PROPERTY_HINT_ENUM) {
- button->set_text(value);
+ button->set_text(pi.hint_string.get_slice(",", value));
+ } else {
+
+ button->set_text(value);
+ }
+ button->connect("pressed", this, "_default_value_edited", varray(button, E->get(), i));
+ hbc2->add_child(button);
}
- button->connect("pressed", this, "_default_value_edited", varray(button, E->get(), i));
- hbc->add_child(button);
+ } else {
+ Control *c = memnew(Control);
+ c->set_custom_minimum_size(Size2(10, 0) * EDSCALE);
+ hbc->add_child(c);
}
- } else {
- Control *c = memnew(Control);
- c->set_custom_minimum_size(Size2(10, 0) * EDSCALE);
- hbc->add_child(c);
- }
- hbc->add_spacer();
+ hbc->add_spacer();
+ hbc2->add_spacer();
- if (i < mixed_seq_ports) {
+ if (i < mixed_seq_ports) {
- Label *text2 = memnew(Label);
- text2->set_text(node->get_output_sequence_port_text(i));
- text2->set_align(Label::ALIGN_RIGHT);
- hbc->add_child(text2);
- }
+ Label *text2 = memnew(Label);
+ text2->set_text(node->get_output_sequence_port_text(i));
+ text2->set_align(Label::ALIGN_RIGHT);
+ hbc->add_child(text2);
+ }
- if (right_ok) {
+ if (right_ok) {
+
+ if (is_vslist) {
+ Button *rmbtn = memnew(Button);
+ rmbtn->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("Remove", "EditorIcons"));
+ hbc->add_child(rmbtn);
+ rmbtn->connect("pressed", this, "_remove_output_port", varray(E->get(), i), CONNECT_DEFERRED);
+
+ if (nd_list->is_output_port_type_editable()) {
+ OptionButton *opbtn = memnew(OptionButton);
+ for (int j = Variant::NIL; j < Variant::VARIANT_MAX; j++) {
+ opbtn->add_item(Variant::get_type_name(Variant::Type(j)));
+ }
+ opbtn->select(right_type);
+ opbtn->set_custom_minimum_size(Size2(100 * EDSCALE, 0));
+ hbc->add_child(opbtn);
+ opbtn->connect("item_selected", this, "_change_port_type", varray(E->get(), i, false), CONNECT_DEFERRED);
+ }
- hbc->add_child(memnew(Label(right_name)));
+ if (nd_list->is_output_port_name_editable()) {
+ LineEdit *name_box = memnew(LineEdit);
+ hbc->add_child(name_box);
+ name_box->set_custom_minimum_size(Size2(60 * EDSCALE, 0));
+ name_box->set_text(right_name);
+ name_box->set_expand_to_text_length(true);
+ name_box->connect("resized", this, "_update_node_size", varray(E->get()));
+ name_box->connect("focus_exited", this, "_port_name_focus_out", varray(name_box, E->get(), i, false));
+ } else {
+ hbc->add_child(memnew(Label(right_name)));
+ }
+ } else {
+ hbc->add_child(memnew(Label(right_name)));
+ }
- Ref<Texture> t;
- if (right_type >= 0 && right_type < Variant::VARIANT_MAX) {
- t = type_icons[right_type];
+ Ref<Texture> t;
+ if (right_type >= 0 && right_type < Variant::VARIANT_MAX) {
+ t = type_icons[right_type];
+ }
+ if (t.is_valid()) {
+ TextureRect *tf = memnew(TextureRect);
+ tf->set_texture(t);
+ tf->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
+ hbc->add_child(tf);
+ }
}
- if (t.is_valid()) {
- TextureRect *tf = memnew(TextureRect);
- tf->set_texture(t);
- tf->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
- hbc->add_child(tf);
+
+ gnode->add_child(vbc);
+
+ bool dark_theme = get_constant("dark_theme", "Editor");
+ if (i < mixed_seq_ports) {
+ gnode->set_slot(slot_idx, left_ok, left_type, _color_from_type(left_type, dark_theme), true, TYPE_SEQUENCE, mono_color, Ref<Texture>(), seq_port);
+ } else {
+ gnode->set_slot(slot_idx, left_ok, left_type, _color_from_type(left_type, dark_theme), right_ok, right_type, _color_from_type(right_type, dark_theme));
}
+
+ slot_idx++;
}
- gnode->add_child(hbc);
+ graph->add_child(gnode);
- bool dark_theme = get_constant("dark_theme", "Editor");
- if (i < mixed_seq_ports) {
- gnode->set_slot(slot_idx, left_ok, left_type, _color_from_type(left_type, dark_theme), true, TYPE_SEQUENCE, mono_color, Ref<Texture>(), seq_port);
- } else {
- gnode->set_slot(slot_idx, left_ok, left_type, _color_from_type(left_type, dark_theme), right_ok, right_type, _color_from_type(right_type, dark_theme));
+ if (gnode->is_comment()) {
+ graph->move_child(gnode, 0);
}
-
- slot_idx++;
}
+ }
+ _update_graph_connections();
+ // use default_func instead of default_func for now I think that should be good stop gap solution to ensure not breaking anything
+ graph->call_deferred("set_scroll_ofs", script->get_function_scroll(default_func) * EDSCALE);
+ updating_graph = false;
+}
- graph->add_child(gnode);
+void VisualScriptEditor::_change_port_type(int p_select, int p_id, int p_port, bool is_input) {
- if (gnode->is_comment()) {
- graph->move_child(gnode, 0);
- }
+ StringName func = _get_function_of_node(p_id);
+
+ Ref<VisualScriptLists> vsn = script->get_node(func, p_id);
+ if (!vsn.is_valid())
+ return;
+
+ undo_redo->create_action("Change Port Type");
+ if (is_input) {
+ undo_redo->add_do_method(vsn.ptr(), "set_input_data_port_type", p_port, Variant::Type(p_select));
+ undo_redo->add_undo_method(vsn.ptr(), "set_input_data_port_type", p_port, vsn->get_input_value_port_info(p_port).type);
+ } else {
+ undo_redo->add_do_method(vsn.ptr(), "set_output_data_port_type", p_port, Variant::Type(p_select));
+ undo_redo->add_undo_method(vsn.ptr(), "set_output_data_port_type", p_port, vsn->get_output_value_port_info(p_port).type);
}
+ undo_redo->commit_action();
+}
- _update_graph_connections();
- graph->call_deferred("set_scroll_ofs", script->get_function_scroll(edited_func) * EDSCALE); //may need to adapt a bit, let it do so
- updating_graph = false;
+void VisualScriptEditor::_update_node_size(int p_id) {
+
+ Node *node = graph->get_node(itos(p_id));
+ if (Object::cast_to<Control>(node))
+ Object::cast_to<Control>(node)->set_size(Vector2(1, 1)); //shrink if text is smaller
+}
+void VisualScriptEditor::_port_name_focus_out(const Node *p_name_box, int p_id, int p_port, bool is_input) {
+ StringName func = _get_function_of_node(p_id);
+
+ Ref<VisualScriptLists> vsn = script->get_node(func, p_id);
+ if (!vsn.is_valid())
+ return;
+
+ String text;
+
+ if (Object::cast_to<LineEdit>(p_name_box))
+ text = Object::cast_to<LineEdit>(p_name_box)->get_text();
+ else
+ return;
+
+ undo_redo->create_action("Change Port Name");
+ if (is_input) {
+ undo_redo->add_do_method(vsn.ptr(), "set_input_data_port_name", p_port, text);
+ undo_redo->add_undo_method(vsn.ptr(), "set_input_data_port_name", p_port, vsn->get_input_value_port_info(p_port).name);
+ } else {
+ undo_redo->add_do_method(vsn.ptr(), "set_output_data_port_name", p_port, text);
+ undo_redo->add_undo_method(vsn.ptr(), "set_output_data_port_name", p_port, vsn->get_output_value_port_info(p_port).name);
+ }
+ undo_redo->commit_action();
}
void VisualScriptEditor::_update_members() {
@@ -784,11 +934,16 @@ void VisualScriptEditor::_update_members() {
List<StringName> func_names;
script->get_function_list(&func_names);
for (List<StringName>::Element *E = func_names.front(); E; E = E->next()) {
+
+ if (E->get() == default_func) {
+ continue;
+ }
+
TreeItem *ti = members->create_item(functions);
ti->set_text(0, E->get());
ti->set_selectable(0, true);
- ti->set_editable(0, true);
ti->set_metadata(0, E->get());
+ ti->add_button(0, Control::get_icon("Edit", "EditorIcons"), 0);
if (selected == E->get())
ti->select(0);
}
@@ -888,15 +1043,15 @@ void VisualScriptEditor::_member_selected() {
if (ti->get_parent() == members->get_root()->get_children()) {
- if (edited_func != selected) {
-
- revert_on_drag = edited_func;
- edited_func = selected;
- _update_members();
- _update_graph();
+#ifdef OSX_ENABLED
+ bool held_ctrl = Input::get_singleton()->is_key_pressed(KEY_META);
+#else
+ bool held_ctrl = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
+#endif
+ if (held_ctrl) {
+ ERR_FAIL_COND(!script->has_function(selected));
+ _center_on_node(selected, script->get_function_node_id(selected));
}
-
- return; //or crash because it will become invalid
}
}
@@ -936,9 +1091,6 @@ void VisualScriptEditor::_member_edited() {
if (ti->get_parent() == root->get_children()) {
- if (edited_func == selected) {
- edited_func = new_name;
- }
selected = new_name;
int node_id = script->get_function_node_id(name);
@@ -950,10 +1102,27 @@ void VisualScriptEditor::_member_edited() {
undo_redo->add_do_method(script.ptr(), "rename_function", name, new_name);
undo_redo->add_undo_method(script.ptr(), "rename_function", new_name, name);
if (func.is_valid()) {
-
undo_redo->add_do_method(func.ptr(), "set_name", new_name);
undo_redo->add_undo_method(func.ptr(), "set_name", name);
}
+
+ // also fix all function calls
+ List<StringName> flst;
+ script->get_function_list(&flst);
+ for (List<StringName>::Element *E = flst.front(); E; E = E->next()) {
+ List<int> lst;
+ script->get_node_list(E->get(), &lst);
+ for (List<int>::Element *F = lst.front(); F; F = F->next()) {
+ Ref<VisualScriptFunctionCall> fncall = script->get_node(E->get(), F->get());
+ if (!fncall.is_valid())
+ continue;
+ if (fncall->get_function() == name) {
+ undo_redo->add_do_method(fncall.ptr(), "set_function", new_name);
+ undo_redo->add_undo_method(fncall.ptr(), "set_function", name);
+ }
+ }
+ }
+
undo_redo->add_do_method(this, "_update_members");
undo_redo->add_undo_method(this, "_update_members");
undo_redo->add_do_method(this, "_update_graph");
@@ -962,8 +1131,6 @@ void VisualScriptEditor::_member_edited() {
undo_redo->add_undo_method(this, "emit_signal", "edited_script_changed");
undo_redo->commit_action();
- // _update_graph();
-
return; //or crash because it will become invalid
}
@@ -998,6 +1165,112 @@ void VisualScriptEditor::_member_edited() {
}
}
+void VisualScriptEditor::_create_function_dialog() {
+ function_create_dialog->popup_centered();
+ func_name_box->set_text("");
+ func_name_box->grab_focus();
+ for (int i = 0; i < func_input_vbox->get_child_count(); i++) {
+ Node *nd = func_input_vbox->get_child(i);
+ nd->queue_delete();
+ }
+}
+
+void VisualScriptEditor::_create_function() {
+ String name = _validate_name((func_name_box->get_text() == "") ? "new_func" : func_name_box->get_text());
+ selected = name;
+ Vector2 ofs = _get_available_pos();
+
+ Ref<VisualScriptFunction> func_node;
+ func_node.instance();
+ func_node->set_name(name);
+
+ for (int i = 0; i < func_input_vbox->get_child_count(); i++) {
+ OptionButton *opbtn = Object::cast_to<OptionButton>(func_input_vbox->get_child(i)->get_child(3));
+ LineEdit *lne = Object::cast_to<LineEdit>(func_input_vbox->get_child(i)->get_child(1));
+ if (!opbtn || !lne)
+ continue;
+ Variant::Type arg_type = Variant::Type(opbtn->get_selected());
+ String arg_name = lne->get_text();
+ func_node->add_argument(arg_type, arg_name);
+ }
+
+ undo_redo->create_action(TTR("Add Function"));
+ undo_redo->add_do_method(script.ptr(), "add_function", name);
+ undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id(), func_node, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_function", name);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
+ undo_redo->add_do_method(this, "emit_signal", "edited_script_changed");
+ undo_redo->add_undo_method(this, "emit_signal", "edited_script_changed");
+ undo_redo->commit_action();
+
+ _update_graph();
+}
+
+void VisualScriptEditor::_add_node_dialog() {
+ _generic_search(script->get_instance_base_type(), graph->get_global_position() + Vector2(55, 80), true);
+}
+
+void VisualScriptEditor::_add_func_input() {
+ HBoxContainer *hbox = memnew(HBoxContainer);
+ hbox->set_h_size_flags(SIZE_EXPAND_FILL);
+
+ Label *name_label = memnew(Label);
+ name_label->set_text(TTR("Name:"));
+ hbox->add_child(name_label);
+
+ LineEdit *name_box = memnew(LineEdit);
+ name_box->set_h_size_flags(SIZE_EXPAND_FILL);
+ name_box->set_text("input");
+ name_box->connect("focus_entered", this, "_deselect_input_names");
+ hbox->add_child(name_box);
+
+ Label *type_label = memnew(Label);
+ type_label->set_text(TTR("Type:"));
+ hbox->add_child(type_label);
+
+ OptionButton *type_box = memnew(OptionButton);
+ type_box->set_custom_minimum_size(Size2(120 * EDSCALE, 0));
+ for (int i = Variant::NIL; i < Variant::VARIANT_MAX; i++)
+ type_box->add_item(Variant::get_type_name(Variant::Type(i)));
+ type_box->select(1);
+ hbox->add_child(type_box);
+
+ Button *delete_button = memnew(Button);
+ delete_button->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("Remove", "EditorIcons"));
+ delete_button->set_tooltip(vformat(TTR("Delete input port")));
+ hbox->add_child(delete_button);
+
+ for (int i = 0; i < func_input_vbox->get_child_count(); i++) {
+ LineEdit *line_edit = (LineEdit *)func_input_vbox->get_child(i)->get_child(1);
+ line_edit->deselect();
+ }
+
+ func_input_vbox->add_child(hbox);
+ hbox->set_meta("id", hbox->get_position_in_parent());
+
+ delete_button->connect("pressed", this, "_remove_func_input", varray(hbox));
+
+ name_box->select_all();
+ name_box->grab_focus();
+}
+
+void VisualScriptEditor::_remove_func_input(Node *p_node) {
+ func_input_vbox->remove_child(p_node);
+ p_node->queue_delete();
+}
+
+void VisualScriptEditor::_deselect_input_names() {
+ int cn = func_input_vbox->get_child_count();
+ for (int i = 0; i < cn; i++) {
+ LineEdit *lne = Object::cast_to<LineEdit>(func_input_vbox->get_child(i)->get_child(1));
+ if (lne)
+ lne->deselect();
+ }
+}
+
void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_button) {
TreeItem *ti = Object::cast_to<TreeItem>(p_item);
@@ -1010,7 +1283,6 @@ void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_butt
//add function, this one uses menu
if (p_button == 1) {
-
new_virtual_method_select->select_method_from_base_type(script->get_instance_base_type(), String(), true);
return;
@@ -1018,7 +1290,7 @@ void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_butt
String name = _validate_name("new_function");
selected = name;
- edited_func = selected;
+ Vector2 ofs = _get_available_pos();
Ref<VisualScriptFunction> func_node;
func_node.instance();
@@ -1026,7 +1298,7 @@ void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_butt
undo_redo->create_action(TTR("Add Function"));
undo_redo->add_do_method(script.ptr(), "add_function", name);
- undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id(), func_node);
+ undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id(), func_node, ofs);
undo_redo->add_undo_method(script.ptr(), "remove_function", name);
undo_redo->add_do_method(this, "_update_members");
undo_redo->add_undo_method(this, "_update_members");
@@ -1073,135 +1345,193 @@ void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_butt
undo_redo->commit_action();
return; //or crash because it will become invalid
}
+ } else if (ti->get_parent() == root->get_children()) {
+ selected = ti->get_text(0);
+ function_name_edit->set_position(Input::get_singleton()->get_mouse_position() - Vector2(60, -10));
+ function_name_edit->popup();
+ function_name_box->set_text(selected);
+ function_name_box->select_all();
}
}
-void VisualScriptEditor::_expression_text_changed(const String &p_text, int p_id) {
+void VisualScriptEditor::_add_input_port(int p_id) {
- Ref<VisualScriptExpression> vse = script->get_node(edited_func, p_id);
- if (!vse.is_valid())
+ StringName func = _get_function_of_node(p_id);
+
+ Ref<VisualScriptLists> vsn = script->get_node(func, p_id);
+ if (!vsn.is_valid())
return;
updating_graph = true;
- undo_redo->create_action(TTR("Change Expression"), UndoRedo::MERGE_ENDS);
- undo_redo->add_do_property(vse.ptr(), "expression", p_text);
- undo_redo->add_undo_property(vse.ptr(), "expression", vse->get("expression"));
+ undo_redo->create_action(TTR("Add Input Port"), UndoRedo::MERGE_ENDS);
+ undo_redo->add_do_method(vsn.ptr(), "add_input_data_port", Variant::NIL, "arg", -1);
undo_redo->add_do_method(this, "_update_graph", p_id);
+
+ undo_redo->add_undo_method(vsn.ptr(), "remove_input_data_port", vsn->get_input_value_port_count());
undo_redo->add_undo_method(this, "_update_graph", p_id);
+
+ updating_graph = false;
+
undo_redo->commit_action();
+}
- Node *node = graph->get_node(itos(p_id));
- if (Object::cast_to<Control>(node))
- Object::cast_to<Control>(node)->set_size(Vector2(1, 1)); //shrink if text is smaller
+void VisualScriptEditor::_add_output_port(int p_id) {
+
+ StringName func = _get_function_of_node(p_id);
+
+ Ref<VisualScriptLists> vsn = script->get_node(func, p_id);
+ if (!vsn.is_valid())
+ return;
+
+ updating_graph = true;
+
+ undo_redo->create_action(TTR("Add Output Port"), UndoRedo::MERGE_ENDS);
+ undo_redo->add_do_method(vsn.ptr(), "add_output_data_port", Variant::NIL, "arg", -1);
+ undo_redo->add_do_method(this, "_update_graph", p_id);
+
+ undo_redo->add_undo_method(vsn.ptr(), "remove_output_data_port", vsn->get_output_value_port_count());
+ undo_redo->add_undo_method(this, "_update_graph", p_id);
updating_graph = false;
+
+ undo_redo->commit_action();
}
-void VisualScriptEditor::_available_node_doubleclicked() {
+void VisualScriptEditor::_remove_input_port(int p_id, int p_port) {
+
+ StringName func = _get_function_of_node(p_id);
- if (edited_func == String())
+ Ref<VisualScriptLists> vsn = script->get_node(func, p_id);
+ if (!vsn.is_valid())
return;
- TreeItem *item = nodes->get_selected();
+ updating_graph = true;
- if (!item)
- return;
+ undo_redo->create_action(TTR("Remove Input Port"), UndoRedo::MERGE_ENDS);
+
+ int conn_from = -1, conn_port = -1;
+ script->get_input_value_port_connection_source(func, p_id, p_port, &conn_from, &conn_port);
+
+ if (conn_from != -1)
+ undo_redo->add_do_method(script.ptr(), "data_disconnect", func, conn_from, conn_port, p_id, p_port);
+
+ undo_redo->add_do_method(vsn.ptr(), "remove_input_data_port", p_port);
+ undo_redo->add_do_method(this, "_update_graph", p_id);
+
+ if (conn_from != -1)
+ undo_redo->add_undo_method(script.ptr(), "data_connect", func, conn_from, conn_port, p_id, p_port);
+
+ undo_redo->add_undo_method(vsn.ptr(), "add_input_data_port", vsn->get_input_value_port_info(p_port).type, vsn->get_input_value_port_info(p_port).name, p_port);
+ undo_redo->add_undo_method(this, "_update_graph", p_id);
+
+ updating_graph = false;
+
+ undo_redo->commit_action();
+}
- String which = item->get_metadata(0);
- if (which == String())
+void VisualScriptEditor::_remove_output_port(int p_id, int p_port) {
+
+ StringName func = _get_function_of_node(p_id);
+
+ Ref<VisualScriptLists> vsn = script->get_node(func, p_id);
+ if (!vsn.is_valid())
return;
- Vector2 ofs = graph->get_scroll_ofs() + graph->get_size() * 0.5;
- if (graph->is_using_snap()) {
- int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap, snap));
- }
+ updating_graph = true;
- ofs /= EDSCALE;
+ undo_redo->create_action(TTR("Remove Output Port"), UndoRedo::MERGE_ENDS);
- while (true) {
- bool exists = false;
- List<int> existing;
- script->get_node_list(edited_func, &existing);
- for (List<int>::Element *E = existing.front(); E; E = E->next()) {
- Point2 pos = script->get_node_position(edited_func, E->get());
- if (pos.distance_to(ofs) < 15) {
- ofs += Vector2(graph->get_snap(), graph->get_snap());
- exists = true;
- break;
- }
+ List<VisualScript::DataConnection> data_connections;
+ script->get_data_connection_list(func, &data_connections);
+
+ HashMap<int, Set<int> > conn_map;
+ for (const List<VisualScript::DataConnection>::Element *E = data_connections.front(); E; E = E->next()) {
+ if (E->get().from_node == p_id && E->get().from_port == p_port) {
+ // push into the connections map
+ if (!conn_map.has(E->get().to_node))
+ conn_map.set(E->get().to_node, Set<int>());
+ conn_map[E->get().to_node].insert(E->get().to_port);
}
+ }
- if (exists)
- continue;
- break;
+ undo_redo->add_do_method(vsn.ptr(), "remove_output_data_port", p_port);
+ undo_redo->add_do_method(this, "_update_graph", p_id);
+
+ List<int> keys;
+ conn_map.get_key_list(&keys);
+ for (const List<int>::Element *E = keys.front(); E; E = E->next()) {
+ for (const Set<int>::Element *F = conn_map[E->get()].front(); F; F = F->next()) {
+ undo_redo->add_undo_method(script.ptr(), "data_connect", func, p_id, p_port, E->get(), F->get());
+ }
}
- Ref<VisualScriptNode> vnode = VisualScriptLanguage::singleton->create_node_from_name(which);
- int new_id = script->get_available_id();
+ undo_redo->add_undo_method(vsn.ptr(), "add_output_data_port", vsn->get_output_value_port_info(p_port).type, vsn->get_output_value_port_info(p_port).name, p_port);
+ undo_redo->add_undo_method(this, "_update_graph", p_id);
- undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
- undo_redo->add_do_method(this, "_update_graph");
- undo_redo->add_undo_method(this, "_update_graph");
- undo_redo->commit_action();
+ updating_graph = false;
- Node *node = graph->get_node(itos(new_id));
- if (node) {
- graph->set_selected(node);
- _node_selected(node);
- }
+ undo_redo->commit_action();
}
-void VisualScriptEditor::_update_available_nodes() {
+void VisualScriptEditor::_expression_text_changed(const String &p_text, int p_id) {
- nodes->clear();
+ StringName func = _get_function_of_node(p_id);
- TreeItem *root = nodes->create_item();
+ Ref<VisualScriptExpression> vse = script->get_node(func, p_id);
+ if (!vse.is_valid())
+ return;
- Map<String, TreeItem *> path_cache;
+ updating_graph = true;
- String filter = node_filter->get_text();
+ undo_redo->create_action(TTR("Change Expression"), UndoRedo::MERGE_ENDS);
+ undo_redo->add_do_property(vse.ptr(), "expression", p_text);
+ undo_redo->add_undo_property(vse.ptr(), "expression", vse->get("expression"));
+ undo_redo->add_do_method(this, "_update_graph", p_id);
+ undo_redo->add_undo_method(this, "_update_graph", p_id);
+ undo_redo->commit_action();
- List<String> fnodes;
- VisualScriptLanguage::singleton->get_registered_node_names(&fnodes);
+ Node *node = graph->get_node(itos(p_id));
+ if (Object::cast_to<Control>(node))
+ Object::cast_to<Control>(node)->set_size(Vector2(1, 1)); //shrink if text is smaller
- for (List<String>::Element *E = fnodes.front(); E; E = E->next()) {
+ updating_graph = false;
+}
- Vector<String> path = E->get().split("/");
+Vector2 VisualScriptEditor::_get_available_pos(bool centered, Vector2 ofs) const {
+ if (centered)
+ ofs = graph->get_scroll_ofs() + graph->get_size() * 0.5;
- if (filter != String() && path.size() && path[path.size() - 1].findn(filter) == -1)
- continue;
+ if (graph->is_using_snap()) {
+ int snap = graph->get_snap();
+ ofs = ofs.snapped(Vector2(snap, snap));
+ }
+
+ ofs /= EDSCALE;
- String sp;
- TreeItem *parent = root;
-
- for (int i = 0; i < path.size() - 1; i++) {
-
- if (i > 0)
- sp += ",";
- sp += path[i];
- if (!path_cache.has(sp)) {
- TreeItem *pathn = nodes->create_item(parent);
- pathn->set_selectable(0, false);
- pathn->set_text(0, path[i].capitalize());
- path_cache[sp] = pathn;
- parent = pathn;
- if (filter == String()) {
- pathn->set_collapsed(true); //should remember state
+ while (true) {
+ bool exists = false;
+ List<StringName> all_fn;
+ script->get_function_list(&all_fn);
+ for (List<StringName>::Element *F = all_fn.front(); F; F = F->next()) {
+ StringName curr_fn = F->get();
+ List<int> existing;
+ script->get_node_list(curr_fn, &existing);
+ for (List<int>::Element *E = existing.front(); E; E = E->next()) {
+ Point2 pos = script->get_node_position(curr_fn, E->get());
+ if (pos.distance_to(ofs) < 50) {
+ ofs += Vector2(graph->get_snap(), graph->get_snap());
+ exists = true;
+ break;
}
- } else {
- parent = path_cache[sp];
}
}
-
- TreeItem *item = nodes->create_item(parent);
- item->set_text(0, path[path.size() - 1].capitalize());
- item->set_selectable(0, true);
- item->set_metadata(0, E->get());
+ if (exists)
+ continue;
+ break;
}
+
+ return ofs;
}
String VisualScriptEditor::_validate_name(const String &p_name) const {
@@ -1227,6 +1557,8 @@ String VisualScriptEditor::_validate_name(const String &p_name) const {
void VisualScriptEditor::_on_nodes_delete() {
+ // delete all the selected nodes
+
List<int> to_erase;
for (int i = 0; i < graph->get_child_count(); i++) {
@@ -1245,26 +1577,30 @@ void VisualScriptEditor::_on_nodes_delete() {
for (List<int>::Element *F = to_erase.front(); F; F = F->next()) {
- undo_redo->add_do_method(script.ptr(), "remove_node", edited_func, F->get());
- undo_redo->add_undo_method(script.ptr(), "add_node", edited_func, F->get(), script->get_node(edited_func, F->get()), script->get_node_position(edited_func, F->get()));
+ int cr_node = F->get();
+
+ StringName func = _get_function_of_node(cr_node);
+
+ undo_redo->add_do_method(script.ptr(), "remove_node", func, cr_node);
+ undo_redo->add_undo_method(script.ptr(), "add_node", func, cr_node, script->get_node(func, cr_node), script->get_node_position(func, cr_node));
List<VisualScript::SequenceConnection> sequence_conns;
- script->get_sequence_connection_list(edited_func, &sequence_conns);
+ script->get_sequence_connection_list(func, &sequence_conns);
for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
- if (E->get().from_node == F->get() || E->get().to_node == F->get()) {
- undo_redo->add_undo_method(script.ptr(), "sequence_connect", edited_func, E->get().from_node, E->get().from_output, E->get().to_node);
+ if (E->get().from_node == cr_node || E->get().to_node == cr_node) {
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", func, E->get().from_node, E->get().from_output, E->get().to_node);
}
}
List<VisualScript::DataConnection> data_conns;
- script->get_data_connection_list(edited_func, &data_conns);
+ script->get_data_connection_list(func, &data_conns);
for (List<VisualScript::DataConnection>::Element *E = data_conns.front(); E; E = E->next()) {
if (E->get().from_node == F->get() || E->get().to_node == F->get()) {
- undo_redo->add_undo_method(script.ptr(), "data_connect", edited_func, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_connect", func, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
}
}
}
@@ -1276,13 +1612,16 @@ void VisualScriptEditor::_on_nodes_delete() {
void VisualScriptEditor::_on_nodes_duplicate() {
- List<int> to_duplicate;
+ Set<int> to_duplicate;
+ List<StringName> funcs;
for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = Object::cast_to<GraphNode>(graph->get_child(i));
if (gn) {
if (gn->is_selected() && gn->is_close_button_visible()) {
- to_duplicate.push_back(gn->get_name().operator String().to_int());
+ int id = gn->get_name().operator String().to_int();
+ to_duplicate.insert(id);
+ funcs.push_back(_get_function_of_node(id));
}
}
}
@@ -1294,18 +1633,42 @@ void VisualScriptEditor::_on_nodes_duplicate() {
int idc = script->get_available_id() + 1;
Set<int> to_select;
+ HashMap<int, int> remap;
- for (List<int>::Element *F = to_duplicate.front(); F; F = F->next()) {
+ for (Set<int>::Element *F = to_duplicate.front(); F; F = F->next()) {
- Ref<VisualScriptNode> node = script->get_node(edited_func, F->get());
+ // duplicate from the specifc function but place it into the default func as it would lack the connections
+ StringName func = _get_function_of_node(F->get());
+ Ref<VisualScriptNode> node = script->get_node(func, F->get());
Ref<VisualScriptNode> dupe = node->duplicate(true);
int new_id = idc++;
+ remap.set(F->get(), new_id);
+
to_select.insert(new_id);
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, dupe, script->get_node_position(edited_func, F->get()) + Vector2(20, 20));
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, new_id, dupe, script->get_node_position(func, F->get()) + Vector2(20, 20));
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, new_id);
+ }
+
+ for (List<StringName>::Element *F = funcs.front(); F; F = F->next()) {
+ List<VisualScript::SequenceConnection> seqs;
+ script->get_sequence_connection_list(F->get(), &seqs);
+ for (List<VisualScript::SequenceConnection>::Element *E = seqs.front(); E; E = E->next()) {
+ if (to_duplicate.has(E->get().from_node) && to_duplicate.has(E->get().to_node)) {
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", default_func, remap[E->get().from_node], E->get().from_output, remap[E->get().to_node]);
+ }
+ }
+
+ List<VisualScript::DataConnection> data;
+ script->get_data_connection_list(F->get(), &data);
+ for (List<VisualScript::DataConnection>::Element *E = data.front(); E; E = E->next()) {
+ if (to_duplicate.has(E->get().from_node) && to_duplicate.has(E->get().to_node)) {
+ undo_redo->add_do_method(script.ptr(), "data_connect", default_func, remap[E->get().from_node], E->get().from_port, remap[E->get().to_node], E->get().to_port);
+ }
+ }
}
+
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
@@ -1320,22 +1683,45 @@ void VisualScriptEditor::_on_nodes_duplicate() {
}
if (to_select.size()) {
- EditorNode::get_singleton()->push_item(script->get_node(edited_func, to_select.front()->get()).ptr());
+ EditorNode::get_singleton()->push_item(script->get_node(default_func, to_select.front()->get()).ptr());
}
}
-void VisualScriptEditor::_input(const Ref<InputEvent> &p_event) {
+void VisualScriptEditor::_generic_search(String p_base_type, Vector2 pos, bool node_centered) {
+ if (node_centered)
+ port_action_pos = graph->get_size() / 2.0f;
+ else
+ port_action_pos = graph->get_viewport()->get_mouse_position() - graph->get_global_position();
+
+ new_connect_node_select->select_from_visual_script(p_base_type, false, false); // neither connecting nor reset text
- Ref<InputEventMouseButton> mb = p_event;
+ // ensure that the dialog fits inside the graph
+ Size2 bounds = graph->get_global_position() + graph->get_size() - new_connect_node_select->get_size();
+ pos.x = pos.x > bounds.x ? bounds.x : pos.x;
+ pos.y = pos.y > bounds.y ? bounds.y : pos.y;
- if (mb.is_valid() && !mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT) {
- revert_on_drag = String(); //so we can still drag functions
+ if (pos != Vector2())
+ new_connect_node_select->set_position(pos);
+}
+
+void VisualScriptEditor::_input(const Ref<InputEvent> &p_event) {
+ // GUI input for VS Editor Plugin
+ Ref<InputEventMouseButton> key = p_event;
+
+ if (key.is_valid() && !key->is_pressed()) {
+ mouse_up_position = Input::get_singleton()->get_mouse_position();
}
}
-void VisualScriptEditor::_generic_search(String p_base_type) {
- port_action_pos = graph->get_viewport()->get_mouse_position() - graph->get_global_position();
- new_connect_node_select->select_from_visual_script(p_base_type, false);
+void VisualScriptEditor::_graph_gui_input(const Ref<InputEvent> &p_event) {
+ Ref<InputEventMouseButton> key = p_event;
+
+ if (key.is_valid() && key->is_pressed() && key->get_button_mask() == BUTTON_RIGHT) {
+ saved_position = graph->get_local_mouse_position();
+
+ Point2 gpos = Input::get_singleton()->get_mouse_position();
+ _generic_search(script->get_instance_base_type(), gpos);
+ }
}
void VisualScriptEditor::_members_gui_input(const Ref<InputEvent> &p_event) {
@@ -1365,28 +1751,82 @@ void VisualScriptEditor::_members_gui_input(const Ref<InputEvent> &p_event) {
}
}
}
+
+ Ref<InputEventMouseButton> btn = p_event;
+ if (btn.is_valid() && btn->is_doubleclick()) {
+ TreeItem *ti = members->get_selected();
+ if (ti && ti->get_parent() == members->get_root()->get_children()) // to check if it's a function
+ _center_on_node(ti->get_metadata(0), script->get_function_node_id(ti->get_metadata(0)));
+ }
}
-Variant VisualScriptEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) {
+void VisualScriptEditor::_rename_function(const String &name, const String &new_name) {
- if (p_from == nodes) {
+ if (!new_name.is_valid_identifier()) {
- TreeItem *it = nodes->get_item_at_position(p_point);
- if (!it)
- return Variant();
- String type = it->get_metadata(0);
- if (type == String())
- return Variant();
+ EditorNode::get_singleton()->show_warning(TTR("Name is not a valid identifier:") + " " + new_name);
+ return;
+ }
- Dictionary dd;
- dd["type"] = "visual_script_node_drag";
- dd["node_type"] = type;
+ if (script->has_function(new_name) || script->has_variable(new_name) || script->has_custom_signal(new_name)) {
- Label *label = memnew(Label);
- label->set_text(it->get_text(0));
- set_drag_preview(label);
- return dd;
+ EditorNode::get_singleton()->show_warning(TTR("Name already in use by another func/var/signal:") + " " + new_name);
+ return;
+ }
+
+ int node_id = script->get_function_node_id(name);
+ Ref<VisualScriptFunction> func;
+ if (script->has_node(name, node_id)) {
+ func = script->get_node(name, node_id);
+ }
+ undo_redo->create_action(TTR("Rename Function"));
+ undo_redo->add_do_method(script.ptr(), "rename_function", name, new_name);
+ undo_redo->add_undo_method(script.ptr(), "rename_function", new_name, name);
+ if (func.is_valid()) {
+ undo_redo->add_do_method(func.ptr(), "set_name", new_name);
+ undo_redo->add_undo_method(func.ptr(), "set_name", name);
+ }
+
+ // also fix all function calls
+ List<StringName> flst;
+ script->get_function_list(&flst);
+ for (List<StringName>::Element *E = flst.front(); E; E = E->next()) {
+ List<int> lst;
+ script->get_node_list(E->get(), &lst);
+ for (List<int>::Element *F = lst.front(); F; F = F->next()) {
+ Ref<VisualScriptFunctionCall> fncall = script->get_node(E->get(), F->get());
+ if (!fncall.is_valid())
+ continue;
+ if (fncall->get_function() == name) {
+ undo_redo->add_do_method(fncall.ptr(), "set_function", new_name);
+ undo_redo->add_undo_method(fncall.ptr(), "set_function", name);
+ }
+ }
+ }
+
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
+ undo_redo->add_do_method(this, "emit_signal", "edited_script_changed");
+ undo_redo->add_undo_method(this, "emit_signal", "edited_script_changed");
+ undo_redo->commit_action();
+}
+
+void VisualScriptEditor::_fn_name_box_input(const Ref<InputEvent> &p_event) {
+
+ if (!function_name_edit->is_visible())
+ return;
+
+ Ref<InputEventKey> key = p_event;
+ if (key.is_valid() && key->is_pressed() && key->get_scancode() == KEY_ENTER) {
+ function_name_edit->hide();
+ _rename_function(selected, function_name_box->get_text());
+ function_name_box->clear();
}
+}
+
+Variant VisualScriptEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) {
if (p_from == members) {
@@ -1406,11 +1846,6 @@ Variant VisualScriptEditor::get_drag_data_fw(const Point2 &p_point, Control *p_f
dd["type"] = "visual_script_function_drag";
dd["function"] = type;
- if (revert_on_drag != String()) {
- edited_func = revert_on_drag; //revert so function does not change
- revert_on_drag = String();
- _update_graph();
- }
} else if (it->get_parent() == root->get_children()->get_next()) {
dd["type"] = "visual_script_variable_drag";
@@ -1530,15 +1965,7 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
ofs /= EDSCALE;
- Ref<VisualScriptNode> vnode = VisualScriptLanguage::singleton->create_node_from_name(d["node_type"]);
- int new_id = script->get_available_id();
-
- undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
- undo_redo->add_do_method(this, "_update_graph");
- undo_redo->add_undo_method(this, "_update_graph");
- undo_redo->commit_action();
+ int new_id = _create_new_node_from_name(d["node_type"], ofs, default_func);
Node *node = graph->get_node(itos(new_id));
if (node) {
@@ -1579,8 +2006,8 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, new_id, vnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, new_id);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -1609,11 +2036,11 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, new_id, vnode, ofs);
undo_redo->add_do_method(vnode.ptr(), "set_base_type", script->get_instance_base_type());
undo_redo->add_do_method(vnode.ptr(), "set_function", d["function"]);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, new_id);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -1642,8 +2069,8 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, new_id, vnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, new_id);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -1672,8 +2099,8 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Preload Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, prnode, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, new_id, prnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, new_id);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -1713,8 +2140,8 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
prnode.instance();
prnode->set_preload(res);
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, prnode, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, new_id, prnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, new_id);
new_ids.push_back(new_id);
new_id++;
ofs += Vector2(20, 20) * EDSCALE;
@@ -1740,7 +2167,7 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
Node *sn = _find_script_node(get_tree()->get_edited_scene_root(), get_tree()->get_edited_scene_root(), script);
if (!sn) {
- EditorNode::get_singleton()->show_warning("Can't drop nodes because script '" + get_name() + "' is not used in this scene.");
+ EditorNode::get_singleton()->show_warning(TTR("Can't drop nodes because script '" + get_name() + "' is not used in this scene."));
return;
}
@@ -1782,20 +2209,20 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
scene_node.instance();
scene_node->set_node_path(sn->get_path_to(node));
n = scene_node;
-
} else {
+ // ! Doesn't work properly
Ref<VisualScriptFunctionCall> call;
call.instance();
call->set_call_mode(VisualScriptFunctionCall::CALL_MODE_NODE_PATH);
call->set_base_path(sn->get_path_to(node));
call->set_base_type(node->get_class());
n = call;
- method_select->select_from_instance(node);
+ method_select->select_from_instance(node, "", true, node->get_class());
selecting_method_id = base_id;
}
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, base_id, n, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, base_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, base_id, n, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, base_id);
base_id++;
ofs += Vector2(25, 25);
@@ -1810,7 +2237,7 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
Node *sn = _find_script_node(get_tree()->get_edited_scene_root(), get_tree()->get_edited_scene_root(), script);
if (!sn && !Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
- EditorNode::get_singleton()->show_warning("Can't drop properties because script '" + get_name() + "' is not used in this scene.\nDrop holding 'Shift' to just copy the signature.");
+ EditorNode::get_singleton()->show_warning(TTR("Can't drop properties because script '" + get_name() + "' is not used in this scene.\nDrop holding 'Shift' to just copy the signature."));
return;
}
@@ -1866,13 +2293,13 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
vnode = pget;
}
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, base_id, vnode, ofs);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, base_id, vnode, ofs);
undo_redo->add_do_method(vnode.ptr(), "set_property", d["property"]);
if (!use_get) {
undo_redo->add_do_method(vnode.ptr(), "set_default_input_value", 0, d["value"]);
}
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, base_id);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, base_id);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
@@ -1913,12 +2340,12 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
}
vnode = pget;
}
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, base_id, vnode, ofs);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, base_id, vnode, ofs);
undo_redo->add_do_method(vnode.ptr(), "set_property", d["property"]);
if (!use_get) {
undo_redo->add_do_method(vnode.ptr(), "set_default_input_value", 0, d["value"]);
}
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, base_id);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, base_id);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
@@ -1929,7 +2356,7 @@ void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_da
void VisualScriptEditor::_selected_method(const String &p_method, const String &p_type, const bool p_connecting) {
- Ref<VisualScriptFunctionCall> vsfc = script->get_node(edited_func, selecting_method_id);
+ Ref<VisualScriptFunctionCall> vsfc = script->get_node(default_func, selecting_method_id);
if (!vsfc.is_valid())
return;
vsfc->set_function(p_method);
@@ -1986,8 +2413,16 @@ void VisualScriptEditor::set_edited_resource(const RES &p_res) {
script->connect("node_ports_changed", this, "_node_ports_changed");
+ default_func = script->get_default_func();
+
+ if (!script->has_function(default_func)) // this is the supposed default function
+ {
+ script->add_function(default_func);
+ script->set_edited(true); //so that if a function was added it's saved
+ }
+
+ _update_graph();
_update_members();
- _update_available_nodes();
}
Vector<String> VisualScriptEditor::get_functions() {
@@ -2032,7 +2467,7 @@ bool VisualScriptEditor::is_unsaved() {
Variant VisualScriptEditor::get_edit_state() {
Dictionary d;
- d["function"] = edited_func;
+ d["function"] = default_func;
d["scroll"] = graph->get_scroll_ofs();
d["zoom"] = graph->get_zoom();
d["using_snap"] = graph->is_using_snap();
@@ -2044,8 +2479,7 @@ void VisualScriptEditor::set_edit_state(const Variant &p_state) {
Dictionary d = p_state;
if (d.has("function")) {
- edited_func = d["function"];
- selected = edited_func;
+ selected = default_func;
}
_update_graph();
@@ -2065,16 +2499,24 @@ void VisualScriptEditor::set_edit_state(const Variant &p_state) {
}
}
-void VisualScriptEditor::_center_on_node(int p_id) {
+void VisualScriptEditor::_center_on_node(const StringName &p_func, int p_id) {
Node *n = graph->get_node(itos(p_id));
GraphNode *gn = Object::cast_to<GraphNode>(n);
+
+ // clear selection
+ for (int i = 0; i < graph->get_child_count(); i++) {
+ GraphNode *gnd = Object::cast_to<GraphNode>(graph->get_child(i));
+ if (gnd)
+ gnd->set_selected(false);
+ }
+
if (gn) {
gn->set_selected(true);
Vector2 new_scroll = gn->get_offset() - graph->get_size() * 0.5 + gn->get_size() * 0.5;
graph->set_scroll_ofs(new_scroll);
- script->set_function_scroll(edited_func, new_scroll / EDSCALE);
- script->set_edited(true); //so it's saved
+ script->set_function_scroll(p_func, new_scroll / EDSCALE);
+ script->set_edited(true);
}
}
@@ -2091,13 +2533,10 @@ void VisualScriptEditor::goto_line(int p_line, bool p_with_error) {
if (script->has_node(E->get(), p_line)) {
- edited_func = E->get();
- selected = edited_func;
_update_graph();
_update_members();
- call_deferred("call_deferred", "_center_on_node", p_line); //editor might be just created and size might not exist yet
-
+ call_deferred("call_deferred", "_center_on_node", E->get(), p_line); //editor might be just created and size might not exist yet
return;
}
}
@@ -2132,6 +2571,7 @@ void VisualScriptEditor::tag_saved_version() {
}
void VisualScriptEditor::reload(bool p_soft) {
+ _update_graph();
}
void VisualScriptEditor::get_breakpoints(List<int> *p_breakpoints) {
@@ -2155,10 +2595,9 @@ void VisualScriptEditor::get_breakpoints(List<int> *p_breakpoints) {
void VisualScriptEditor::add_callback(const String &p_function, PoolStringArray p_args) {
if (script->has_function(p_function)) {
- edited_func = p_function;
- selected = edited_func;
_update_members();
_update_graph();
+ _center_on_node(p_function, script->get_function_node_id(p_function));
return;
}
@@ -2189,13 +2628,10 @@ void VisualScriptEditor::add_callback(const String &p_function, PoolStringArray
script->add_function(p_function);
script->add_node(p_function, script->get_available_id(), func);
- edited_func = p_function;
- selected = edited_func;
_update_members();
_update_graph();
- graph->call_deferred("set_scroll_ofs", script->get_function_scroll(edited_func)); //for first time it might need to be later
- //undo_redo->clear_history();
+ _center_on_node(p_function, script->get_function_node_id(p_function));
}
bool VisualScriptEditor::show_members_overview() {
@@ -2233,7 +2669,7 @@ void VisualScriptEditor::_toggle_tool_script() {
void VisualScriptEditor::clear_edit_menu() {
memdelete(edit_menu);
- memdelete(left_vsplit);
+ memdelete(members_section);
}
void VisualScriptEditor::_change_base_type_callback() {
@@ -2297,46 +2733,66 @@ void VisualScriptEditor::_end_node_move() {
undo_redo->commit_action();
}
-void VisualScriptEditor::_move_node(String func, int p_id, const Vector2 &p_to) {
+void VisualScriptEditor::_move_node(const StringName &p_func, int p_id, const Vector2 &p_to) {
+
+ if (!script->has_function(p_func))
+ return;
+
+ Node *node = graph->get_node(itos(p_id));
+
+ if (Object::cast_to<GraphNode>(node))
+ Object::cast_to<GraphNode>(node)->set_offset(p_to);
- if (func == String(edited_func)) {
- Node *node = graph->get_node(itos(p_id));
- if (Object::cast_to<GraphNode>(node))
- Object::cast_to<GraphNode>(node)->set_offset(p_to);
+ script->set_node_position(p_func, p_id, p_to / EDSCALE);
+}
+
+StringName VisualScriptEditor::_get_function_of_node(int p_id) const {
+
+ List<StringName> funcs;
+ script->get_function_list(&funcs);
+ for (List<StringName>::Element *E = funcs.front(); E; E = E->next()) {
+ if (script->has_node(E->get(), p_id)) {
+ return E->get();
+ }
}
- script->set_node_position(edited_func, p_id, p_to / EDSCALE);
+
+ return ""; // this is passed to avoid crash and is tested against later
}
void VisualScriptEditor::_node_moved(Vector2 p_from, Vector2 p_to, int p_id) {
- undo_redo->add_do_method(this, "_move_node", String(edited_func), p_id, p_to);
- undo_redo->add_undo_method(this, "_move_node", String(edited_func), p_id, p_from);
+ StringName func = _get_function_of_node(p_id);
+
+ undo_redo->add_do_method(this, "_move_node", func, p_id, p_to);
+ undo_redo->add_undo_method(this, "_move_node", func, p_id, p_from);
}
void VisualScriptEditor::_remove_node(int p_id) {
undo_redo->create_action(TTR("Remove VisualScript Node"));
- undo_redo->add_do_method(script.ptr(), "remove_node", edited_func, p_id);
- undo_redo->add_undo_method(script.ptr(), "add_node", edited_func, p_id, script->get_node(edited_func, p_id), script->get_node_position(edited_func, p_id));
+ StringName func = _get_function_of_node(p_id);
+
+ undo_redo->add_do_method(script.ptr(), "remove_node", func, p_id);
+ undo_redo->add_undo_method(script.ptr(), "add_node", func, p_id, script->get_node(func, p_id), script->get_node_position(func, p_id));
List<VisualScript::SequenceConnection> sequence_conns;
- script->get_sequence_connection_list(edited_func, &sequence_conns);
+ script->get_sequence_connection_list(func, &sequence_conns);
for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
if (E->get().from_node == p_id || E->get().to_node == p_id) {
- undo_redo->add_undo_method(script.ptr(), "sequence_connect", edited_func, E->get().from_node, E->get().from_output, E->get().to_node);
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", func, E->get().from_node, E->get().from_output, E->get().to_node);
}
}
List<VisualScript::DataConnection> data_conns;
- script->get_data_connection_list(edited_func, &data_conns);
+ script->get_data_connection_list(func, &data_conns);
for (List<VisualScript::DataConnection>::Element *E = data_conns.front(); E; E = E->next()) {
if (E->get().from_node == p_id || E->get().to_node == p_id) {
- undo_redo->add_undo_method(script.ptr(), "data_connect", edited_func, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_connect", func, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
}
}
@@ -2348,15 +2804,29 @@ void VisualScriptEditor::_remove_node(int p_id) {
void VisualScriptEditor::_node_ports_changed(const String &p_func, int p_id) {
- if (p_func != String(edited_func))
- return;
-
_update_graph(p_id);
}
+bool VisualScriptEditor::node_has_sequence_connections(const StringName &p_func, int p_id) {
+ List<VisualScript::SequenceConnection> sequence_conns;
+ script->get_sequence_connection_list(p_func, &sequence_conns);
+
+ for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
+ int from = E->get().from_node;
+ int to = E->get().to_node;
+
+ if (to == p_id || from == p_id)
+ return true;
+ }
+
+ return false;
+}
+
void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot, const String &p_to, int p_to_slot) {
- Ref<VisualScriptNode> from_node = script->get_node(edited_func, p_from.to_int());
+ StringName from_func = _get_function_of_node(p_from.to_int());
+
+ Ref<VisualScriptNode> from_node = script->get_node(from_func, p_from.to_int());
ERR_FAIL_COND(!from_node.is_valid());
bool from_seq;
@@ -2365,7 +2835,9 @@ void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot,
if (!_get_out_slot(from_node, p_from_slot, from_port, from_seq))
return; //can't connect this, it's invalid
- Ref<VisualScriptNode> to_node = script->get_node(edited_func, p_to.to_int());
+ StringName to_func = _get_function_of_node(p_to.to_int());
+
+ Ref<VisualScriptNode> to_node = script->get_node(to_func, p_to.to_int());
ERR_FAIL_COND(!to_node.is_valid());
bool to_seq;
@@ -2376,29 +2848,170 @@ void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot,
ERR_FAIL_COND(from_seq != to_seq);
+ // Do all the checks here
+ StringName func; // this the func where we store the one the nodes at the end of the resolution on having multiple nodes
+
undo_redo->create_action(TTR("Connect Nodes"));
+ if (from_func == to_func) {
+ func = to_func;
+ } else if (from_seq) {
+ // this is a sequence connection
+ _move_nodes_with_rescan(to_func, from_func, p_to.to_int()); // this function moves the nodes from func1 to func2
+ func = from_func;
+ } else {
+ if (node_has_sequence_connections(to_func, p_to.to_int())) {
+ if (node_has_sequence_connections(from_func, p_from.to_int())) {
+ ERR_PRINT("Trying to connect between different sequence node trees");
+ return;
+ } else {
+ _move_nodes_with_rescan(from_func, to_func, p_from.to_int());
+ func = to_func;
+ }
+ } else if (node_has_sequence_connections(from_func, p_from.to_int())) {
+ if (from_func == default_func) {
+ _move_nodes_with_rescan(from_func, to_func, p_from.to_int());
+ func = to_func;
+ } else {
+ _move_nodes_with_rescan(to_func, from_func, p_to.to_int());
+ func = from_func;
+ }
+ } else {
+ if (to_func == default_func) {
+ _move_nodes_with_rescan(to_func, from_func, p_to.to_int());
+ func = from_func;
+ } else {
+ _move_nodes_with_rescan(from_func, to_func, p_from.to_int());
+ func = to_func;
+ }
+ }
+ }
+
if (from_seq) {
- undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, p_from.to_int(), from_port, p_to.to_int());
- undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int());
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", func, p_from.to_int(), from_port, p_to.to_int());
+ // this undo error on undo after move can't be removed without painful gymnastics
+ undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", func, p_from.to_int(), from_port, p_to.to_int());
} else {
+ bool converted = false;
+ int conv_node = -1;
+
+ Ref<VisualScriptOperator> oper = to_node;
+ if (oper.is_valid() && oper->get_typed() == Variant::NIL) {
+ // it's an operator Node and if the type is already nil
+ if (from_node->get_output_value_port_info(from_port).type != Variant::NIL) {
+ oper->set_typed(from_node->get_output_value_port_info(from_port).type);
+ }
+ }
- // disconnect current, and connect the new one
- if (script->is_input_value_port_connected(edited_func, p_to.to_int(), to_port)) {
- int conn_from;
- int conn_port;
- script->get_input_value_port_connection_source(edited_func, p_to.to_int(), to_port, &conn_from, &conn_port);
- undo_redo->add_do_method(script.ptr(), "data_disconnect", edited_func, conn_from, conn_port, p_to.to_int(), to_port);
- undo_redo->add_undo_method(script.ptr(), "data_connect", edited_func, conn_from, conn_port, p_to.to_int(), to_port);
+ Ref<VisualScriptOperator> operf = from_node;
+ if (operf.is_valid() && operf->get_typed() == Variant::NIL) {
+ // it's an operator Node and if the type is already nil
+ if (to_node->get_input_value_port_info(to_port).type != Variant::NIL) {
+ operf->set_typed(to_node->get_input_value_port_info(to_port).type);
+ }
}
- undo_redo->add_do_method(script.ptr(), "data_connect", edited_func, p_from.to_int(), from_port, p_to.to_int(), to_port);
- undo_redo->add_undo_method(script.ptr(), "data_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int(), to_port);
- //update nodes in sgraph
- undo_redo->add_do_method(this, "_update_graph", p_from.to_int());
- undo_redo->add_do_method(this, "_update_graph", p_to.to_int());
- undo_redo->add_undo_method(this, "_update_graph", p_from.to_int());
- undo_redo->add_undo_method(this, "_update_graph", p_to.to_int());
+ Variant::Type to_type = to_node->get_input_value_port_info(to_port).type;
+ Variant::Type from_type = from_node->get_output_value_port_info(from_port).type;
+
+ if (to_type != Variant::NIL && from_type != Variant::NIL && to_type != from_type) {
+ // add a constructor node between the ports
+ bool exceptions = false; // true if there are any exceptions
+ exceptions = exceptions || (to_type == Variant::INT && from_type == Variant::REAL);
+ exceptions = exceptions || (to_type == Variant::REAL && from_type == Variant::INT);
+ if (Variant::can_convert(from_type, to_type) && !exceptions) {
+ MethodInfo mi;
+ mi.name = Variant::get_type_name(to_type);
+ PropertyInfo pi;
+ pi.name = "from";
+ pi.type = from_type;
+ mi.arguments.push_back(pi);
+ mi.return_val.type = to_type;
+ // we know that this is allowed so create a new constructor node
+ Ref<VisualScriptConstructor> constructor;
+ constructor.instance();
+ constructor->set_constructor_type(to_type);
+ constructor->set_constructor(mi);
+ // add the new constructor node
+
+ GraphNode *gn = Object::cast_to<GraphNode>(graph->get_node(p_from));
+ GraphNode *gn2 = Object::cast_to<GraphNode>(graph->get_node(p_to));
+ if (gn && gn2) {
+ Vector2 from_node_size = gn->get_rect().get_size();
+ Vector2 to_node_size = gn2->get_rect().get_size();
+ Vector2 to_node_pos = script->get_node_position(func, p_to.to_int());
+ Vector2 from_node_pos = script->get_node_position(func, p_from.to_int());
+ Vector2 new_to_node_pos = from_node_pos;
+ Vector2 constructor_pos;
+ if ((to_node_pos.x - from_node_pos.x) < 0) {
+ // to is behind from node
+ if (to_node_pos.x > (from_node_pos.x - to_node_size.x - 240))
+ new_to_node_pos.x = from_node_pos.x - to_node_size.x - 240; // approx size of construtor node + padding
+ else
+ new_to_node_pos.x = to_node_pos.x;
+ new_to_node_pos.y = to_node_pos.y;
+ constructor_pos.x = from_node_pos.x - 210;
+ constructor_pos.y = to_node_pos.y;
+ } else {
+ // to is ahead of from node
+ if (to_node_pos.x < (from_node_size.x + from_node_pos.x + 240))
+ new_to_node_pos.x = from_node_size.x + from_node_pos.x + 240; // approx size of construtor node + padding
+ else
+ new_to_node_pos.x = to_node_pos.x;
+ new_to_node_pos.y = to_node_pos.y;
+ constructor_pos.x = from_node_size.x + from_node_pos.x + 10;
+ constructor_pos.y = to_node_pos.y;
+ }
+ undo_redo->add_do_method(this, "_move_node", func, p_to.to_int(), new_to_node_pos);
+ undo_redo->add_undo_method(this, "_move_node", func, p_to.to_int(), to_node_pos);
+ conv_node = script->get_available_id();
+ undo_redo->add_do_method(script.ptr(), "add_node", func, conv_node, constructor, _get_available_pos(false, constructor_pos));
+ undo_redo->add_undo_method(script.ptr(), "remove_node", func, conv_node);
+ converted = true;
+ }
+ }
+ }
+
+ // disconnect current, and connect the new one
+ if (script->is_input_value_port_connected(func, p_to.to_int(), to_port)) {
+ if (can_swap && data_disconnect_node == p_to.to_int()) {
+ int conn_from;
+ int conn_port;
+ script->get_input_value_port_connection_source(func, p_to.to_int(), to_port, &conn_from, &conn_port);
+ undo_redo->add_do_method(script.ptr(), "data_disconnect", func, conn_from, conn_port, p_to.to_int(), to_port);
+ undo_redo->add_do_method(script.ptr(), "data_connect", func, conn_from, conn_port, data_disconnect_node, data_disconnect_port);
+ undo_redo->add_undo_method(script.ptr(), "data_disconnect", func, conn_from, conn_port, data_disconnect_node, data_disconnect_port);
+ undo_redo->add_undo_method(script.ptr(), "data_connect", func, conn_from, conn_port, p_to.to_int(), to_port);
+ can_swap = false; // swapped
+ } else {
+ int conn_from;
+ int conn_port;
+ script->get_input_value_port_connection_source(func, p_to.to_int(), to_port, &conn_from, &conn_port);
+ undo_redo->add_do_method(script.ptr(), "data_disconnect", func, conn_from, conn_port, p_to.to_int(), to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_connect", func, conn_from, conn_port, p_to.to_int(), to_port);
+ }
+ }
+ if (!converted) {
+ undo_redo->add_do_method(script.ptr(), "data_connect", func, p_from.to_int(), from_port, p_to.to_int(), to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_disconnect", func, p_from.to_int(), from_port, p_to.to_int(), to_port);
+ } else {
+ // this is noice
+ undo_redo->add_do_method(script.ptr(), "data_connect", func, p_from.to_int(), from_port, conv_node, 0);
+ undo_redo->add_do_method(script.ptr(), "data_connect", func, conv_node, 0, p_to.to_int(), to_port);
+ // I don't think this is needed but gonna leave it here for now... until I need to finalise it all
+ undo_redo->add_undo_method(script.ptr(), "data_disconnect", func, p_from.to_int(), from_port, conv_node, 0);
+ undo_redo->add_undo_method(script.ptr(), "data_disconnect", func, conv_node, 0, p_to.to_int(), to_port);
+ }
+ //update nodes in graph
+ if (!converted) {
+ undo_redo->add_do_method(this, "_update_graph", p_from.to_int());
+ undo_redo->add_do_method(this, "_update_graph", p_to.to_int());
+ undo_redo->add_undo_method(this, "_update_graph", p_from.to_int());
+ undo_redo->add_undo_method(this, "_update_graph", p_to.to_int());
+ } else {
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
+ }
}
undo_redo->add_do_method(this, "_update_graph_connections");
@@ -2409,7 +3022,10 @@ void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot,
void VisualScriptEditor::_graph_disconnected(const String &p_from, int p_from_slot, const String &p_to, int p_to_slot) {
- Ref<VisualScriptNode> from_node = script->get_node(edited_func, p_from.to_int());
+ StringName func = _get_function_of_node(p_from.to_int());
+ ERR_FAIL_COND(func != _get_function_of_node(p_to.to_int()));
+
+ Ref<VisualScriptNode> from_node = script->get_node(func, p_from.to_int());
ERR_FAIL_COND(!from_node.is_valid());
bool from_seq;
@@ -2418,7 +3034,7 @@ void VisualScriptEditor::_graph_disconnected(const String &p_from, int p_from_sl
if (!_get_out_slot(from_node, p_from_slot, from_port, from_seq))
return; //can't connect this, it's invalid
- Ref<VisualScriptNode> to_node = script->get_node(edited_func, p_to.to_int());
+ Ref<VisualScriptNode> to_node = script->get_node(func, p_to.to_int());
ERR_FAIL_COND(!to_node.is_valid());
bool to_seq;
@@ -2429,15 +3045,20 @@ void VisualScriptEditor::_graph_disconnected(const String &p_from, int p_from_sl
ERR_FAIL_COND(from_seq != to_seq);
- undo_redo->create_action(TTR("Connect Nodes"));
+ undo_redo->create_action(TTR("Disconnect Nodes"));
if (from_seq) {
- undo_redo->add_do_method(script.ptr(), "sequence_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int());
- undo_redo->add_undo_method(script.ptr(), "sequence_connect", edited_func, p_from.to_int(), from_port, p_to.to_int());
+ undo_redo->add_do_method(script.ptr(), "sequence_disconnect", func, p_from.to_int(), from_port, p_to.to_int());
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", func, p_from.to_int(), from_port, p_to.to_int());
} else {
- undo_redo->add_do_method(script.ptr(), "data_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int(), to_port);
- undo_redo->add_undo_method(script.ptr(), "data_connect", edited_func, p_from.to_int(), from_port, p_to.to_int(), to_port);
- //update nodes in sgraph
+
+ can_swap = true;
+ data_disconnect_node = p_to.to_int();
+ data_disconnect_port = to_port;
+
+ undo_redo->add_do_method(script.ptr(), "data_disconnect", func, p_from.to_int(), from_port, p_to.to_int(), to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_connect", func, p_from.to_int(), from_port, p_to.to_int(), to_port);
+ //update relevant nodes in the graph
undo_redo->add_do_method(this, "_update_graph", p_from.to_int());
undo_redo->add_do_method(this, "_update_graph", p_to.to_int());
undo_redo->add_undo_method(this, "_update_graph", p_from.to_int());
@@ -2449,6 +3070,216 @@ void VisualScriptEditor::_graph_disconnected(const String &p_from, int p_from_sl
undo_redo->commit_action();
}
+void VisualScriptEditor::_move_nodes_with_rescan(const StringName &p_func_from, const StringName &p_func_to, int p_id) {
+
+ Set<int> nodes_to_move;
+ HashMap<int, Map<int, int> > seqconns_to_move; // from => List(outp, to)
+ HashMap<int, Map<int, Pair<int, int> > > dataconns_to_move; // to => List(inp_p => from, outp)
+
+ nodes_to_move.insert(p_id);
+ Set<int> sequence_connections;
+ {
+ List<VisualScript::SequenceConnection> sequence_conns;
+ script->get_sequence_connection_list(p_func_from, &sequence_conns);
+
+ HashMap<int, Map<int, int> > seqcons; // from => List(out_p => to)
+
+ for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
+ int from = E->get().from_node;
+ int to = E->get().to_node;
+ int out_p = E->get().from_output;
+ if (!seqcons.has(from))
+ seqcons.set(from, Map<int, int>());
+ seqcons[from].insert(out_p, to);
+ sequence_connections.insert(to);
+ sequence_connections.insert(from);
+ }
+
+ int conn = p_id;
+ List<int> stack;
+ HashMap<int, Set<int> > seen; // from, outp
+ while (seqcons.has(conn)) {
+ for (auto E = seqcons[conn].front(); E; E = E->next()) {
+ if (seen.has(conn) && seen[conn].has(E->key())) {
+ if (!E->next()) {
+ if (stack.size() > 0) {
+ conn = stack.back()->get();
+ stack.pop_back();
+ break;
+ }
+ conn = -101;
+ break;
+ }
+ continue;
+ }
+ if (!seen.has(conn))
+ seen.set(conn, Set<int>());
+ seen[conn].insert(E->key());
+ stack.push_back(conn);
+ if (!seqconns_to_move.has(conn))
+ seqconns_to_move.set(conn, Map<int, int>());
+ seqconns_to_move[conn].insert(E->key(), E->get());
+ conn = E->get();
+ nodes_to_move.insert(conn);
+ break;
+ }
+ if (!seqcons.has(conn) && stack.size() > 0) {
+ conn = stack.back()->get();
+ stack.pop_back();
+ }
+ }
+ }
+
+ {
+ List<VisualScript::DataConnection> data_connections;
+ script->get_data_connection_list(p_func_from, &data_connections);
+
+ HashMap<int, Map<int, Pair<int, int> > > connections;
+
+ for (List<VisualScript::DataConnection>::Element *E = data_connections.front(); E; E = E->next()) {
+ int from = E->get().from_node;
+ int to = E->get().to_node;
+ int out_p = E->get().from_port;
+ int in_p = E->get().to_port;
+
+ if (!connections.has(to))
+ connections.set(to, Map<int, Pair<int, int> >());
+ connections[to].insert(in_p, Pair<int, int>(from, out_p));
+ }
+
+ // go through the HashMap and do all sorts of crazy ass stuff now...
+ Set<int> nodes_to_be_added;
+ for (Set<int>::Element *F = nodes_to_move.front(); F; F = F->next()) {
+ HashMap<int, Set<int> > seen;
+ List<int> stack;
+ int id = F->get();
+ while (connections.has(id)) {
+ for (auto E = connections[id].front(); E; E = E->next()) {
+ if (seen.has(id) && seen[id].has(E->key())) {
+ if (!E->next()) {
+ if (stack.size() > 0) {
+ id = stack.back()->get();
+ stack.pop_back();
+ break;
+ }
+ id = -11; // I assume ids can't be negative should confirm it...
+ break;
+ }
+ continue;
+ }
+
+ if (sequence_connections.has(E->get().first)) {
+ if (!nodes_to_move.has(E->get().first)) {
+ if (stack.size() > 0) {
+ id = stack.back()->get();
+ stack.pop_back();
+ break;
+ }
+ id = -11; // I assume ids can't be negative should confirm it...
+ break;
+ }
+ }
+
+ if (!seen.has(id))
+ seen.set(id, Set<int>());
+ seen[id].insert(E->key());
+ stack.push_back(id);
+ if (!dataconns_to_move.has(id))
+ dataconns_to_move.set(id, Map<int, Pair<int, int> >());
+ dataconns_to_move[id].insert(E->key(), Pair<int, int>(E->get().first, E->get().second));
+ id = E->get().first;
+ nodes_to_be_added.insert(id);
+ break;
+ }
+ if (!connections.has(id) && stack.size() > 0) {
+ id = stack.back()->get();
+ stack.pop_back();
+ }
+ }
+ }
+ for (Set<int>::Element *E = nodes_to_be_added.front(); E; E = E->next()) {
+ nodes_to_move.insert(E->get());
+ }
+ }
+
+ // * this is primarily for the sake of the having proper undo
+ List<VisualScript::SequenceConnection> seqext;
+ List<VisualScript::DataConnection> dataext;
+
+ List<VisualScript::SequenceConnection> seq_connections;
+ script->get_sequence_connection_list(p_func_from, &seq_connections);
+
+ for (List<VisualScript::SequenceConnection>::Element *E = seq_connections.front(); E; E = E->next()) {
+ if (!nodes_to_move.has(E->get().from_node) && nodes_to_move.has(E->get().to_node)) {
+ seqext.push_back(E->get());
+ } else if (nodes_to_move.has(E->get().from_node) && !nodes_to_move.has(E->get().to_node)) {
+ seqext.push_back(E->get());
+ }
+ }
+
+ List<VisualScript::DataConnection> data_connections;
+ script->get_data_connection_list(p_func_from, &data_connections);
+
+ for (List<VisualScript::DataConnection>::Element *E = data_connections.front(); E; E = E->next()) {
+ if (!nodes_to_move.has(E->get().from_node) && nodes_to_move.has(E->get().to_node)) {
+ dataext.push_back(E->get());
+ } else if (nodes_to_move.has(E->get().from_node) && !nodes_to_move.has(E->get().to_node)) {
+ dataext.push_back(E->get());
+ }
+ }
+
+ // undo_redo->create_action("Rescan Functions");
+
+ for (Set<int>::Element *E = nodes_to_move.front(); E; E = E->next()) {
+ int id = E->get();
+
+ undo_redo->add_do_method(script.ptr(), "remove_node", p_func_from, id);
+ undo_redo->add_do_method(script.ptr(), "add_node", p_func_to, id, script->get_node(p_func_from, id), script->get_node_position(p_func_from, id));
+
+ undo_redo->add_undo_method(script.ptr(), "remove_node", p_func_to, id);
+ undo_redo->add_undo_method(script.ptr(), "add_node", p_func_from, id, script->get_node(p_func_from, id), script->get_node_position(p_func_from, id));
+ }
+
+ List<int> skeys;
+ seqconns_to_move.get_key_list(&skeys);
+ for (List<int>::Element *E = skeys.front(); E; E = E->next()) {
+ int from_node = E->get();
+ for (Map<int, int>::Element *F = seqconns_to_move[from_node].front(); F; F = F->next()) {
+ int from_port = F->key();
+ int to_node = F->get();
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", p_func_to, from_node, from_port, to_node);
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", p_func_from, from_node, from_port, to_node);
+ }
+ }
+
+ List<int> keys;
+ dataconns_to_move.get_key_list(&keys);
+ for (List<int>::Element *E = keys.front(); E; E = E->next()) {
+ int to_node = E->get(); // to_node
+ for (Map<int, Pair<int, int> >::Element *F = dataconns_to_move[E->get()].front(); F; F = F->next()) {
+ int inp_p = F->key();
+ Pair<int, int> fro = F->get();
+
+ undo_redo->add_do_method(script.ptr(), "data_connect", p_func_to, fro.first, fro.second, to_node, inp_p);
+ undo_redo->add_undo_method(script.ptr(), "data_connect", p_func_from, fro.first, fro.second, to_node, inp_p);
+ }
+ }
+
+ // this to have proper undo operations
+ for (List<VisualScript::SequenceConnection>::Element *E = seqext.front(); E; E = E->next()) {
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", p_func_from, E->get().from_node, E->get().from_output, E->get().to_node);
+ }
+ for (List<VisualScript::DataConnection>::Element *E = dataext.front(); E; E = E->next()) {
+ undo_redo->add_undo_method(script.ptr(), "data_connect", p_func_from, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
+ }
+ // this doesn't need do methods as they are handled by the subsequent do calls implicitly
+
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
+
+ // undo_redo->commit_action();
+}
+
void VisualScriptEditor::_graph_connect_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_pos) {
Node *node = graph->get_node(p_from);
@@ -2456,7 +3287,9 @@ void VisualScriptEditor::_graph_connect_to_empty(const String &p_from, int p_fro
if (!gn)
return;
- Ref<VisualScriptNode> vsn = script->get_node(edited_func, p_from.to_int());
+ StringName func = _get_function_of_node(p_from.to_int());
+
+ Ref<VisualScriptNode> vsn = script->get_node(func, p_from.to_int());
if (!vsn.is_valid())
return;
@@ -2466,12 +3299,11 @@ void VisualScriptEditor::_graph_connect_to_empty(const String &p_from, int p_fro
port_action_node = p_from.to_int();
port_action_output = p_from_slot;
- _port_action_menu(CREATE_ACTION);
+ _port_action_menu(CREATE_ACTION, func);
} else {
-
port_action_output = p_from_slot - vsn->get_output_sequence_port_count();
port_action_node = p_from.to_int();
- _port_action_menu(CREATE_CALL_SET_GET);
+ _port_action_menu(CREATE_CALL_SET_GET, func);
}
}
@@ -2485,7 +3317,9 @@ VisualScriptNode::TypeGuess VisualScriptEditor::_guess_output_type(int p_port_ac
visited_nodes.insert(p_port_action_node);
- Ref<VisualScriptNode> node = script->get_node(edited_func, p_port_action_node);
+ StringName func = _get_function_of_node(p_port_action_node);
+
+ Ref<VisualScriptNode> node = script->get_node(func, p_port_action_node);
if (!node.is_valid()) {
@@ -2504,7 +3338,7 @@ VisualScriptNode::TypeGuess VisualScriptEditor::_guess_output_type(int p_port_ac
int from_node;
int from_port;
- if (script->get_input_value_port_connection_source(edited_func, p_port_action_node, i, &from_node, &from_port)) {
+ if (script->get_input_value_port_connection_source(func, p_port_action_node, i, &from_node, &from_port)) {
g = _guess_output_type(from_node, from_port, visited_nodes);
} else {
@@ -2529,7 +3363,7 @@ VisualScriptNode::TypeGuess VisualScriptEditor::_guess_output_type(int p_port_ac
return node->guess_output_type(in_guesses.ptrw(), p_port_action_output);
}
-void VisualScriptEditor::_port_action_menu(int p_option) {
+void VisualScriptEditor::_port_action_menu(int p_option, const StringName &func) {
Vector2 ofs = graph->get_scroll_ofs() + port_action_pos;
if (graph->is_using_snap()) {
@@ -2553,8 +3387,10 @@ void VisualScriptEditor::_port_action_menu(int p_option) {
} else {
n->set_base_type("Object");
}
-
- String type_string = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
+ String type_string;
+ if (script->get_node(func, port_action_node)->get_output_value_port_count() > 0) {
+ type_string = script->get_node(func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
+ }
if (tg.type == Variant::OBJECT) {
if (tg.script.is_valid()) {
new_connect_node_select->select_from_script(tg.script, "");
@@ -2568,10 +3404,19 @@ void VisualScriptEditor::_port_action_menu(int p_option) {
} else {
new_connect_node_select->select_from_basic_type(tg.type);
}
+ // ensure that the dialog fits inside the graph
+ Vector2 pos = mouse_up_position;
+ Size2 bounds = graph->get_global_position() + graph->get_size() - new_connect_node_select->get_size();
+ pos.x = pos.x > bounds.x ? bounds.x : pos.x;
+ pos.y = pos.y > bounds.y ? bounds.y : pos.y;
+ new_connect_node_select->set_position(pos);
} break;
case CREATE_ACTION: {
VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node, port_action_output, vn);
- PropertyInfo property_info = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output);
+ PropertyInfo property_info;
+ if (script->get_node(func, port_action_node)->get_output_value_port_count() > 0) {
+ property_info = script->get_node(func, port_action_node)->get_output_value_port_info(port_action_output);
+ }
if (tg.type == Variant::OBJECT) {
if (property_info.type == Variant::OBJECT && property_info.hint_string != String()) {
new_connect_node_select->select_from_action(property_info.hint_string);
@@ -2583,25 +3428,18 @@ void VisualScriptEditor::_port_action_menu(int p_option) {
} else {
new_connect_node_select->select_from_action(Variant::get_type_name(tg.type));
}
+ // ensure that the dialog fits inside the graph
+ Vector2 pos = mouse_up_position;
+ Size2 bounds = graph->get_global_position() + graph->get_size() - new_connect_node_select->get_size();
+ pos.x = pos.x > bounds.x ? bounds.x : pos.x;
+ pos.y = pos.y > bounds.y ? bounds.y : pos.y;
+ new_connect_node_select->set_position(pos);
} break;
}
}
-void VisualScriptEditor::new_node(Ref<VisualScriptNode> vnode, Vector2 ofs) {
- Set<int> vn;
- Ref<VisualScriptNode> vnode_old = script->get_node(edited_func, port_action_node);
- int new_id = script->get_available_id();
- undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
- undo_redo->add_do_method(this, "_update_graph", new_id);
- undo_redo->add_undo_method(this, "_update_graph", new_id);
- undo_redo->commit_action();
-
- port_action_new_node = new_id;
-}
-
void VisualScriptEditor::connect_data(Ref<VisualScriptNode> vnode_old, Ref<VisualScriptNode> vnode, int new_id) {
+
undo_redo->create_action(TTR("Connect Node Data"));
VisualScriptReturn *vnode_return = Object::cast_to<VisualScriptReturn>(vnode.ptr());
if (vnode_return != NULL && vnode_old->get_output_value_port_count() > 0) {
@@ -2620,12 +3458,14 @@ void VisualScriptEditor::connect_data(Ref<VisualScriptNode> vnode_old, Ref<Visua
if (port >= value_count) {
port = 0;
}
- undo_redo->add_do_method(script.ptr(), "data_connect", edited_func, port_action_node, port, new_id, 0);
- undo_redo->add_undo_method(script.ptr(), "data_disconnect", edited_func, port_action_node, port, new_id, 0);
+ StringName func = _get_function_of_node(port_action_node);
+ undo_redo->add_do_method(script.ptr(), "data_connect", func, port_action_node, port, new_id, 0);
+ undo_redo->add_undo_method(script.ptr(), "data_disconnect", func, port_action_node, port, new_id, 0);
undo_redo->commit_action();
}
void VisualScriptEditor::_selected_connect_node(const String &p_text, const String &p_category, const bool p_connecting) {
+
Vector2 ofs = graph->get_scroll_ofs() + port_action_pos;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
@@ -2635,19 +3475,29 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
Set<int> vn;
+ bool port_node_exists = true;
+
+ StringName func = _get_function_of_node(port_action_node);
+ if (func == StringName()) {
+ func = default_func;
+ port_node_exists = false;
+ }
+
if (p_category == "visualscript") {
Ref<VisualScriptNode> vnode_new = VisualScriptLanguage::singleton->create_node_from_name(p_text);
- Ref<VisualScriptNode> vnode_old = script->get_node(edited_func, port_action_node);
+ Ref<VisualScriptNode> vnode_old;
+ if (port_node_exists)
+ vnode_old = script->get_node(func, port_action_node);
int new_id = script->get_available_id();
- if (Object::cast_to<VisualScriptOperator>(vnode_new.ptr()) && script->get_node(edited_func, port_action_node).is_valid()) {
- Variant::Type type = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).type;
+ if (Object::cast_to<VisualScriptOperator>(vnode_new.ptr()) && vnode_old.is_valid()) {
+ Variant::Type type = vnode_old->get_output_value_port_info(port_action_output).type;
Object::cast_to<VisualScriptOperator>(vnode_new.ptr())->set_typed(type);
}
- if (Object::cast_to<VisualScriptTypeCast>(vnode_new.ptr()) && script->get_node(edited_func, port_action_node).is_valid()) {
- Variant::Type type = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).type;
- String hint_name = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
+ if (Object::cast_to<VisualScriptTypeCast>(vnode_new.ptr()) && vnode_old.is_valid()) {
+ Variant::Type type = vnode_old->get_output_value_port_info(port_action_output).type;
+ String hint_name = vnode_old->get_output_value_port_info(port_action_output).hint_string;
if (type == Variant::OBJECT) {
Object::cast_to<VisualScriptTypeCast>(vnode_new.ptr())->set_base_type(hint_name);
@@ -2657,14 +3507,15 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
Object::cast_to<VisualScriptTypeCast>(vnode_new.ptr())->set_base_type(Variant::get_type_name(type));
}
}
+
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode_new, ofs);
+ undo_redo->add_do_method(script.ptr(), "add_node", func, new_id, vnode_new, ofs);
if (vnode_old.is_valid() && p_connecting) {
connect_seq(vnode_old, vnode_new, new_id);
connect_data(vnode_old, vnode_new, new_id);
}
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", func, new_id);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -2727,16 +3578,24 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
}
}
- new_node(vnode, ofs);
+ int new_id = script->get_available_id();
+ undo_redo->create_action(TTR("Add Node"));
+ undo_redo->add_do_method(script.ptr(), "add_node", func, new_id, vnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", func, new_id);
+ undo_redo->add_do_method(this, "_update_graph", new_id);
+ undo_redo->add_undo_method(this, "_update_graph", new_id);
+ undo_redo->commit_action();
+
+ port_action_new_node = new_id;
- Ref<VisualScriptNode> vsn = script->get_node(edited_func, port_action_new_node);
+ Ref<VisualScriptNode> vsn = script->get_node(func, port_action_new_node);
if (Object::cast_to<VisualScriptFunctionCall>(vsn.ptr())) {
Ref<VisualScriptFunctionCall> vsfc = vsn;
vsfc->set_function(p_text);
- if (p_connecting) {
+ if (port_node_exists && p_connecting) {
VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node, port_action_output, vn);
if (tg.type == Variant::OBJECT) {
@@ -2745,9 +3604,9 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
if (tg.gdclass != StringName()) {
vsfc->set_base_type(tg.gdclass);
- } else if (script->get_node(edited_func, port_action_node).is_valid()) {
- PropertyHint hint = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).hint;
- String base_type = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
+ } else if (script->get_node(func, port_action_node).is_valid()) {
+ PropertyHint hint = script->get_node(func, port_action_node)->get_output_value_port_info(port_action_output).hint;
+ String base_type = script->get_node(func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
if (base_type != String() && hint == PROPERTY_HINT_TYPE_STRING) {
vsfc->set_base_type(base_type);
@@ -2769,8 +3628,7 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
}
}
- // if connecting from another node the call mode shouldn't be self
- if (p_connecting) {
+ if (port_node_exists && p_connecting) {
if (Object::cast_to<VisualScriptPropertySet>(vsn.ptr())) {
Ref<VisualScriptPropertySet> vsp = vsn;
@@ -2781,9 +3639,9 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
if (tg.gdclass != StringName()) {
vsp->set_base_type(tg.gdclass);
- } else if (script->get_node(edited_func, port_action_node).is_valid()) {
- PropertyHint hint = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).hint;
- String base_type = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
+ } else if (script->get_node(func, port_action_node).is_valid()) {
+ PropertyHint hint = script->get_node(func, port_action_node)->get_output_value_port_info(port_action_output).hint;
+ String base_type = script->get_node(func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
if (base_type != String() && hint == PROPERTY_HINT_TYPE_STRING) {
vsp->set_base_type(base_type);
@@ -2811,9 +3669,9 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
if (tg.gdclass != StringName()) {
vsp->set_base_type(tg.gdclass);
- } else if (script->get_node(edited_func, port_action_node).is_valid()) {
- PropertyHint hint = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).hint;
- String base_type = script->get_node(edited_func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
+ } else if (script->get_node(func, port_action_node).is_valid()) {
+ PropertyHint hint = script->get_node(func, port_action_node)->get_output_value_port_info(port_action_output).hint;
+ String base_type = script->get_node(func, port_action_node)->get_output_value_port_info(port_action_output).hint_string;
if (base_type != String() && hint == PROPERTY_HINT_TYPE_STRING) {
vsp->set_base_type(base_type);
}
@@ -2830,16 +3688,20 @@ void VisualScriptEditor::_selected_connect_node(const String &p_text, const Stri
}
}
}
- Ref<VisualScriptNode> vnode_old = script->get_node(edited_func, port_action_node);
- if (vnode_old.is_valid() && p_connecting) {
- connect_seq(vnode_old, vnode, port_action_new_node);
- connect_data(vnode_old, vnode, port_action_new_node);
+ if (port_node_exists) {
+ Ref<VisualScriptNode> vnode_old = script->get_node(func, port_action_node);
+ if (vnode_old.is_valid() && p_connecting) {
+ connect_seq(vnode_old, vnode, port_action_new_node);
+ connect_data(vnode_old, vnode, port_action_new_node);
+ }
}
_update_graph(port_action_new_node);
- _update_graph_connections();
+ if (port_node_exists)
+ _update_graph_connections();
}
void VisualScriptEditor::connect_seq(Ref<VisualScriptNode> vnode_old, Ref<VisualScriptNode> vnode_new, int new_id) {
+
VisualScriptOperator *vnode_operator = Object::cast_to<VisualScriptOperator>(vnode_new.ptr());
if (vnode_operator != NULL && !vnode_operator->has_input_sequence_port()) {
return;
@@ -2855,27 +3717,29 @@ void VisualScriptEditor::connect_seq(Ref<VisualScriptNode> vnode_old, Ref<Visual
return;
}
+ StringName func = _get_function_of_node(port_action_node);
+
undo_redo->create_action(TTR("Connect Node Sequence"));
int pass_port = -vnode_old->get_output_sequence_port_count() + 1;
int return_port = port_action_output - 1;
if (vnode_old->get_output_value_port_info(port_action_output).name == String("pass") &&
- !script->get_output_sequence_ports_connected(edited_func, port_action_node).has(pass_port)) {
- undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, port_action_node, pass_port, new_id);
- undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, port_action_node, pass_port, new_id);
+ !script->get_output_sequence_ports_connected(func, port_action_node).has(pass_port)) {
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", func, port_action_node, pass_port, new_id);
+ undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", func, port_action_node, pass_port, new_id);
} else if (vnode_old->get_output_value_port_info(port_action_output).name == String("return") &&
- !script->get_output_sequence_ports_connected(edited_func, port_action_node).has(return_port)) {
- undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, port_action_node, return_port, new_id);
- undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, port_action_node, return_port, new_id);
+ !script->get_output_sequence_ports_connected(func, port_action_node).has(return_port)) {
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", func, port_action_node, return_port, new_id);
+ undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", func, port_action_node, return_port, new_id);
} else {
for (int port = 0; port < vnode_old->get_output_sequence_port_count(); port++) {
int count = vnode_old->get_output_sequence_port_count();
- if (port_action_output < count && !script->get_output_sequence_ports_connected(edited_func, port_action_node).has(port_action_output)) {
- undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, port_action_node, port_action_output, new_id);
- undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, port_action_node, port_action_output, new_id);
+ if (port_action_output < count && !script->get_output_sequence_ports_connected(func, port_action_node).has(port_action_output)) {
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", func, port_action_node, port_action_output, new_id);
+ undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", func, port_action_node, port_action_output, new_id);
break;
- } else if (!script->get_output_sequence_ports_connected(edited_func, port_action_node).has(port)) {
- undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, port_action_node, port, new_id);
- undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, port_action_node, port, new_id);
+ } else if (!script->get_output_sequence_ports_connected(func, port_action_node).has(port)) {
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", func, port_action_node, port, new_id);
+ undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", func, port_action_node, port, new_id);
break;
}
}
@@ -2908,7 +3772,6 @@ void VisualScriptEditor::_selected_new_virtual_method(const String &p_text, cons
}
selected = name;
- edited_func = selected;
Ref<VisualScriptFunction> func_node;
func_node.instance();
func_node->set_name(name);
@@ -2920,14 +3783,16 @@ void VisualScriptEditor::_selected_new_virtual_method(const String &p_text, cons
func_node->add_argument(minfo.arguments[i].type, minfo.arguments[i].name, -1, minfo.arguments[i].hint, minfo.arguments[i].hint_string);
}
- undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id(), func_node);
+ Vector2 ofs = _get_available_pos();
+
+ undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id(), func_node, ofs);
if (minfo.return_val.type != Variant::NIL || minfo.return_val.usage & PROPERTY_USAGE_NIL_IS_VARIANT) {
Ref<VisualScriptReturn> ret_node;
ret_node.instance();
ret_node->set_return_type(minfo.return_val.type);
ret_node->set_enable_return_value(true);
ret_node->set_name(name);
- undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id() + 1, ret_node, Vector2(500, 0));
+ undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id() + 1, ret_node, _get_available_pos(false, ofs + Vector2(500, 0)));
}
undo_redo->add_undo_method(script.ptr(), "remove_function", name);
@@ -2942,31 +3807,30 @@ void VisualScriptEditor::_selected_new_virtual_method(const String &p_text, cons
}
void VisualScriptEditor::_cancel_connect_node() {
- // Causes crashes
- //script->remove_node(edited_func, port_action_new_node);
- _update_graph();
+ // ensure the cancel is done
+ port_action_new_node = -1;
}
-void VisualScriptEditor::_create_new_node(const String &p_text, const String &p_category, const Vector2 &p_point) {
- Vector2 ofs = graph->get_scroll_ofs() + p_point;
- if (graph->is_using_snap()) {
- int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap, snap));
- }
- ofs /= EDSCALE;
+int VisualScriptEditor::_create_new_node_from_name(const String &p_text, const Vector2 &p_point, const StringName &p_func) {
+
+ StringName func = default_func;
+ if (p_func != StringName())
+ func = p_func;
+
Ref<VisualScriptNode> vnode = VisualScriptLanguage::singleton->create_node_from_name(p_text);
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", func, new_id, vnode, p_point);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", func, new_id);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
+ return new_id;
}
void VisualScriptEditor::_default_value_changed() {
- Ref<VisualScriptNode> vsn = script->get_node(edited_func, editing_id);
+ Ref<VisualScriptNode> vsn = script->get_node(_get_function_of_node(editing_id), editing_id);
if (vsn.is_null())
return;
@@ -2981,7 +3845,7 @@ void VisualScriptEditor::_default_value_changed() {
void VisualScriptEditor::_default_value_edited(Node *p_button, int p_id, int p_input_port) {
- Ref<VisualScriptNode> vsn = script->get_node(edited_func, p_id);
+ Ref<VisualScriptNode> vsn = script->get_node(_get_function_of_node(p_id), p_id);
if (vsn.is_null())
return;
@@ -3000,16 +3864,18 @@ void VisualScriptEditor::_default_value_edited(Node *p_button, int p_id, int p_i
if (pinfo.type == Variant::NODE_PATH) {
Node *edited_scene = get_tree()->get_edited_scene_root();
- Node *script_node = _find_script_node(edited_scene, edited_scene, script);
+ if (edited_scene) { // Fixing an old crash bug ( Visual Script Crashes on editing NodePath with an empty scene open)
+ Node *script_node = _find_script_node(edited_scene, edited_scene, script);
- if (script_node) {
- //pick a node relative to the script, IF the script exists
- pinfo.hint = PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE;
- pinfo.hint_string = script_node->get_path();
- } else {
- //pick a path relative to edited scene
- pinfo.hint = PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE;
- pinfo.hint_string = get_tree()->get_edited_scene_root()->get_path();
+ if (script_node) {
+ //pick a node relative to the script, IF the script exists
+ pinfo.hint = PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE;
+ pinfo.hint_string = script_node->get_path();
+ } else {
+ //pick a path relative to edited scene
+ pinfo.hint = PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE;
+ pinfo.hint_string = get_tree()->get_edited_scene_root()->get_path();
+ }
}
}
@@ -3036,62 +3902,64 @@ void VisualScriptEditor::_hide_timer() {
hint_text->hide();
}
-void VisualScriptEditor::_node_filter_changed(const String &p_text) {
-
- _update_available_nodes();
-}
-
void VisualScriptEditor::_notification(int p_what) {
- if (p_what == NOTIFICATION_READY || (p_what == NOTIFICATION_THEME_CHANGED && is_visible_in_tree())) {
-
- node_filter->set_right_icon(Control::get_icon("Search", "EditorIcons"));
- node_filter->set_clear_button_enabled(true);
-
- if (p_what == NOTIFICATION_READY) {
+ switch (p_what) {
+ case NOTIFICATION_READY: {
variable_editor->connect("changed", this, "_update_members");
signal_editor->connect("changed", this, "_update_members");
+ FALLTHROUGH;
}
+ case NOTIFICATION_THEME_CHANGED: {
+ if (p_what != NOTIFICATION_READY && !is_visible_in_tree()) {
+ return;
+ }
- Ref<Theme> tm = EditorNode::get_singleton()->get_theme_base()->get_theme();
+ edit_variable_edit->add_style_override("bg", get_stylebox("bg", "Tree"));
+ edit_signal_edit->add_style_override("bg", get_stylebox("bg", "Tree"));
+ func_input_scroll->add_style_override("bg", get_stylebox("bg", "Tree"));
- bool dark_theme = tm->get_constant("dark_theme", "Editor");
+ Ref<Theme> tm = EditorNode::get_singleton()->get_theme_base()->get_theme();
- List<Pair<String, Color> > colors;
- if (dark_theme) {
- colors.push_back(Pair<String, Color>("flow_control", Color(0.96, 0.96, 0.96)));
- colors.push_back(Pair<String, Color>("functions", Color(0.96, 0.52, 0.51)));
- colors.push_back(Pair<String, Color>("data", Color(0.5, 0.96, 0.81)));
- colors.push_back(Pair<String, Color>("operators", Color(0.67, 0.59, 0.87)));
- colors.push_back(Pair<String, Color>("custom", Color(0.5, 0.73, 0.96)));
- colors.push_back(Pair<String, Color>("constants", Color(0.96, 0.5, 0.69)));
- } else {
- colors.push_back(Pair<String, Color>("flow_control", Color(0.26, 0.26, 0.26)));
- colors.push_back(Pair<String, Color>("functions", Color(0.95, 0.4, 0.38)));
- colors.push_back(Pair<String, Color>("data", Color(0.07, 0.73, 0.51)));
- colors.push_back(Pair<String, Color>("operators", Color(0.51, 0.4, 0.82)));
- colors.push_back(Pair<String, Color>("custom", Color(0.31, 0.63, 0.95)));
- colors.push_back(Pair<String, Color>("constants", Color(0.94, 0.18, 0.49)));
- }
+ bool dark_theme = tm->get_constant("dark_theme", "Editor");
- for (List<Pair<String, Color> >::Element *E = colors.front(); E; E = E->next()) {
- Ref<StyleBoxFlat> sb = tm->get_stylebox("frame", "GraphNode");
- if (!sb.is_null()) {
- Ref<StyleBoxFlat> frame_style = sb->duplicate();
- Color c = sb->get_border_color();
- Color cn = E->get().second;
- cn.a = c.a;
- frame_style->set_border_color(cn);
- node_styles[E->get().first] = frame_style;
+ List<Pair<String, Color> > colors;
+ if (dark_theme) {
+ colors.push_back(Pair<String, Color>("flow_control", Color(0.96, 0.96, 0.96)));
+ colors.push_back(Pair<String, Color>("functions", Color(0.96, 0.52, 0.51)));
+ colors.push_back(Pair<String, Color>("data", Color(0.5, 0.96, 0.81)));
+ colors.push_back(Pair<String, Color>("operators", Color(0.67, 0.59, 0.87)));
+ colors.push_back(Pair<String, Color>("custom", Color(0.5, 0.73, 0.96)));
+ colors.push_back(Pair<String, Color>("constants", Color(0.96, 0.5, 0.69)));
+ } else {
+ colors.push_back(Pair<String, Color>("flow_control", Color(0.26, 0.26, 0.26)));
+ colors.push_back(Pair<String, Color>("functions", Color(0.95, 0.4, 0.38)));
+ colors.push_back(Pair<String, Color>("data", Color(0.07, 0.73, 0.51)));
+ colors.push_back(Pair<String, Color>("operators", Color(0.51, 0.4, 0.82)));
+ colors.push_back(Pair<String, Color>("custom", Color(0.31, 0.63, 0.95)));
+ colors.push_back(Pair<String, Color>("constants", Color(0.94, 0.18, 0.49)));
}
- }
- if (is_visible_in_tree() && script.is_valid()) {
- _update_members();
- _update_graph();
- }
- } else if (p_what == NOTIFICATION_VISIBILITY_CHANGED) {
- left_vsplit->set_visible(is_visible_in_tree());
+ for (List<Pair<String, Color> >::Element *E = colors.front(); E; E = E->next()) {
+ Ref<StyleBoxFlat> sb = tm->get_stylebox("frame", "GraphNode");
+ if (!sb.is_null()) {
+ Ref<StyleBoxFlat> frame_style = sb->duplicate();
+ Color c = sb->get_border_color();
+ Color cn = E->get().second;
+ cn.a = c.a;
+ frame_style->set_border_color(cn);
+ node_styles[E->get().first] = frame_style;
+ }
+ }
+
+ if (is_visible_in_tree() && script.is_valid()) {
+ _update_members();
+ _update_graph();
+ }
+ } break;
+ case NOTIFICATION_VISIBILITY_CHANGED: {
+ members_section->set_visible(is_visible_in_tree());
+ } break;
}
}
@@ -3102,8 +3970,9 @@ void VisualScriptEditor::_graph_ofs_changed(const Vector2 &p_ofs) {
updating_graph = true;
- if (script->has_function(edited_func)) {
- script->set_function_scroll(edited_func, graph->get_scroll_ofs() / EDSCALE);
+ // Just use the default func for all the properties that need to be handled for drawing rather than adding to the Visual Script Class
+ if (script->has_function(default_func)) {
+ script->set_function_scroll(default_func, graph->get_scroll_ofs() / EDSCALE);
script->set_edited(true);
}
updating_graph = false;
@@ -3114,7 +3983,9 @@ void VisualScriptEditor::_comment_node_resized(const Vector2 &p_new_size, int p_
if (updating_graph)
return;
- Ref<VisualScriptComment> vsc = script->get_node(edited_func, p_node);
+ StringName func = _get_function_of_node(p_node);
+
+ Ref<VisualScriptComment> vsc = script->get_node(func, p_node);
if (vsc.is_null())
return;
@@ -3132,7 +4003,7 @@ void VisualScriptEditor::_comment_node_resized(const Vector2 &p_new_size, int p_
undo_redo->add_undo_method(vsc.ptr(), "set_size", vsc->get_size());
undo_redo->commit_action();
- gn->set_custom_minimum_size(p_new_size); //for this time since graph update is blocked
+ gn->set_custom_minimum_size(p_new_size);
gn->set_size(Size2(1, 1));
graph->set_block_minimum_size_adjust(false);
updating_graph = false;
@@ -3152,7 +4023,8 @@ void VisualScriptEditor::_menu_option(int p_what) {
if (gn) {
if (gn->is_selected()) {
int id = String(gn->get_name()).to_int();
- Ref<VisualScriptNode> vsn = script->get_node(edited_func, id);
+ StringName func = _get_function_of_node(id);
+ Ref<VisualScriptNode> vsn = script->get_node(func, id);
if (vsn.is_valid()) {
vsn->set_breakpoint(!vsn->is_breakpoint());
reselect.push_back(gn->get_name());
@@ -3174,28 +4046,30 @@ void VisualScriptEditor::_menu_option(int p_what) {
} break;
case EDIT_COPY_NODES:
case EDIT_CUT_NODES: {
-
- if (!script->has_function(edited_func))
+ if (!script->has_function(default_func))
break;
clipboard->nodes.clear();
clipboard->data_connections.clear();
clipboard->sequence_connections.clear();
+ Set<String> funcs;
for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = Object::cast_to<GraphNode>(graph->get_child(i));
if (gn) {
if (gn->is_selected()) {
int id = String(gn->get_name()).to_int();
- Ref<VisualScriptNode> node = script->get_node(edited_func, id);
+ StringName func = _get_function_of_node(id);
+ Ref<VisualScriptNode> node = script->get_node(func, id);
if (Object::cast_to<VisualScriptFunction>(*node)) {
EditorNode::get_singleton()->show_warning(TTR("Can't copy the function node."));
return;
}
if (node.is_valid()) {
clipboard->nodes[id] = node->duplicate(true);
- clipboard->nodes_positions[id] = script->get_node_position(edited_func, id);
+ clipboard->nodes_positions[id] = script->get_node_position(func, id);
+ funcs.insert(String(func));
}
}
}
@@ -3204,37 +4078,38 @@ void VisualScriptEditor::_menu_option(int p_what) {
if (clipboard->nodes.empty())
break;
- List<VisualScript::SequenceConnection> sequence_connections;
+ for (Set<String>::Element *F = funcs.front(); F; F = F->next()) {
+ List<VisualScript::SequenceConnection> sequence_connections;
- script->get_sequence_connection_list(edited_func, &sequence_connections);
+ script->get_sequence_connection_list(F->get(), &sequence_connections);
- for (List<VisualScript::SequenceConnection>::Element *E = sequence_connections.front(); E; E = E->next()) {
+ for (List<VisualScript::SequenceConnection>::Element *E = sequence_connections.front(); E; E = E->next()) {
- if (clipboard->nodes.has(E->get().from_node) && clipboard->nodes.has(E->get().to_node)) {
+ if (clipboard->nodes.has(E->get().from_node) && clipboard->nodes.has(E->get().to_node)) {
- clipboard->sequence_connections.insert(E->get());
+ clipboard->sequence_connections.insert(E->get());
+ }
}
- }
- List<VisualScript::DataConnection> data_connections;
+ List<VisualScript::DataConnection> data_connections;
- script->get_data_connection_list(edited_func, &data_connections);
+ script->get_data_connection_list(F->get(), &data_connections);
- for (List<VisualScript::DataConnection>::Element *E = data_connections.front(); E; E = E->next()) {
+ for (List<VisualScript::DataConnection>::Element *E = data_connections.front(); E; E = E->next()) {
- if (clipboard->nodes.has(E->get().from_node) && clipboard->nodes.has(E->get().to_node)) {
+ if (clipboard->nodes.has(E->get().from_node) && clipboard->nodes.has(E->get().to_node)) {
- clipboard->data_connections.insert(E->get());
+ clipboard->data_connections.insert(E->get());
+ }
}
}
-
if (p_what == EDIT_CUT_NODES) {
_on_nodes_delete(); // oh yeah, also delete on cut
}
} break;
case EDIT_PASTE_NODES: {
- if (!script->has_function(edited_func))
+ if (!script->has_function(default_func))
break;
if (clipboard->nodes.empty()) {
@@ -3252,11 +4127,15 @@ void VisualScriptEditor::_menu_option(int p_what) {
Set<Vector2> existing_positions;
{
- List<int> nodes;
- script->get_node_list(edited_func, &nodes);
- for (List<int>::Element *E = nodes.front(); E; E = E->next()) {
- Vector2 pos = script->get_node_position(edited_func, E->get()).snapped(Vector2(2, 2));
- existing_positions.insert(pos);
+ List<StringName> functions;
+ script->get_function_list(&functions);
+ for (List<StringName>::Element *F = functions.front(); F; F = F->next()) {
+ List<int> nodes;
+ script->get_node_list(F->get(), &nodes);
+ for (List<int>::Element *E = nodes.front(); E; E = E->next()) {
+ Vector2 pos = script->get_node_position(F->get(), E->get()).snapped(Vector2(2, 2));
+ existing_positions.insert(pos);
+ }
}
}
@@ -3275,20 +4154,20 @@ void VisualScriptEditor::_menu_option(int p_what) {
paste_pos += Vector2(20, 20) * EDSCALE;
}
- undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, node, paste_pos);
- undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", default_func, new_id, node, paste_pos);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", default_func, new_id);
}
for (Set<VisualScript::SequenceConnection>::Element *E = clipboard->sequence_connections.front(); E; E = E->next()) {
- undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, remap[E->get().from_node], E->get().from_output, remap[E->get().to_node]);
- undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, remap[E->get().from_node], E->get().from_output, remap[E->get().to_node]);
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", default_func, remap[E->get().from_node], E->get().from_output, remap[E->get().to_node]);
+ undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", default_func, remap[E->get().from_node], E->get().from_output, remap[E->get().to_node]);
}
for (Set<VisualScript::DataConnection>::Element *E = clipboard->data_connections.front(); E; E = E->next()) {
- undo_redo->add_do_method(script.ptr(), "data_connect", edited_func, remap[E->get().from_node], E->get().from_port, remap[E->get().to_node], E->get().to_port);
- undo_redo->add_undo_method(script.ptr(), "data_disconnect", edited_func, remap[E->get().from_node], E->get().from_port, remap[E->get().to_node], E->get().to_port);
+ undo_redo->add_do_method(script.ptr(), "data_connect", default_func, remap[E->get().from_node], E->get().from_port, remap[E->get().to_node], E->get().to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_disconnect", default_func, remap[E->get().from_node], E->get().from_port, remap[E->get().to_node], E->get().to_port);
}
undo_redo->add_do_method(this, "_update_graph");
@@ -3304,6 +4183,275 @@ void VisualScriptEditor::_menu_option(int p_what) {
}
}
} break;
+ case EDIT_CREATE_FUNCTION: {
+
+ StringName function = "";
+ Map<int, Ref<VisualScriptNode> > nodes;
+ Set<int> selections;
+ for (int i = 0; i < graph->get_child_count(); i++) {
+ GraphNode *gn = Object::cast_to<GraphNode>(graph->get_child(i));
+ if (gn) {
+ if (gn->is_selected()) {
+ int id = String(gn->get_name()).to_int();
+ StringName func = _get_function_of_node(id);
+ Ref<VisualScriptNode> node = script->get_node(func, id);
+ if (Object::cast_to<VisualScriptFunction>(*node)) {
+ EditorNode::get_singleton()->show_warning(TTR("Can't create function with a function node."));
+ return;
+ }
+ if (node.is_valid()) {
+ if (func != function && function != StringName("")) {
+ EditorNode::get_singleton()->show_warning(TTR("Can't create function of nodes from nodes of multiple functions."));
+ return;
+ }
+ nodes.insert(id, node);
+ selections.insert(id);
+ function = func;
+ }
+ }
+ }
+ }
+
+ if (nodes.size() == 0) {
+ return; // nothing to be done if there are no valid nodes selected
+ }
+
+ Set<VisualScript::SequenceConnection> seqmove;
+ Set<VisualScript::DataConnection> datamove;
+
+ Set<VisualScript::SequenceConnection> seqext;
+ Set<VisualScript::DataConnection> dataext;
+
+ int start_node = -1;
+ Set<int> end_nodes;
+ if (nodes.size() == 1) {
+ Ref<VisualScriptNode> nd = script->get_node(function, nodes.front()->key());
+ if (nd.is_valid() && nd->has_input_sequence_port())
+ start_node = nodes.front()->key();
+ else {
+ EditorNode::get_singleton()->show_warning(TTR("Select atleast one node with sequence port."));
+ return;
+ }
+ } else {
+ List<VisualScript::SequenceConnection> seqs;
+ script->get_sequence_connection_list(function, &seqs);
+
+ if (seqs.size() == 0) {
+ // in case there are no sequence connections
+ // select the top most node cause that's probably how
+ // the user wants to connect the nodes
+ int top_nd = -1;
+ Vector2 top;
+ for (Map<int, Ref<VisualScriptNode> >::Element *E = nodes.front(); E; E = E->next()) {
+ Ref<VisualScriptNode> nd = script->get_node(function, E->key());
+ if (nd.is_valid() && nd->has_input_sequence_port()) {
+ if (top_nd < 0) {
+ top_nd = E->key();
+ top = script->get_node_position(function, top_nd);
+ }
+ Vector2 pos = script->get_node_position(function, E->key());
+ if (top.y > pos.y) {
+ top_nd = E->key();
+ top = pos;
+ }
+ }
+ }
+ Ref<VisualScriptNode> nd = script->get_node(function, top_nd);
+ if (nd.is_valid() && nd->has_input_sequence_port())
+ start_node = top_nd;
+ else {
+ EditorNode::get_singleton()->show_warning(TTR("Select atleast one node with sequence port."));
+ return;
+ }
+ } else {
+ // pick the node with input sequence
+ Set<int> nodes_from;
+ Set<int> nodes_to;
+ for (List<VisualScript::SequenceConnection>::Element *E = seqs.front(); E; E = E->next()) {
+ if (nodes.has(E->get().from_node) && nodes.has(E->get().to_node)) {
+ seqmove.insert(E->get());
+ nodes_from.insert(E->get().from_node);
+ } else if (nodes.has(E->get().from_node) && !nodes.has(E->get().to_node)) {
+ seqext.insert(E->get());
+ } else if (!nodes.has(E->get().from_node) && nodes.has(E->get().to_node)) {
+ if (start_node == -1) {
+ seqext.insert(E->get());
+ start_node = E->get().to_node;
+ } else {
+ EditorNode::get_singleton()->show_warning(TTR("Try to only have one sequence input in selection."));
+ return;
+ }
+ }
+ nodes_to.insert(E->get().to_node);
+ }
+
+ // to use to add return nodes
+ _get_ends(start_node, seqs, selections, end_nodes);
+
+ if (start_node == -1) {
+ // if we still don't have a start node then
+ // run through the nodes and select the first tree node
+ // ie node without any input sequence but output sequence
+ for (Set<int>::Element *E = nodes_from.front(); E; E = E->next()) {
+ if (!nodes_to.has(E->get())) {
+ start_node = E->get();
+ }
+ }
+ }
+ }
+ }
+
+ if (start_node == -1) {
+ return; // this should not happen, but just in case something goes wrong
+ }
+
+ List<Variant::Type> inputs; // input types
+ List<Pair<int, int> > input_connections;
+ {
+ List<VisualScript::DataConnection> dats;
+ script->get_data_connection_list(function, &dats);
+ for (List<VisualScript::DataConnection>::Element *E = dats.front(); E; E = E->next()) {
+ if (nodes.has(E->get().from_node) && nodes.has(E->get().to_node)) {
+ datamove.insert(E->get());
+ } else if (!nodes.has(E->get().from_node) && nodes.has(E->get().to_node)) {
+ // add all these as inputs for the Function
+ Ref<VisualScriptNode> node = script->get_node(function, E->get().to_node);
+ if (node.is_valid()) {
+ dataext.insert(E->get());
+ PropertyInfo pi = node->get_input_value_port_info(E->get().to_port);
+ inputs.push_back(pi.type);
+ input_connections.push_back(Pair<int, int>(E->get().to_node, E->get().to_port));
+ }
+ } else if (nodes.has(E->get().from_node) && !nodes.has(E->get().to_node)) {
+ dataext.insert(E->get());
+ }
+ }
+ }
+
+ String new_fn = _validate_name("new_function");
+
+ Vector2 ofs = _get_available_pos(false, script->get_node_position(function, start_node) - Vector2(80, 150));
+
+ Ref<VisualScriptFunction> func_node;
+ func_node.instance();
+ func_node->set_name(new_fn);
+
+ undo_redo->create_action(TTR("Create Function"));
+
+ undo_redo->add_do_method(script.ptr(), "add_function", new_fn);
+ int fn_id = script->get_available_id();
+ undo_redo->add_do_method(script.ptr(), "add_node", new_fn, fn_id, func_node, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_function", new_fn);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
+ undo_redo->add_do_method(this, "emit_signal", "edited_script_changed");
+ undo_redo->add_undo_method(this, "emit_signal", "edited_script_changed");
+
+ // Move the nodes
+
+ for (Map<int, Ref<VisualScriptNode> >::Element *E = nodes.front(); E; E = E->next()) {
+ undo_redo->add_do_method(script.ptr(), "remove_node", function, E->key());
+ undo_redo->add_do_method(script.ptr(), "add_node", new_fn, E->key(), E->get(), script->get_node_position(function, E->key()));
+
+ // undo_redo->add_undo_method(script.ptr(), "remove_node", new_fn, E->key()); not needed cause we already remove the function :P
+ undo_redo->add_undo_method(script.ptr(), "add_node", function, E->key(), E->get(), script->get_node_position(function, E->key()));
+ }
+
+ for (Set<VisualScript::SequenceConnection>::Element *E = seqmove.front(); E; E = E->next()) {
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", new_fn, E->get().from_node, E->get().from_output, E->get().to_node);
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", function, E->get().from_node, E->get().from_output, E->get().to_node);
+ }
+
+ for (Set<VisualScript::DataConnection>::Element *E = datamove.front(); E; E = E->next()) {
+ undo_redo->add_do_method(script.ptr(), "data_connect", new_fn, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_connect", function, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
+ }
+
+ // Add undo for external connections as well so that it's easier to revert back and forth
+ // these didn't require do methods as it's already handled internally by other do calls
+ for (Set<VisualScript::SequenceConnection>::Element *E = seqext.front(); E; E = E->next()) {
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", function, E->get().from_node, E->get().from_output, E->get().to_node);
+ }
+ for (Set<VisualScript::DataConnection>::Element *E = dataext.front(); E; E = E->next()) {
+ undo_redo->add_undo_method(script.ptr(), "data_connect", function, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
+ }
+
+ // I don't really think we need support for non sequenced functions at this moment
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", new_fn, fn_id, 0, start_node);
+
+ // end nodes are mapped to the return nodes with data connections if possible
+ int m = 1;
+ for (Set<int>::Element *G = end_nodes.front(); G; G = G->next()) {
+ Ref<VisualScriptReturn> ret_node;
+ ret_node.instance();
+
+ int ret_id = fn_id + (m++);
+ selections.insert(ret_id);
+ Vector2 ofsi = _get_available_pos(false, script->get_node_position(function, G->get()) + Vector2(80, -100));
+ undo_redo->add_do_method(script.ptr(), "add_node", new_fn, ret_id, ret_node, ofsi);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", new_fn, ret_id);
+
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", new_fn, G->get(), 0, ret_id);
+ // add data outputs from each of the end_nodes
+ Ref<VisualScriptNode> vsn = script->get_node(function, G->get());
+ if (vsn.is_valid() && vsn->get_output_value_port_count() > 0) {
+ ret_node->set_enable_return_value(true);
+ // use the zeroth data port cause that's the likely one that is planned to be used
+ ret_node->set_return_type(vsn->get_output_value_port_info(0).type);
+ undo_redo->add_do_method(script.ptr(), "data_connect", new_fn, G->get(), 0, ret_id, 0);
+ }
+ }
+
+ // * might make the system more intelligent by checking port from info.
+ int i = 0;
+ List<Pair<int, int> >::Element *F = input_connections.front();
+ for (List<Variant::Type>::Element *E = inputs.front(); E && F; E = E->next(), F = F->next()) {
+ func_node->add_argument(E->get(), "arg_" + String::num_int64(i), i);
+ undo_redo->add_do_method(script.ptr(), "data_connect", new_fn, fn_id, i, F->get().first, F->get().second);
+ i++; // increment i
+ }
+
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
+
+ undo_redo->commit_action();
+
+ // make sure all Nodes get marked for selection so that they can be moved together
+ selections.insert(fn_id);
+ for (int k = 0; k < graph->get_child_count(); k++) {
+ GraphNode *gn = Object::cast_to<GraphNode>(graph->get_child(k));
+ if (gn) {
+ int id = gn->get_name().operator String().to_int();
+ gn->set_selected(selections.has(id));
+ }
+ }
+
+ // Ensure Preview Selection is of newly created function node
+ if (selections.size()) {
+ EditorNode::get_singleton()->push_item(func_node.ptr());
+ }
+
+ } break;
+ case REFRESH_GRAPH: {
+ _update_graph();
+ } break;
+ }
+}
+
+// this is likely going to be very slow and I am not sure if I should keep it
+// but I hope that it will not be a problem considering that we won't be creating functions so frequently
+// and cyclic connections would be a problem but hopefully we won't let them get to this point
+void VisualScriptEditor::_get_ends(int p_node, const List<VisualScript::SequenceConnection> &p_seqs, const Set<int> &p_selected, Set<int> &r_end_nodes) {
+ for (const List<VisualScript::SequenceConnection>::Element *E = p_seqs.front(); E; E = E->next()) {
+ int from = E->get().from_node;
+ int to = E->get().to_node;
+
+ if (from == p_node && p_selected.has(to)) {
+ // this is an interior connection move forward to the to node
+ _get_ends(to, p_seqs, p_selected, r_end_nodes);
+ } else if (from == p_node && !p_selected.has(to)) {
+ r_end_nodes.insert(from);
+ }
}
}
@@ -3316,6 +4464,9 @@ void VisualScriptEditor::_member_rmb_selected(const Vector2 &p_pos) {
member_popup->set_position(members->get_global_position() + p_pos);
member_popup->set_size(Vector2());
+ function_name_edit->set_position(members->get_global_position() + p_pos);
+ function_name_edit->set_size(Vector2());
+
TreeItem *root = members->get_root();
Ref<Texture> del_icon = Control::get_icon("Remove", "EditorIcons");
@@ -3326,6 +4477,8 @@ void VisualScriptEditor::_member_rmb_selected(const Vector2 &p_pos) {
member_type = MEMBER_FUNCTION;
member_name = ti->get_text(0);
+ member_popup->add_icon_shortcut(edit_icon, ED_GET_SHORTCUT("visual_script_editor/edit_member"), MEMBER_EDIT);
+ member_popup->add_separator();
member_popup->add_icon_shortcut(del_icon, ED_GET_SHORTCUT("visual_script_editor/delete_selected"), MEMBER_REMOVE);
member_popup->popup();
return;
@@ -3393,6 +4546,11 @@ void VisualScriptEditor::_member_option(int p_option) {
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
+ } else if (p_option == MEMBER_EDIT) {
+ selected = members->get_selected()->get_text(0);
+ function_name_edit->popup();
+ function_name_box->set_text(selected);
+ function_name_box->select_all();
}
} break;
case MEMBER_VARIABLE: {
@@ -3429,7 +4587,6 @@ void VisualScriptEditor::_member_option(int p_option) {
undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
} else if (p_option == MEMBER_EDIT) {
-
signal_editor->edit(name);
edit_signal_dialog->set_title(TTR("Editing Signal:") + " " + name);
edit_signal_dialog->popup_centered_minsize(Size2(400, 300) * EDSCALE);
@@ -3450,6 +4607,11 @@ void VisualScriptEditor::_bind_methods() {
ClassDB::bind_method("_member_edited", &VisualScriptEditor::_member_edited);
ClassDB::bind_method("_member_selected", &VisualScriptEditor::_member_selected);
ClassDB::bind_method("_update_members", &VisualScriptEditor::_update_members);
+ ClassDB::bind_method("_members_gui_input", &VisualScriptEditor::_members_gui_input);
+ ClassDB::bind_method("_member_rmb_selected", &VisualScriptEditor::_member_rmb_selected);
+ ClassDB::bind_method("_member_option", &VisualScriptEditor::_member_option);
+ ClassDB::bind_method("_fn_name_box_input", &VisualScriptEditor::_fn_name_box_input);
+
ClassDB::bind_method("_change_base_type", &VisualScriptEditor::_change_base_type);
ClassDB::bind_method("_change_base_type_callback", &VisualScriptEditor::_change_base_type_callback);
ClassDB::bind_method("_toggle_tool_script", &VisualScriptEditor::_toggle_tool_script);
@@ -3461,7 +4623,14 @@ void VisualScriptEditor::_bind_methods() {
ClassDB::bind_method("_remove_node", &VisualScriptEditor::_remove_node);
ClassDB::bind_method("_update_graph", &VisualScriptEditor::_update_graph, DEFVAL(-1));
ClassDB::bind_method("_node_ports_changed", &VisualScriptEditor::_node_ports_changed);
- ClassDB::bind_method("_available_node_doubleclicked", &VisualScriptEditor::_available_node_doubleclicked);
+
+ ClassDB::bind_method("_create_function_dialog", &VisualScriptEditor::_create_function_dialog);
+ ClassDB::bind_method("_create_function", &VisualScriptEditor::_create_function);
+ ClassDB::bind_method("_add_node_dialog", &VisualScriptEditor::_add_node_dialog);
+ ClassDB::bind_method("_add_func_input", &VisualScriptEditor::_add_func_input);
+ ClassDB::bind_method("_remove_func_input", &VisualScriptEditor::_remove_func_input);
+ ClassDB::bind_method("_deselect_input_names", &VisualScriptEditor::_deselect_input_names);
+
ClassDB::bind_method("_default_value_edited", &VisualScriptEditor::_default_value_edited);
ClassDB::bind_method("_default_value_changed", &VisualScriptEditor::_default_value_changed);
ClassDB::bind_method("_menu_option", &VisualScriptEditor::_menu_option);
@@ -3474,15 +4643,23 @@ void VisualScriptEditor::_bind_methods() {
ClassDB::bind_method("_selected_new_virtual_method", &VisualScriptEditor::_selected_new_virtual_method);
ClassDB::bind_method("_cancel_connect_node", &VisualScriptEditor::_cancel_connect_node);
- ClassDB::bind_method("_create_new_node", &VisualScriptEditor::_create_new_node);
+ ClassDB::bind_method("_create_new_node_from_name", &VisualScriptEditor::_create_new_node_from_name);
ClassDB::bind_method("_expression_text_changed", &VisualScriptEditor::_expression_text_changed);
+ ClassDB::bind_method("_add_input_port", &VisualScriptEditor::_add_input_port);
+ ClassDB::bind_method("_add_output_port", &VisualScriptEditor::_add_output_port);
+ ClassDB::bind_method("_remove_input_port", &VisualScriptEditor::_remove_input_port);
+ ClassDB::bind_method("_remove_output_port", &VisualScriptEditor::_remove_output_port);
+ ClassDB::bind_method("_change_port_type", &VisualScriptEditor::_change_port_type);
+ ClassDB::bind_method("_update_node_size", &VisualScriptEditor::_update_node_size);
+ ClassDB::bind_method("_port_name_focus_out", &VisualScriptEditor::_port_name_focus_out);
ClassDB::bind_method("get_drag_data_fw", &VisualScriptEditor::get_drag_data_fw);
ClassDB::bind_method("can_drop_data_fw", &VisualScriptEditor::can_drop_data_fw);
ClassDB::bind_method("drop_data_fw", &VisualScriptEditor::drop_data_fw);
ClassDB::bind_method("_input", &VisualScriptEditor::_input);
- ClassDB::bind_method("_members_gui_input", &VisualScriptEditor::_members_gui_input);
+ ClassDB::bind_method("_graph_gui_input", &VisualScriptEditor::_graph_gui_input);
+
ClassDB::bind_method("_on_nodes_delete", &VisualScriptEditor::_on_nodes_delete);
ClassDB::bind_method("_on_nodes_duplicate", &VisualScriptEditor::_on_nodes_duplicate);
@@ -3493,17 +4670,10 @@ void VisualScriptEditor::_bind_methods() {
ClassDB::bind_method("_graph_connect_to_empty", &VisualScriptEditor::_graph_connect_to_empty);
ClassDB::bind_method("_update_graph_connections", &VisualScriptEditor::_update_graph_connections);
- ClassDB::bind_method("_node_filter_changed", &VisualScriptEditor::_node_filter_changed);
ClassDB::bind_method("_selected_method", &VisualScriptEditor::_selected_method);
ClassDB::bind_method("_draw_color_over_button", &VisualScriptEditor::_draw_color_over_button);
- ClassDB::bind_method("_member_rmb_selected", &VisualScriptEditor::_member_rmb_selected);
-
- ClassDB::bind_method("_member_option", &VisualScriptEditor::_member_option);
-
- ClassDB::bind_method("_update_available_nodes", &VisualScriptEditor::_update_available_nodes);
-
ClassDB::bind_method("_generic_search", &VisualScriptEditor::_generic_search);
}
@@ -3513,6 +4683,8 @@ VisualScriptEditor::VisualScriptEditor() {
clipboard = memnew(Clipboard);
}
updating_graph = false;
+ saved_pos_dirty = false;
+ saved_position = Vector2(0, 0);
edit_menu = memnew(MenuButton);
edit_menu->set_text(TTR("Edit"));
@@ -3524,61 +4696,50 @@ VisualScriptEditor::VisualScriptEditor() {
edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/copy_nodes"), EDIT_COPY_NODES);
edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/cut_nodes"), EDIT_CUT_NODES);
edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/paste_nodes"), EDIT_PASTE_NODES);
-
+ edit_menu->get_popup()->add_separator();
+ edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/create_function"), EDIT_CREATE_FUNCTION);
+ edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/refresh_nodes"), REFRESH_GRAPH);
edit_menu->get_popup()->connect("id_pressed", this, "_menu_option");
- left_vsplit = memnew(VSplitContainer);
- ScriptEditor::get_singleton()->get_left_list_split()->call_deferred("add_child", left_vsplit); //add but wait until done settig up this
- left_vsplit->set_v_size_flags(SIZE_EXPAND_FILL);
- left_vsplit->set_stretch_ratio(2);
- left_vsplit->hide();
-
- VBoxContainer *left_vb = memnew(VBoxContainer);
- left_vsplit->add_child(left_vb);
- left_vb->set_v_size_flags(SIZE_EXPAND_FILL);
- //left_vb->set_custom_minimum_size(Size2(230, 1) * EDSCALE);
+ members_section = memnew(VBoxContainer);
+ // Add but wait until done setting up this.
+ ScriptEditor::get_singleton()->get_left_list_split()->call_deferred("add_child", members_section);
+ members_section->set_v_size_flags(SIZE_EXPAND_FILL);
CheckButton *tool_script_check = memnew(CheckButton);
tool_script_check->set_text(TTR("Make Tool:"));
- left_vb->add_child(tool_script_check);
+ members_section->add_child(tool_script_check);
tool_script_check->connect("pressed", this, "_toggle_tool_script");
- base_type_select = memnew(Button);
- left_vb->add_margin_child(TTR("Base Type:"), base_type_select);
- base_type_select->connect("pressed", this, "_change_base_type");
+ /// Members ///
members = memnew(Tree);
- left_vb->add_margin_child(TTR("Members:"), members, true);
+ members_section->add_margin_child(TTR("Members:"), members, true);
+ members->set_custom_minimum_size(Size2(0, 50 * EDSCALE));
members->set_hide_root(true);
members->connect("button_pressed", this, "_member_button");
members->connect("item_edited", this, "_member_edited");
members->connect("cell_selected", this, "_member_selected", varray(), CONNECT_DEFERRED);
members->connect("gui_input", this, "_members_gui_input");
+ members->connect("item_rmb_selected", this, "_member_rmb_selected");
+ members->set_allow_rmb_select(true);
members->set_allow_reselect(true);
members->set_hide_folding(true);
members->set_drag_forwarding(this);
- VBoxContainer *left_vb2 = memnew(VBoxContainer);
- left_vsplit->add_child(left_vb2);
- left_vb2->set_v_size_flags(SIZE_EXPAND_FILL);
-
- VBoxContainer *vbc_nodes = memnew(VBoxContainer);
- HBoxContainer *hbc_nodes = memnew(HBoxContainer);
- node_filter = memnew(LineEdit);
- node_filter->connect("text_changed", this, "_node_filter_changed");
- hbc_nodes->add_child(node_filter);
- node_filter->set_h_size_flags(SIZE_EXPAND_FILL);
- vbc_nodes->add_child(hbc_nodes);
-
- nodes = memnew(Tree);
- vbc_nodes->add_child(nodes);
- nodes->set_v_size_flags(SIZE_EXPAND_FILL);
+ member_popup = memnew(PopupMenu);
+ add_child(member_popup);
+ member_popup->connect("id_pressed", this, "_member_option");
- left_vb2->add_margin_child(TTR("Available Nodes:"), vbc_nodes, true);
+ function_name_edit = memnew(PopupDialog);
+ function_name_box = memnew(LineEdit);
+ function_name_edit->add_child(function_name_box);
+ function_name_edit->set_h_size_flags(SIZE_EXPAND);
+ function_name_box->connect("gui_input", this, "_fn_name_box_input");
+ function_name_box->set_expand_to_text_length(true);
+ add_child(function_name_edit);
- nodes->set_hide_root(true);
- nodes->connect("item_activated", this, "_available_node_doubleclicked");
- nodes->set_drag_forwarding(this);
+ /// Actual Graph ///
graph = memnew(GraphEdit);
add_child(graph);
@@ -3589,10 +4750,77 @@ VisualScriptEditor::VisualScriptEditor() {
graph->connect("_end_node_move", this, "_end_node_move");
graph->connect("delete_nodes_request", this, "_on_nodes_delete");
graph->connect("duplicate_nodes_request", this, "_on_nodes_duplicate");
+ graph->connect("gui_input", this, "_graph_gui_input");
graph->set_drag_forwarding(this);
graph->hide();
graph->connect("scroll_offset_changed", this, "_graph_ofs_changed");
+ /// Add Buttons to Top Bar/Zoom bar.
+ HBoxContainer *graph_hbc = graph->get_zoom_hbox();
+
+ Label *base_lbl = memnew(Label);
+ base_lbl->set_text("Change Base Type: ");
+ graph_hbc->add_child(base_lbl);
+
+ base_type_select = memnew(Button);
+ base_type_select->connect("pressed", this, "_change_base_type");
+ graph_hbc->add_child(base_type_select);
+
+ Button *add_nds = memnew(Button);
+ add_nds->set_text("Add Nodes...");
+ graph_hbc->add_child(add_nds);
+ add_nds->connect("pressed", this, "_add_node_dialog");
+
+ Button *fn_btn = memnew(Button);
+ fn_btn->set_text("Add Function...");
+ graph_hbc->add_child(fn_btn);
+ fn_btn->connect("pressed", this, "_create_function_dialog");
+
+ // Add Function Dialog.
+ VBoxContainer *function_vb = memnew(VBoxContainer);
+ function_vb->set_v_size_flags(SIZE_EXPAND_FILL);
+
+ HBoxContainer *func_name_hbox = memnew(HBoxContainer);
+ function_vb->add_child(func_name_hbox);
+
+ Label *func_name_label = memnew(Label);
+ func_name_label->set_text(TTR("Name:"));
+ func_name_hbox->add_child(func_name_label);
+
+ func_name_box = memnew(LineEdit);
+ func_name_box->set_h_size_flags(SIZE_EXPAND_FILL);
+ func_name_box->set_placeholder(TTR("function_name"));
+ func_name_box->set_text("");
+ func_name_box->connect("focus_entered", this, "_deselect_input_names");
+ func_name_hbox->add_child(func_name_box);
+
+ // Add minor setting for function if needed, here!
+
+ function_vb->add_child(memnew(HSeparator));
+
+ Button *add_input_button = memnew(Button);
+ add_input_button->set_h_size_flags(SIZE_EXPAND_FILL);
+ add_input_button->set_text(TTR("Add Input"));
+ add_input_button->connect("pressed", this, "_add_func_input");
+ function_vb->add_child(add_input_button);
+
+ func_input_scroll = memnew(ScrollContainer);
+ func_input_scroll->set_v_size_flags(SIZE_EXPAND_FILL);
+ function_vb->add_child(func_input_scroll);
+
+ func_input_vbox = memnew(VBoxContainer);
+ func_input_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
+ func_input_scroll->add_child(func_input_vbox);
+
+ function_create_dialog = memnew(ConfirmationDialog);
+ function_create_dialog->set_custom_minimum_size(Size2(450, 300) * EDSCALE);
+ function_create_dialog->set_v_size_flags(SIZE_EXPAND_FILL);
+ function_create_dialog->set_title(TTR("Create Function"));
+ function_create_dialog->add_child(function_vb);
+ function_create_dialog->get_ok()->set_text(TTR("Create"));
+ function_create_dialog->get_ok()->connect("pressed", this, "_create_function");
+ add_child(function_create_dialog);
+
select_func_text = memnew(Label);
select_func_text->set_text(TTR("Select or create a function to edit its graph."));
select_func_text->set_align(Label::ALIGN_CENTER);
@@ -3613,7 +4841,7 @@ VisualScriptEditor::VisualScriptEditor() {
hint_text_timer->connect("timeout", this, "_hide_timer");
add_child(hint_text_timer);
- //allowed casts (connections)
+ // Allowed casts (connections).
for (int i = 0; i < Variant::VARIANT_MAX; i++) {
graph->add_valid_connection_type(Variant::NIL, i);
graph->add_valid_connection_type(i, Variant::NIL);
@@ -3653,7 +4881,7 @@ VisualScriptEditor::VisualScriptEditor() {
edit_variable_edit->edit(variable_editor);
select_base_type = memnew(CreateDialog);
- select_base_type->set_base_type("Object"); //anything goes
+ select_base_type->set_base_type("Object"); // Anything goes.
select_base_type->connect("create", this, "_change_base_type_callback");
add_child(select_base_type);
@@ -3661,8 +4889,8 @@ VisualScriptEditor::VisualScriptEditor() {
updating_members = false;
- set_process_input(true); //for revert on drag
- set_process_unhandled_input(true); //for revert on drag
+ set_process_input(true);
+ set_process_unhandled_input(true);
default_value_edit = memnew(CustomPropertyEditor);
add_child(default_value_edit);
@@ -3675,25 +4903,18 @@ VisualScriptEditor::VisualScriptEditor() {
new_connect_node_select = memnew(VisualScriptPropertySelector);
add_child(new_connect_node_select);
+ new_connect_node_select->set_resizable(true);
new_connect_node_select->connect("selected", this, "_selected_connect_node");
new_connect_node_select->get_cancel()->connect("pressed", this, "_cancel_connect_node");
new_virtual_method_select = memnew(VisualScriptPropertySelector);
add_child(new_virtual_method_select);
new_virtual_method_select->connect("selected", this, "_selected_new_virtual_method");
-
- member_popup = memnew(PopupMenu);
- add_child(member_popup);
- members->connect("item_rmb_selected", this, "_member_rmb_selected");
- members->set_allow_rmb_select(true);
- member_popup->connect("id_pressed", this, "_member_option");
-
- _VisualScriptEditor::get_singleton()->connect("custom_nodes_updated", this, "_update_available_nodes");
}
VisualScriptEditor::~VisualScriptEditor() {
- undo_redo->clear_history(); //avoid crashes
+ undo_redo->clear_history(); // Avoid crashes.
memdelete(signal_editor);
memdelete(variable_editor);
}
@@ -3724,12 +4945,14 @@ static void register_editor_callback() {
ED_SHORTCUT("visual_script_editor/copy_nodes", TTR("Copy Nodes"), KEY_MASK_CMD + KEY_C);
ED_SHORTCUT("visual_script_editor/cut_nodes", TTR("Cut Nodes"), KEY_MASK_CMD + KEY_X);
ED_SHORTCUT("visual_script_editor/paste_nodes", TTR("Paste Nodes"), KEY_MASK_CMD + KEY_V);
+ ED_SHORTCUT("visual_script_editor/create_function", TTR("Make Function"), KEY_MASK_CMD + KEY_G);
+ ED_SHORTCUT("visual_script_editor/refresh_nodes", TTR("Refresh Graph"), KEY_MASK_CMD + KEY_R);
ED_SHORTCUT("visual_script_editor/edit_member", TTR("Edit Member"), KEY_MASK_CMD + KEY_E);
}
void VisualScriptEditor::register_editor() {
- //too early to register stuff here, request a callback
+ // Too early to register stuff here, request a callback.
EditorNode::add_plugin_init_callback(register_editor_callback);
}
diff --git a/modules/visual_script/visual_script_editor.h b/modules/visual_script/visual_script_editor.h
index 5df9b1a004..5a00469eea 100644
--- a/modules/visual_script/visual_script_editor.h
+++ b/modules/visual_script/visual_script_editor.h
@@ -59,6 +59,8 @@ class VisualScriptEditor : public ScriptEditorBase {
EDIT_COPY_NODES,
EDIT_CUT_NODES,
EDIT_PASTE_NODES,
+ EDIT_CREATE_FUNCTION,
+ REFRESH_GRAPH
};
enum PortAction {
@@ -79,17 +81,19 @@ class VisualScriptEditor : public ScriptEditorBase {
MEMBER_SIGNAL
};
- VSplitContainer *left_vsplit;
+ VBoxContainer *members_section;
MenuButton *edit_menu;
Ref<VisualScript> script;
Button *base_type_select;
- GraphEdit *graph;
+ LineEdit *func_name_box;
+ ScrollContainer *func_input_scroll;
+ VBoxContainer *func_input_vbox;
+ ConfirmationDialog *function_create_dialog;
- LineEdit *node_filter;
- TextureRect *node_filter_icon;
+ GraphEdit *graph;
VisualScriptEditorSignalEdit *signal_editor;
@@ -110,7 +114,8 @@ class VisualScriptEditor : public ScriptEditorBase {
UndoRedo *undo_redo;
Tree *members;
- Tree *nodes;
+ PopupDialog *function_name_edit;
+ LineEdit *function_name_box;
Label *hint_text;
Timer *hint_text_timer;
@@ -133,6 +138,7 @@ class VisualScriptEditor : public ScriptEditorBase {
HashMap<StringName, Ref<StyleBox> > node_styles;
StringName edited_func;
+ StringName default_func;
void _update_graph_connections();
void _update_graph(int p_only_id = -1);
@@ -165,9 +171,13 @@ class VisualScriptEditor : public ScriptEditorBase {
int port_action_output;
Vector2 port_action_pos;
int port_action_new_node;
- void _port_action_menu(int p_option);
- void new_node(Ref<VisualScriptNode> vnode, Vector2 ofs);
+ bool saved_pos_dirty;
+ Vector2 saved_position;
+
+ Vector2 mouse_up_position;
+
+ void _port_action_menu(int p_option, const StringName &p_func);
void connect_data(Ref<VisualScriptNode> vnode_old, Ref<VisualScriptNode> vnode, int new_id);
@@ -175,13 +185,13 @@ class VisualScriptEditor : public ScriptEditorBase {
void connect_seq(Ref<VisualScriptNode> vnode_old, Ref<VisualScriptNode> vnode_new, int new_id);
void _cancel_connect_node();
- void _create_new_node(const String &p_text, const String &p_category, const Vector2 &p_point);
+ int _create_new_node_from_name(const String &p_text, const Vector2 &p_point, const StringName &p_func = StringName());
void _selected_new_virtual_method(const String &p_text, const String &p_category, const bool p_connecting);
int error_line;
void _node_selected(Node *p_node);
- void _center_on_node(int p_id);
+ void _center_on_node(const StringName &p_func, int p_id);
void _node_filter_changed(const String &p_text);
void _change_base_type_callback();
@@ -192,7 +202,9 @@ class VisualScriptEditor : public ScriptEditorBase {
void _begin_node_move();
void _end_node_move();
- void _move_node(String func, int p_id, const Vector2 &p_to);
+ void _move_node(const StringName &p_func, int p_id, const Vector2 &p_to);
+
+ void _get_ends(int p_node, const List<VisualScript::SequenceConnection> &p_seqs, const Set<int> &p_selected, Set<int> &r_end_nodes);
void _node_moved(Vector2 p_from, Vector2 p_to, int p_id);
void _remove_node(int p_id);
@@ -201,21 +213,44 @@ class VisualScriptEditor : public ScriptEditorBase {
void _graph_connect_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_pos);
void _node_ports_changed(const String &p_func, int p_id);
- void _available_node_doubleclicked();
+ void _node_create();
void _update_available_nodes();
void _member_button(Object *p_item, int p_column, int p_button);
void _expression_text_changed(const String &p_text, int p_id);
+ void _add_input_port(int p_id);
+ void _add_output_port(int p_id);
+ void _remove_input_port(int p_id, int p_port);
+ void _remove_output_port(int p_id, int p_port);
+ void _change_port_type(int p_select, int p_id, int p_port, bool is_input);
+ void _update_node_size(int p_id);
+ void _port_name_focus_out(const Node *p_name_box, int p_id, int p_port, bool is_input);
- String revert_on_drag;
+ Vector2 _get_available_pos(bool centered = true, Vector2 pos = Vector2()) const;
+ StringName _get_function_of_node(int p_id) const;
- void _input(const Ref<InputEvent> &p_event);
+ void _move_nodes_with_rescan(const StringName &p_func_from, const StringName &p_func_to, int p_id);
+ bool node_has_sequence_connections(const StringName &p_func, int p_id);
- void _generic_search(String p_base_type = "");
+ void _generic_search(String p_base_type = "", Vector2 pos = Vector2(), bool node_centered = false);
+ void _input(const Ref<InputEvent> &p_event);
+ void _graph_gui_input(const Ref<InputEvent> &p_event);
void _members_gui_input(const Ref<InputEvent> &p_event);
+ void _fn_name_box_input(const Ref<InputEvent> &p_event);
+ void _rename_function(const String &p_name, const String &p_new_name);
+
+ void _create_function_dialog();
+ void _create_function();
+ void _add_func_input();
+ void _remove_func_input(Node *p_node);
+ void _deselect_input_names();
+ void _add_node_dialog();
+ void _node_item_selected();
+ void _node_item_unselected();
+
void _on_nodes_delete();
void _on_nodes_duplicate();
@@ -226,6 +261,10 @@ class VisualScriptEditor : public ScriptEditorBase {
int editing_id;
int editing_input;
+ bool can_swap;
+ int data_disconnect_node;
+ int data_disconnect_port;
+
void _default_value_changed();
void _default_value_edited(Node *p_button, int p_id, int p_input_port);
@@ -240,7 +279,7 @@ class VisualScriptEditor : public ScriptEditorBase {
void _draw_color_over_button(Object *obj, Color p_color);
void _button_resource_previewed(const String &p_path, const Ref<Texture> &p_preview, const Ref<Texture> &p_small_preview, Variant p_ud);
- VisualScriptNode::TypeGuess _guess_output_type(int p_port_action_node, int p_port_action_output, Set<int> &visited_nodes);
+ VisualScriptNode::TypeGuess _guess_output_type(int p_port_action_node, int p_port_action_output, Set<int> &p_visited_nodes);
void _member_rmb_selected(const Vector2 &p_pos);
void _member_option(int p_option);
diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp
index c330fa1bc0..7f36549ae4 100644
--- a/modules/visual_script/visual_script_func_nodes.cpp
+++ b/modules/visual_script/visual_script_func_nodes.cpp
@@ -133,10 +133,12 @@ int VisualScriptFunctionCall::get_input_value_port_count() const {
MethodBind *mb = ClassDB::get_method(_get_base_type(), function);
if (mb) {
- return mb->get_argument_count() + (call_mode == CALL_MODE_INSTANCE ? 1 : 0) + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) - use_default_args;
+ int defaulted_args = mb->get_argument_count() < use_default_args ? mb->get_argument_count() : use_default_args;
+ return mb->get_argument_count() + (call_mode == CALL_MODE_INSTANCE ? 1 : 0) + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) - defaulted_args;
}
- return method_cache.arguments.size() + (call_mode == CALL_MODE_INSTANCE ? 1 : 0) + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) - use_default_args;
+ int defaulted_args = method_cache.arguments.size() < use_default_args ? method_cache.arguments.size() : use_default_args;
+ return method_cache.arguments.size() + (call_mode == CALL_MODE_INSTANCE ? 1 : 0) + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) - defaulted_args;
}
}
int VisualScriptFunctionCall::get_output_value_port_count() const {
@@ -1056,13 +1058,6 @@ PropertyInfo VisualScriptPropertySet::get_output_value_port_info(int p_idx) cons
if (call_mode == CALL_MODE_BASIC_TYPE) {
return PropertyInfo(basic_type, "out");
} else if (call_mode == CALL_MODE_INSTANCE) {
- List<PropertyInfo> props;
- ClassDB::get_property_list(_get_base_type(), &props, true);
- for (List<PropertyInfo>::Element *E = props.front(); E; E = E->next()) {
- if (E->get().name == property) {
- return PropertyInfo(E->get().type, "pass", PROPERTY_HINT_TYPE_STRING, E->get().hint_string);
- }
- }
return PropertyInfo(Variant::OBJECT, "pass", PROPERTY_HINT_TYPE_STRING, get_base_type());
} else {
return PropertyInfo();
diff --git a/modules/visual_script/visual_script_nodes.cpp b/modules/visual_script/visual_script_nodes.cpp
index 65820b4c15..957127fe61 100644
--- a/modules/visual_script/visual_script_nodes.cpp
+++ b/modules/visual_script/visual_script_nodes.cpp
@@ -356,6 +356,441 @@ int VisualScriptFunction::get_stack_size() const {
}
//////////////////////////////////////////
+/////////////////LISTS////////////////////
+//////////////////////////////////////////
+
+int VisualScriptLists::get_output_sequence_port_count() const {
+ if (sequenced)
+ return 1;
+ return 0;
+}
+bool VisualScriptLists::has_input_sequence_port() const {
+ return sequenced;
+}
+
+String VisualScriptLists::get_output_sequence_port_text(int p_port) const {
+ return "";
+}
+
+int VisualScriptLists::get_input_value_port_count() const {
+ return inputports.size();
+}
+int VisualScriptLists::get_output_value_port_count() const {
+ return outputports.size();
+}
+
+PropertyInfo VisualScriptLists::get_input_value_port_info(int p_idx) const {
+ ERR_FAIL_INDEX_V(p_idx, inputports.size(), PropertyInfo());
+
+ PropertyInfo pi;
+ pi.name = inputports[p_idx].name;
+ pi.type = inputports[p_idx].type;
+ return pi;
+}
+PropertyInfo VisualScriptLists::get_output_value_port_info(int p_idx) const {
+ ERR_FAIL_INDEX_V(p_idx, outputports.size(), PropertyInfo());
+
+ PropertyInfo pi;
+ pi.name = outputports[p_idx].name;
+ pi.type = outputports[p_idx].type;
+ return pi;
+}
+
+bool VisualScriptLists::is_input_port_editable() const {
+ return ((flags & INPUT_EDITABLE) == INPUT_EDITABLE);
+}
+bool VisualScriptLists::is_input_port_name_editable() const {
+ return ((flags & INPUT_NAME_EDITABLE) == INPUT_NAME_EDITABLE);
+}
+bool VisualScriptLists::is_input_port_type_editable() const {
+ return ((flags & INPUT_TYPE_EDITABLE) == INPUT_TYPE_EDITABLE);
+}
+
+bool VisualScriptLists::is_output_port_editable() const {
+ return ((flags & OUTPUT_EDITABLE) == OUTPUT_EDITABLE);
+}
+bool VisualScriptLists::is_output_port_name_editable() const {
+ return ((flags & INPUT_NAME_EDITABLE) == INPUT_NAME_EDITABLE);
+}
+bool VisualScriptLists::is_output_port_type_editable() const {
+ return ((flags & INPUT_TYPE_EDITABLE) == INPUT_TYPE_EDITABLE);
+}
+
+// for the inspector
+bool VisualScriptLists::_set(const StringName &p_name, const Variant &p_value) {
+
+ if (p_name == "input_count" && is_input_port_editable()) {
+
+ int new_argc = p_value;
+ int argc = inputports.size();
+ if (argc == new_argc)
+ return true;
+
+ inputports.resize(new_argc);
+
+ for (int i = argc; i < new_argc; i++) {
+ inputports.write[i].name = "arg" + itos(i + 1);
+ inputports.write[i].type = Variant::NIL;
+ }
+ ports_changed_notify();
+ _change_notify();
+ return true;
+ }
+ if (String(p_name).begins_with("input_") && is_input_port_editable()) {
+ int idx = String(p_name).get_slicec('_', 1).get_slicec('/', 0).to_int() - 1;
+ ERR_FAIL_INDEX_V(idx, inputports.size(), false);
+ String what = String(p_name).get_slice("/", 1);
+ if (what == "type") {
+
+ Variant::Type new_type = Variant::Type(int(p_value));
+ inputports.write[idx].type = new_type;
+ ports_changed_notify();
+
+ return true;
+ }
+
+ if (what == "name") {
+
+ inputports.write[idx].name = p_value;
+ ports_changed_notify();
+ return true;
+ }
+ }
+
+ if (p_name == "output_count" && is_output_port_editable()) {
+
+ int new_argc = p_value;
+ int argc = outputports.size();
+ if (argc == new_argc)
+ return true;
+
+ outputports.resize(new_argc);
+
+ for (int i = argc; i < new_argc; i++) {
+ outputports.write[i].name = "arg" + itos(i + 1);
+ outputports.write[i].type = Variant::NIL;
+ }
+ ports_changed_notify();
+ _change_notify();
+ return true;
+ }
+ if (String(p_name).begins_with("output_") && is_output_port_editable()) {
+ int idx = String(p_name).get_slicec('_', 1).get_slicec('/', 0).to_int() - 1;
+ ERR_FAIL_INDEX_V(idx, outputports.size(), false);
+ String what = String(p_name).get_slice("/", 1);
+ if (what == "type") {
+
+ Variant::Type new_type = Variant::Type(int(p_value));
+ outputports.write[idx].type = new_type;
+ ports_changed_notify();
+
+ return true;
+ }
+
+ if (what == "name") {
+
+ outputports.write[idx].name = p_value;
+ ports_changed_notify();
+ return true;
+ }
+ }
+
+ if (p_name == "sequenced/sequenced") {
+ sequenced = p_value;
+ ports_changed_notify();
+ return true;
+ }
+
+ return false;
+}
+bool VisualScriptLists::_get(const StringName &p_name, Variant &r_ret) const {
+
+ if (p_name == "input_count" && is_input_port_editable()) {
+ r_ret = inputports.size();
+ return true;
+ }
+ if (String(p_name).begins_with("input_") && is_input_port_editable()) {
+ int idx = String(p_name).get_slicec('_', 1).get_slicec('/', 0).to_int() - 1;
+ ERR_FAIL_INDEX_V(idx, inputports.size(), false);
+ String what = String(p_name).get_slice("/", 1);
+ if (what == "type") {
+ r_ret = inputports[idx].type;
+ return true;
+ }
+ if (what == "name") {
+ r_ret = inputports[idx].name;
+ return true;
+ }
+ }
+
+ if (p_name == "output_count" && is_output_port_editable()) {
+ r_ret = outputports.size();
+ return true;
+ }
+ if (String(p_name).begins_with("output_") && is_output_port_editable()) {
+ int idx = String(p_name).get_slicec('_', 1).get_slicec('/', 0).to_int() - 1;
+ ERR_FAIL_INDEX_V(idx, outputports.size(), false);
+ String what = String(p_name).get_slice("/", 1);
+ if (what == "type") {
+ r_ret = outputports[idx].type;
+ return true;
+ }
+ if (what == "name") {
+ r_ret = outputports[idx].name;
+ return true;
+ }
+ }
+
+ if (p_name == "sequenced/sequenced") {
+ r_ret = sequenced;
+ return true;
+ }
+
+ return false;
+}
+void VisualScriptLists::_get_property_list(List<PropertyInfo> *p_list) const {
+
+ if (is_input_port_editable()) {
+ p_list->push_back(PropertyInfo(Variant::INT, "input_count", PROPERTY_HINT_RANGE, "0,256"));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
+ }
+
+ for (int i = 0; i < inputports.size(); i++) {
+ p_list->push_back(PropertyInfo(Variant::INT, "input_" + itos(i + 1) + "/type", PROPERTY_HINT_ENUM, argt));
+ p_list->push_back(PropertyInfo(Variant::STRING, "input_" + itos(i + 1) + "/name"));
+ }
+ }
+
+ if (is_output_port_editable()) {
+ p_list->push_back(PropertyInfo(Variant::INT, "output_count", PROPERTY_HINT_RANGE, "0,256"));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
+ }
+
+ for (int i = 0; i < outputports.size(); i++) {
+ p_list->push_back(PropertyInfo(Variant::INT, "output_" + itos(i + 1) + "/type", PROPERTY_HINT_ENUM, argt));
+ p_list->push_back(PropertyInfo(Variant::STRING, "output_" + itos(i + 1) + "/name"));
+ }
+ }
+ p_list->push_back(PropertyInfo(Variant::BOOL, "sequenced/sequenced"));
+}
+
+// input data port interaction
+void VisualScriptLists::add_input_data_port(Variant::Type p_type, const String &p_name, int p_index) {
+
+ if (!is_input_port_editable())
+ return;
+
+ Port inp;
+ inp.name = p_name;
+ inp.type = p_type;
+ if (p_index >= 0)
+ inputports.insert(p_index, inp);
+ else
+ inputports.push_back(inp);
+
+ ports_changed_notify();
+ _change_notify();
+}
+void VisualScriptLists::set_input_data_port_type(int p_idx, Variant::Type p_type) {
+
+ if (!is_input_port_type_editable())
+ return;
+
+ ERR_FAIL_INDEX(p_idx, inputports.size());
+
+ inputports.write[p_idx].type = p_type;
+ ports_changed_notify();
+ _change_notify();
+}
+void VisualScriptLists::set_input_data_port_name(int p_idx, const String &p_name) {
+
+ if (!is_input_port_name_editable())
+ return;
+
+ ERR_FAIL_INDEX(p_idx, inputports.size());
+
+ inputports.write[p_idx].name = p_name;
+ ports_changed_notify();
+ _change_notify();
+}
+void VisualScriptLists::remove_input_data_port(int p_argidx) {
+
+ if (!is_input_port_editable())
+ return;
+
+ ERR_FAIL_INDEX(p_argidx, inputports.size());
+
+ inputports.remove(p_argidx);
+
+ ports_changed_notify();
+ _change_notify();
+}
+
+// output data port interaction
+void VisualScriptLists::add_output_data_port(Variant::Type p_type, const String &p_name, int p_index) {
+
+ if (!is_output_port_editable())
+ return;
+
+ Port out;
+ out.name = p_name;
+ out.type = p_type;
+ if (p_index >= 0)
+ outputports.insert(p_index, out);
+ else
+ outputports.push_back(out);
+
+ ports_changed_notify();
+ _change_notify();
+}
+void VisualScriptLists::set_output_data_port_type(int p_idx, Variant::Type p_type) {
+
+ if (!is_output_port_type_editable())
+ return;
+
+ ERR_FAIL_INDEX(p_idx, outputports.size());
+
+ outputports.write[p_idx].type = p_type;
+ ports_changed_notify();
+ _change_notify();
+}
+void VisualScriptLists::set_output_data_port_name(int p_idx, const String &p_name) {
+
+ if (!is_output_port_name_editable())
+ return;
+
+ ERR_FAIL_INDEX(p_idx, outputports.size());
+
+ outputports.write[p_idx].name = p_name;
+ ports_changed_notify();
+ _change_notify();
+}
+void VisualScriptLists::remove_output_data_port(int p_argidx) {
+
+ if (!is_output_port_editable())
+ return;
+
+ ERR_FAIL_INDEX(p_argidx, outputports.size());
+
+ outputports.remove(p_argidx);
+
+ ports_changed_notify();
+ _change_notify();
+}
+
+// sequences
+void VisualScriptLists::set_sequenced(bool p_enable) {
+ if (sequenced == p_enable)
+ return;
+ sequenced = p_enable;
+ ports_changed_notify();
+}
+bool VisualScriptLists::is_sequenced() const {
+ return sequenced;
+}
+
+VisualScriptLists::VisualScriptLists() {
+ // initialize
+ sequenced = false;
+ flags = 0;
+}
+
+void VisualScriptLists::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("add_input_data_port", "type", "name", "index"), &VisualScriptLists::add_input_data_port);
+ ClassDB::bind_method(D_METHOD("set_input_data_port_name", "index", "name"), &VisualScriptLists::set_input_data_port_name);
+ ClassDB::bind_method(D_METHOD("set_input_data_port_type", "index", "type"), &VisualScriptLists::set_input_data_port_type);
+ ClassDB::bind_method(D_METHOD("remove_input_data_port", "index"), &VisualScriptLists::remove_input_data_port);
+
+ ClassDB::bind_method(D_METHOD("add_output_data_port", "type", "name", "index"), &VisualScriptLists::add_output_data_port);
+ ClassDB::bind_method(D_METHOD("set_output_data_port_name", "index", "name"), &VisualScriptLists::set_output_data_port_name);
+ ClassDB::bind_method(D_METHOD("set_output_data_port_type", "index", "type"), &VisualScriptLists::set_output_data_port_type);
+ ClassDB::bind_method(D_METHOD("remove_output_data_port", "index"), &VisualScriptLists::remove_output_data_port);
+}
+
+//////////////////////////////////////////
+//////////////COMPOSEARRAY////////////////
+//////////////////////////////////////////
+
+int VisualScriptComposeArray::get_output_sequence_port_count() const {
+ if (sequenced)
+ return 1;
+ return 0;
+}
+bool VisualScriptComposeArray::has_input_sequence_port() const {
+ return sequenced;
+}
+
+String VisualScriptComposeArray::get_output_sequence_port_text(int p_port) const {
+ return "";
+}
+
+int VisualScriptComposeArray::get_input_value_port_count() const {
+ return inputports.size();
+}
+int VisualScriptComposeArray::get_output_value_port_count() const {
+ return 1;
+}
+
+PropertyInfo VisualScriptComposeArray::get_input_value_port_info(int p_idx) const {
+ ERR_FAIL_INDEX_V(p_idx, inputports.size(), PropertyInfo());
+
+ PropertyInfo pi;
+ pi.name = inputports[p_idx].name;
+ pi.type = inputports[p_idx].type;
+ return pi;
+}
+PropertyInfo VisualScriptComposeArray::get_output_value_port_info(int p_idx) const {
+ PropertyInfo pi;
+ pi.name = "out";
+ pi.type = Variant::ARRAY;
+ return pi;
+}
+
+String VisualScriptComposeArray::get_caption() const {
+ return "Compose Array";
+}
+String VisualScriptComposeArray::get_text() const {
+ return "";
+}
+
+class VisualScriptComposeArrayNode : public VisualScriptNodeInstance {
+public:
+ int input_count = 0;
+ virtual int get_working_memory_size() const { return 0; }
+
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
+
+ if (input_count > 0) {
+ Array arr;
+ for (int i = 0; i < input_count; i++)
+ arr.push_back((*p_inputs[i]));
+ Variant va = Variant(arr);
+
+ *p_outputs[0] = va;
+ }
+
+ return 0;
+ }
+};
+
+VisualScriptNodeInstance *VisualScriptComposeArray::instance(VisualScriptInstance *p_instance) {
+
+ VisualScriptComposeArrayNode *instance = memnew(VisualScriptComposeArrayNode);
+ instance->input_count = inputports.size();
+ return instance;
+}
+
+VisualScriptComposeArray::VisualScriptComposeArray() {
+ // initialize stuff here
+ sequenced = false;
+ flags = INPUT_EDITABLE;
+}
+
+//////////////////////////////////////////
////////////////OPERATOR//////////////////
//////////////////////////////////////////
@@ -3640,6 +4075,14 @@ VisualScriptDeconstruct::VisualScriptDeconstruct() {
type = Variant::NIL;
}
+template <Variant::Type T>
+static Ref<VisualScriptNode> create_node_deconst_typed(const String &p_name) {
+ Ref<VisualScriptDeconstruct> node;
+ node.instance();
+ node->set_deconstruct_type(T);
+ return node;
+}
+
void register_visual_script_nodes() {
VisualScriptLanguage::singleton->add_register_func("data/set_variable", create_node_generic<VisualScriptVariableSet>);
@@ -3697,7 +4140,17 @@ void register_visual_script_nodes() {
VisualScriptLanguage::singleton->add_register_func("operators/logic/in", create_op_node<Variant::OP_IN>);
VisualScriptLanguage::singleton->add_register_func("operators/logic/select", create_node_generic<VisualScriptSelect>);
- VisualScriptLanguage::singleton->add_register_func("functions/deconstruct", create_node_generic<VisualScriptDeconstruct>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::VECTOR2), create_node_deconst_typed<Variant::Type::VECTOR2>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::VECTOR3), create_node_deconst_typed<Variant::Type::VECTOR3>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::COLOR), create_node_deconst_typed<Variant::Type::COLOR>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::RECT2), create_node_deconst_typed<Variant::Type::RECT2>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::TRANSFORM2D), create_node_deconst_typed<Variant::Type::TRANSFORM2D>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::PLANE), create_node_deconst_typed<Variant::Type::PLANE>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::QUAT), create_node_deconst_typed<Variant::Type::QUAT>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::AABB), create_node_deconst_typed<Variant::Type::AABB>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::BASIS), create_node_deconst_typed<Variant::Type::BASIS>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct/" + Variant::get_type_name(Variant::Type::TRANSFORM), create_node_deconst_typed<Variant::Type::TRANSFORM>);
+ VisualScriptLanguage::singleton->add_register_func("functions/compose_array", create_node_generic<VisualScriptComposeArray>);
for (int i = 1; i < Variant::VARIANT_MAX; i++) {
diff --git a/modules/visual_script/visual_script_nodes.h b/modules/visual_script/visual_script_nodes.h
index 762a1bdfb6..c7354cb0d8 100644
--- a/modules/visual_script/visual_script_nodes.h
+++ b/modules/visual_script/visual_script_nodes.h
@@ -103,6 +103,103 @@ public:
VisualScriptFunction();
};
+class VisualScriptLists : public VisualScriptNode {
+
+ GDCLASS(VisualScriptLists, VisualScriptNode)
+
+ struct Port {
+ String name;
+ Variant::Type type;
+ };
+
+protected:
+ Vector<Port> inputports;
+ Vector<Port> outputports;
+
+ enum {
+ OUTPUT_EDITABLE = 0x0001,
+ OUTPUT_NAME_EDITABLE = 0x0002,
+ OUTPUT_TYPE_EDITABLE = 0x0004,
+ INPUT_EDITABLE = 0x0008,
+ INPUT_NAME_EDITABLE = 0x000F,
+ INPUT_TYPE_EDITABLE = 0x0010,
+ };
+
+ int flags;
+
+ bool sequenced;
+
+ 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;
+
+ static void _bind_methods();
+
+public:
+ virtual bool is_output_port_editable() const;
+ virtual bool is_output_port_name_editable() const;
+ virtual bool is_output_port_type_editable() const;
+
+ virtual bool is_input_port_editable() const;
+ virtual bool is_input_port_name_editable() const;
+ virtual bool is_input_port_type_editable() const;
+
+ virtual int get_output_sequence_port_count() const;
+ virtual bool has_input_sequence_port() const;
+
+ virtual String get_output_sequence_port_text(int p_port) const;
+
+ virtual int get_input_value_port_count() const;
+ virtual int get_output_value_port_count() const;
+
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+
+ virtual String get_caption() const = 0;
+ virtual String get_text() const = 0;
+ virtual String get_category() const = 0;
+
+ void add_input_data_port(Variant::Type p_type, const String &p_name, int p_index = -1);
+ void set_input_data_port_type(int p_idx, Variant::Type p_type);
+ void set_input_data_port_name(int p_idx, const String &p_name);
+ void remove_input_data_port(int p_argidx);
+
+ void add_output_data_port(Variant::Type p_type, const String &p_name, int p_index = -1);
+ void set_output_data_port_type(int p_idx, Variant::Type p_type);
+ void set_output_data_port_name(int p_idx, const String &p_name);
+ void remove_output_data_port(int p_argidx);
+
+ void set_sequenced(bool p_enable);
+ bool is_sequenced() const;
+
+ VisualScriptLists();
+};
+
+class VisualScriptComposeArray : public VisualScriptLists {
+
+ GDCLASS(VisualScriptComposeArray, VisualScriptLists)
+
+public:
+ virtual int get_output_sequence_port_count() const;
+ virtual bool has_input_sequence_port() const;
+
+ virtual String get_output_sequence_port_text(int p_port) const;
+
+ virtual int get_input_value_port_count() const;
+ virtual int get_output_value_port_count() const;
+
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+
+ virtual String get_caption() const;
+ virtual String get_text() const;
+ virtual String get_category() const { return "functions"; }
+
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+
+ VisualScriptComposeArray();
+};
+
class VisualScriptOperator : public VisualScriptNode {
GDCLASS(VisualScriptOperator, VisualScriptNode);
diff --git a/modules/visual_script/visual_script_property_selector.cpp b/modules/visual_script/visual_script_property_selector.cpp
index 764807cffd..42d4c5e209 100644
--- a/modules/visual_script/visual_script_property_selector.cpp
+++ b/modules/visual_script/visual_script_property_selector.cpp
@@ -200,13 +200,10 @@ void VisualScriptPropertySelector::_update_search() {
Object *obj = ObjectDB::get_instance(script);
if (Object::cast_to<Script>(obj)) {
- methods.push_back(MethodInfo("*Script Methods"));
Object::cast_to<Script>(obj)->get_script_method_list(&methods);
-
- } else {
- methods.push_back(MethodInfo("*" + String(E->get())));
- ClassDB::get_method_list(E->get(), &methods, true, true);
}
+
+ ClassDB::get_method_list(E->get(), &methods, true, true);
}
}
for (List<MethodInfo>::Element *M = methods.front(); M; M = M->next()) {
@@ -274,6 +271,7 @@ void VisualScriptPropertySelector::_update_search() {
get_visual_node_names("flow_control/type_cast", Set<String>(), found, root, search_box);
get_visual_node_names("functions/built_in/print", Set<String>(), found, root, search_box);
get_visual_node_names("functions/by_type/" + Variant::get_type_name(type), Set<String>(), found, root, search_box);
+ get_visual_node_names("functions/deconstruct/" + Variant::get_type_name(type), Set<String>(), found, root, search_box);
get_visual_node_names("operators/compare/", Set<String>(), found, root, search_box);
if (type == Variant::INT) {
get_visual_node_names("operators/bitwise/", Set<String>(), found, root, search_box);
@@ -327,7 +325,7 @@ void VisualScriptPropertySelector::create_visualscript_item(const String &name,
}
}
-void VisualScriptPropertySelector::get_visual_node_names(const String &root_filter, const Set<String> &filter, bool &found, TreeItem *const root, LineEdit *const search_box) {
+void VisualScriptPropertySelector::get_visual_node_names(const String &root_filter, const Set<String> &p_modifiers, bool &found, TreeItem *const root, LineEdit *const search_box) {
Map<String, TreeItem *> path_cache;
List<String> fnodes;
@@ -338,37 +336,59 @@ void VisualScriptPropertySelector::get_visual_node_names(const String &root_filt
continue;
}
Vector<String> path = E->get().split("/");
- bool is_filter = false;
- for (Set<String>::Element *F = filter.front(); F; F = F->next()) {
- if (path.size() >= 2 && path[1].findn(F->get()) != -1) {
- is_filter = true;
+
+ // check if the name has the filter
+ bool in_filter = false;
+ Vector<String> tx_filters = search_box->get_text().split(" ");
+ for (int i = 0; i < tx_filters.size(); i++) {
+ if (tx_filters[i] == "") {
+ in_filter = true;
+ } else {
+ in_filter = false;
+ }
+ if (E->get().findn(tx_filters[i]) != -1) {
+ in_filter = true;
break;
}
}
- if (is_filter) {
+ if (!in_filter) {
continue;
}
- if (search_box->get_text() != String() && E->get().findn(search_box->get_text()) == -1) {
+ bool in_modifier = false | p_modifiers.empty();
+ for (Set<String>::Element *F = p_modifiers.front(); F && in_modifier; F = F->next()) {
+ if (E->get().findn(F->get()) != -1)
+ in_modifier = true;
+ }
+ if (!in_modifier) {
continue;
}
+
TreeItem *item = search_options->create_item(root);
- VisualScriptOperator *vnode_operator = Object::cast_to<VisualScriptOperator>(*VisualScriptLanguage::singleton->create_node_from_name(E->get()));
+ Ref<VisualScriptNode> vnode = VisualScriptLanguage::singleton->create_node_from_name(E->get());
+ Ref<VisualScriptOperator> vnode_operator = vnode;
String type_name;
- if (vnode_operator != NULL) {
+ if (vnode_operator.is_valid()) {
String type;
if (path.size() >= 2) {
type = path[1];
}
type_name = type.capitalize() + " ";
}
- VisualScriptFunctionCall *vnode_function_call = Object::cast_to<VisualScriptFunctionCall>(*VisualScriptLanguage::singleton->create_node_from_name(E->get()));
- if (vnode_function_call != NULL) {
+ Ref<VisualScriptFunctionCall> vnode_function_call = vnode;
+ if (vnode_function_call.is_valid()) {
String basic_type = Variant::get_type_name(vnode_function_call->get_basic_type());
type_name = basic_type.capitalize() + " ";
}
-
- Vector<String> desc = path[path.size() - 1].replace("(", "( ").replace(")", " )").replace(",", ", ").split(" ");
+ Ref<VisualScriptConstructor> vnode_constructor = vnode;
+ if (vnode_constructor.is_valid()) {
+ type_name = "Construct ";
+ }
+ Ref<VisualScriptDeconstruct> vnode_deconstruct = vnode;
+ if (vnode_deconstruct.is_valid()) {
+ type_name = "Deconstruct ";
+ }
+ Vector<String> desc = path[path.size() - 1].replace("(", " ").replace(")", " ").replace(",", " ").split(" ");
for (int i = 0; i < desc.size(); i++) {
desc.write[i] = desc[i].capitalize();
if (desc[i].ends_with(",")) {
@@ -504,7 +524,7 @@ void VisualScriptPropertySelector::_notification(int p_what) {
}
}
-void VisualScriptPropertySelector::select_method_from_base_type(const String &p_base, const String &p_current, const bool p_virtuals_only, const bool p_connecting) {
+void VisualScriptPropertySelector::select_method_from_base_type(const String &p_base, const String &p_current, const bool p_virtuals_only, const bool p_connecting, bool clear_text) {
base_type = p_base;
selected = p_current;
@@ -515,7 +535,10 @@ void VisualScriptPropertySelector::select_method_from_base_type(const String &p_
virtuals_only = p_virtuals_only;
show_window(.5f);
- search_box->set_text("");
+ if (clear_text)
+ search_box->set_text("");
+ else
+ search_box->select_all();
search_box->grab_focus();
connecting = p_connecting;
@@ -526,7 +549,7 @@ void VisualScriptPropertySelector::set_type_filter(const Vector<Variant::Type> &
type_filter = p_type_filter;
}
-void VisualScriptPropertySelector::select_from_base_type(const String &p_base, const String &p_current, bool p_virtuals_only, bool p_seq_connect, const bool p_connecting) {
+void VisualScriptPropertySelector::select_from_base_type(const String &p_base, const String &p_current, bool p_virtuals_only, bool p_seq_connect, const bool p_connecting, bool clear_text) {
base_type = p_base;
selected = p_current;
@@ -538,7 +561,10 @@ void VisualScriptPropertySelector::select_from_base_type(const String &p_base, c
virtuals_only = p_virtuals_only;
show_window(.5f);
- search_box->set_text("");
+ if (clear_text)
+ search_box->set_text("");
+ else
+ search_box->select_all();
search_box->grab_focus();
seq_connect = p_seq_connect;
connecting = p_connecting;
@@ -546,7 +572,7 @@ void VisualScriptPropertySelector::select_from_base_type(const String &p_base, c
_update_search();
}
-void VisualScriptPropertySelector::select_from_script(const Ref<Script> &p_script, const String &p_current, const bool p_connecting) {
+void VisualScriptPropertySelector::select_from_script(const Ref<Script> &p_script, const String &p_current, const bool p_connecting, bool clear_text) {
ERR_FAIL_COND(p_script.is_null());
base_type = p_script->get_instance_base_type();
@@ -559,7 +585,10 @@ void VisualScriptPropertySelector::select_from_script(const Ref<Script> &p_scrip
virtuals_only = false;
show_window(.5f);
- search_box->set_text("");
+ if (clear_text)
+ search_box->set_text("");
+ else
+ search_box->select_all();
search_box->grab_focus();
seq_connect = false;
connecting = p_connecting;
@@ -567,7 +596,7 @@ void VisualScriptPropertySelector::select_from_script(const Ref<Script> &p_scrip
_update_search();
}
-void VisualScriptPropertySelector::select_from_basic_type(Variant::Type p_type, const String &p_current, const bool p_connecting) {
+void VisualScriptPropertySelector::select_from_basic_type(Variant::Type p_type, const String &p_current, const bool p_connecting, bool clear_text) {
ERR_FAIL_COND(p_type == Variant::NIL);
base_type = "";
selected = p_current;
@@ -579,7 +608,10 @@ void VisualScriptPropertySelector::select_from_basic_type(Variant::Type p_type,
virtuals_only = false;
show_window(.5f);
- search_box->set_text("");
+ if (clear_text)
+ search_box->set_text("");
+ else
+ search_box->select_all();
search_box->grab_focus();
seq_connect = false;
connecting = p_connecting;
@@ -587,7 +619,7 @@ void VisualScriptPropertySelector::select_from_basic_type(Variant::Type p_type,
_update_search();
}
-void VisualScriptPropertySelector::select_from_action(const String &p_type, const String &p_current, const bool p_connecting) {
+void VisualScriptPropertySelector::select_from_action(const String &p_type, const String &p_current, const bool p_connecting, bool clear_text) {
base_type = p_type;
selected = p_current;
type = Variant::NIL;
@@ -598,7 +630,10 @@ void VisualScriptPropertySelector::select_from_action(const String &p_type, cons
virtuals_only = false;
show_window(.5f);
- search_box->set_text("");
+ if (clear_text)
+ search_box->set_text("");
+ else
+ search_box->select_all();
search_box->grab_focus();
seq_connect = true;
connecting = p_connecting;
@@ -606,8 +641,8 @@ void VisualScriptPropertySelector::select_from_action(const String &p_type, cons
_update_search();
}
-void VisualScriptPropertySelector::select_from_instance(Object *p_instance, const String &p_current, const bool p_connecting) {
- base_type = "";
+void VisualScriptPropertySelector::select_from_instance(Object *p_instance, const String &p_current, const bool p_connecting, const String &p_basetype, bool clear_text) {
+ base_type = p_basetype;
selected = p_current;
type = Variant::NIL;
script = 0;
@@ -617,7 +652,10 @@ void VisualScriptPropertySelector::select_from_instance(Object *p_instance, cons
virtuals_only = false;
show_window(.5f);
- search_box->set_text("");
+ if (clear_text)
+ search_box->set_text("");
+ else
+ search_box->select_all();
search_box->grab_focus();
seq_connect = false;
connecting = p_connecting;
@@ -625,7 +663,7 @@ void VisualScriptPropertySelector::select_from_instance(Object *p_instance, cons
_update_search();
}
-void VisualScriptPropertySelector::select_from_visual_script(const String &p_base, const bool p_connecting) {
+void VisualScriptPropertySelector::select_from_visual_script(const String &p_base, const bool p_connecting, bool clear_text) {
base_type = p_base;
selected = "";
type = Variant::NIL;
@@ -635,7 +673,10 @@ void VisualScriptPropertySelector::select_from_visual_script(const String &p_bas
instance = NULL;
virtuals_only = false;
show_window(.5f);
- search_box->set_text("");
+ if (clear_text)
+ search_box->set_text("");
+ else
+ search_box->select_all();
search_box->grab_focus();
connecting = p_connecting;
@@ -646,7 +687,7 @@ void VisualScriptPropertySelector::show_window(float p_screen_ratio) {
Rect2 rect;
Point2 window_size = get_viewport_rect().size;
rect.size = (window_size * p_screen_ratio).floor();
- rect.size.x = rect.size.x / 1.25f;
+ rect.size.x = rect.size.x / 2.2f;
rect.position = ((window_size - rect.size) / 2.0f).floor();
popup(rect);
}
diff --git a/modules/visual_script/visual_script_property_selector.h b/modules/visual_script/visual_script_property_selector.h
index 6235e4ba1d..13ce9bdca2 100644
--- a/modules/visual_script/visual_script_property_selector.h
+++ b/modules/visual_script/visual_script_property_selector.h
@@ -74,13 +74,13 @@ protected:
static void _bind_methods();
public:
- void select_method_from_base_type(const String &p_base, const String &p_current = "", const bool p_virtuals_only = false, const bool p_connecting = true);
- void select_from_base_type(const String &p_base, const String &p_current = "", bool p_virtuals_only = false, bool p_seq_connect = false, const bool p_connecting = true);
- void select_from_script(const Ref<Script> &p_script, const String &p_current = "", const bool p_connecting = true);
- void select_from_basic_type(Variant::Type p_type, const String &p_current = "", const bool p_connecting = true);
- void select_from_action(const String &p_type, const String &p_current = "", const bool p_connecting = true);
- void select_from_instance(Object *p_instance, const String &p_current = "", const bool p_connecting = true);
- void select_from_visual_script(const String &p_base, const bool p_connecting = true);
+ void select_method_from_base_type(const String &p_base, const String &p_current = "", const bool p_virtuals_only = false, const bool p_connecting = true, bool clear_text = true);
+ void select_from_base_type(const String &p_base, const String &p_current = "", bool p_virtuals_only = false, bool p_seq_connect = false, const bool p_connecting = true, bool clear_text = true);
+ void select_from_script(const Ref<Script> &p_script, const String &p_current = "", const bool p_connecting = true, bool clear_text = true);
+ void select_from_basic_type(Variant::Type p_type, const String &p_current = "", const bool p_connecting = true, bool clear_text = true);
+ void select_from_action(const String &p_type, const String &p_current = "", const bool p_connecting = true, bool clear_text = true);
+ void select_from_instance(Object *p_instance, const String &p_current = "", const bool p_connecting = true, const String &p_basetype = "", bool clear_text = true);
+ void select_from_visual_script(const String &p_base, const bool p_connecting = true, bool clear_text = true);
void show_window(float p_screen_ratio);
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp
index 94dffd8a84..b61575e2aa 100644
--- a/platform/android/export/export.cpp
+++ b/platform/android/export/export.cpp
@@ -1290,7 +1290,7 @@ public:
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "graphics/xr_mode", PROPERTY_HINT_ENUM, "Regular,Oculus Mobile VR"), 0));
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "graphics/degrees_of_freedom", PROPERTY_HINT_ENUM, "None,3DOF and 6DOF,6DOF"), 0));
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::BOOL, "one_click_deploy/clear_previous_install"), false));
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::BOOL, "custom_package/use_custom_build"), false));
@@ -1875,7 +1875,7 @@ public:
new_file += "<!--CHUNK_" + text + "_BEGIN-->\n";
if (!found) {
- ERR_PRINTS("No end marker found in AndroidManifest.conf for chunk: " + text);
+ ERR_PRINTS("No end marker found in AndroidManifest.xml for chunk: " + text);
f->seek(pos);
} else {
//add chunk lines
@@ -1894,7 +1894,7 @@ public:
String last_tag = "android:icon=\"@drawable/icon\"";
int last_tag_pos = l.find(last_tag);
if (last_tag_pos == -1) {
- WARN_PRINTS("No adding of application tags because could not find last tag for <application: " + last_tag);
+ ERR_PRINTS("Not adding application attributes as the expected tag was not found in '<application': " + last_tag);
new_file += l + "\n";
} else {
String base = l.substr(0, last_tag_pos + last_tag.length());
@@ -1980,9 +1980,9 @@ public:
return ERR_CANT_CREATE;
}
if (p_debug) {
- src_apk = build_path.plus_file("build/outputs/apk/debug/build-debug-unsigned.apk");
+ src_apk = build_path.plus_file("build/outputs/apk/debug/android_debug.apk");
} else {
- src_apk = build_path.plus_file("build/outputs/apk/release/build-release-unsigned.apk");
+ src_apk = build_path.plus_file("build/outputs/apk/release/android_release.apk");
}
if (!FileAccess::exists(src_apk)) {
diff --git a/platform/android/java/app/AndroidManifest.xml b/platform/android/java/app/AndroidManifest.xml
index d5f4ba18d6..ba01ec313b 100644
--- a/platform/android/java/app/AndroidManifest.xml
+++ b/platform/android/java/app/AndroidManifest.xml
@@ -26,11 +26,8 @@
<!-- Any tag in this line after android:icon will be erased when doing custom builds. -->
<!-- If you want to add tags manually, do before it. -->
- <application
- android:label="@string/godot_project_name_string"
- android:allowBackup="false"
- tools:ignore="GoogleAppIndexingWarning"
- android:icon="@drawable/icon" >
+ <!-- WARNING: This should stay on a single line until the parsing code is improved. See GH-32414. -->
+ <application android:label="@string/godot_project_name_string" android:allowBackup="false" tools:ignore="GoogleAppIndexingWarning" android:icon="@drawable/icon" >
<!-- The following metadata values are replaced when Godot exports, modifying them here has no effect. -->
<!-- Do these changes in the export preset. Adding new ones is fine. -->
diff --git a/platform/javascript/engine.js b/platform/javascript/engine.js
index 860d6707ff..1f78aa672d 100644
--- a/platform/javascript/engine.js
+++ b/platform/javascript/engine.js
@@ -94,6 +94,7 @@
return new Promise(function(resolve, reject) {
rtenvProps.onRuntimeInitialized = resolve;
rtenvProps.onAbort = reject;
+ rtenvProps.thisProgram = executableName;
rtenvProps.engine.rtenv = Engine.RuntimeEnvironment(rtenvProps, LIBS);
});
}
@@ -130,13 +131,11 @@
);
};
- this.startGame = function(mainPack) {
+ this.startGame = function(execName, mainPack) {
+
+ executableName = execName;
+ var mainArgs = [ '--main-pack', mainPack ];
- executableName = getBaseName(mainPack);
- var mainArgs = [];
- if (!getPathLeaf(mainPack).endsWith('.pck')) {
- mainArgs = ['--main-pack', getPathLeaf(mainPack)];
- }
return Promise.all([
// Load from directory,
this.init(getBasePath(mainPack)),
@@ -187,8 +186,6 @@
this.rtenv.locale = this.rtenv.locale.split('.')[0];
this.rtenv.resizeCanvasOnStart = resizeCanvasOnStart;
- this.rtenv.thisProgram = executableName || getBaseName(basePath);
-
preloadedFiles.forEach(function(file) {
var dir = LIBS.PATH.dirname(file.path);
try {
diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp
index 0179bf813d..b0661cb4dd 100644
--- a/platform/javascript/os_javascript.cpp
+++ b/platform/javascript/os_javascript.cpp
@@ -574,6 +574,8 @@ void OS_JavaScript::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_s
}, cursors[p_shape].utf8().get_data());
/* clang-format on */
cursors[p_shape] = "";
+
+ cursors_cache.erase(p_shape);
}
set_cursor_shape(cursor_shape);
diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp
index 94090bcdc1..c8ecbd5a2d 100644
--- a/platform/osx/export/export.cpp
+++ b/platform/osx/export/export.cpp
@@ -133,7 +133,9 @@ void EditorExportPlatformOSX::get_export_options(List<ExportOption> *r_options)
#ifdef OSX_ENABLED
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "codesign/identity"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "codesign/entitlements"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "codesign/timestamp"), true));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "codesign/hardened_runtime"), true));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "codesign/entitlements", PROPERTY_HINT_GLOBAL_FILE, "*.plist"), ""));
#endif
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/s3tc"), true));
@@ -360,9 +362,17 @@ void EditorExportPlatformOSX::_fix_plist(const Ref<EditorExportPreset> &p_preset
Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_preset, const String &p_path) {
List<String> args;
+ if (p_preset->get("codesign/timestamp")) {
+ args.push_back("--timestamp");
+ }
+ if (p_preset->get("codesign/hardened_runtime")) {
+ args.push_back("--options");
+ args.push_back("runtime");
+ }
+
if (p_preset->get("codesign/entitlements") != "") {
/* this should point to our entitlements.plist file that sandboxes our application, I don't know if this should also be placed in our app bundle */
- args.push_back("-entitlements");
+ args.push_back("--entitlements");
args.push_back(p_preset->get("codesign/entitlements"));
}
args.push_back("-s");
@@ -379,6 +389,10 @@ Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_prese
EditorNode::add_io_error("codesign: no identity found");
return FAILED;
}
+ if ((str.find("unrecognized blob type") != -1) || (str.find("cannot read entitlement data") != -1)) {
+ EditorNode::add_io_error("codesign: invalid entitlements file");
+ return FAILED;
+ }
return OK;
}
@@ -386,7 +400,9 @@ Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_prese
Error EditorExportPlatformOSX::_create_dmg(const String &p_dmg_path, const String &p_pkg_name, const String &p_app_path_name) {
List<String> args;
- OS::get_singleton()->move_to_trash(p_dmg_path);
+ if (FileAccess::exists(p_dmg_path)) {
+ OS::get_singleton()->move_to_trash(p_dmg_path);
+ }
args.push_back("create");
args.push_back(p_dmg_path);
@@ -673,19 +689,6 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p
///@TODO we should check the contents of /Contents/Frameworks for frameworks to sign
}
- if (err == OK && identity != "") {
- // we should probably loop through all resources and sign them?
- err = _code_sign(p_preset, tmp_app_path_name + "/Contents/Resources/icon.icns");
- }
-
- if (err == OK && identity != "") {
- err = _code_sign(p_preset, pack_path);
- }
-
- if (err == OK && identity != "") {
- err = _code_sign(p_preset, tmp_app_path_name + "/Contents/Info.plist");
- }
-
// and finally create a DMG
if (err == OK) {
if (ep.step("Making DMG", 3)) {
diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm
index f48d4a307d..d30cb1c092 100644
--- a/platform/osx/os_osx.mm
+++ b/platform/osx/os_osx.mm
@@ -1973,11 +1973,16 @@ void OS_OSX::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
[nsimage release];
} else {
// Reset to default system cursor
- cursors[p_shape] = NULL;
+ if (cursors[p_shape] != NULL) {
+ [cursors[p_shape] release];
+ cursors[p_shape] = NULL;
+ }
CursorShape c = cursor_shape;
cursor_shape = CURSOR_MAX;
set_cursor_shape(c);
+
+ cursors_cache.erase(p_shape);
}
}
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp
index facf5b8d91..81b8d08b3d 100644
--- a/platform/windows/os_windows.cpp
+++ b/platform/windows/os_windows.cpp
@@ -2485,11 +2485,16 @@ void OS_Windows::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shap
DeleteObject(bitmap);
} else {
// Reset to default system cursor
- cursors[p_shape] = NULL;
+ if (cursors[p_shape]) {
+ DestroyIcon(cursors[p_shape]);
+ cursors[p_shape] = NULL;
+ }
CursorShape c = cursor_shape;
cursor_shape = CURSOR_MAX;
set_cursor_shape(c);
+
+ cursors_cache.erase(p_shape);
}
}
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp
index 687981f32b..39160ee720 100644
--- a/platform/x11/os_x11.cpp
+++ b/platform/x11/os_x11.cpp
@@ -2996,6 +2996,8 @@ void OS_X11::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
CursorShape c = current_cursor;
current_cursor = CURSOR_MAX;
set_cursor_shape(c);
+
+ cursors_cache.erase(p_shape);
}
}
diff --git a/scene/2d/node_2d.cpp b/scene/2d/node_2d.cpp
index f4430d93f6..336c8aa78e 100644
--- a/scene/2d/node_2d.cpp
+++ b/scene/2d/node_2d.cpp
@@ -437,7 +437,7 @@ void Node2D::_bind_methods() {
ADD_GROUP("Transform", "");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position"), "set_position", "get_position");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "rotation", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_rotation", "get_rotation");
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "rotation_degrees", PROPERTY_HINT_RANGE, "-1080,1080,0.1,or_lesser,or_greater", PROPERTY_USAGE_EDITOR), "set_rotation_degrees", "get_rotation_degrees");
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "rotation_degrees", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater", PROPERTY_USAGE_EDITOR), "set_rotation_degrees", "get_rotation_degrees");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale"), "set_scale", "get_scale");
ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "transform", PROPERTY_HINT_NONE, "", 0), "set_transform", "get_transform");
diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp
index 32a0b732c0..5e14959e9d 100644
--- a/scene/2d/polygon_2d.cpp
+++ b/scene/2d/polygon_2d.cpp
@@ -842,7 +842,7 @@ void Polygon2D::_bind_methods() {
ADD_GROUP("Texture", "texture_");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "texture_offset"), "set_texture_offset", "get_texture_offset");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "texture_scale"), "set_texture_scale", "get_texture_scale");
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "texture_rotation_degrees", PROPERTY_HINT_RANGE, "-1080,1080,0.1,or_lesser,or_greater"), "set_texture_rotation_degrees", "get_texture_rotation_degrees");
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "texture_rotation_degrees", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater"), "set_texture_rotation_degrees", "get_texture_rotation_degrees");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "texture_rotation", PROPERTY_HINT_NONE, "", 0), "set_texture_rotation", "get_texture_rotation");
ADD_GROUP("Skeleton", "");
ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "skeleton", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "Skeleton2D"), "set_skeleton", "get_skeleton");
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index c0c1d8f691..2bfdfd7d02 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -1549,7 +1549,8 @@ Vector2 TileMap::_map_to_world(int p_x, int p_y, bool p_ignore_ofs) const {
ret += get_cell_transform()[1] * (half_offset == HALF_OFFSET_Y ? 0.5 : -0.5);
}
} break;
- default: {
+ case HALF_OFFSET_DISABLED: {
+ // Nothing to do.
}
}
}
@@ -1612,26 +1613,27 @@ Vector2 TileMap::world_to_map(const Vector2 &p_pos) const {
switch (half_offset) {
case HALF_OFFSET_X: {
- if (ret.y > 0 ? int(ret.y) & 1 : (int(ret.y) - 1) & 1) {
+ if (int(floor(ret.y)) & 1) {
ret.x -= 0.5;
}
} break;
case HALF_OFFSET_NEGATIVE_X: {
- if (ret.y > 0 ? int(ret.y) & 1 : (int(ret.y) - 1) & 1) {
+ if (int(floor(ret.y)) & 1) {
ret.x += 0.5;
}
} break;
case HALF_OFFSET_Y: {
- if (ret.x > 0 ? int(ret.x) & 1 : (int(ret.x) - 1) & 1) {
+ if (int(floor(ret.x)) & 1) {
ret.y -= 0.5;
}
} break;
case HALF_OFFSET_NEGATIVE_Y: {
- if (ret.x > 0 ? int(ret.x) & 1 : (int(ret.x) - 1) & 1) {
+ if (int(floor(ret.x)) & 1) {
ret.y += 0.5;
}
} break;
- default: {
+ case HALF_OFFSET_DISABLED: {
+ // Nothing to do.
}
}
diff --git a/scene/3d/camera.cpp b/scene/3d/camera.cpp
index 9f8510248c..9797b5f3ab 100644
--- a/scene/3d/camera.cpp
+++ b/scene/3d/camera.cpp
@@ -548,9 +548,9 @@ void Camera::_bind_methods() {
BIND_ENUM_CONSTANT(KEEP_WIDTH);
BIND_ENUM_CONSTANT(KEEP_HEIGHT);
- BIND_ENUM_CONSTANT(DOPPLER_TRACKING_DISABLED)
- BIND_ENUM_CONSTANT(DOPPLER_TRACKING_IDLE_STEP)
- BIND_ENUM_CONSTANT(DOPPLER_TRACKING_PHYSICS_STEP)
+ BIND_ENUM_CONSTANT(DOPPLER_TRACKING_DISABLED);
+ BIND_ENUM_CONSTANT(DOPPLER_TRACKING_IDLE_STEP);
+ BIND_ENUM_CONSTANT(DOPPLER_TRACKING_PHYSICS_STEP);
}
float Camera::get_fov() const {
diff --git a/scene/3d/skeleton.cpp b/scene/3d/skeleton.cpp
index ead1e69f90..ae79b4eebf 100644
--- a/scene/3d/skeleton.cpp
+++ b/scene/3d/skeleton.cpp
@@ -245,6 +245,9 @@ void Skeleton::_notification(int p_what) {
if (b.enabled) {
Transform pose = b.pose;
+ if (b.custom_pose_enable) {
+ pose = b.custom_pose * pose;
+ }
if (b.parent >= 0) {
b.pose_global = bonesptr[b.parent].pose_global * pose;
@@ -267,7 +270,9 @@ void Skeleton::_notification(int p_what) {
if (b.enabled) {
Transform pose = b.pose;
-
+ if (b.custom_pose_enable) {
+ pose = b.custom_pose * pose;
+ }
if (b.parent >= 0) {
b.pose_global = bonesptr[b.parent].pose_global * (b.rest * pose);
@@ -533,6 +538,23 @@ Transform Skeleton::get_bone_pose(int p_bone) const {
return bones[p_bone].pose;
}
+void Skeleton::set_bone_custom_pose(int p_bone, const Transform &p_custom_pose) {
+
+ ERR_FAIL_INDEX(p_bone, bones.size());
+ //ERR_FAIL_COND( !is_inside_scene() );
+
+ bones.write[p_bone].custom_pose_enable = (p_custom_pose != Transform());
+ bones.write[p_bone].custom_pose = p_custom_pose;
+
+ _make_dirty();
+}
+
+Transform Skeleton::get_bone_custom_pose(int p_bone) const {
+
+ ERR_FAIL_INDEX_V(p_bone, bones.size(), Transform());
+ return bones[p_bone].custom_pose;
+}
+
void Skeleton::_make_dirty() {
if (dirty)
@@ -770,6 +792,7 @@ Ref<SkinReference> Skeleton::register_skin(const Ref<Skin> &p_skin) {
skin_bindings.insert(skin_ref.operator->());
skin->connect("changed", skin_ref.operator->(), "_skin_changed");
+ _make_dirty();
return skin_ref;
}
@@ -808,6 +831,9 @@ void Skeleton::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_bone_global_pose_override", "bone_idx", "pose", "amount", "persistent"), &Skeleton::set_bone_global_pose_override, DEFVAL(false));
ClassDB::bind_method(D_METHOD("get_bone_global_pose", "bone_idx"), &Skeleton::get_bone_global_pose);
+ ClassDB::bind_method(D_METHOD("get_bone_custom_pose", "bone_idx"), &Skeleton::get_bone_custom_pose);
+ ClassDB::bind_method(D_METHOD("set_bone_custom_pose", "bone_idx", "custom_pose"), &Skeleton::set_bone_custom_pose);
+
#ifndef _3D_DISABLED
ClassDB::bind_method(D_METHOD("physical_bones_stop_simulation"), &Skeleton::physical_bones_stop_simulation);
diff --git a/scene/3d/skeleton.h b/scene/3d/skeleton.h
index f20c550055..824d9567fa 100644
--- a/scene/3d/skeleton.h
+++ b/scene/3d/skeleton.h
@@ -87,6 +87,9 @@ private:
Transform pose;
Transform pose_global;
+ bool custom_pose_enable;
+ Transform custom_pose;
+
float global_pose_override_amount;
bool global_pose_override_reset;
Transform global_pose_override;
@@ -102,6 +105,7 @@ private:
parent = -1;
enabled = true;
disable_rest = false;
+ custom_pose_enable = false;
global_pose_override_amount = 0;
global_pose_override_reset = false;
#ifndef _3D_DISABLED
@@ -184,6 +188,9 @@ public:
void set_bone_pose(int p_bone, const Transform &p_pose);
Transform get_bone_pose(int p_bone) const;
+ void set_bone_custom_pose(int p_bone, const Transform &p_custom_pose);
+ Transform get_bone_custom_pose(int p_bone) const;
+
void localize_rests(); // used for loaders and tools
int get_process_order(int p_idx);
diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp
index 20a09696e1..6f67d01a1c 100644
--- a/scene/animation/animation_blend_tree.cpp
+++ b/scene/animation/animation_blend_tree.cpp
@@ -350,8 +350,8 @@ void AnimationNodeOneShot::_bind_methods() {
ADD_GROUP("", "");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync");
- BIND_ENUM_CONSTANT(MIX_MODE_BLEND)
- BIND_ENUM_CONSTANT(MIX_MODE_ADD)
+ BIND_ENUM_CONSTANT(MIX_MODE_BLEND);
+ BIND_ENUM_CONSTANT(MIX_MODE_ADD);
}
AnimationNodeOneShot::AnimationNodeOneShot() {
diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp
index 6dd9e401f6..ffe011e5f7 100644
--- a/scene/gui/color_picker.cpp
+++ b/scene/gui/color_picker.cpp
@@ -396,11 +396,18 @@ void ColorPicker::_update_text_value() {
}
void ColorPicker::_sample_draw() {
- Rect2 r = Rect2(Point2(), Size2(uv_edit->get_size().width, sample->get_size().height * 0.95));
+ const Rect2 r = Rect2(Point2(), Size2(uv_edit->get_size().width, sample->get_size().height * 0.95));
+
if (color.a < 1.0) {
sample->draw_texture_rect(get_icon("preset_bg", "ColorPicker"), r, true);
}
+
sample->draw_rect(r, color);
+
+ if (color.r > 1 || color.g > 1 || color.b > 1) {
+ // Draw an indicator to denote that the color is "overbright" and can't be displayed accurately in the preview
+ sample->draw_texture(get_icon("overbright_indicator", "ColorPicker"), Point2());
+ }
}
void ColorPicker::_hsv_draw(int p_which, Control *c) {
@@ -894,10 +901,15 @@ void ColorPickerButton::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_DRAW: {
- Ref<StyleBox> normal = get_stylebox("normal");
- Rect2 r = Rect2(normal->get_offset(), get_size() - normal->get_minimum_size());
+ const Ref<StyleBox> normal = get_stylebox("normal");
+ const Rect2 r = Rect2(normal->get_offset(), get_size() - normal->get_minimum_size());
draw_texture_rect(Control::get_icon("bg", "ColorPickerButton"), r, true);
draw_rect(r, color);
+
+ if (color.r > 1 || color.g > 1 || color.b > 1) {
+ // Draw an indicator to denote that the color is "overbright" and can't be displayed accurately in the preview
+ draw_texture(Control::get_icon("overbright_indicator", "ColorPicker"), normal->get_offset());
+ }
} break;
case MainLoop::NOTIFICATION_WM_QUIT_REQUEST: {
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index f8f29632b3..fc67b28095 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -2948,7 +2948,7 @@ void Control::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_global_position", PROPERTY_HINT_NONE, "", 0), "_set_global_position", "get_global_position");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_size", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "_set_size", "get_size");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_min_size"), "set_custom_minimum_size", "get_custom_minimum_size");
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "rect_rotation", PROPERTY_HINT_RANGE, "-1080,1080,0.01"), "set_rotation_degrees", "get_rotation_degrees");
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "rect_rotation", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater"), "set_rotation_degrees", "get_rotation_degrees");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_scale"), "set_scale", "get_scale");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_pivot_offset"), "set_pivot_offset", "get_pivot_offset");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "rect_clip_content"), "set_clip_contents", "is_clipping_contents");
diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp
index 9ed1d2bf45..31551d6257 100644
--- a/scene/gui/dialogs.cpp
+++ b/scene/gui/dialogs.cpp
@@ -206,9 +206,9 @@ void WindowDialog::_notification(int p_what) {
Color title_color = get_color("title_color", "WindowDialog");
int title_height = get_constant("title_height", "WindowDialog");
int font_height = title_font->get_height() - title_font->get_descent() * 2;
- int x = (size.x - title_font->get_string_size(title).x) / 2;
+ int x = (size.x - title_font->get_string_size(xl_title).x) / 2;
int y = (-title_height + font_height) / 2;
- title_font->draw(canvas, Point2(x, y), title, title_color, size.x - panel->get_minimum_size().x);
+ title_font->draw(canvas, Point2(x, y), xl_title, title_color, size.x - panel->get_minimum_size().x);
} break;
case NOTIFICATION_THEME_CHANGED:
@@ -222,8 +222,9 @@ void WindowDialog::_notification(int p_what) {
case NOTIFICATION_TRANSLATION_CHANGED: {
String new_title = tr(title);
- if (title != new_title) {
- title = new_title;
+ if (new_title != xl_title) {
+ xl_title = new_title;
+ minimum_size_changed();
update();
}
} break;
@@ -283,9 +284,10 @@ int WindowDialog::_drag_hit_test(const Point2 &pos) const {
void WindowDialog::set_title(const String &p_title) {
- String new_title = tr(p_title);
- if (title != new_title) {
- title = new_title;
+ if (title != p_title) {
+ title = p_title;
+ xl_title = tr(p_title);
+ minimum_size_changed();
update();
}
}
@@ -306,7 +308,7 @@ Size2 WindowDialog::get_minimum_size() const {
Ref<Font> font = get_font("title_font", "WindowDialog");
const int button_width = close_button->get_combined_minimum_size().x;
- const int title_width = font->get_string_size(title).x;
+ const int title_width = font->get_string_size(xl_title).x;
const int padding = button_width / 2;
const int button_area = button_width + padding;
diff --git a/scene/gui/dialogs.h b/scene/gui/dialogs.h
index 1a0350ba18..afd1173f28 100644
--- a/scene/gui/dialogs.h
+++ b/scene/gui/dialogs.h
@@ -53,6 +53,7 @@ class WindowDialog : public Popup {
TextureButton *close_button;
String title;
+ String xl_title;
int drag_type;
Point2 drag_offset;
Point2 drag_offset_far;
diff --git a/scene/gui/grid_container.cpp b/scene/gui/grid_container.cpp
index d0e2edc7b5..d304a37f82 100644
--- a/scene/gui/grid_container.cpp
+++ b/scene/gui/grid_container.cpp
@@ -36,20 +36,18 @@ void GridContainer::_notification(int p_what) {
case NOTIFICATION_SORT_CHILDREN: {
- int valid_controls_index;
-
- Map<int, int> col_minw; // max of min_width of all controls in each col (indexed by col)
- Map<int, int> row_minh; // max of min_height of all controls in each row (indexed by row)
- Set<int> col_expanded; // columns which have the SIZE_EXPAND flag set
- Set<int> row_expanded; // rows which have the SIZE_EXPAND flag set
+ Map<int, int> col_minw; // Max of min_width of all controls in each col (indexed by col).
+ Map<int, int> row_minh; // Max of min_height of all controls in each row (indexed by row).
+ Set<int> col_expanded; // Columns which have the SIZE_EXPAND flag set.
+ Set<int> row_expanded; // Rows which have the SIZE_EXPAND flag set.
int hsep = get_constant("hseparation");
int vsep = get_constant("vseparation");
int max_col = MIN(get_child_count(), columns);
int max_row = get_child_count() / columns;
- // Compute the per-column/per-row data
- valid_controls_index = 0;
+ // Compute the per-column/per-row data.
+ int valid_controls_index = 0;
for (int i = 0; i < get_child_count(); i++) {
Control *c = Object::cast_to<Control>(get_child(i));
if (!c || !c->is_visible_in_tree())
@@ -77,7 +75,12 @@ void GridContainer::_notification(int p_what) {
}
}
- // Evaluate the remaining space for expanded columns/rows
+ // Consider all empty columns expanded.
+ for (int i = valid_controls_index; i < columns; i++) {
+ col_expanded.insert(i);
+ }
+
+ // Evaluate the remaining space for expanded columns/rows.
Size2 remaining_space = get_size();
for (Map<int, int>::Element *E = col_minw.front(); E; E = E->next()) {
if (!col_expanded.has(E->key()))
@@ -93,7 +96,7 @@ void GridContainer::_notification(int p_what) {
bool can_fit = false;
while (!can_fit && col_expanded.size() > 0) {
- // Check if all minwidth constraints are ok if we use the remaining space
+ // Check if all minwidth constraints are OK if we use the remaining space.
can_fit = true;
int max_index = col_expanded.front()->get();
for (Set<int>::Element *E = col_expanded.front(); E; E = E->next()) {
@@ -105,7 +108,7 @@ void GridContainer::_notification(int p_what) {
}
}
- // If not, the column with maximum minwidth is not expanded
+ // If not, the column with maximum minwidth is not expanded.
if (!can_fit) {
col_expanded.erase(max_index);
remaining_space.width -= col_minw[max_index];
@@ -114,7 +117,7 @@ void GridContainer::_notification(int p_what) {
can_fit = false;
while (!can_fit && row_expanded.size() > 0) {
- // Check if all minwidth constraints are ok if we use the remaining space
+ // Check if all minheight constraints are OK if we use the remaining space.
can_fit = true;
int max_index = row_expanded.front()->get();
for (Set<int>::Element *E = row_expanded.front(); E; E = E->next()) {
@@ -126,14 +129,14 @@ void GridContainer::_notification(int p_what) {
}
}
- // If not, the row with maximum minwidth is not expanded
+ // If not, the row with maximum minheight is not expanded.
if (!can_fit) {
row_expanded.erase(max_index);
remaining_space.height -= row_minh[max_index];
}
}
- // Finally, fit the nodes
+ // Finally, fit the nodes.
int col_expand = col_expanded.size() > 0 ? remaining_space.width / col_expanded.size() : 0;
int row_expand = row_expanded.size() > 0 ? remaining_space.height / row_expanded.size() : 0;
@@ -152,11 +155,11 @@ void GridContainer::_notification(int p_what) {
if (col == 0) {
col_ofs = 0;
if (row > 0)
- row_ofs += ((row_expanded.has(row - 1)) ? row_expand : row_minh[row - 1]) + vsep;
+ row_ofs += (row_expanded.has(row - 1) ? row_expand : row_minh[row - 1]) + vsep;
}
Point2 p(col_ofs, row_ofs);
- Size2 s((col_expanded.has(col)) ? col_expand : col_minw[col], (row_expanded.has(row)) ? row_expand : row_minh[row]);
+ Size2 s(col_expanded.has(col) ? col_expand : col_minw[col], row_expanded.has(row) ? row_expand : row_minh[row]);
fit_child_in_rect(c, Rect2(p, s));
@@ -207,7 +210,7 @@ Size2 GridContainer::get_minimum_size() const {
for (int i = 0; i < get_child_count(); i++) {
Control *c = Object::cast_to<Control>(get_child(i));
- if (!c || !c->is_visible_in_tree())
+ if (!c || !c->is_visible())
continue;
int row = valid_controls_index / columns;
int col = valid_controls_index % columns;
diff --git a/scene/gui/rich_text_effect.cpp b/scene/gui/rich_text_effect.cpp
index 67fa85b832..f9e0be5b31 100644
--- a/scene/gui/rich_text_effect.cpp
+++ b/scene/gui/rich_text_effect.cpp
@@ -119,4 +119,9 @@ CharFXTransform::CharFXTransform() {
offset = Point2();
color = Color();
character = 0;
+ elapsed_time = 0.0f;
+}
+
+CharFXTransform::~CharFXTransform() {
+ environment.clear();
}
diff --git a/scene/gui/rich_text_effect.h b/scene/gui/rich_text_effect.h
index f9c3e15399..4330cebfe6 100644
--- a/scene/gui/rich_text_effect.h
+++ b/scene/gui/rich_text_effect.h
@@ -64,6 +64,8 @@ public:
Dictionary environment;
CharFXTransform();
+ ~CharFXTransform();
+
uint64_t get_relative_index() { return relative_index; }
void set_relative_index(uint64_t p_index) { relative_index = p_index; }
uint64_t get_absolute_index() { return absolute_index; }
diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp
index d9ae42d6e6..c5330c78e1 100644
--- a/scene/gui/rich_text_label.cpp
+++ b/scene/gui/rich_text_label.cpp
@@ -348,6 +348,7 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &
int it_char_start = p_char_count;
Vector<ItemFX *> fx_stack = Vector<ItemFX *>();
+ _fetch_item_fx_stack(text, fx_stack);
bool custom_fx_ok = true;
if (p_mode == PROCESS_DRAW) {
@@ -359,8 +360,14 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &
strikethrough = true;
}
- fade = _fetch_by_type<ItemFade>(text, ITEM_FADE);
- _fetch_item_stack<ItemFX>(text, fx_stack);
+ Item *fade_item = it;
+ while (fade_item) {
+ if (fade_item->type == ITEM_FADE) {
+ fade = static_cast<ItemFade *>(fade_item);
+ break;
+ }
+ fade_item = fade_item->parent;
+ }
} else if (p_mode == PROCESS_CACHE) {
l.char_count += text->text.length();
@@ -467,18 +474,16 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &
faded_visibility > 0.0f);
for (int j = 0; j < fx_stack.size(); j++) {
- ItemCustomFX *item_custom = Object::cast_to<ItemCustomFX>(fx_stack[j]);
- ItemShake *item_shake = Object::cast_to<ItemShake>(fx_stack[j]);
- ItemWave *item_wave = Object::cast_to<ItemWave>(fx_stack[j]);
- ItemTornado *item_tornado = Object::cast_to<ItemTornado>(fx_stack[j]);
- ItemRainbow *item_rainbow = Object::cast_to<ItemRainbow>(fx_stack[j]);
-
- if (item_custom && custom_fx_ok) {
- Ref<CharFXTransform> charfx = Ref<CharFXTransform>(memnew(CharFXTransform));
- Ref<RichTextEffect> custom_effect = _get_custom_effect_by_code(item_custom->identifier);
+ ItemFX *item_fx = fx_stack[j];
+
+ if (item_fx->type == ITEM_CUSTOMFX && custom_fx_ok) {
+ ItemCustomFX *item_custom = static_cast<ItemCustomFX *>(item_fx);
+
+ Ref<CharFXTransform> charfx = item_custom->char_fx_transform;
+ Ref<RichTextEffect> custom_effect = item_custom->custom_effect;
+
if (!custom_effect.is_null()) {
charfx->elapsed_time = item_custom->elapsed_time;
- charfx->environment = item_custom->environment;
charfx->relative_index = c_item_offset;
charfx->absolute_index = p_char_count;
charfx->visibility = visible;
@@ -494,7 +499,9 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &
visible &= charfx->visibility;
fx_char = charfx->character;
}
- } else if (item_shake) {
+ } else if (item_fx->type == ITEM_SHAKE) {
+ ItemShake *item_shake = static_cast<ItemShake *>(item_fx);
+
uint64_t char_current_rand = item_shake->offset_random(c_item_offset);
uint64_t char_previous_rand = item_shake->offset_previous_random(c_item_offset);
uint64_t max_rand = 2147483647;
@@ -509,14 +516,20 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &
Math::cos(current_offset),
n_time)) *
(float)item_shake->strength / 10.0f;
- } else if (item_wave) {
+ } else if (item_fx->type == ITEM_WAVE) {
+ ItemWave *item_wave = static_cast<ItemWave *>(item_fx);
+
double value = Math::sin(item_wave->frequency * item_wave->elapsed_time + ((p_ofs.x + pofs) / 50)) * (item_wave->amplitude / 10.0f);
fx_offset += Point2(0, 1) * value;
- } else if (item_tornado) {
+ } else if (item_fx->type == ITEM_TORNADO) {
+ ItemTornado *item_tornado = static_cast<ItemTornado *>(item_fx);
+
double torn_x = Math::sin(item_tornado->frequency * item_tornado->elapsed_time + ((p_ofs.x + pofs) / 50)) * (item_tornado->radius);
double torn_y = Math::cos(item_tornado->frequency * item_tornado->elapsed_time + ((p_ofs.x + pofs) / 50)) * (item_tornado->radius);
fx_offset += Point2(torn_x, torn_y);
- } else if (item_rainbow) {
+ } else if (item_fx->type == ITEM_RAINBOW) {
+ ItemRainbow *item_rainbow = static_cast<ItemRainbow *>(item_fx);
+
fx_color = fx_color.from_hsv(item_rainbow->frequency * (item_rainbow->elapsed_time + ((p_ofs.x + pofs) / 50)),
item_rainbow->saturation,
item_rainbow->value,
@@ -884,7 +897,11 @@ void RichTextLabel::_update_scroll() {
void RichTextLabel::_update_fx(RichTextLabel::ItemFrame *p_frame, float p_delta_time) {
Item *it = p_frame;
while (it) {
- ItemFX *ifx = Object::cast_to<ItemFX>(it);
+ ItemFX *ifx = NULL;
+
+ if (it->type == ITEM_CUSTOMFX || it->type == ITEM_SHAKE || it->type == ITEM_WAVE || it->type == ITEM_TORNADO || it->type == ITEM_RAINBOW) {
+ ifx = static_cast<ItemFX *>(it);
+ }
if (!ifx) {
it = _get_next_item(it, true);
@@ -893,7 +910,12 @@ void RichTextLabel::_update_fx(RichTextLabel::ItemFrame *p_frame, float p_delta_
ifx->elapsed_time += p_delta_time;
- ItemShake *shake = Object::cast_to<ItemShake>(it);
+ ItemShake *shake = NULL;
+
+ if (it->type == ITEM_SHAKE) {
+ shake = static_cast<ItemShake *>(it);
+ }
+
if (shake) {
bool cycle = (shake->elapsed_time > (1.0f / shake->rate));
if (cycle) {
@@ -983,9 +1005,6 @@ void RichTextLabel::_notification(int p_what) {
case NOTIFICATION_INTERNAL_PROCESS: {
float dt = get_process_delta_time();
- for (int i = 0; i < custom_effects.size(); i++) {
- }
-
_update_fx(main, dt);
update();
}
@@ -1408,6 +1427,17 @@ bool RichTextLabel::_find_by_type(Item *p_item, ItemType p_type) {
return false;
}
+void RichTextLabel::_fetch_item_fx_stack(Item *p_item, Vector<ItemFX *> &r_stack) {
+ Item *item = p_item;
+ while (item) {
+ if (item->type == ITEM_CUSTOMFX || item->type == ITEM_SHAKE || item->type == ITEM_WAVE || item->type == ITEM_TORNADO || item->type == ITEM_RAINBOW) {
+ r_stack.push_back(static_cast<ItemFX *>(item));
+ }
+
+ item = item->parent;
+ }
+}
+
bool RichTextLabel::_find_meta(Item *p_item, Variant *r_meta, ItemMeta **r_item) {
Item *item = p_item;
@@ -1776,10 +1806,10 @@ void RichTextLabel::push_rainbow(float p_saturation, float p_value, float p_freq
_add_item(item, true);
}
-void RichTextLabel::push_customfx(String p_identifier, Dictionary p_environment) {
+void RichTextLabel::push_customfx(Ref<RichTextEffect> p_custom_effect, Dictionary p_environment) {
ItemCustomFX *item = memnew(ItemCustomFX);
- item->identifier = p_identifier;
- item->environment = p_environment;
+ item->custom_effect = p_custom_effect;
+ item->char_fx_transform->environment = p_environment;
_add_item(item, true);
}
@@ -2287,7 +2317,7 @@ Error RichTextLabel::append_bbcode(const String &p_bbcode) {
Ref<RichTextEffect> effect = _get_custom_effect_by_code(identifier);
if (!effect.is_null()) {
- push_customfx(identifier, properties);
+ push_customfx(effect, properties);
pos = brk_end + 1;
tag_stack.push_front(identifier);
set_process_internal(true);
@@ -2700,17 +2730,16 @@ Size2 RichTextLabel::get_minimum_size() const {
}
Ref<RichTextEffect> RichTextLabel::_get_custom_effect_by_code(String p_bbcode_identifier) {
- Ref<RichTextEffect> r;
for (int i = 0; i < custom_effects.size(); i++) {
if (!custom_effects[i].is_valid())
continue;
if (custom_effects[i]->get_bbcode() == p_bbcode_identifier) {
- r = custom_effects[i];
+ return custom_effects[i];
}
}
- return r;
+ return Ref<RichTextEffect>();
}
Dictionary RichTextLabel::parse_expressions_for_values(Vector<String> p_expressions) {
diff --git a/scene/gui/rich_text_label.h b/scene/gui/rich_text_label.h
index 481f8d9746..1c90d974e4 100644
--- a/scene/gui/rich_text_label.h
+++ b/scene/gui/rich_text_label.h
@@ -81,7 +81,7 @@ protected:
static void _bind_methods();
private:
- class Item;
+ struct Item;
struct Line {
@@ -103,10 +103,7 @@ private:
}
};
- class Item : public Object {
- GDCLASS(Item, Object);
-
- public:
+ struct Item {
int index;
Item *parent;
ItemType type;
@@ -129,10 +126,7 @@ private:
virtual ~Item() { _clear_children(); }
};
- class ItemFrame : public Item {
- GDCLASS(ItemFrame, Item);
-
- public:
+ struct ItemFrame : public Item {
int parent_line;
bool cell;
Vector<Line> lines;
@@ -147,95 +141,59 @@ private:
}
};
- class ItemText : public Item {
- GDCLASS(ItemText, Item);
-
- public:
+ struct ItemText : public Item {
String text;
ItemText() { type = ITEM_TEXT; }
};
- class ItemImage : public Item {
- GDCLASS(ItemImage, Item);
-
- public:
+ struct ItemImage : public Item {
Ref<Texture> image;
ItemImage() { type = ITEM_IMAGE; }
};
- class ItemFont : public Item {
- GDCLASS(ItemFont, Item);
-
- public:
+ struct ItemFont : public Item {
Ref<Font> font;
ItemFont() { type = ITEM_FONT; }
};
- class ItemColor : public Item {
- GDCLASS(ItemColor, Item);
-
- public:
+ struct ItemColor : public Item {
Color color;
ItemColor() { type = ITEM_COLOR; }
};
- class ItemUnderline : public Item {
- GDCLASS(ItemUnderline, Item);
-
- public:
+ struct ItemUnderline : public Item {
ItemUnderline() { type = ITEM_UNDERLINE; }
};
- class ItemStrikethrough : public Item {
- GDCLASS(ItemStrikethrough, Item);
-
- public:
+ struct ItemStrikethrough : public Item {
ItemStrikethrough() { type = ITEM_STRIKETHROUGH; }
};
- class ItemMeta : public Item {
- GDCLASS(ItemMeta, Item);
-
- public:
+ struct ItemMeta : public Item {
Variant meta;
ItemMeta() { type = ITEM_META; }
};
- class ItemAlign : public Item {
- GDCLASS(ItemAlign, Item);
-
- public:
+ struct ItemAlign : public Item {
Align align;
ItemAlign() { type = ITEM_ALIGN; }
};
- class ItemIndent : public Item {
- GDCLASS(ItemIndent, Item);
-
- public:
+ struct ItemIndent : public Item {
int level;
ItemIndent() { type = ITEM_INDENT; }
};
- class ItemList : public Item {
- GDCLASS(ItemList, Item);
-
- public:
+ struct ItemList : public Item {
ListType list_type;
ItemList() { type = ITEM_LIST; }
};
- class ItemNewline : public Item {
- GDCLASS(ItemNewline, Item);
-
- public:
+ struct ItemNewline : public Item {
ItemNewline() { type = ITEM_NEWLINE; }
};
- class ItemTable : public Item {
- GDCLASS(ItemTable, Item);
-
- public:
+ struct ItemTable : public Item {
struct Column {
bool expand;
int expand_ratio;
@@ -249,20 +207,14 @@ private:
ItemTable() { type = ITEM_TABLE; }
};
- class ItemFade : public Item {
- GDCLASS(ItemFade, Item);
-
- public:
+ struct ItemFade : public Item {
int starting_index;
int length;
ItemFade() { type = ITEM_FADE; }
};
- class ItemFX : public Item {
- GDCLASS(ItemFX, Item);
-
- public:
+ struct ItemFX : public Item {
float elapsed_time;
ItemFX() {
@@ -270,10 +222,7 @@ private:
}
};
- class ItemShake : public ItemFX {
- GDCLASS(ItemShake, ItemFX);
-
- public:
+ struct ItemShake : public ItemFX {
int strength;
float rate;
uint64_t _current_rng;
@@ -302,10 +251,7 @@ private:
}
};
- class ItemWave : public ItemFX {
- GDCLASS(ItemWave, ItemFX);
-
- public:
+ struct ItemWave : public ItemFX {
float frequency;
float amplitude;
@@ -316,10 +262,7 @@ private:
}
};
- class ItemTornado : public ItemFX {
- GDCLASS(ItemTornado, ItemFX);
-
- public:
+ struct ItemTornado : public ItemFX {
float radius;
float frequency;
@@ -330,10 +273,7 @@ private:
}
};
- class ItemRainbow : public ItemFX {
- GDCLASS(ItemRainbow, ItemFX);
-
- public:
+ struct ItemRainbow : public ItemFX {
float saturation;
float value;
float frequency;
@@ -346,22 +286,21 @@ private:
}
};
- class ItemCustomFX : public ItemFX {
- GDCLASS(ItemCustomFX, ItemFX);
-
- public:
- String identifier;
- Dictionary environment;
+ struct ItemCustomFX : public ItemFX {
+ Ref<CharFXTransform> char_fx_transform;
+ Ref<RichTextEffect> custom_effect;
ItemCustomFX() {
- identifier = "";
- environment = Dictionary();
type = ITEM_CUSTOMFX;
+
+ char_fx_transform.instance();
}
virtual ~ItemCustomFX() {
_clear_children();
- environment.clear();
+
+ char_fx_transform.unref();
+ custom_effect.unref();
}
};
@@ -440,32 +379,7 @@ private:
bool _find_meta(Item *p_item, Variant *r_meta, ItemMeta **r_item = NULL);
bool _find_layout_subitem(Item *from, Item *to);
bool _find_by_type(Item *p_item, ItemType p_type);
- template <typename T>
- T *_fetch_by_type(Item *p_item, ItemType p_type) {
- Item *item = p_item;
- T *result = NULL;
- while (item) {
- if (item->type == p_type) {
- result = Object::cast_to<T>(item);
- if (result)
- return result;
- }
- item = item->parent;
- }
-
- return result;
- };
- template <typename T>
- void _fetch_item_stack(Item *p_item, Vector<T *> &r_stack) {
- Item *item = p_item;
- while (item) {
- T *found = Object::cast_to<T>(item);
- if (found) {
- r_stack.push_back(found);
- }
- item = item->parent;
- }
- }
+ void _fetch_item_fx_stack(Item *p_item, Vector<ItemFX *> &r_stack);
void _update_scroll();
void _update_fx(ItemFrame *p_frame, float p_delta_time);
@@ -509,7 +423,7 @@ public:
void push_wave(float p_frequency, float p_amplitude);
void push_tornado(float p_frequency, float p_radius);
void push_rainbow(float p_saturation, float p_value, float p_frequency);
- void push_customfx(String p_identifier, Dictionary p_environment);
+ void push_customfx(Ref<RichTextEffect> p_custom_effect, Dictionary p_environment);
void set_table_column_expand(int p_column, bool p_expand, int p_ratio = 1);
int get_current_table_column() const;
void push_cell();
diff --git a/scene/gui/tabs.cpp b/scene/gui/tabs.cpp
index 93b091e8d0..c24f15384b 100644
--- a/scene/gui/tabs.cpp
+++ b/scene/gui/tabs.cpp
@@ -53,7 +53,7 @@ Size2 Tabs::get_minimum_size() const {
ms.width += get_constant("hseparation");
}
- ms.width += Math::ceil(font->get_string_size(tabs[i].text).width);
+ ms.width += Math::ceil(font->get_string_size(tabs[i].xl_text).width);
if (tabs[i].disabled)
ms.width += tab_disabled->get_minimum_size().width;
@@ -223,6 +223,9 @@ void Tabs::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_TRANSLATION_CHANGED: {
+ for (int i = 0; i < tabs.size(); ++i) {
+ tabs.write[i].xl_text = tr(tabs[i].text);
+ }
minimum_size_changed();
update();
} break;
@@ -318,7 +321,7 @@ void Tabs::_notification(int p_what) {
w += icon->get_width() + get_constant("hseparation");
}
- font->draw(ci, Point2i(w, sb->get_margin(MARGIN_TOP) + ((sb_rect.size.y - sb_ms.y) - font->get_height()) / 2 + font->get_ascent()), tabs[i].text, col, tabs[i].size_text);
+ font->draw(ci, Point2i(w, sb->get_margin(MARGIN_TOP) + ((sb_rect.size.y - sb_ms.y) - font->get_height()) / 2 + font->get_ascent()), tabs[i].xl_text, col, tabs[i].size_text);
w += tabs[i].size_text;
@@ -435,6 +438,7 @@ void Tabs::set_tab_title(int p_tab, const String &p_title) {
ERR_FAIL_INDEX(p_tab, tabs.size());
tabs.write[p_tab].text = p_title;
+ tabs.write[p_tab].xl_text = tr(p_title);
update();
minimum_size_changed();
}
@@ -543,7 +547,7 @@ void Tabs::_update_cache() {
for (int i = 0; i < tabs.size(); i++) {
tabs.write[i].ofs_cache = mw;
tabs.write[i].size_cache = get_tab_width(i);
- tabs.write[i].size_text = Math::ceil(font->get_string_size(tabs[i].text).width);
+ tabs.write[i].size_text = Math::ceil(font->get_string_size(tabs[i].xl_text).width);
mw += tabs[i].size_cache;
if (tabs[i].size_cache <= min_width || i == current) {
size_fixed += tabs[i].size_cache;
@@ -604,6 +608,7 @@ void Tabs::add_tab(const String &p_str, const Ref<Texture> &p_icon) {
Tab t;
t.text = p_str;
+ t.xl_text = tr(p_str);
t.icon = p_icon;
t.disabled = false;
t.ofs_cache = 0;
@@ -659,7 +664,7 @@ Variant Tabs::get_drag_data(const Point2 &p_point) {
tf->set_texture(tabs[tab_over].icon);
drag_preview->add_child(tf);
}
- Label *label = memnew(Label(tabs[tab_over].text));
+ Label *label = memnew(Label(tabs[tab_over].xl_text));
drag_preview->add_child(label);
if (!tabs[tab_over].right_button.is_null()) {
TextureRect *tf = memnew(TextureRect);
@@ -808,7 +813,7 @@ int Tabs::get_tab_width(int p_idx) const {
x += get_constant("hseparation");
}
- x += Math::ceil(font->get_string_size(tabs[p_idx].text).width);
+ x += Math::ceil(font->get_string_size(tabs[p_idx].xl_text).width);
if (tabs[p_idx].disabled)
x += tab_disabled->get_minimum_size().width;
diff --git a/scene/gui/tabs.h b/scene/gui/tabs.h
index a762b5b9cb..0edf2fedc1 100644
--- a/scene/gui/tabs.h
+++ b/scene/gui/tabs.h
@@ -58,6 +58,7 @@ private:
struct Tab {
String text;
+ String xl_text;
Ref<Texture> icon;
int ofs_cache;
bool disabled;
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 75c845b8db..e2bb4e3e91 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -3965,7 +3965,7 @@ void TextEdit::_base_remove_text(int p_from_line, int p_from_column, int p_to_li
void TextEdit::_insert_text(int p_line, int p_char, const String &p_text, int *r_end_line, int *r_end_char) {
- if (!setting_text)
+ if (!setting_text && idle_detect->is_inside_tree())
idle_detect->start();
if (undo_enabled) {
@@ -4019,7 +4019,7 @@ void TextEdit::_insert_text(int p_line, int p_char, const String &p_text, int *r
void TextEdit::_remove_text(int p_from_line, int p_from_column, int p_to_line, int p_to_column) {
- if (!setting_text)
+ if (!setting_text && idle_detect->is_inside_tree())
idle_detect->start();
String text;
diff --git a/scene/gui/texture_progress.cpp b/scene/gui/texture_progress.cpp
index c534df5cbe..9b60a9d1c3 100644
--- a/scene/gui/texture_progress.cpp
+++ b/scene/gui/texture_progress.cpp
@@ -344,6 +344,9 @@ void TextureProgress::_notification(int p_what) {
case FILL_CLOCKWISE:
case FILL_COUNTER_CLOCKWISE:
case FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE: {
+ if (nine_patch_stretch)
+ s = get_size();
+
float val = get_as_ratio() * rad_max_degrees / 360;
if (val == 1) {
Rect2 region = Rect2(Point2(), s);
@@ -384,7 +387,13 @@ void TextureProgress::_notification(int p_what) {
draw_polygon(points, colors, uvs, progress);
}
if (Engine::get_singleton()->is_editor_hint()) {
- Point2 p = progress->get_size();
+ Point2 p;
+
+ if (nine_patch_stretch)
+ p = get_size();
+ else
+ p = progress->get_size();
+
p.x *= get_relative_center().x;
p.y *= get_relative_center().y;
p = p.floor();
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index 57663bbe82..50b0b12029 100644
--- a/scene/gui/tree.cpp
+++ b/scene/gui/tree.cpp
@@ -547,6 +547,11 @@ Ref<Texture> TreeItem::get_button(int p_column, int p_idx) const {
ERR_FAIL_INDEX_V(p_idx, cells[p_column].buttons.size(), Ref<Texture>());
return cells[p_column].buttons[p_idx].texture;
}
+String TreeItem::get_button_tooltip(int p_column, int p_idx) const {
+ ERR_FAIL_INDEX_V(p_column, cells.size(), String());
+ ERR_FAIL_INDEX_V(p_idx, cells[p_column].buttons.size(), String());
+ return cells[p_column].buttons[p_idx].tooltip;
+}
int TreeItem::get_button_id(int p_column, int p_idx) const {
ERR_FAIL_INDEX_V(p_column, cells.size(), -1);
ERR_FAIL_INDEX_V(p_idx, cells[p_column].buttons.size(), -1);
@@ -795,6 +800,7 @@ void TreeItem::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_button", "column", "button", "button_idx", "disabled", "tooltip"), &TreeItem::add_button, DEFVAL(-1), DEFVAL(false), DEFVAL(""));
ClassDB::bind_method(D_METHOD("get_button_count", "column"), &TreeItem::get_button_count);
+ ClassDB::bind_method(D_METHOD("get_button_tooltip", "column", "button_idx"), &TreeItem::get_button_tooltip);
ClassDB::bind_method(D_METHOD("get_button", "column", "button_idx"), &TreeItem::get_button);
ClassDB::bind_method(D_METHOD("set_button", "column", "button_idx", "button"), &TreeItem::set_button);
ClassDB::bind_method(D_METHOD("erase_button", "column", "button_idx"), &TreeItem::erase_button);
@@ -2546,7 +2552,9 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
} else {
Rect2 rect = get_selected()->get_meta("__focus_rect");
if (rect.has_point(Point2(b->get_position().x, b->get_position().y))) {
- edit_selected();
+ if (!edit_selected()) {
+ emit_signal("item_double_clicked");
+ }
} else {
emit_signal("item_double_clicked");
}
@@ -2669,11 +2677,21 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
} break;
case BUTTON_WHEEL_UP: {
+ double prev_value = v_scroll->get_value();
v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() * b->get_factor() / 8);
+ if (v_scroll->get_value() != prev_value) {
+ accept_event();
+ }
+
} break;
case BUTTON_WHEEL_DOWN: {
+ double prev_value = v_scroll->get_value();
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * b->get_factor() / 8);
+ if (v_scroll->get_value() != prev_value) {
+ accept_event();
+ }
+
} break;
}
}
@@ -2681,7 +2699,11 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
Ref<InputEventPanGesture> pan_gesture = p_event;
if (pan_gesture.is_valid()) {
+ double prev_value = v_scroll->get_value();
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * pan_gesture->get_delta().y / 8);
+ if (v_scroll->get_value() != prev_value) {
+ accept_event();
+ }
}
}
diff --git a/scene/gui/tree.h b/scene/gui/tree.h
index f12d8fc4d2..47befb0c15 100644
--- a/scene/gui/tree.h
+++ b/scene/gui/tree.h
@@ -201,6 +201,7 @@ public:
void add_button(int p_column, const Ref<Texture> &p_button, int p_id = -1, bool p_disabled = false, const String &p_tooltip = "");
int get_button_count(int p_column) const;
+ String get_button_tooltip(int p_column, int p_idx) const;
Ref<Texture> get_button(int p_column, int p_idx) const;
int get_button_id(int p_column, int p_idx) const;
void erase_button(int p_column, int p_idx);
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp
index 0465c9305b..3ee21ce38b 100644
--- a/scene/main/scene_tree.cpp
+++ b/scene/main/scene_tree.cpp
@@ -561,6 +561,8 @@ bool SceneTree::idle(float p_time) {
E = N;
}
+ flush_transform_notifications(); //additional transforms after timers update
+
_call_idle_callbacks();
#ifdef TOOLS_ENABLED
diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp
index 418ee6af0e..314fc721fc 100644
--- a/scene/register_scene_types.cpp
+++ b/scene/register_scene_types.cpp
@@ -139,7 +139,6 @@
#include "scene/resources/cylinder_shape.h"
#include "scene/resources/default_theme/default_theme.h"
#include "scene/resources/dynamic_font.h"
-#include "scene/resources/dynamic_font_stb.h"
#include "scene/resources/gradient.h"
#include "scene/resources/height_map_shape.h"
#include "scene/resources/line_shape_2d.h"
diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp
index f68dc9af38..0dcc184a1d 100644
--- a/scene/resources/default_theme/default_theme.cpp
+++ b/scene/resources/default_theme/default_theme.cpp
@@ -763,7 +763,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
theme->set_color("folder_icon_modulate", "FileDialog", Color(1, 1, 1));
theme->set_color("files_disabled", "FileDialog", Color(0, 0, 0, 0.7));
- // colorPicker
+ // ColorPicker
theme->set_constant("margin", "ColorPicker", 4 * scale);
theme->set_constant("sv_width", "ColorPicker", 256 * scale);
@@ -776,6 +776,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
theme->set_icon("color_hue", "ColorPicker", make_icon(color_picker_hue_png));
theme->set_icon("color_sample", "ColorPicker", make_icon(color_picker_sample_png));
theme->set_icon("preset_bg", "ColorPicker", make_icon(mini_checkerboard_png));
+ theme->set_icon("overbright_indicator", "ColorPicker", make_icon(overbright_indicator_png));
theme->set_icon("bg", "ColorPickerButton", make_icon(mini_checkerboard_png));
diff --git a/scene/resources/default_theme/overbright_indicator.png b/scene/resources/default_theme/overbright_indicator.png
new file mode 100644
index 0000000000..89f800c230
--- /dev/null
+++ b/scene/resources/default_theme/overbright_indicator.png
Binary files differ
diff --git a/scene/resources/default_theme/theme_data.h b/scene/resources/default_theme/theme_data.h
index 11904b7aff..0d57fc6b14 100644
--- a/scene/resources/default_theme/theme_data.h
+++ b/scene/resources/default_theme/theme_data.h
@@ -218,6 +218,10 @@ static const unsigned char option_button_pressed_png[] = {
0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, 0x0, 0x0, 0x0, 0xd, 0x49, 0x48, 0x44, 0x52, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x10, 0x8, 0x3, 0x0, 0x0, 0x0, 0x40, 0xde, 0x8d, 0x6b, 0x0, 0x0, 0x1, 0x4a, 0x50, 0x4c, 0x54, 0x45, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x31, 0x2f, 0x37, 0x46, 0x43, 0x4f, 0x2b, 0x2b, 0x31, 0x2e, 0x2e, 0x34, 0x47, 0x44, 0x50, 0x2a, 0x2a, 0x30, 0x55, 0x52, 0x5f, 0x22, 0x22, 0x27, 0x3d, 0x3a, 0x45, 0x56, 0x52, 0x60, 0x24, 0x24, 0x28, 0x24, 0x24, 0x29, 0x43, 0x40, 0x4c, 0x42, 0x40, 0x4b, 0x4c, 0x49, 0x56, 0x2a, 0x2a, 0x31, 0x2a, 0x2a, 0x30, 0x2d, 0x2d, 0x34, 0x2f, 0x2f, 0x36, 0x2e, 0x2e, 0x35, 0x2c, 0x2c, 0x32, 0x3a, 0x38, 0x41, 0x36, 0x34, 0x3d, 0x44, 0x41, 0x4c, 0x26, 0x26, 0x2b, 0x24, 0x24, 0x28, 0x27, 0x27, 0x2d, 0x29, 0x29, 0x2f, 0x28, 0x28, 0x2e, 0x25, 0x25, 0x2b, 0x23, 0x23, 0x28, 0x44, 0x42, 0x4e, 0x36, 0x34, 0x3e, 0x44, 0x41, 0x4e, 0x26, 0x26, 0x2c, 0x25, 0x25, 0x2a, 0x2a, 0x2a, 0x2f, 0x2b, 0x2b, 0x31, 0x22, 0x22, 0x26, 0x46, 0x42, 0x4f, 0x38, 0x35, 0x3f, 0x2d, 0x2d, 0x33, 0x22, 0x22, 0x27, 0x47, 0x45, 0x50, 0x39, 0x37, 0x40, 0x27, 0x27, 0x2b, 0x2e, 0x2e, 0x34, 0x2c, 0x2c, 0x31, 0x29, 0x29, 0x2e, 0x49, 0x46, 0x53, 0x3a, 0x38, 0x42, 0x4a, 0x47, 0x54, 0x3b, 0x39, 0x43, 0x24, 0x24, 0x2a, 0x24, 0x24, 0x29, 0x20, 0x20, 0x25, 0x4b, 0x49, 0x55, 0x3c, 0x3a, 0x44, 0x28, 0x28, 0x2d, 0x2b, 0x2b, 0x30, 0x29, 0x29, 0x2d, 0x20, 0x20, 0x23, 0x4e, 0x4a, 0x58, 0x3e, 0x3b, 0x46, 0x22, 0x22, 0x28, 0x27, 0x27, 0x2c, 0x1e, 0x1e, 0x22, 0x50, 0x4d, 0x5a, 0x3f, 0x3d, 0x48, 0x3f, 0x3d, 0x47, 0x4f, 0x4c, 0x59, 0x21, 0x21, 0x26, 0x21, 0x21, 0x25, 0x23, 0x23, 0x27, 0x20, 0x20, 0x24, 0x1d, 0x1d, 0x21, 0x45, 0x42, 0x4d, 0x41, 0x3e, 0x49, 0x40, 0x3e, 0x48, 0x50, 0x4e, 0x5a, 0x1f, 0x1f, 0x24, 0x1f, 0x1f, 0x23, 0x1e, 0x1e, 0x21, 0x52, 0x4e, 0x5c, 0x51, 0x4e, 0x5b, 0x5d, 0x59, 0x69, 0x10, 0x9d, 0xe0, 0x3c, 0x0, 0x0, 0x0, 0x24, 0x74, 0x52, 0x4e, 0x53, 0x0, 0x4, 0xa, 0x11, 0x19, 0x1f, 0x22, 0x24, 0x1d, 0x16, 0xd, 0x7, 0x2, 0x15, 0x25, 0x34, 0x3f, 0x46, 0x47, 0x48, 0x43, 0x3a, 0x2d, 0x1b, 0x77, 0xef, 0xe6, 0x49, 0xef, 0xe6, 0xef, 0xe7, 0x77, 0xef, 0xe4, 0x4a, 0xba, 0xea, 0xc1, 0xeb, 0x0, 0x0, 0x0, 0xe6, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x6c, 0xcf, 0x3, 0x62, 0x4, 0x51, 0x10, 0x4, 0xd0, 0xaa, 0x31, 0x62, 0xdb, 0xb8, 0x49, 0x2e, 0x9e, 0x3b, 0xc4, 0xb6, 0x9d, 0xc5, 0x58, 0x1f, 0xc1, 0xd6, 0xe8, 0x77, 0xf7, 0x1b, 0x59, 0x6c, 0x2, 0x20, 0x37, 0xaa, 0xc5, 0x17, 0x7e, 0xc7, 0x62, 0x28, 0x45, 0x75, 0xfe, 0x6c, 0xe1, 0x4f, 0x68, 0x86, 0x41, 0x69, 0x44, 0x51, 0x4b, 0xb1, 0xce, 0xcc, 0xe4, 0x83, 0xd7, 0xb0, 0x48, 0x6b, 0x98, 0xe8, 0x9, 0x38, 0x70, 0x8b, 0xa, 0xcc, 0x12, 0x1a, 0xf0, 0x4d, 0xac, 0x87, 0xf3, 0x96, 0x6f, 0x8e, 0x5f, 0x56, 0xc0, 0x53, 0x20, 0x8f, 0xbf, 0xdb, 0x86, 0x58, 0x5b, 0x9, 0xbf, 0x47, 0x80, 0xa, 0x58, 0x1a, 0x38, 0xad, 0x9, 0x5f, 0xac, 0xe3, 0x20, 0xbc, 0x4b, 0x46, 0x4b, 0x0, 0x3a, 0x1a, 0x24, 0xd0, 0x69, 0x85, 0xc0, 0x63, 0x5, 0x60, 0x68, 0xf0, 0x36, 0x7f, 0xf3, 0xaa, 0xbe, 0xe1, 0x61, 0x81, 0x69, 0x5, 0x72, 0x5b, 0x83, 0xe4, 0x6a, 0x59, 0x16, 0xf7, 0x53, 0x47, 0x77, 0x8b, 0xad, 0x12, 0xe4, 0xb9, 0xa3, 0xc1, 0xe6, 0x83, 0x7b, 0x20, 0xd6, 0xb4, 0xe7, 0xbf, 0xed, 0xe1, 0x1a, 0xd8, 0xfa, 0xdf, 0xb9, 0x70, 0xb8, 0x21, 0xd6, 0xbb, 0x17, 0x1b, 0xe3, 0x4c, 0x6a, 0xb0, 0xbd, 0x25, 0x5, 0x3b, 0x5e, 0x7c, 0x21, 0xc0, 0xc2, 0x68, 0xee, 0xf1, 0xbc, 0x6, 0x46, 0xb1, 0xbd, 0x5e, 0x30, 0x5, 0x27, 0x19, 0x24, 0xb8, 0x61, 0x6e, 0xf8, 0xf5, 0xf7, 0xcd, 0x47, 0x16, 0xa0, 0x18, 0x13, 0x6a, 0x64, 0x7d, 0xff, 0x8f, 0x1e, 0x59, 0x84, 0xa2, 0x1b, 0x0, 0xe5, 0xe0, 0x4e, 0x46, 0x1d, 0x98, 0x92, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
};
+static const unsigned char overbright_indicator_png[] = {
+ 0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, 0x0, 0x0, 0x0, 0xd, 0x49, 0x48, 0x44, 0x52, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x4, 0x3, 0x0, 0x0, 0x0, 0xed, 0xdd, 0xe2, 0x52, 0x0, 0x0, 0x1, 0x85, 0x69, 0x43, 0x43, 0x50, 0x49, 0x43, 0x43, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x0, 0x0, 0x78, 0x9c, 0x7d, 0x91, 0x3d, 0x48, 0xc3, 0x40, 0x1c, 0xc5, 0x5f, 0x53, 0xa5, 0x2a, 0x2d, 0xe, 0x16, 0x11, 0x75, 0xc8, 0x50, 0x9d, 0x2c, 0x8a, 0x8a, 0x38, 0x6a, 0x15, 0x8a, 0x50, 0x21, 0xd4, 0xa, 0xad, 0x3a, 0x98, 0x5c, 0xfa, 0x21, 0x34, 0x69, 0x48, 0x52, 0x5c, 0x1c, 0x5, 0xd7, 0x82, 0x83, 0x1f, 0x8b, 0x55, 0x7, 0x17, 0x67, 0x5d, 0x1d, 0x5c, 0x5, 0x41, 0xf0, 0x3, 0xc4, 0xc5, 0xd5, 0x49, 0xd1, 0x45, 0x4a, 0xfc, 0x5f, 0x5a, 0x68, 0x11, 0xe3, 0xc1, 0x71, 0x3f, 0xde, 0xdd, 0x7b, 0xdc, 0xbd, 0x3, 0x84, 0x6a, 0x91, 0x69, 0x56, 0xdb, 0x18, 0xa0, 0xe9, 0xb6, 0x99, 0x8c, 0xc7, 0xc4, 0x74, 0x66, 0x45, 0xc, 0xbc, 0xa2, 0x13, 0x3, 0x8, 0xa1, 0x17, 0xa3, 0x32, 0xb3, 0x8c, 0x59, 0x49, 0x4a, 0xc0, 0x73, 0x7c, 0xdd, 0xc3, 0xc7, 0xd7, 0xbb, 0x28, 0xcf, 0xf2, 0x3e, 0xf7, 0xe7, 0x8, 0xa9, 0x59, 0x8b, 0x1, 0x3e, 0x91, 0x78, 0x86, 0x19, 0xa6, 0x4d, 0xbc, 0x4e, 0x3c, 0xb5, 0x69, 0x1b, 0x9c, 0xf7, 0x89, 0xc3, 0xac, 0x20, 0xab, 0xc4, 0xe7, 0xc4, 0x23, 0x26, 0x5d, 0x90, 0xf8, 0x91, 0xeb, 0x4a, 0x9d, 0xdf, 0x38, 0xe7, 0x5d, 0x16, 0x78, 0x66, 0xd8, 0x4c, 0x25, 0xe7, 0x88, 0xc3, 0xc4, 0x62, 0xbe, 0x85, 0x95, 0x16, 0x66, 0x5, 0x53, 0x23, 0x9e, 0x24, 0x8e, 0xa8, 0x9a, 0x4e, 0xf9, 0x42, 0xba, 0xce, 0x2a, 0xe7, 0x2d, 0xce, 0x5a, 0xb1, 0xcc, 0x1a, 0xf7, 0xe4, 0x2f, 0xc, 0x66, 0xf5, 0xe5, 0x25, 0xae, 0xd3, 0x1c, 0x44, 0x1c, 0xb, 0x58, 0x84, 0x4, 0x11, 0xa, 0xca, 0xd8, 0x40, 0x11, 0x36, 0xa2, 0xb4, 0xea, 0xa4, 0x58, 0x48, 0xd2, 0x7e, 0xcc, 0xc3, 0xdf, 0xef, 0xfa, 0x25, 0x72, 0x29, 0xe4, 0xda, 0x0, 0x23, 0xc7, 0x3c, 0x4a, 0xd0, 0x20, 0xbb, 0x7e, 0xf0, 0x3f, 0xf8, 0xdd, 0xad, 0x95, 0x9b, 0x18, 0xaf, 0x27, 0x5, 0x63, 0x40, 0xfb, 0x8b, 0xe3, 0x7c, 0xc, 0x1, 0x81, 0x5d, 0xa0, 0x56, 0x71, 0x9c, 0xef, 0x63, 0xc7, 0xa9, 0x9d, 0x0, 0xfe, 0x67, 0xe0, 0x4a, 0x6f, 0xfa, 0x4b, 0x55, 0x60, 0xfa, 0x93, 0xf4, 0x4a, 0x53, 0x8b, 0x1c, 0x1, 0xdd, 0xdb, 0xc0, 0xc5, 0x75, 0x53, 0x53, 0xf6, 0x80, 0xcb, 0x1d, 0xa0, 0xef, 0xc9, 0x90, 0x4d, 0xd9, 0x95, 0xfc, 0x34, 0x85, 0x5c, 0xe, 0x78, 0x3f, 0xa3, 0x6f, 0xca, 0x0, 0x3d, 0xb7, 0x40, 0xd7, 0x6a, 0xbd, 0xb7, 0xc6, 0x3e, 0x4e, 0x1f, 0x80, 0x14, 0x75, 0x95, 0xb8, 0x1, 0xe, 0xe, 0x81, 0xe1, 0x3c, 0x65, 0xaf, 0x79, 0xbc, 0xbb, 0xa3, 0xb5, 0xb7, 0x7f, 0xcf, 0x34, 0xfa, 0xfb, 0x1, 0x8e, 0x80, 0x72, 0xb2, 0xed, 0x78, 0xfa, 0x7b, 0x0, 0x0, 0x0, 0x9, 0x70, 0x48, 0x59, 0x73, 0x0, 0x0, 0xe, 0xc4, 0x0, 0x0, 0xe, 0xc4, 0x1, 0x95, 0x2b, 0xe, 0x1b, 0x0, 0x0, 0x0, 0x15, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0x63, 0x63, 0x66, 0x0, 0x0, 0x3, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x4c, 0x39, 0x3a, 0xe, 0x0, 0x0, 0x0, 0x6, 0x74, 0x52, 0x4e, 0x53, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x80, 0x2c, 0x16, 0xc1, 0x6d, 0x0, 0x0, 0x0, 0x1, 0x62, 0x4b, 0x47, 0x44, 0x6, 0x61, 0x66, 0xb8, 0x7d, 0x0, 0x0, 0x0, 0x32, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x62, 0x0, 0x1, 0x46, 0x65, 0x17, 0x17, 0x30, 0x43, 0xc8, 0x4, 0x50, 0x88, 0x1c, 0x52, 0x1, 0x0, 0x2, 0x40, 0x14, 0xbb, 0x70, 0x8b, 0x40, 0xff, 0x2c, 0x18, 0xbe, 0xc6, 0xed, 0x8d, 0x42, 0xa1, 0x50, 0x28, 0x14, 0xa, 0x85, 0xbd, 0xb0, 0x13, 0xfc, 0x71, 0x1, 0xca, 0xf, 0x19, 0x62, 0x24, 0xd6, 0x8, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
+};
+
static const unsigned char panel_bg_png[] = {
0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, 0x0, 0x0, 0x0, 0xd, 0x49, 0x48, 0x44, 0x52, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x8, 0x1, 0x3, 0x0, 0x0, 0x0, 0xfe, 0xc1, 0x2c, 0xc8, 0x0, 0x0, 0x0, 0x6, 0x50, 0x4c, 0x54, 0x45, 0x25, 0x25, 0x2a, 0x35, 0x32, 0x3b, 0x4a, 0x73, 0x58, 0x4a, 0x0, 0x0, 0x0, 0xa, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x63, 0x40, 0x3, 0x0, 0x0, 0x10, 0x0, 0x1, 0xb3, 0xac, 0xe2, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
};
diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp
index 5704212831..99a2881d58 100644
--- a/scene/resources/dynamic_font.cpp
+++ b/scene/resources/dynamic_font.cpp
@@ -192,7 +192,7 @@ Error DynamicFontAtSize::_load() {
ERR_FAIL_V_MSG(ERR_FILE_CANT_OPEN, "Error loading font.");
}
- if (FT_HAS_COLOR(face)) {
+ if (FT_HAS_COLOR(face) && face->num_fixed_sizes > 0) {
int best_match = 0;
int diff = ABS(id.size - ((int64_t)face->available_sizes[0].width));
scale_color_font = float(id.size) / face->available_sizes[0].width;
diff --git a/scene/resources/dynamic_font_stb.cpp b/scene/resources/dynamic_font_stb.cpp
deleted file mode 100644
index 412bffa5dc..0000000000
--- a/scene/resources/dynamic_font_stb.cpp
+++ /dev/null
@@ -1,524 +0,0 @@
-/*************************************************************************/
-/* dynamic_font_stb.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2019 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 "dynamic_font_stb.h"
-
-#ifndef FREETYPE_ENABLED
-
-#define STB_TRUETYPE_IMPLEMENTATION
-#include "core/os/file_access.h"
-
-void DynamicFontData::lock() {
-
- fr = font_data.read();
-
- if (fr.ptr() != last_data_ptr) {
-
- last_data_ptr = fr.ptr();
-
- if (!stbtt_InitFont(&info, last_data_ptr, 0)) {
- valid = false;
- } else {
- valid = true;
- }
-
- last_data_ptr = fr.ptr();
- }
-}
-
-void DynamicFontData::unlock() {
-
- fr.release();
-}
-
-void DynamicFontData::set_font_data(const PoolVector<uint8_t> &p_font) {
- //clear caches and stuff
- ERR_FAIL_COND(font_data.size());
- font_data = p_font;
-
- lock();
-
- if (valid) {
- stbtt_GetFontVMetrics(&info, &ascent, &descent, &linegap);
- descent = -descent + linegap;
-
- for (int i = 32; i < 1024; i++) {
- for (int j = 32; j < 1024; j++) {
-
- int kern = stbtt_GetCodepointKernAdvance(&info, i, j);
- if (kern != 0) {
- KerningPairKey kpk;
- kpk.A = i;
- kpk.B = j;
- kerning_map[kpk] = kern;
- }
- }
- }
- }
-
- unlock();
- //clear existing stuff
-
- ERR_FAIL_COND(!valid);
-}
-
-Ref<DynamicFontAtSize> DynamicFontData::_get_dynamic_font_at_size(int p_size) {
-
- ERR_FAIL_COND_V(!valid, Ref<DynamicFontAtSize>());
-
- if (size_cache.has(p_size)) {
- return Ref<DynamicFontAtSize>(size_cache[p_size]);
- }
-
- Ref<DynamicFontAtSize> dfas;
- dfas.instance();
-
- dfas->font = Ref<DynamicFontData>(this);
-
- size_cache[p_size] = dfas.ptr();
-
- dfas->size = p_size;
-
- lock();
-
- dfas->scale = stbtt_ScaleForPixelHeight(&info, p_size);
-
- unlock();
-
- return dfas;
-}
-
-DynamicFontData::DynamicFontData() {
- last_data_ptr = NULL;
- valid = false;
-}
-
-DynamicFontData::~DynamicFontData() {
-}
-
-////////////////////
-
-float DynamicFontAtSize::get_height() const {
-
- return (font->ascent + font->descent) * scale;
-}
-
-float DynamicFontAtSize::get_ascent() const {
-
- return font->ascent * scale;
-}
-float DynamicFontAtSize::get_descent() const {
-
- return font->descent * scale;
-}
-
-Size2 DynamicFontAtSize::get_char_size(CharType p_char, CharType p_next) const {
-
- const_cast<DynamicFontAtSize *>(this)->_update_char(p_char);
-
- const Character *c = char_map.getptr(p_char);
- ERR_FAIL_COND_V(!c, Size2());
-
- Size2 ret(c->advance, get_height());
-
- if (p_next) {
- DynamicFontData::KerningPairKey kpk;
- kpk.A = p_char;
- kpk.B = p_next;
-
- const Map<DynamicFontData::KerningPairKey, int>::Element *K = font->kerning_map.find(kpk);
- if (K) {
- ret.x += K->get() * scale;
- }
- }
-
- return ret;
-}
-
-float DynamicFontAtSize::draw_char(RID p_canvas_item, const Point2 &p_pos, CharType p_char, CharType p_next, const Color &p_modulate, bool p_outline) const {
-
- const_cast<DynamicFontAtSize *>(this)->_update_char(p_char);
-
- const Character *c = char_map.getptr(p_char);
-
- if (!c) {
- return 0;
- }
-
- if (!p_outline) {
- Point2 cpos = p_pos;
- cpos.x += c->h_align;
- cpos.y -= get_ascent();
- cpos.y += c->v_align;
- ERR_FAIL_COND_V(c->texture_idx < -1 || c->texture_idx >= textures.size(), 0);
- if (c->texture_idx != -1)
- VisualServer::get_singleton()->canvas_item_add_texture_rect_region(p_canvas_item, Rect2(cpos, c->rect.size), textures[c->texture_idx].texture->get_rid(), c->rect, p_modulate);
- }
-
- //textures[c->texture_idx].texture->draw(p_canvas_item,Vector2());
-
- float ret = c->advance;
- if (p_next) {
- DynamicFontData::KerningPairKey kpk;
- kpk.A = p_char;
- kpk.B = p_next;
-
- const Map<DynamicFontData::KerningPairKey, int>::Element *K = font->kerning_map.find(kpk);
- if (K) {
- ret += K->get() * scale;
- }
- }
-
- return ret;
-}
-
-void DynamicFontAtSize::_update_char(CharType p_char) {
-
- if (char_map.has(p_char))
- return;
-
- font->lock();
-
- int w, h, xofs, yofs;
- unsigned char *cpbitmap = stbtt_GetCodepointBitmap(&font->info, scale, scale, p_char, &w, &h, &xofs, &yofs);
-
- if (!cpbitmap) {
- //no glyph
-
- int advance;
- stbtt_GetCodepointHMetrics(&font->info, p_char, &advance, 0);
- Character ch;
- ch.texture_idx = -1;
- ch.advance = advance * scale;
- ch.h_align = 0;
- ch.v_align = 0;
-
- char_map[p_char] = ch;
-
- font->unlock();
-
- return;
- }
-
- int mw = w + rect_margin * 2;
- int mh = h + rect_margin * 2;
-
- if (mw > 4096 || mh > 4096) {
-
- stbtt_FreeBitmap(cpbitmap, NULL);
- font->unlock();
- ERR_FAIL_COND(mw > 4096);
- ERR_FAIL_COND(mh > 4096);
- }
-
- //find a texture to fit this...
-
- int tex_index = -1;
- int tex_x = 0;
- int tex_y = 0;
-
- for (int i = 0; i < textures.size(); i++) {
-
- CharTexture &ct = textures[i];
-
- if (mw > ct.texture_size || mh > ct.texture_size) //too big for this texture
- continue;
-
- tex_y = 0x7FFFFFFF;
- tex_x = 0;
-
- for (int j = 0; j < ct.texture_size - mw; j++) {
-
- int max_y = 0;
-
- for (int k = j; k < j + mw; k++) {
-
- int y = ct.offsets[k];
- if (y > max_y)
- max_y = y;
- }
-
- if (max_y < tex_y) {
- tex_y = max_y;
- tex_x = j;
- }
- }
-
- if (tex_y == 0x7FFFFFFF || tex_y + mh > ct.texture_size)
- continue; //fail, could not fit it here
-
- tex_index = i;
- break;
- }
-
- if (tex_index == -1) {
- //could not find texture to fit, create one
- tex_x = 0;
- tex_y = 0;
-
- int texsize = MAX(size * 8, 256);
- if (mw > texsize)
- texsize = mw; //special case, adapt to it?
- if (mh > texsize)
- texsize = mh; //special case, adapt to it?
-
- texsize = next_power_of_2(texsize);
-
- texsize = MIN(texsize, 4096);
-
- CharTexture tex;
- tex.texture_size = texsize;
- tex.imgdata.resize(texsize * texsize * 2); //grayscale alpha
-
- {
- //zero texture
- PoolVector<uint8_t>::Write w = tex.imgdata.write();
- ERR_FAIL_COND(texsize * texsize * 2 > tex.imgdata.size());
- for (int i = 0; i < texsize * texsize * 2; i++) {
- w[i] = 0;
- }
- }
- tex.offsets.resize(texsize);
- for (int i = 0; i < texsize; i++) //zero offsets
- tex.offsets[i] = 0;
-
- textures.push_back(tex);
- tex_index = textures.size() - 1;
- }
-
- //fit character in char texture
-
- CharTexture &tex = textures[tex_index];
-
- {
- PoolVector<uint8_t>::Write wr = tex.imgdata.write();
-
- for (int i = 0; i < h; i++) {
- for (int j = 0; j < w; j++) {
-
- int ofs = ((i + tex_y + rect_margin) * tex.texture_size + j + tex_x + rect_margin) * 2;
- ERR_FAIL_COND(ofs >= tex.imgdata.size());
- wr[ofs + 0] = 255; //grayscale as 1
- wr[ofs + 1] = cpbitmap[i * w + j]; //alpha as 0
- }
- }
- }
-
- //blit to image and texture
- {
- Ref<Image> img = memnew(Image(tex.texture_size, tex.texture_size, 0, Image::FORMAT_LA8, tex.imgdata));
-
- if (tex.texture.is_null()) {
- tex.texture.instance();
- tex.texture->create_from_image(img, Texture::FLAG_FILTER);
- } else {
- tex.texture->set_data(img); //update
- }
- }
-
- // update height array
-
- for (int k = tex_x; k < tex_x + mw; k++) {
-
- tex.offsets[k] = tex_y + mh;
- }
-
- int advance;
- stbtt_GetCodepointHMetrics(&font->info, p_char, &advance, 0);
-
- Character chr;
- chr.h_align = xofs;
- chr.v_align = yofs + get_ascent();
- chr.advance = advance * scale;
- chr.texture_idx = tex_index;
-
- chr.rect = Rect2(tex_x + rect_margin, tex_y + rect_margin, w, h);
-
- char_map[p_char] = chr;
-
- stbtt_FreeBitmap(cpbitmap, NULL);
-
- font->unlock();
-}
-
-DynamicFontAtSize::DynamicFontAtSize() {
-
- rect_margin = 1;
-}
-
-DynamicFontAtSize::~DynamicFontAtSize() {
-
- ERR_FAIL_COND(!font.ptr());
- font->size_cache.erase(size);
-}
-
-/////////////////////////
-
-void DynamicFont::_bind_methods() {
-
- ClassDB::bind_method(D_METHOD("set_font_data", "data"), &DynamicFont::set_font_data);
- ClassDB::bind_method(D_METHOD("get_font_data"), &DynamicFont::get_font_data);
-
- ClassDB::bind_method(D_METHOD("set_size", "data"), &DynamicFont::set_size);
- ClassDB::bind_method(D_METHOD("get_size"), &DynamicFont::get_size);
-
- ADD_PROPERTY(PropertyInfo(Variant::INT, "font/size"), "set_size", "get_size");
- ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "font/font", PROPERTY_HINT_RESOURCE_TYPE, "DynamicFontData"), "set_font_data", "get_font_data");
-}
-
-void DynamicFont::set_font_data(const Ref<DynamicFontData> &p_data) {
-
- data = p_data;
- data_at_size = data->_get_dynamic_font_at_size(size);
-}
-
-Ref<DynamicFontData> DynamicFont::get_font_data() const {
-
- return data;
-}
-
-void DynamicFont::set_size(int p_size) {
-
- if (size == p_size)
- return;
- size = p_size;
- ERR_FAIL_COND(p_size < 1);
- if (!data.is_valid())
- return;
- data_at_size = data->_get_dynamic_font_at_size(size);
-}
-int DynamicFont::get_size() const {
-
- return size;
-}
-
-float DynamicFont::get_height() const {
-
- if (!data_at_size.is_valid())
- return 1;
-
- return data_at_size->get_height();
-}
-
-float DynamicFont::get_ascent() const {
-
- if (!data_at_size.is_valid())
- return 1;
-
- return data_at_size->get_ascent();
-}
-
-float DynamicFont::get_descent() const {
-
- if (!data_at_size.is_valid())
- return 1;
-
- return data_at_size->get_descent();
-}
-
-Size2 DynamicFont::get_char_size(CharType p_char, CharType p_next) const {
-
- if (!data_at_size.is_valid())
- return Size2(1, 1);
-
- return data_at_size->get_char_size(p_char, p_next);
-}
-
-bool DynamicFont::is_distance_field_hint() const {
-
- return false;
-}
-
-float DynamicFont::draw_char(RID p_canvas_item, const Point2 &p_pos, CharType p_char, CharType p_next, const Color &p_modulate, bool p_outline) const {
-
- if (!data_at_size.is_valid())
- return 0;
-
- return data_at_size->draw_char(p_canvas_item, p_pos, p_char, p_next, p_modulate, p_outline);
-}
-
-DynamicFont::DynamicFont() {
-
- size = 16;
-}
-
-DynamicFont::~DynamicFont() {
-}
-
-/////////////////////////
-
-RES ResourceFormatLoaderDynamicFont::load(const String &p_path, const String &p_original_path, Error *r_error) {
-
- if (r_error)
- *r_error = ERR_FILE_CANT_OPEN;
-
- FileAccess *f = FileAccess::open(p_path, FileAccess::READ);
- ERR_FAIL_COND_V_MSG(!f, RES(), "Cannot load font from file '" + p_path + "'.");
-
- PoolVector<uint8_t> data;
-
- data.resize(f->get_len());
-
- ERR_FAIL_COND_V(data.size() == 0, RES());
-
- {
- PoolVector<uint8_t>::Write w = data.write();
- f->get_buffer(w.ptr(), data.size());
- }
-
- Ref<DynamicFontData> dfd;
- dfd.instance();
- dfd->set_font_data(data);
-
- if (r_error)
- *r_error = OK;
-
- return dfd;
-}
-
-void ResourceFormatLoaderDynamicFont::get_recognized_extensions(List<String> *p_extensions) const {
-
- p_extensions->push_back("ttf");
-}
-
-bool ResourceFormatLoaderDynamicFont::handles_type(const String &p_type) const {
-
- return (p_type == "DynamicFontData");
-}
-
-String ResourceFormatLoaderDynamicFont::get_resource_type(const String &p_path) const {
-
- String el = p_path.get_extension().to_lower();
- if (el == "ttf")
- return "DynamicFontData";
- return "";
-}
-
-#endif
diff --git a/scene/resources/dynamic_font_stb.h b/scene/resources/dynamic_font_stb.h
deleted file mode 100644
index caee6e7e32..0000000000
--- a/scene/resources/dynamic_font_stb.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/*************************************************************************/
-/* dynamic_font_stb.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2019 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 DYNAMICFONT_STB_H
-#define DYNAMICFONT_STB_H
-
-#ifndef FREETYPE_ENABLED
-
-#include "core/io/resource_loader.h"
-#include "font.h"
-
-#include "thirdparty/misc/stb_truetype.h"
-
-class DynamicFontAtSize;
-class DynamicFont;
-
-class DynamicFontData : public Resource {
-
- GDCLASS(DynamicFontData, Resource);
-
- bool valid;
-
- PoolVector<uint8_t> font_data;
- PoolVector<uint8_t>::Read fr;
- const uint8_t *last_data_ptr;
-
- struct KerningPairKey {
-
- union {
- struct {
- uint32_t A, B;
- };
-
- uint64_t pair;
- };
-
- _FORCE_INLINE_ bool operator<(const KerningPairKey &p_r) const { return pair < p_r.pair; }
- };
-
- Map<KerningPairKey, int> kerning_map;
-
- Map<int, DynamicFontAtSize *> size_cache;
-
- friend class DynamicFontAtSize;
-
- stbtt_fontinfo info;
- int ascent;
- int descent;
- int linegap;
-
- void lock();
- void unlock();
-
- friend class DynamicFont;
-
- Ref<DynamicFontAtSize> _get_dynamic_font_at_size(int p_size);
-
-public:
- void set_font_data(const PoolVector<uint8_t> &p_font);
- DynamicFontData();
- ~DynamicFontData();
-};
-
-class DynamicFontAtSize : public Reference {
-
- GDCLASS(DynamicFontAtSize, Reference);
-
- int rect_margin;
-
- struct CharTexture {
-
- PoolVector<uint8_t> imgdata;
- int texture_size;
- Vector<int> offsets;
- Ref<ImageTexture> texture;
- };
-
- Vector<CharTexture> textures;
-
- struct Character {
-
- int texture_idx;
- Rect2 rect;
- float v_align;
- float h_align;
- float advance;
-
- Character() {
- texture_idx = 0;
- v_align = 0;
- }
- };
-
- HashMap<CharType, Character> char_map;
-
- _FORCE_INLINE_ void _update_char(CharType p_char);
-
- friend class DynamicFontData;
- Ref<DynamicFontData> font;
- float scale;
- int size;
-
-protected:
-public:
- float get_height() const;
-
- float get_ascent() const;
- float get_descent() const;
-
- Size2 get_char_size(CharType p_char, CharType p_next = 0) const;
-
- float draw_char(RID p_canvas_item, const Point2 &p_pos, CharType p_char, CharType p_next = 0, const Color &p_modulate = Color(1, 1, 1), bool p_outline = false) const;
-
- DynamicFontAtSize();
- ~DynamicFontAtSize();
-};
-
-///////////////
-
-class DynamicFont : public Font {
-
- GDCLASS(DynamicFont, Font);
-
- Ref<DynamicFontData> data;
- Ref<DynamicFontAtSize> data_at_size;
- int size;
-
-protected:
- static void _bind_methods();
-
-public:
- void set_font_data(const Ref<DynamicFontData> &p_data);
- Ref<DynamicFontData> get_font_data() const;
-
- void set_size(int p_size);
- int get_size() const;
-
- virtual float get_height() const;
-
- virtual float get_ascent() const;
- virtual float get_descent() const;
-
- virtual Size2 get_char_size(CharType p_char, CharType p_next = 0) const;
-
- virtual bool is_distance_field_hint() const;
-
- virtual float draw_char(RID p_canvas_item, const Point2 &p_pos, CharType p_char, CharType p_next = 0, const Color &p_modulate = Color(1, 1, 1), bool p_outline = false) const;
-
- DynamicFont();
- ~DynamicFont();
-};
-
-/////////////
-
-class ResourceFormatLoaderDynamicFont : public ResourceFormatLoader {
-public:
- virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL);
- virtual void get_recognized_extensions(List<String> *p_extensions) const;
- virtual bool handles_type(const String &p_type) const;
- virtual String get_resource_type(const String &p_path) const;
-};
-
-#endif
-#endif // DYNAMICFONT_H
diff --git a/scene/resources/environment.cpp b/scene/resources/environment.cpp
index afb7f1102b..bc96b5e9f3 100644
--- a/scene/resources/environment.cpp
+++ b/scene/resources/environment.cpp
@@ -354,10 +354,6 @@ void Environment::_validate_property(PropertyInfo &property) const {
"tonemap_",
"ss_reflections_",
"ssao_",
- "dof_blur_far_",
- "dof_blur_near_",
- "glow_",
- "adjustment_",
NULL
};
diff --git a/scene/resources/font.cpp b/scene/resources/font.cpp
index c94e143580..124e4d37e6 100644
--- a/scene/resources/font.cpp
+++ b/scene/resources/font.cpp
@@ -96,7 +96,7 @@ void Font::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_height"), &Font::get_height);
ClassDB::bind_method(D_METHOD("is_distance_field_hint"), &Font::is_distance_field_hint);
ClassDB::bind_method(D_METHOD("get_string_size", "string"), &Font::get_string_size);
- ClassDB::bind_method(D_METHOD("get_wordwrap_string_size", "string", "p_width"), &Font::get_wordwrap_string_size);
+ ClassDB::bind_method(D_METHOD("get_wordwrap_string_size", "string", "width"), &Font::get_wordwrap_string_size);
ClassDB::bind_method(D_METHOD("has_outline"), &Font::has_outline);
ClassDB::bind_method(D_METHOD("draw_char", "canvas_item", "position", "char", "next", "modulate", "outline"), &Font::draw_char, DEFVAL(-1), DEFVAL(Color(1, 1, 1)), DEFVAL(false));
ClassDB::bind_method(D_METHOD("update_changes"), &Font::update_changes);
diff --git a/scene/resources/mesh_library.cpp b/scene/resources/mesh_library.cpp
index ad8da63abf..f04af29761 100644
--- a/scene/resources/mesh_library.cpp
+++ b/scene/resources/mesh_library.cpp
@@ -29,6 +29,7 @@
/*************************************************************************/
#include "mesh_library.h"
+#include "core/engine.h"
bool MeshLibrary::_set(const StringName &p_name, const Variant &p_value) {
@@ -201,6 +202,11 @@ Transform MeshLibrary::get_item_navmesh_transform(int p_item) const {
Ref<Texture> MeshLibrary::get_item_preview(int p_item) const {
+ if (!Engine::get_singleton()->is_editor_hint()) {
+ ERR_PRINT("MeshLibrary item previews are only generated in an editor context, which means they aren't available in a running project.");
+ return Ref<Texture>();
+ }
+
ERR_FAIL_COND_V_MSG(!item_map.has(p_item), Ref<Texture>(), "Requested for nonexistent MeshLibrary item '" + itos(p_item) + "'.");
return item_map[p_item].preview;
}
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp
index 3f2261b043..1dba0c5b09 100644
--- a/scene/resources/visual_shader.cpp
+++ b/scene/resources/visual_shader.cpp
@@ -122,7 +122,8 @@ void VisualShaderNode::_bind_methods() {
BIND_ENUM_CONSTANT(PORT_TYPE_VECTOR);
BIND_ENUM_CONSTANT(PORT_TYPE_BOOLEAN);
BIND_ENUM_CONSTANT(PORT_TYPE_TRANSFORM);
- BIND_ENUM_CONSTANT(PORT_TYPE_ICON_COLOR);
+ BIND_ENUM_CONSTANT(PORT_TYPE_SAMPLER);
+ BIND_ENUM_CONSTANT(PORT_TYPE_MAX);
}
VisualShaderNode::VisualShaderNode() {
@@ -1058,7 +1059,15 @@ Error VisualShader::_write_node(Type type, StringBuilder &global_code, StringBui
String src_var = "n_out" + itos(from_node) + "p" + itos(from_port);
- if (in_type == out_type) {
+ if (in_type == VisualShaderNode::PORT_TYPE_SAMPLER && out_type == VisualShaderNode::PORT_TYPE_SAMPLER) {
+
+ VisualShaderNodeUniform *uniform = (VisualShaderNodeUniform *)graph[type].nodes[from_node].node.ptr();
+ if (uniform) {
+ inputs[i] = uniform->get_uniform_name();
+ } else {
+ inputs[i] = "";
+ }
+ } else if (in_type == out_type) {
inputs[i] = src_var;
} else if (in_type == VisualShaderNode::PORT_TYPE_SCALAR && out_type == VisualShaderNode::PORT_TYPE_VECTOR) {
inputs[i] = "dot(" + src_var + ",vec3(0.333333,0.333333,0.333333))";
@@ -1139,12 +1148,16 @@ Error VisualShader::_write_node(Type type, StringBuilder &global_code, StringBui
global_code += vsnode->generate_global(get_mode(), type, node);
- if (!r_classes.has(vsnode->get_class_name())) {
+ String class_name = vsnode->get_class_name();
+ if (class_name == "VisualShaderNodeCustom") {
+ class_name = vsnode->get_script_instance()->get_script()->get_language()->get_global_class_name(vsnode->get_script_instance()->get_script()->get_path());
+ }
+ if (!r_classes.has(class_name)) {
global_code_per_node += vsnode->generate_global_per_node(get_mode(), type, node);
for (int i = 0; i < TYPE_MAX; i++) {
global_code_per_func[Type(i)] += vsnode->generate_global_per_func(get_mode(), Type(i), node);
}
- r_classes.insert(vsnode->get_class_name());
+ r_classes.insert(class_name);
}
}
@@ -2207,7 +2220,7 @@ void VisualShaderNodeGroupBase::clear_output_ports() {
void VisualShaderNodeGroupBase::set_input_port_type(int p_id, int p_type) {
ERR_FAIL_COND(!has_input_port(p_id));
- ERR_FAIL_COND(p_type < 0 || p_type > PORT_TYPE_TRANSFORM);
+ ERR_FAIL_COND(p_type < 0 || p_type >= PORT_TYPE_MAX);
if (input_ports[p_id].type == p_type)
return;
@@ -2273,7 +2286,7 @@ String VisualShaderNodeGroupBase::get_input_port_name(int p_id) const {
void VisualShaderNodeGroupBase::set_output_port_type(int p_id, int p_type) {
ERR_FAIL_COND(!has_output_port(p_id));
- ERR_FAIL_COND(p_type < 0 || p_type > PORT_TYPE_TRANSFORM);
+ ERR_FAIL_COND(p_type < 0 || p_type >= PORT_TYPE_MAX);
if (output_ports[p_id].type == p_type)
return;
diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h
index 45beb8e6ca..d9f089586d 100644
--- a/scene/resources/visual_shader.h
+++ b/scene/resources/visual_shader.h
@@ -184,7 +184,8 @@ public:
PORT_TYPE_VECTOR,
PORT_TYPE_BOOLEAN,
PORT_TYPE_TRANSFORM,
- PORT_TYPE_ICON_COLOR // just a hint for node tree icons, do not use it as actual port type !
+ PORT_TYPE_SAMPLER,
+ PORT_TYPE_MAX,
};
virtual String get_caption() const = 0;
diff --git a/scene/resources/visual_shader_nodes.cpp b/scene/resources/visual_shader_nodes.cpp
index b7173b157e..24e436e61c 100644
--- a/scene/resources/visual_shader_nodes.cpp
+++ b/scene/resources/visual_shader_nodes.cpp
@@ -361,15 +361,35 @@ String VisualShaderNodeTexture::get_caption() const {
}
int VisualShaderNodeTexture::get_input_port_count() const {
- return 2;
+ return 3;
}
VisualShaderNodeTexture::PortType VisualShaderNodeTexture::get_input_port_type(int p_port) const {
- return p_port == 0 ? PORT_TYPE_VECTOR : PORT_TYPE_SCALAR;
+
+ switch (p_port) {
+ case 0:
+ return PORT_TYPE_VECTOR;
+ case 1:
+ return PORT_TYPE_SCALAR;
+ case 2:
+ return PORT_TYPE_SAMPLER;
+ default:
+ return PORT_TYPE_SCALAR;
+ }
}
String VisualShaderNodeTexture::get_input_port_name(int p_port) const {
- return p_port == 0 ? "uv" : "lod";
+
+ switch (p_port) {
+ case 0:
+ return "uv";
+ case 1:
+ return "lod";
+ case 2:
+ return "sampler";
+ default:
+ return "";
+ }
}
int VisualShaderNodeTexture::get_output_port_count() const {
@@ -440,6 +460,29 @@ String VisualShaderNodeTexture::generate_code(Shader::Mode p_mode, VisualShader:
return code;
}
+ if (source == SOURCE_PORT) {
+ String id = p_input_vars[2];
+ String code;
+ if (id == String()) {
+ code += "\tvec4 " + id + "_tex_read = vec4(0.0);\n";
+ } else {
+ if (p_input_vars[0] == String()) { //none bound, do nothing
+
+ code += "\tvec4 " + id + "_tex_read = vec4(0.0);\n";
+
+ } else if (p_input_vars[1] == String()) {
+ //no lod
+ code += "\tvec4 " + id + "_tex_read = texture( " + id + " , " + p_input_vars[0] + ".xy );\n";
+ } else {
+ code += "\tvec4 " + id + "_tex_read = textureLod( " + id + " , " + p_input_vars[0] + ".xy , " + p_input_vars[1] + " );\n";
+ }
+
+ code += "\t" + p_output_vars[0] + " = " + id + "_tex_read.rgb;\n";
+ code += "\t" + p_output_vars[1] + " = " + id + "_tex_read.a;\n";
+ }
+ return code;
+ }
+
if (source == SOURCE_SCREEN && (p_mode == Shader::MODE_SPATIAL || p_mode == Shader::MODE_CANVAS_ITEM) && p_type == VisualShader::TYPE_FRAGMENT) {
String code = "\t{\n";
@@ -588,6 +631,10 @@ String VisualShaderNodeTexture::get_warning(Shader::Mode p_mode, VisualShader::T
return String(); // all good
}
+ if (source == SOURCE_PORT) {
+ return String(); // all good
+ }
+
if (source == SOURCE_SCREEN && (p_mode == Shader::MODE_SPATIAL || p_mode == Shader::MODE_CANVAS_ITEM) && p_type == VisualShader::TYPE_FRAGMENT) {
return String(); // all good
@@ -625,7 +672,7 @@ void VisualShaderNodeTexture::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_texture_type", "value"), &VisualShaderNodeTexture::set_texture_type);
ClassDB::bind_method(D_METHOD("get_texture_type"), &VisualShaderNodeTexture::get_texture_type);
- ADD_PROPERTY(PropertyInfo(Variant::INT, "source", PROPERTY_HINT_ENUM, "Texture,Screen,Texture2D,NormalMap2D,Depth"), "set_source", "get_source");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "source", PROPERTY_HINT_ENUM, "Texture,Screen,Texture2D,NormalMap2D,Depth,SamplerPort"), "set_source", "get_source");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_texture", "get_texture");
ADD_PROPERTY(PropertyInfo(Variant::INT, "texture_type", PROPERTY_HINT_ENUM, "Data,Color,Normalmap"), "set_texture_type", "get_texture_type");
@@ -3023,15 +3070,35 @@ String VisualShaderNodeTextureUniform::get_input_port_name(int p_port) const {
}
int VisualShaderNodeTextureUniform::get_output_port_count() const {
- return 2;
+ return 3;
}
VisualShaderNodeTextureUniform::PortType VisualShaderNodeTextureUniform::get_output_port_type(int p_port) const {
- return p_port == 0 ? PORT_TYPE_VECTOR : PORT_TYPE_SCALAR;
+
+ switch (p_port) {
+ case 0:
+ return PORT_TYPE_VECTOR;
+ case 1:
+ return PORT_TYPE_SCALAR;
+ case 2:
+ return PORT_TYPE_SAMPLER;
+ default:
+ return PORT_TYPE_SCALAR;
+ }
}
String VisualShaderNodeTextureUniform::get_output_port_name(int p_port) const {
- return p_port == 0 ? "rgb" : "alpha";
+
+ switch (p_port) {
+ case 0:
+ return "rgb";
+ case 1:
+ return "alpha";
+ case 2:
+ return "sampler";
+ default:
+ return "";
+ }
}
String VisualShaderNodeTextureUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
diff --git a/scene/resources/visual_shader_nodes.h b/scene/resources/visual_shader_nodes.h
index 0c6e060353..1e4608444c 100644
--- a/scene/resources/visual_shader_nodes.h
+++ b/scene/resources/visual_shader_nodes.h
@@ -199,7 +199,8 @@ public:
SOURCE_SCREEN,
SOURCE_2D_TEXTURE,
SOURCE_2D_NORMAL,
- SOURCE_DEPTH
+ SOURCE_DEPTH,
+ SOURCE_PORT,
};
enum TextureType {
diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp
index 1b9c3e2eff..3b549afb02 100644
--- a/servers/visual/shader_language.cpp
+++ b/servers/visual/shader_language.cpp
@@ -5348,9 +5348,7 @@ Error ShaderLanguage::complete(const String &p_code, const Map<StringName, Funct
nodes = NULL;
shader = alloc_node<ShaderNode>();
- Error err = _parse_shader(p_functions, p_render_modes, p_shader_types);
- if (err != OK)
- ERR_PRINT("Failed to parse shader");
+ _parse_shader(p_functions, p_render_modes, p_shader_types);
switch (completion_type) {
diff --git a/thirdparty/README.md b/thirdparty/README.md
index 3f2fc6d8f9..7c7f331657 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -374,10 +374,6 @@ Collection of single-file libraries used in Godot components.
* Upstream: https://wiki.blender.org/index.php/Dev:Shading/Tangent_Space_Normal_Maps
* Version: 1.0
* License: zlib
-- `stb_truetype.h`
- * Upstream: https://github.com/nothings/stb
- * Version: 1.21
- * License: Public Domain (Unlicense) or MIT
- `stb_vorbis.c`
* Upstream: https://github.com/nothings/stb
* Version: 1.16
diff --git a/thirdparty/misc/stb_truetype.h b/thirdparty/misc/stb_truetype.h
deleted file mode 100644
index 72299ea86d..0000000000
--- a/thirdparty/misc/stb_truetype.h
+++ /dev/null
@@ -1,4882 +0,0 @@
-// stb_truetype.h - v1.21 - public domain
-// authored from 2009-2016 by Sean Barrett / RAD Game Tools
-//
-// This library processes TrueType files:
-// parse files
-// extract glyph metrics
-// extract glyph shapes
-// render glyphs to one-channel bitmaps with antialiasing (box filter)
-// render glyphs to one-channel SDF bitmaps (signed-distance field/function)
-//
-// Todo:
-// non-MS cmaps
-// crashproof on bad data
-// hinting? (no longer patented)
-// cleartype-style AA?
-// optimize: use simple memory allocator for intermediates
-// optimize: build edge-list directly from curves
-// optimize: rasterize directly from curves?
-//
-// ADDITIONAL CONTRIBUTORS
-//
-// Mikko Mononen: compound shape support, more cmap formats
-// Tor Andersson: kerning, subpixel rendering
-// Dougall Johnson: OpenType / Type 2 font handling
-// Daniel Ribeiro Maciel: basic GPOS-based kerning
-//
-// Misc other:
-// Ryan Gordon
-// Simon Glass
-// github:IntellectualKitty
-// Imanol Celaya
-// Daniel Ribeiro Maciel
-//
-// Bug/warning reports/fixes:
-// "Zer" on mollyrocket Fabian "ryg" Giesen
-// Cass Everitt Martins Mozeiko
-// stoiko (Haemimont Games) Cap Petschulat
-// Brian Hook Omar Cornut
-// Walter van Niftrik github:aloucks
-// David Gow Peter LaValle
-// David Given Sergey Popov
-// Ivan-Assen Ivanov Giumo X. Clanjor
-// Anthony Pesch Higor Euripedes
-// Johan Duparc Thomas Fields
-// Hou Qiming Derek Vinyard
-// Rob Loach Cort Stratton
-// Kenney Phillis Jr. github:oyvindjam
-// Brian Costabile github:vassvik
-//
-// VERSION HISTORY
-//
-// 1.21 (2019-02-25) fix warning
-// 1.20 (2019-02-07) PackFontRange skips missing codepoints; GetScaleFontVMetrics()
-// 1.19 (2018-02-11) GPOS kerning, STBTT_fmod
-// 1.18 (2018-01-29) add missing function
-// 1.17 (2017-07-23) make more arguments const; doc fix
-// 1.16 (2017-07-12) SDF support
-// 1.15 (2017-03-03) make more arguments const
-// 1.14 (2017-01-16) num-fonts-in-TTC function
-// 1.13 (2017-01-02) support OpenType fonts, certain Apple fonts
-// 1.12 (2016-10-25) suppress warnings about casting away const with -Wcast-qual
-// 1.11 (2016-04-02) fix unused-variable warning
-// 1.10 (2016-04-02) user-defined fabs(); rare memory leak; remove duplicate typedef
-// 1.09 (2016-01-16) warning fix; avoid crash on outofmem; use allocation userdata properly
-// 1.08 (2015-09-13) document stbtt_Rasterize(); fixes for vertical & horizontal edges
-// 1.07 (2015-08-01) allow PackFontRanges to accept arrays of sparse codepoints;
-// variant PackFontRanges to pack and render in separate phases;
-// fix stbtt_GetFontOFfsetForIndex (never worked for non-0 input?);
-// fixed an assert() bug in the new rasterizer
-// replace assert() with STBTT_assert() in new rasterizer
-//
-// Full history can be found at the end of this file.
-//
-// LICENSE
-//
-// See end of file for license information.
-//
-// USAGE
-//
-// Include this file in whatever places need to refer to it. In ONE C/C++
-// file, write:
-// #define STB_TRUETYPE_IMPLEMENTATION
-// before the #include of this file. This expands out the actual
-// implementation into that C/C++ file.
-//
-// To make the implementation private to the file that generates the implementation,
-// #define STBTT_STATIC
-//
-// Simple 3D API (don't ship this, but it's fine for tools and quick start)
-// stbtt_BakeFontBitmap() -- bake a font to a bitmap for use as texture
-// stbtt_GetBakedQuad() -- compute quad to draw for a given char
-//
-// Improved 3D API (more shippable):
-// #include "stb_rect_pack.h" -- optional, but you really want it
-// stbtt_PackBegin()
-// stbtt_PackSetOversampling() -- for improved quality on small fonts
-// stbtt_PackFontRanges() -- pack and renders
-// stbtt_PackEnd()
-// stbtt_GetPackedQuad()
-//
-// "Load" a font file from a memory buffer (you have to keep the buffer loaded)
-// stbtt_InitFont()
-// stbtt_GetFontOffsetForIndex() -- indexing for TTC font collections
-// stbtt_GetNumberOfFonts() -- number of fonts for TTC font collections
-//
-// Render a unicode codepoint to a bitmap
-// stbtt_GetCodepointBitmap() -- allocates and returns a bitmap
-// stbtt_MakeCodepointBitmap() -- renders into bitmap you provide
-// stbtt_GetCodepointBitmapBox() -- how big the bitmap must be
-//
-// Character advance/positioning
-// stbtt_GetCodepointHMetrics()
-// stbtt_GetFontVMetrics()
-// stbtt_GetFontVMetricsOS2()
-// stbtt_GetCodepointKernAdvance()
-//
-// Starting with version 1.06, the rasterizer was replaced with a new,
-// faster and generally-more-precise rasterizer. The new rasterizer more
-// accurately measures pixel coverage for anti-aliasing, except in the case
-// where multiple shapes overlap, in which case it overestimates the AA pixel
-// coverage. Thus, anti-aliasing of intersecting shapes may look wrong. If
-// this turns out to be a problem, you can re-enable the old rasterizer with
-// #define STBTT_RASTERIZER_VERSION 1
-// which will incur about a 15% speed hit.
-//
-// ADDITIONAL DOCUMENTATION
-//
-// Immediately after this block comment are a series of sample programs.
-//
-// After the sample programs is the "header file" section. This section
-// includes documentation for each API function.
-//
-// Some important concepts to understand to use this library:
-//
-// Codepoint
-// Characters are defined by unicode codepoints, e.g. 65 is
-// uppercase A, 231 is lowercase c with a cedilla, 0x7e30 is
-// the hiragana for "ma".
-//
-// Glyph
-// A visual character shape (every codepoint is rendered as
-// some glyph)
-//
-// Glyph index
-// A font-specific integer ID representing a glyph
-//
-// Baseline
-// Glyph shapes are defined relative to a baseline, which is the
-// bottom of uppercase characters. Characters extend both above
-// and below the baseline.
-//
-// Current Point
-// As you draw text to the screen, you keep track of a "current point"
-// which is the origin of each character. The current point's vertical
-// position is the baseline. Even "baked fonts" use this model.
-//
-// Vertical Font Metrics
-// The vertical qualities of the font, used to vertically position
-// and space the characters. See docs for stbtt_GetFontVMetrics.
-//
-// Font Size in Pixels or Points
-// The preferred interface for specifying font sizes in stb_truetype
-// is to specify how tall the font's vertical extent should be in pixels.
-// If that sounds good enough, skip the next paragraph.
-//
-// Most font APIs instead use "points", which are a common typographic
-// measurement for describing font size, defined as 72 points per inch.
-// stb_truetype provides a point API for compatibility. However, true
-// "per inch" conventions don't make much sense on computer displays
-// since different monitors have different number of pixels per
-// inch. For example, Windows traditionally uses a convention that
-// there are 96 pixels per inch, thus making 'inch' measurements have
-// nothing to do with inches, and thus effectively defining a point to
-// be 1.333 pixels. Additionally, the TrueType font data provides
-// an explicit scale factor to scale a given font's glyphs to points,
-// but the author has observed that this scale factor is often wrong
-// for non-commercial fonts, thus making fonts scaled in points
-// according to the TrueType spec incoherently sized in practice.
-//
-// DETAILED USAGE:
-//
-// Scale:
-// Select how high you want the font to be, in points or pixels.
-// Call ScaleForPixelHeight or ScaleForMappingEmToPixels to compute
-// a scale factor SF that will be used by all other functions.
-//
-// Baseline:
-// You need to select a y-coordinate that is the baseline of where
-// your text will appear. Call GetFontBoundingBox to get the baseline-relative
-// bounding box for all characters. SF*-y0 will be the distance in pixels
-// that the worst-case character could extend above the baseline, so if
-// you want the top edge of characters to appear at the top of the
-// screen where y=0, then you would set the baseline to SF*-y0.
-//
-// Current point:
-// Set the current point where the first character will appear. The
-// first character could extend left of the current point; this is font
-// dependent. You can either choose a current point that is the leftmost
-// point and hope, or add some padding, or check the bounding box or
-// left-side-bearing of the first character to be displayed and set
-// the current point based on that.
-//
-// Displaying a character:
-// Compute the bounding box of the character. It will contain signed values
-// relative to <current_point, baseline>. I.e. if it returns x0,y0,x1,y1,
-// then the character should be displayed in the rectangle from
-// <current_point+SF*x0, baseline+SF*y0> to <current_point+SF*x1,baseline+SF*y1).
-//
-// Advancing for the next character:
-// Call GlyphHMetrics, and compute 'current_point += SF * advance'.
-//
-//
-// ADVANCED USAGE
-//
-// Quality:
-//
-// - Use the functions with Subpixel at the end to allow your characters
-// to have subpixel positioning. Since the font is anti-aliased, not
-// hinted, this is very import for quality. (This is not possible with
-// baked fonts.)
-//
-// - Kerning is now supported, and if you're supporting subpixel rendering
-// then kerning is worth using to give your text a polished look.
-//
-// Performance:
-//
-// - Convert Unicode codepoints to glyph indexes and operate on the glyphs;
-// if you don't do this, stb_truetype is forced to do the conversion on
-// every call.
-//
-// - There are a lot of memory allocations. We should modify it to take
-// a temp buffer and allocate from the temp buffer (without freeing),
-// should help performance a lot.
-//
-// NOTES
-//
-// The system uses the raw data found in the .ttf file without changing it
-// and without building auxiliary data structures. This is a bit inefficient
-// on little-endian systems (the data is big-endian), but assuming you're
-// caching the bitmaps or glyph shapes this shouldn't be a big deal.
-//
-// It appears to be very hard to programmatically determine what font a
-// given file is in a general way. I provide an API for this, but I don't
-// recommend it.
-//
-//
-// PERFORMANCE MEASUREMENTS FOR 1.06:
-//
-// 32-bit 64-bit
-// Previous release: 8.83 s 7.68 s
-// Pool allocations: 7.72 s 6.34 s
-// Inline sort : 6.54 s 5.65 s
-// New rasterizer : 5.63 s 5.00 s
-
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-////
-//// SAMPLE PROGRAMS
-////
-//
-// Incomplete text-in-3d-api example, which draws quads properly aligned to be lossless
-//
-#if 0
-#define STB_TRUETYPE_IMPLEMENTATION // force following include to generate implementation
-#include "stb_truetype.h"
-
-unsigned char ttf_buffer[1<<20];
-unsigned char temp_bitmap[512*512];
-
-stbtt_bakedchar cdata[96]; // ASCII 32..126 is 95 glyphs
-GLuint ftex;
-
-void my_stbtt_initfont(void)
-{
- fread(ttf_buffer, 1, 1<<20, fopen("c:/windows/fonts/times.ttf", "rb"));
- stbtt_BakeFontBitmap(ttf_buffer,0, 32.0, temp_bitmap,512,512, 32,96, cdata); // no guarantee this fits!
- // can free ttf_buffer at this point
- glGenTextures(1, &ftex);
- glBindTexture(GL_TEXTURE_2D, ftex);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, 512,512, 0, GL_ALPHA, GL_UNSIGNED_BYTE, temp_bitmap);
- // can free temp_bitmap at this point
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-}
-
-void my_stbtt_print(float x, float y, char *text)
-{
- // assume orthographic projection with units = screen pixels, origin at top left
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D, ftex);
- glBegin(GL_QUADS);
- while (*text) {
- if (*text >= 32 && *text < 128) {
- stbtt_aligned_quad q;
- stbtt_GetBakedQuad(cdata, 512,512, *text-32, &x,&y,&q,1);//1=opengl & d3d10+,0=d3d9
- glTexCoord2f(q.s0,q.t1); glVertex2f(q.x0,q.y0);
- glTexCoord2f(q.s1,q.t1); glVertex2f(q.x1,q.y0);
- glTexCoord2f(q.s1,q.t0); glVertex2f(q.x1,q.y1);
- glTexCoord2f(q.s0,q.t0); glVertex2f(q.x0,q.y1);
- }
- ++text;
- }
- glEnd();
-}
-#endif
-//
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// Complete program (this compiles): get a single bitmap, print as ASCII art
-//
-#if 0
-#include <stdio.h>
-#define STB_TRUETYPE_IMPLEMENTATION // force following include to generate implementation
-#include "stb_truetype.h"
-
-char ttf_buffer[1<<25];
-
-int main(int argc, char **argv)
-{
- stbtt_fontinfo font;
- unsigned char *bitmap;
- int w,h,i,j,c = (argc > 1 ? atoi(argv[1]) : 'a'), s = (argc > 2 ? atoi(argv[2]) : 20);
-
- fread(ttf_buffer, 1, 1<<25, fopen(argc > 3 ? argv[3] : "c:/windows/fonts/arialbd.ttf", "rb"));
-
- stbtt_InitFont(&font, ttf_buffer, stbtt_GetFontOffsetForIndex(ttf_buffer,0));
- bitmap = stbtt_GetCodepointBitmap(&font, 0,stbtt_ScaleForPixelHeight(&font, s), c, &w, &h, 0,0);
-
- for (j=0; j < h; ++j) {
- for (i=0; i < w; ++i)
- putchar(" .:ioVM@"[bitmap[j*w+i]>>5]);
- putchar('\n');
- }
- return 0;
-}
-#endif
-//
-// Output:
-//
-// .ii.
-// @@@@@@.
-// V@Mio@@o
-// :i. V@V
-// :oM@@M
-// :@@@MM@M
-// @@o o@M
-// :@@. M@M
-// @@@o@@@@
-// :M@@V:@@.
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// Complete program: print "Hello World!" banner, with bugs
-//
-#if 0
-char buffer[24<<20];
-unsigned char screen[20][79];
-
-int main(int arg, char **argv)
-{
- stbtt_fontinfo font;
- int i,j,ascent,baseline,ch=0;
- float scale, xpos=2; // leave a little padding in case the character extends left
- char *text = "Heljo World!"; // intentionally misspelled to show 'lj' brokenness
-
- fread(buffer, 1, 1000000, fopen("c:/windows/fonts/arialbd.ttf", "rb"));
- stbtt_InitFont(&font, buffer, 0);
-
- scale = stbtt_ScaleForPixelHeight(&font, 15);
- stbtt_GetFontVMetrics(&font, &ascent,0,0);
- baseline = (int) (ascent*scale);
-
- while (text[ch]) {
- int advance,lsb,x0,y0,x1,y1;
- float x_shift = xpos - (float) floor(xpos);
- stbtt_GetCodepointHMetrics(&font, text[ch], &advance, &lsb);
- stbtt_GetCodepointBitmapBoxSubpixel(&font, text[ch], scale,scale,x_shift,0, &x0,&y0,&x1,&y1);
- stbtt_MakeCodepointBitmapSubpixel(&font, &screen[baseline + y0][(int) xpos + x0], x1-x0,y1-y0, 79, scale,scale,x_shift,0, text[ch]);
- // note that this stomps the old data, so where character boxes overlap (e.g. 'lj') it's wrong
- // because this API is really for baking character bitmaps into textures. if you want to render
- // a sequence of characters, you really need to render each bitmap to a temp buffer, then
- // "alpha blend" that into the working buffer
- xpos += (advance * scale);
- if (text[ch+1])
- xpos += scale*stbtt_GetCodepointKernAdvance(&font, text[ch],text[ch+1]);
- ++ch;
- }
-
- for (j=0; j < 20; ++j) {
- for (i=0; i < 78; ++i)
- putchar(" .:ioVM@"[screen[j][i]>>5]);
- putchar('\n');
- }
-
- return 0;
-}
-#endif
-
-
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-////
-//// INTEGRATION WITH YOUR CODEBASE
-////
-//// The following sections allow you to supply alternate definitions
-//// of C library functions used by stb_truetype, e.g. if you don't
-//// link with the C runtime library.
-
-#ifdef STB_TRUETYPE_IMPLEMENTATION
- // #define your own (u)stbtt_int8/16/32 before including to override this
- #ifndef stbtt_uint8
- typedef unsigned char stbtt_uint8;
- typedef signed char stbtt_int8;
- typedef unsigned short stbtt_uint16;
- typedef signed short stbtt_int16;
- typedef unsigned int stbtt_uint32;
- typedef signed int stbtt_int32;
- #endif
-
- typedef char stbtt__check_size32[sizeof(stbtt_int32)==4 ? 1 : -1];
- typedef char stbtt__check_size16[sizeof(stbtt_int16)==2 ? 1 : -1];
-
- // e.g. #define your own STBTT_ifloor/STBTT_iceil() to avoid math.h
- #ifndef STBTT_ifloor
- #include <math.h>
- #define STBTT_ifloor(x) ((int) floor(x))
- #define STBTT_iceil(x) ((int) ceil(x))
- #endif
-
- #ifndef STBTT_sqrt
- #include <math.h>
- #define STBTT_sqrt(x) sqrt(x)
- #define STBTT_pow(x,y) pow(x,y)
- #endif
-
- #ifndef STBTT_fmod
- #include <math.h>
- #define STBTT_fmod(x,y) fmod(x,y)
- #endif
-
- #ifndef STBTT_cos
- #include <math.h>
- #define STBTT_cos(x) cos(x)
- #define STBTT_acos(x) acos(x)
- #endif
-
- #ifndef STBTT_fabs
- #include <math.h>
- #define STBTT_fabs(x) fabs(x)
- #endif
-
- // #define your own functions "STBTT_malloc" / "STBTT_free" to avoid malloc.h
- #ifndef STBTT_malloc
- #include <stdlib.h>
- #define STBTT_malloc(x,u) ((void)(u),malloc(x))
- #define STBTT_free(x,u) ((void)(u),free(x))
- #endif
-
- #ifndef STBTT_assert
- #include <assert.h>
- #define STBTT_assert(x) assert(x)
- #endif
-
- #ifndef STBTT_strlen
- #include <string.h>
- #define STBTT_strlen(x) strlen(x)
- #endif
-
- #ifndef STBTT_memcpy
- #include <string.h>
- #define STBTT_memcpy memcpy
- #define STBTT_memset memset
- #endif
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-////
-//// INTERFACE
-////
-////
-
-#ifndef __STB_INCLUDE_STB_TRUETYPE_H__
-#define __STB_INCLUDE_STB_TRUETYPE_H__
-
-#ifdef STBTT_STATIC
-#define STBTT_DEF static
-#else
-#define STBTT_DEF extern
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// private structure
-typedef struct
-{
- unsigned char *data;
- int cursor;
- int size;
-} stbtt__buf;
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// TEXTURE BAKING API
-//
-// If you use this API, you only have to call two functions ever.
-//
-
-typedef struct
-{
- unsigned short x0,y0,x1,y1; // coordinates of bbox in bitmap
- float xoff,yoff,xadvance;
-} stbtt_bakedchar;
-
-STBTT_DEF int stbtt_BakeFontBitmap(const unsigned char *data, int offset, // font location (use offset=0 for plain .ttf)
- float pixel_height, // height of font in pixels
- unsigned char *pixels, int pw, int ph, // bitmap to be filled in
- int first_char, int num_chars, // characters to bake
- stbtt_bakedchar *chardata); // you allocate this, it's num_chars long
-// if return is positive, the first unused row of the bitmap
-// if return is negative, returns the negative of the number of characters that fit
-// if return is 0, no characters fit and no rows were used
-// This uses a very crappy packing.
-
-typedef struct
-{
- float x0,y0,s0,t0; // top-left
- float x1,y1,s1,t1; // bottom-right
-} stbtt_aligned_quad;
-
-STBTT_DEF void stbtt_GetBakedQuad(const stbtt_bakedchar *chardata, int pw, int ph, // same data as above
- int char_index, // character to display
- float *xpos, float *ypos, // pointers to current position in screen pixel space
- stbtt_aligned_quad *q, // output: quad to draw
- int opengl_fillrule); // true if opengl fill rule; false if DX9 or earlier
-// Call GetBakedQuad with char_index = 'character - first_char', and it
-// creates the quad you need to draw and advances the current position.
-//
-// The coordinate system used assumes y increases downwards.
-//
-// Characters will extend both above and below the current position;
-// see discussion of "BASELINE" above.
-//
-// It's inefficient; you might want to c&p it and optimize it.
-
-STBTT_DEF void stbtt_GetScaledFontVMetrics(const unsigned char *fontdata, int index, float size, float *ascent, float *descent, float *lineGap);
-// Query the font vertical metrics without having to create a font first.
-
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// NEW TEXTURE BAKING API
-//
-// This provides options for packing multiple fonts into one atlas, not
-// perfectly but better than nothing.
-
-typedef struct
-{
- unsigned short x0,y0,x1,y1; // coordinates of bbox in bitmap
- float xoff,yoff,xadvance;
- float xoff2,yoff2;
-} stbtt_packedchar;
-
-typedef struct stbtt_pack_context stbtt_pack_context;
-typedef struct stbtt_fontinfo stbtt_fontinfo;
-#ifndef STB_RECT_PACK_VERSION
-typedef struct stbrp_rect stbrp_rect;
-#endif
-
-STBTT_DEF int stbtt_PackBegin(stbtt_pack_context *spc, unsigned char *pixels, int width, int height, int stride_in_bytes, int padding, void *alloc_context);
-// Initializes a packing context stored in the passed-in stbtt_pack_context.
-// Future calls using this context will pack characters into the bitmap passed
-// in here: a 1-channel bitmap that is width * height. stride_in_bytes is
-// the distance from one row to the next (or 0 to mean they are packed tightly
-// together). "padding" is the amount of padding to leave between each
-// character (normally you want '1' for bitmaps you'll use as textures with
-// bilinear filtering).
-//
-// Returns 0 on failure, 1 on success.
-
-STBTT_DEF void stbtt_PackEnd (stbtt_pack_context *spc);
-// Cleans up the packing context and frees all memory.
-
-#define STBTT_POINT_SIZE(x) (-(x))
-
-STBTT_DEF int stbtt_PackFontRange(stbtt_pack_context *spc, const unsigned char *fontdata, int font_index, float font_size,
- int first_unicode_char_in_range, int num_chars_in_range, stbtt_packedchar *chardata_for_range);
-// Creates character bitmaps from the font_index'th font found in fontdata (use
-// font_index=0 if you don't know what that is). It creates num_chars_in_range
-// bitmaps for characters with unicode values starting at first_unicode_char_in_range
-// and increasing. Data for how to render them is stored in chardata_for_range;
-// pass these to stbtt_GetPackedQuad to get back renderable quads.
-//
-// font_size is the full height of the character from ascender to descender,
-// as computed by stbtt_ScaleForPixelHeight. To use a point size as computed
-// by stbtt_ScaleForMappingEmToPixels, wrap the point size in STBTT_POINT_SIZE()
-// and pass that result as 'font_size':
-// ..., 20 , ... // font max minus min y is 20 pixels tall
-// ..., STBTT_POINT_SIZE(20), ... // 'M' is 20 pixels tall
-
-typedef struct
-{
- float font_size;
- int first_unicode_codepoint_in_range; // if non-zero, then the chars are continuous, and this is the first codepoint
- int *array_of_unicode_codepoints; // if non-zero, then this is an array of unicode codepoints
- int num_chars;
- stbtt_packedchar *chardata_for_range; // output
- unsigned char h_oversample, v_oversample; // don't set these, they're used internally
-} stbtt_pack_range;
-
-STBTT_DEF int stbtt_PackFontRanges(stbtt_pack_context *spc, const unsigned char *fontdata, int font_index, stbtt_pack_range *ranges, int num_ranges);
-// Creates character bitmaps from multiple ranges of characters stored in
-// ranges. This will usually create a better-packed bitmap than multiple
-// calls to stbtt_PackFontRange. Note that you can call this multiple
-// times within a single PackBegin/PackEnd.
-
-STBTT_DEF void stbtt_PackSetOversampling(stbtt_pack_context *spc, unsigned int h_oversample, unsigned int v_oversample);
-// Oversampling a font increases the quality by allowing higher-quality subpixel
-// positioning, and is especially valuable at smaller text sizes.
-//
-// This function sets the amount of oversampling for all following calls to
-// stbtt_PackFontRange(s) or stbtt_PackFontRangesGatherRects for a given
-// pack context. The default (no oversampling) is achieved by h_oversample=1
-// and v_oversample=1. The total number of pixels required is
-// h_oversample*v_oversample larger than the default; for example, 2x2
-// oversampling requires 4x the storage of 1x1. For best results, render
-// oversampled textures with bilinear filtering. Look at the readme in
-// stb/tests/oversample for information about oversampled fonts
-//
-// To use with PackFontRangesGather etc., you must set it before calls
-// call to PackFontRangesGatherRects.
-
-STBTT_DEF void stbtt_PackSetSkipMissingCodepoints(stbtt_pack_context *spc, int skip);
-// If skip != 0, this tells stb_truetype to skip any codepoints for which
-// there is no corresponding glyph. If skip=0, which is the default, then
-// codepoints without a glyph recived the font's "missing character" glyph,
-// typically an empty box by convention.
-
-STBTT_DEF void stbtt_GetPackedQuad(const stbtt_packedchar *chardata, int pw, int ph, // same data as above
- int char_index, // character to display
- float *xpos, float *ypos, // pointers to current position in screen pixel space
- stbtt_aligned_quad *q, // output: quad to draw
- int align_to_integer);
-
-STBTT_DEF int stbtt_PackFontRangesGatherRects(stbtt_pack_context *spc, const stbtt_fontinfo *info, stbtt_pack_range *ranges, int num_ranges, stbrp_rect *rects);
-STBTT_DEF void stbtt_PackFontRangesPackRects(stbtt_pack_context *spc, stbrp_rect *rects, int num_rects);
-STBTT_DEF int stbtt_PackFontRangesRenderIntoRects(stbtt_pack_context *spc, const stbtt_fontinfo *info, stbtt_pack_range *ranges, int num_ranges, stbrp_rect *rects);
-// Calling these functions in sequence is roughly equivalent to calling
-// stbtt_PackFontRanges(). If you more control over the packing of multiple
-// fonts, or if you want to pack custom data into a font texture, take a look
-// at the source to of stbtt_PackFontRanges() and create a custom version
-// using these functions, e.g. call GatherRects multiple times,
-// building up a single array of rects, then call PackRects once,
-// then call RenderIntoRects repeatedly. This may result in a
-// better packing than calling PackFontRanges multiple times
-// (or it may not).
-
-// this is an opaque structure that you shouldn't mess with which holds
-// all the context needed from PackBegin to PackEnd.
-struct stbtt_pack_context {
- void *user_allocator_context;
- void *pack_info;
- int width;
- int height;
- int stride_in_bytes;
- int padding;
- int skip_missing;
- unsigned int h_oversample, v_oversample;
- unsigned char *pixels;
- void *nodes;
-};
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// FONT LOADING
-//
-//
-
-STBTT_DEF int stbtt_GetNumberOfFonts(const unsigned char *data);
-// This function will determine the number of fonts in a font file. TrueType
-// collection (.ttc) files may contain multiple fonts, while TrueType font
-// (.ttf) files only contain one font. The number of fonts can be used for
-// indexing with the previous function where the index is between zero and one
-// less than the total fonts. If an error occurs, -1 is returned.
-
-STBTT_DEF int stbtt_GetFontOffsetForIndex(const unsigned char *data, int index);
-// Each .ttf/.ttc file may have more than one font. Each font has a sequential
-// index number starting from 0. Call this function to get the font offset for
-// a given index; it returns -1 if the index is out of range. A regular .ttf
-// file will only define one font and it always be at offset 0, so it will
-// return '0' for index 0, and -1 for all other indices.
-
-// The following structure is defined publicly so you can declare one on
-// the stack or as a global or etc, but you should treat it as opaque.
-struct stbtt_fontinfo
-{
- void * userdata;
- unsigned char * data; // pointer to .ttf file
- int fontstart; // offset of start of font
-
- int numGlyphs; // number of glyphs, needed for range checking
-
- int loca,head,glyf,hhea,hmtx,kern,gpos; // table locations as offset from start of .ttf
- int index_map; // a cmap mapping for our chosen character encoding
- int indexToLocFormat; // format needed to map from glyph index to glyph
-
- stbtt__buf cff; // cff font data
- stbtt__buf charstrings; // the charstring index
- stbtt__buf gsubrs; // global charstring subroutines index
- stbtt__buf subrs; // private charstring subroutines index
- stbtt__buf fontdicts; // array of font dicts
- stbtt__buf fdselect; // map from glyph to fontdict
-};
-
-STBTT_DEF int stbtt_InitFont(stbtt_fontinfo *info, const unsigned char *data, int offset);
-// Given an offset into the file that defines a font, this function builds
-// the necessary cached info for the rest of the system. You must allocate
-// the stbtt_fontinfo yourself, and stbtt_InitFont will fill it out. You don't
-// need to do anything special to free it, because the contents are pure
-// value data with no additional data structures. Returns 0 on failure.
-
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// CHARACTER TO GLYPH-INDEX CONVERSIOn
-
-STBTT_DEF int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint);
-// If you're going to perform multiple operations on the same character
-// and you want a speed-up, call this function with the character you're
-// going to process, then use glyph-based functions instead of the
-// codepoint-based functions.
-// Returns 0 if the character codepoint is not defined in the font.
-
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// CHARACTER PROPERTIES
-//
-
-STBTT_DEF float stbtt_ScaleForPixelHeight(const stbtt_fontinfo *info, float pixels);
-// computes a scale factor to produce a font whose "height" is 'pixels' tall.
-// Height is measured as the distance from the highest ascender to the lowest
-// descender; in other words, it's equivalent to calling stbtt_GetFontVMetrics
-// and computing:
-// scale = pixels / (ascent - descent)
-// so if you prefer to measure height by the ascent only, use a similar calculation.
-
-STBTT_DEF float stbtt_ScaleForMappingEmToPixels(const stbtt_fontinfo *info, float pixels);
-// computes a scale factor to produce a font whose EM size is mapped to
-// 'pixels' tall. This is probably what traditional APIs compute, but
-// I'm not positive.
-
-STBTT_DEF void stbtt_GetFontVMetrics(const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap);
-// ascent is the coordinate above the baseline the font extends; descent
-// is the coordinate below the baseline the font extends (i.e. it is typically negative)
-// lineGap is the spacing between one row's descent and the next row's ascent...
-// so you should advance the vertical position by "*ascent - *descent + *lineGap"
-// these are expressed in unscaled coordinates, so you must multiply by
-// the scale factor for a given size
-
-STBTT_DEF int stbtt_GetFontVMetricsOS2(const stbtt_fontinfo *info, int *typoAscent, int *typoDescent, int *typoLineGap);
-// analogous to GetFontVMetrics, but returns the "typographic" values from the OS/2
-// table (specific to MS/Windows TTF files).
-//
-// Returns 1 on success (table present), 0 on failure.
-
-STBTT_DEF void stbtt_GetFontBoundingBox(const stbtt_fontinfo *info, int *x0, int *y0, int *x1, int *y1);
-// the bounding box around all possible characters
-
-STBTT_DEF void stbtt_GetCodepointHMetrics(const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing);
-// leftSideBearing is the offset from the current horizontal position to the left edge of the character
-// advanceWidth is the offset from the current horizontal position to the next horizontal position
-// these are expressed in unscaled coordinates
-
-STBTT_DEF int stbtt_GetCodepointKernAdvance(const stbtt_fontinfo *info, int ch1, int ch2);
-// an additional amount to add to the 'advance' value between ch1 and ch2
-
-STBTT_DEF int stbtt_GetCodepointBox(const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1);
-// Gets the bounding box of the visible part of the glyph, in unscaled coordinates
-
-STBTT_DEF void stbtt_GetGlyphHMetrics(const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing);
-STBTT_DEF int stbtt_GetGlyphKernAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2);
-STBTT_DEF int stbtt_GetGlyphBox(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1);
-// as above, but takes one or more glyph indices for greater efficiency
-
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// GLYPH SHAPES (you probably don't need these, but they have to go before
-// the bitmaps for C declaration-order reasons)
-//
-
-#ifndef STBTT_vmove // you can predefine these to use different values (but why?)
- enum {
- STBTT_vmove=1,
- STBTT_vline,
- STBTT_vcurve,
- STBTT_vcubic
- };
-#endif
-
-#ifndef stbtt_vertex // you can predefine this to use different values
- // (we share this with other code at RAD)
- #define stbtt_vertex_type short // can't use stbtt_int16 because that's not visible in the header file
- typedef struct
- {
- stbtt_vertex_type x,y,cx,cy,cx1,cy1;
- unsigned char type,padding;
- } stbtt_vertex;
-#endif
-
-STBTT_DEF int stbtt_IsGlyphEmpty(const stbtt_fontinfo *info, int glyph_index);
-// returns non-zero if nothing is drawn for this glyph
-
-STBTT_DEF int stbtt_GetCodepointShape(const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices);
-STBTT_DEF int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **vertices);
-// returns # of vertices and fills *vertices with the pointer to them
-// these are expressed in "unscaled" coordinates
-//
-// The shape is a series of contours. Each one starts with
-// a STBTT_moveto, then consists of a series of mixed
-// STBTT_lineto and STBTT_curveto segments. A lineto
-// draws a line from previous endpoint to its x,y; a curveto
-// draws a quadratic bezier from previous endpoint to
-// its x,y, using cx,cy as the bezier control point.
-
-STBTT_DEF void stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *vertices);
-// frees the data allocated above
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// BITMAP RENDERING
-//
-
-STBTT_DEF void stbtt_FreeBitmap(unsigned char *bitmap, void *userdata);
-// frees the bitmap allocated below
-
-STBTT_DEF unsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff);
-// allocates a large-enough single-channel 8bpp bitmap and renders the
-// specified character/glyph at the specified scale into it, with
-// antialiasing. 0 is no coverage (transparent), 255 is fully covered (opaque).
-// *width & *height are filled out with the width & height of the bitmap,
-// which is stored left-to-right, top-to-bottom.
-//
-// xoff/yoff are the offset it pixel space from the glyph origin to the top-left of the bitmap
-
-STBTT_DEF unsigned char *stbtt_GetCodepointBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint, int *width, int *height, int *xoff, int *yoff);
-// the same as stbtt_GetCodepoitnBitmap, but you can specify a subpixel
-// shift for the character
-
-STBTT_DEF void stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint);
-// the same as stbtt_GetCodepointBitmap, but you pass in storage for the bitmap
-// in the form of 'output', with row spacing of 'out_stride' bytes. the bitmap
-// is clipped to out_w/out_h bytes. Call stbtt_GetCodepointBitmapBox to get the
-// width and height and positioning info for it first.
-
-STBTT_DEF void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint);
-// same as stbtt_MakeCodepointBitmap, but you can specify a subpixel
-// shift for the character
-
-STBTT_DEF void stbtt_MakeCodepointBitmapSubpixelPrefilter(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int oversample_x, int oversample_y, float *sub_x, float *sub_y, int codepoint);
-// same as stbtt_MakeCodepointBitmapSubpixel, but prefiltering
-// is performed (see stbtt_PackSetOversampling)
-
-STBTT_DEF void stbtt_GetCodepointBitmapBox(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1);
-// get the bbox of the bitmap centered around the glyph origin; so the
-// bitmap width is ix1-ix0, height is iy1-iy0, and location to place
-// the bitmap top left is (leftSideBearing*scale,iy0).
-// (Note that the bitmap uses y-increases-down, but the shape uses
-// y-increases-up, so CodepointBitmapBox and CodepointBox are inverted.)
-
-STBTT_DEF void stbtt_GetCodepointBitmapBoxSubpixel(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1);
-// same as stbtt_GetCodepointBitmapBox, but you can specify a subpixel
-// shift for the character
-
-// the following functions are equivalent to the above functions, but operate
-// on glyph indices instead of Unicode codepoints (for efficiency)
-STBTT_DEF unsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff);
-STBTT_DEF unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int glyph, int *width, int *height, int *xoff, int *yoff);
-STBTT_DEF void stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph);
-STBTT_DEF void stbtt_MakeGlyphBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int glyph);
-STBTT_DEF void stbtt_MakeGlyphBitmapSubpixelPrefilter(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int oversample_x, int oversample_y, float *sub_x, float *sub_y, int glyph);
-STBTT_DEF void stbtt_GetGlyphBitmapBox(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1);
-STBTT_DEF void stbtt_GetGlyphBitmapBoxSubpixel(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y,float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1);
-
-
-// @TODO: don't expose this structure
-typedef struct
-{
- int w,h,stride;
- unsigned char *pixels;
-} stbtt__bitmap;
-
-// rasterize a shape with quadratic beziers into a bitmap
-STBTT_DEF void stbtt_Rasterize(stbtt__bitmap *result, // 1-channel bitmap to draw into
- float flatness_in_pixels, // allowable error of curve in pixels
- stbtt_vertex *vertices, // array of vertices defining shape
- int num_verts, // number of vertices in above array
- float scale_x, float scale_y, // scale applied to input vertices
- float shift_x, float shift_y, // translation applied to input vertices
- int x_off, int y_off, // another translation applied to input
- int invert, // if non-zero, vertically flip shape
- void *userdata); // context for to STBTT_MALLOC
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// Signed Distance Function (or Field) rendering
-
-STBTT_DEF void stbtt_FreeSDF(unsigned char *bitmap, void *userdata);
-// frees the SDF bitmap allocated below
-
-STBTT_DEF unsigned char * stbtt_GetGlyphSDF(const stbtt_fontinfo *info, float scale, int glyph, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff);
-STBTT_DEF unsigned char * stbtt_GetCodepointSDF(const stbtt_fontinfo *info, float scale, int codepoint, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff);
-// These functions compute a discretized SDF field for a single character, suitable for storing
-// in a single-channel texture, sampling with bilinear filtering, and testing against
-// larger than some threshold to produce scalable fonts.
-// info -- the font
-// scale -- controls the size of the resulting SDF bitmap, same as it would be creating a regular bitmap
-// glyph/codepoint -- the character to generate the SDF for
-// padding -- extra "pixels" around the character which are filled with the distance to the character (not 0),
-// which allows effects like bit outlines
-// onedge_value -- value 0-255 to test the SDF against to reconstruct the character (i.e. the isocontour of the character)
-// pixel_dist_scale -- what value the SDF should increase by when moving one SDF "pixel" away from the edge (on the 0..255 scale)
-// if positive, > onedge_value is inside; if negative, < onedge_value is inside
-// width,height -- output height & width of the SDF bitmap (including padding)
-// xoff,yoff -- output origin of the character
-// return value -- a 2D array of bytes 0..255, width*height in size
-//
-// pixel_dist_scale & onedge_value are a scale & bias that allows you to make
-// optimal use of the limited 0..255 for your application, trading off precision
-// and special effects. SDF values outside the range 0..255 are clamped to 0..255.
-//
-// Example:
-// scale = stbtt_ScaleForPixelHeight(22)
-// padding = 5
-// onedge_value = 180
-// pixel_dist_scale = 180/5.0 = 36.0
-//
-// This will create an SDF bitmap in which the character is about 22 pixels
-// high but the whole bitmap is about 22+5+5=32 pixels high. To produce a filled
-// shape, sample the SDF at each pixel and fill the pixel if the SDF value
-// is greater than or equal to 180/255. (You'll actually want to antialias,
-// which is beyond the scope of this example.) Additionally, you can compute
-// offset outlines (e.g. to stroke the character border inside & outside,
-// or only outside). For example, to fill outside the character up to 3 SDF
-// pixels, you would compare against (180-36.0*3)/255 = 72/255. The above
-// choice of variables maps a range from 5 pixels outside the shape to
-// 2 pixels inside the shape to 0..255; this is intended primarily for apply
-// outside effects only (the interior range is needed to allow proper
-// antialiasing of the font at *smaller* sizes)
-//
-// The function computes the SDF analytically at each SDF pixel, not by e.g.
-// building a higher-res bitmap and approximating it. In theory the quality
-// should be as high as possible for an SDF of this size & representation, but
-// unclear if this is true in practice (perhaps building a higher-res bitmap
-// and computing from that can allow drop-out prevention).
-//
-// The algorithm has not been optimized at all, so expect it to be slow
-// if computing lots of characters or very large sizes.
-
-
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// Finding the right font...
-//
-// You should really just solve this offline, keep your own tables
-// of what font is what, and don't try to get it out of the .ttf file.
-// That's because getting it out of the .ttf file is really hard, because
-// the names in the file can appear in many possible encodings, in many
-// possible languages, and e.g. if you need a case-insensitive comparison,
-// the details of that depend on the encoding & language in a complex way
-// (actually underspecified in truetype, but also gigantic).
-//
-// But you can use the provided functions in two possible ways:
-// stbtt_FindMatchingFont() will use *case-sensitive* comparisons on
-// unicode-encoded names to try to find the font you want;
-// you can run this before calling stbtt_InitFont()
-//
-// stbtt_GetFontNameString() lets you get any of the various strings
-// from the file yourself and do your own comparisons on them.
-// You have to have called stbtt_InitFont() first.
-
-
-STBTT_DEF int stbtt_FindMatchingFont(const unsigned char *fontdata, const char *name, int flags);
-// returns the offset (not index) of the font that matches, or -1 if none
-// if you use STBTT_MACSTYLE_DONTCARE, use a font name like "Arial Bold".
-// if you use any other flag, use a font name like "Arial"; this checks
-// the 'macStyle' header field; i don't know if fonts set this consistently
-#define STBTT_MACSTYLE_DONTCARE 0
-#define STBTT_MACSTYLE_BOLD 1
-#define STBTT_MACSTYLE_ITALIC 2
-#define STBTT_MACSTYLE_UNDERSCORE 4
-#define STBTT_MACSTYLE_NONE 8 // <= not same as 0, this makes us check the bitfield is 0
-
-STBTT_DEF int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2);
-// returns 1/0 whether the first string interpreted as utf8 is identical to
-// the second string interpreted as big-endian utf16... useful for strings from next func
-
-STBTT_DEF const char *stbtt_GetFontNameString(const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID);
-// returns the string (which may be big-endian double byte, e.g. for unicode)
-// and puts the length in bytes in *length.
-//
-// some of the values for the IDs are below; for more see the truetype spec:
-// http://developer.apple.com/textfonts/TTRefMan/RM06/Chap6name.html
-// http://www.microsoft.com/typography/otspec/name.htm
-
-enum { // platformID
- STBTT_PLATFORM_ID_UNICODE =0,
- STBTT_PLATFORM_ID_MAC =1,
- STBTT_PLATFORM_ID_ISO =2,
- STBTT_PLATFORM_ID_MICROSOFT =3
-};
-
-enum { // encodingID for STBTT_PLATFORM_ID_UNICODE
- STBTT_UNICODE_EID_UNICODE_1_0 =0,
- STBTT_UNICODE_EID_UNICODE_1_1 =1,
- STBTT_UNICODE_EID_ISO_10646 =2,
- STBTT_UNICODE_EID_UNICODE_2_0_BMP=3,
- STBTT_UNICODE_EID_UNICODE_2_0_FULL=4
-};
-
-enum { // encodingID for STBTT_PLATFORM_ID_MICROSOFT
- STBTT_MS_EID_SYMBOL =0,
- STBTT_MS_EID_UNICODE_BMP =1,
- STBTT_MS_EID_SHIFTJIS =2,
- STBTT_MS_EID_UNICODE_FULL =10
-};
-
-enum { // encodingID for STBTT_PLATFORM_ID_MAC; same as Script Manager codes
- STBTT_MAC_EID_ROMAN =0, STBTT_MAC_EID_ARABIC =4,
- STBTT_MAC_EID_JAPANESE =1, STBTT_MAC_EID_HEBREW =5,
- STBTT_MAC_EID_CHINESE_TRAD =2, STBTT_MAC_EID_GREEK =6,
- STBTT_MAC_EID_KOREAN =3, STBTT_MAC_EID_RUSSIAN =7
-};
-
-enum { // languageID for STBTT_PLATFORM_ID_MICROSOFT; same as LCID...
- // problematic because there are e.g. 16 english LCIDs and 16 arabic LCIDs
- STBTT_MS_LANG_ENGLISH =0x0409, STBTT_MS_LANG_ITALIAN =0x0410,
- STBTT_MS_LANG_CHINESE =0x0804, STBTT_MS_LANG_JAPANESE =0x0411,
- STBTT_MS_LANG_DUTCH =0x0413, STBTT_MS_LANG_KOREAN =0x0412,
- STBTT_MS_LANG_FRENCH =0x040c, STBTT_MS_LANG_RUSSIAN =0x0419,
- STBTT_MS_LANG_GERMAN =0x0407, STBTT_MS_LANG_SPANISH =0x0409,
- STBTT_MS_LANG_HEBREW =0x040d, STBTT_MS_LANG_SWEDISH =0x041D
-};
-
-enum { // languageID for STBTT_PLATFORM_ID_MAC
- STBTT_MAC_LANG_ENGLISH =0 , STBTT_MAC_LANG_JAPANESE =11,
- STBTT_MAC_LANG_ARABIC =12, STBTT_MAC_LANG_KOREAN =23,
- STBTT_MAC_LANG_DUTCH =4 , STBTT_MAC_LANG_RUSSIAN =32,
- STBTT_MAC_LANG_FRENCH =1 , STBTT_MAC_LANG_SPANISH =6 ,
- STBTT_MAC_LANG_GERMAN =2 , STBTT_MAC_LANG_SWEDISH =5 ,
- STBTT_MAC_LANG_HEBREW =10, STBTT_MAC_LANG_CHINESE_SIMPLIFIED =33,
- STBTT_MAC_LANG_ITALIAN =3 , STBTT_MAC_LANG_CHINESE_TRAD =19
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // __STB_INCLUDE_STB_TRUETYPE_H__
-
-///////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-////
-//// IMPLEMENTATION
-////
-////
-
-#ifdef STB_TRUETYPE_IMPLEMENTATION
-
-#ifndef STBTT_MAX_OVERSAMPLE
-#define STBTT_MAX_OVERSAMPLE 8
-#endif
-
-#if STBTT_MAX_OVERSAMPLE > 255
-#error "STBTT_MAX_OVERSAMPLE cannot be > 255"
-#endif
-
-typedef int stbtt__test_oversample_pow2[(STBTT_MAX_OVERSAMPLE & (STBTT_MAX_OVERSAMPLE-1)) == 0 ? 1 : -1];
-
-#ifndef STBTT_RASTERIZER_VERSION
-#define STBTT_RASTERIZER_VERSION 2
-#endif
-
-#ifdef _MSC_VER
-#define STBTT__NOTUSED(v) (void)(v)
-#else
-#define STBTT__NOTUSED(v) (void)sizeof(v)
-#endif
-
-//////////////////////////////////////////////////////////////////////////
-//
-// stbtt__buf helpers to parse data from file
-//
-
-static stbtt_uint8 stbtt__buf_get8(stbtt__buf *b)
-{
- if (b->cursor >= b->size)
- return 0;
- return b->data[b->cursor++];
-}
-
-static stbtt_uint8 stbtt__buf_peek8(stbtt__buf *b)
-{
- if (b->cursor >= b->size)
- return 0;
- return b->data[b->cursor];
-}
-
-static void stbtt__buf_seek(stbtt__buf *b, int o)
-{
- STBTT_assert(!(o > b->size || o < 0));
- b->cursor = (o > b->size || o < 0) ? b->size : o;
-}
-
-static void stbtt__buf_skip(stbtt__buf *b, int o)
-{
- stbtt__buf_seek(b, b->cursor + o);
-}
-
-static stbtt_uint32 stbtt__buf_get(stbtt__buf *b, int n)
-{
- stbtt_uint32 v = 0;
- int i;
- STBTT_assert(n >= 1 && n <= 4);
- for (i = 0; i < n; i++)
- v = (v << 8) | stbtt__buf_get8(b);
- return v;
-}
-
-static stbtt__buf stbtt__new_buf(const void *p, size_t size)
-{
- stbtt__buf r;
- STBTT_assert(size < 0x40000000);
- r.data = (stbtt_uint8*) p;
- r.size = (int) size;
- r.cursor = 0;
- return r;
-}
-
-#define stbtt__buf_get16(b) stbtt__buf_get((b), 2)
-#define stbtt__buf_get32(b) stbtt__buf_get((b), 4)
-
-static stbtt__buf stbtt__buf_range(const stbtt__buf *b, int o, int s)
-{
- stbtt__buf r = stbtt__new_buf(NULL, 0);
- if (o < 0 || s < 0 || o > b->size || s > b->size - o) return r;
- r.data = b->data + o;
- r.size = s;
- return r;
-}
-
-static stbtt__buf stbtt__cff_get_index(stbtt__buf *b)
-{
- int count, start, offsize;
- start = b->cursor;
- count = stbtt__buf_get16(b);
- if (count) {
- offsize = stbtt__buf_get8(b);
- STBTT_assert(offsize >= 1 && offsize <= 4);
- stbtt__buf_skip(b, offsize * count);
- stbtt__buf_skip(b, stbtt__buf_get(b, offsize) - 1);
- }
- return stbtt__buf_range(b, start, b->cursor - start);
-}
-
-static stbtt_uint32 stbtt__cff_int(stbtt__buf *b)
-{
- int b0 = stbtt__buf_get8(b);
- if (b0 >= 32 && b0 <= 246) return b0 - 139;
- else if (b0 >= 247 && b0 <= 250) return (b0 - 247)*256 + stbtt__buf_get8(b) + 108;
- else if (b0 >= 251 && b0 <= 254) return -(b0 - 251)*256 - stbtt__buf_get8(b) - 108;
- else if (b0 == 28) return stbtt__buf_get16(b);
- else if (b0 == 29) return stbtt__buf_get32(b);
- STBTT_assert(0);
- return 0;
-}
-
-static void stbtt__cff_skip_operand(stbtt__buf *b) {
- int v, b0 = stbtt__buf_peek8(b);
- STBTT_assert(b0 >= 28);
- if (b0 == 30) {
- stbtt__buf_skip(b, 1);
- while (b->cursor < b->size) {
- v = stbtt__buf_get8(b);
- if ((v & 0xF) == 0xF || (v >> 4) == 0xF)
- break;
- }
- } else {
- stbtt__cff_int(b);
- }
-}
-
-static stbtt__buf stbtt__dict_get(stbtt__buf *b, int key)
-{
- stbtt__buf_seek(b, 0);
- while (b->cursor < b->size) {
- int start = b->cursor, end, op;
- while (stbtt__buf_peek8(b) >= 28)
- stbtt__cff_skip_operand(b);
- end = b->cursor;
- op = stbtt__buf_get8(b);
- if (op == 12) op = stbtt__buf_get8(b) | 0x100;
- if (op == key) return stbtt__buf_range(b, start, end-start);
- }
- return stbtt__buf_range(b, 0, 0);
-}
-
-static void stbtt__dict_get_ints(stbtt__buf *b, int key, int outcount, stbtt_uint32 *out)
-{
- int i;
- stbtt__buf operands = stbtt__dict_get(b, key);
- for (i = 0; i < outcount && operands.cursor < operands.size; i++)
- out[i] = stbtt__cff_int(&operands);
-}
-
-static int stbtt__cff_index_count(stbtt__buf *b)
-{
- stbtt__buf_seek(b, 0);
- return stbtt__buf_get16(b);
-}
-
-static stbtt__buf stbtt__cff_index_get(stbtt__buf b, int i)
-{
- int count, offsize, start, end;
- stbtt__buf_seek(&b, 0);
- count = stbtt__buf_get16(&b);
- offsize = stbtt__buf_get8(&b);
- STBTT_assert(i >= 0 && i < count);
- STBTT_assert(offsize >= 1 && offsize <= 4);
- stbtt__buf_skip(&b, i*offsize);
- start = stbtt__buf_get(&b, offsize);
- end = stbtt__buf_get(&b, offsize);
- return stbtt__buf_range(&b, 2+(count+1)*offsize+start, end - start);
-}
-
-//////////////////////////////////////////////////////////////////////////
-//
-// accessors to parse data from file
-//
-
-// on platforms that don't allow misaligned reads, if we want to allow
-// truetype fonts that aren't padded to alignment, define ALLOW_UNALIGNED_TRUETYPE
-
-#define ttBYTE(p) (* (stbtt_uint8 *) (p))
-#define ttCHAR(p) (* (stbtt_int8 *) (p))
-#define ttFixed(p) ttLONG(p)
-
-static stbtt_uint16 ttUSHORT(stbtt_uint8 *p) { return p[0]*256 + p[1]; }
-static stbtt_int16 ttSHORT(stbtt_uint8 *p) { return p[0]*256 + p[1]; }
-static stbtt_uint32 ttULONG(stbtt_uint8 *p) { return (p[0]<<24) + (p[1]<<16) + (p[2]<<8) + p[3]; }
-static stbtt_int32 ttLONG(stbtt_uint8 *p) { return (p[0]<<24) + (p[1]<<16) + (p[2]<<8) + p[3]; }
-
-#define stbtt_tag4(p,c0,c1,c2,c3) ((p)[0] == (c0) && (p)[1] == (c1) && (p)[2] == (c2) && (p)[3] == (c3))
-#define stbtt_tag(p,str) stbtt_tag4(p,str[0],str[1],str[2],str[3])
-
-static int stbtt__isfont(stbtt_uint8 *font)
-{
- // check the version number
- if (stbtt_tag4(font, '1',0,0,0)) return 1; // TrueType 1
- if (stbtt_tag(font, "typ1")) return 1; // TrueType with type 1 font -- we don't support this!
- if (stbtt_tag(font, "OTTO")) return 1; // OpenType with CFF
- if (stbtt_tag4(font, 0,1,0,0)) return 1; // OpenType 1.0
- if (stbtt_tag(font, "true")) return 1; // Apple specification for TrueType fonts
- return 0;
-}
-
-// @OPTIMIZE: binary search
-static stbtt_uint32 stbtt__find_table(stbtt_uint8 *data, stbtt_uint32 fontstart, const char *tag)
-{
- stbtt_int32 num_tables = ttUSHORT(data+fontstart+4);
- stbtt_uint32 tabledir = fontstart + 12;
- stbtt_int32 i;
- for (i=0; i < num_tables; ++i) {
- stbtt_uint32 loc = tabledir + 16*i;
- if (stbtt_tag(data+loc+0, tag))
- return ttULONG(data+loc+8);
- }
- return 0;
-}
-
-static int stbtt_GetFontOffsetForIndex_internal(unsigned char *font_collection, int index)
-{
- // if it's just a font, there's only one valid index
- if (stbtt__isfont(font_collection))
- return index == 0 ? 0 : -1;
-
- // check if it's a TTC
- if (stbtt_tag(font_collection, "ttcf")) {
- // version 1?
- if (ttULONG(font_collection+4) == 0x00010000 || ttULONG(font_collection+4) == 0x00020000) {
- stbtt_int32 n = ttLONG(font_collection+8);
- if (index >= n)
- return -1;
- return ttULONG(font_collection+12+index*4);
- }
- }
- return -1;
-}
-
-static int stbtt_GetNumberOfFonts_internal(unsigned char *font_collection)
-{
- // if it's just a font, there's only one valid font
- if (stbtt__isfont(font_collection))
- return 1;
-
- // check if it's a TTC
- if (stbtt_tag(font_collection, "ttcf")) {
- // version 1?
- if (ttULONG(font_collection+4) == 0x00010000 || ttULONG(font_collection+4) == 0x00020000) {
- return ttLONG(font_collection+8);
- }
- }
- return 0;
-}
-
-static stbtt__buf stbtt__get_subrs(stbtt__buf cff, stbtt__buf fontdict)
-{
- stbtt_uint32 subrsoff = 0, private_loc[2] = { 0, 0 };
- stbtt__buf pdict;
- stbtt__dict_get_ints(&fontdict, 18, 2, private_loc);
- if (!private_loc[1] || !private_loc[0]) return stbtt__new_buf(NULL, 0);
- pdict = stbtt__buf_range(&cff, private_loc[1], private_loc[0]);
- stbtt__dict_get_ints(&pdict, 19, 1, &subrsoff);
- if (!subrsoff) return stbtt__new_buf(NULL, 0);
- stbtt__buf_seek(&cff, private_loc[1]+subrsoff);
- return stbtt__cff_get_index(&cff);
-}
-
-static int stbtt_InitFont_internal(stbtt_fontinfo *info, unsigned char *data, int fontstart)
-{
- stbtt_uint32 cmap, t;
- stbtt_int32 i,numTables;
-
- info->data = data;
- info->fontstart = fontstart;
- info->cff = stbtt__new_buf(NULL, 0);
-
- cmap = stbtt__find_table(data, fontstart, "cmap"); // required
- info->loca = stbtt__find_table(data, fontstart, "loca"); // required
- info->head = stbtt__find_table(data, fontstart, "head"); // required
- info->glyf = stbtt__find_table(data, fontstart, "glyf"); // required
- info->hhea = stbtt__find_table(data, fontstart, "hhea"); // required
- info->hmtx = stbtt__find_table(data, fontstart, "hmtx"); // required
- info->kern = stbtt__find_table(data, fontstart, "kern"); // not required
- info->gpos = stbtt__find_table(data, fontstart, "GPOS"); // not required
-
- if (!cmap || !info->head || !info->hhea || !info->hmtx)
- return 0;
- if (info->glyf) {
- // required for truetype
- if (!info->loca) return 0;
- } else {
- // initialization for CFF / Type2 fonts (OTF)
- stbtt__buf b, topdict, topdictidx;
- stbtt_uint32 cstype = 2, charstrings = 0, fdarrayoff = 0, fdselectoff = 0;
- stbtt_uint32 cff;
-
- cff = stbtt__find_table(data, fontstart, "CFF ");
- if (!cff) return 0;
-
- info->fontdicts = stbtt__new_buf(NULL, 0);
- info->fdselect = stbtt__new_buf(NULL, 0);
-
- // @TODO this should use size from table (not 512MB)
- info->cff = stbtt__new_buf(data+cff, 512*1024*1024);
- b = info->cff;
-
- // read the header
- stbtt__buf_skip(&b, 2);
- stbtt__buf_seek(&b, stbtt__buf_get8(&b)); // hdrsize
-
- // @TODO the name INDEX could list multiple fonts,
- // but we just use the first one.
- stbtt__cff_get_index(&b); // name INDEX
- topdictidx = stbtt__cff_get_index(&b);
- topdict = stbtt__cff_index_get(topdictidx, 0);
- stbtt__cff_get_index(&b); // string INDEX
- info->gsubrs = stbtt__cff_get_index(&b);
-
- stbtt__dict_get_ints(&topdict, 17, 1, &charstrings);
- stbtt__dict_get_ints(&topdict, 0x100 | 6, 1, &cstype);
- stbtt__dict_get_ints(&topdict, 0x100 | 36, 1, &fdarrayoff);
- stbtt__dict_get_ints(&topdict, 0x100 | 37, 1, &fdselectoff);
- info->subrs = stbtt__get_subrs(b, topdict);
-
- // we only support Type 2 charstrings
- if (cstype != 2) return 0;
- if (charstrings == 0) return 0;
-
- if (fdarrayoff) {
- // looks like a CID font
- if (!fdselectoff) return 0;
- stbtt__buf_seek(&b, fdarrayoff);
- info->fontdicts = stbtt__cff_get_index(&b);
- info->fdselect = stbtt__buf_range(&b, fdselectoff, b.size-fdselectoff);
- }
-
- stbtt__buf_seek(&b, charstrings);
- info->charstrings = stbtt__cff_get_index(&b);
- }
-
- t = stbtt__find_table(data, fontstart, "maxp");
- if (t)
- info->numGlyphs = ttUSHORT(data+t+4);
- else
- info->numGlyphs = 0xffff;
-
- // find a cmap encoding table we understand *now* to avoid searching
- // later. (todo: could make this installable)
- // the same regardless of glyph.
- numTables = ttUSHORT(data + cmap + 2);
- info->index_map = 0;
- for (i=0; i < numTables; ++i) {
- stbtt_uint32 encoding_record = cmap + 4 + 8 * i;
- // find an encoding we understand:
- switch(ttUSHORT(data+encoding_record)) {
- case STBTT_PLATFORM_ID_MICROSOFT:
- switch (ttUSHORT(data+encoding_record+2)) {
- case STBTT_MS_EID_UNICODE_BMP:
- case STBTT_MS_EID_UNICODE_FULL:
- // MS/Unicode
- info->index_map = cmap + ttULONG(data+encoding_record+4);
- break;
- }
- break;
- case STBTT_PLATFORM_ID_UNICODE:
- // Mac/iOS has these
- // all the encodingIDs are unicode, so we don't bother to check it
- info->index_map = cmap + ttULONG(data+encoding_record+4);
- break;
- }
- }
- if (info->index_map == 0)
- return 0;
-
- info->indexToLocFormat = ttUSHORT(data+info->head + 50);
- return 1;
-}
-
-STBTT_DEF int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint)
-{
- stbtt_uint8 *data = info->data;
- stbtt_uint32 index_map = info->index_map;
-
- stbtt_uint16 format = ttUSHORT(data + index_map + 0);
- if (format == 0) { // apple byte encoding
- stbtt_int32 bytes = ttUSHORT(data + index_map + 2);
- if (unicode_codepoint < bytes-6)
- return ttBYTE(data + index_map + 6 + unicode_codepoint);
- return 0;
- } else if (format == 6) {
- stbtt_uint32 first = ttUSHORT(data + index_map + 6);
- stbtt_uint32 count = ttUSHORT(data + index_map + 8);
- if ((stbtt_uint32) unicode_codepoint >= first && (stbtt_uint32) unicode_codepoint < first+count)
- return ttUSHORT(data + index_map + 10 + (unicode_codepoint - first)*2);
- return 0;
- } else if (format == 2) {
- STBTT_assert(0); // @TODO: high-byte mapping for japanese/chinese/korean
- return 0;
- } else if (format == 4) { // standard mapping for windows fonts: binary search collection of ranges
- stbtt_uint16 segcount = ttUSHORT(data+index_map+6) >> 1;
- stbtt_uint16 searchRange = ttUSHORT(data+index_map+8) >> 1;
- stbtt_uint16 entrySelector = ttUSHORT(data+index_map+10);
- stbtt_uint16 rangeShift = ttUSHORT(data+index_map+12) >> 1;
-
- // do a binary search of the segments
- stbtt_uint32 endCount = index_map + 14;
- stbtt_uint32 search = endCount;
-
- if (unicode_codepoint > 0xffff)
- return 0;
-
- // they lie from endCount .. endCount + segCount
- // but searchRange is the nearest power of two, so...
- if (unicode_codepoint >= ttUSHORT(data + search + rangeShift*2))
- search += rangeShift*2;
-
- // now decrement to bias correctly to find smallest
- search -= 2;
- while (entrySelector) {
- stbtt_uint16 end;
- searchRange >>= 1;
- end = ttUSHORT(data + search + searchRange*2);
- if (unicode_codepoint > end)
- search += searchRange*2;
- --entrySelector;
- }
- search += 2;
-
- {
- stbtt_uint16 offset, start;
- stbtt_uint16 item = (stbtt_uint16) ((search - endCount) >> 1);
-
- STBTT_assert(unicode_codepoint <= ttUSHORT(data + endCount + 2*item));
- start = ttUSHORT(data + index_map + 14 + segcount*2 + 2 + 2*item);
- if (unicode_codepoint < start)
- return 0;
-
- offset = ttUSHORT(data + index_map + 14 + segcount*6 + 2 + 2*item);
- if (offset == 0)
- return (stbtt_uint16) (unicode_codepoint + ttSHORT(data + index_map + 14 + segcount*4 + 2 + 2*item));
-
- return ttUSHORT(data + offset + (unicode_codepoint-start)*2 + index_map + 14 + segcount*6 + 2 + 2*item);
- }
- } else if (format == 12 || format == 13) {
- stbtt_uint32 ngroups = ttULONG(data+index_map+12);
- stbtt_int32 low,high;
- low = 0; high = (stbtt_int32)ngroups;
- // Binary search the right group.
- while (low < high) {
- stbtt_int32 mid = low + ((high-low) >> 1); // rounds down, so low <= mid < high
- stbtt_uint32 start_char = ttULONG(data+index_map+16+mid*12);
- stbtt_uint32 end_char = ttULONG(data+index_map+16+mid*12+4);
- if ((stbtt_uint32) unicode_codepoint < start_char)
- high = mid;
- else if ((stbtt_uint32) unicode_codepoint > end_char)
- low = mid+1;
- else {
- stbtt_uint32 start_glyph = ttULONG(data+index_map+16+mid*12+8);
- if (format == 12)
- return start_glyph + unicode_codepoint-start_char;
- else // format == 13
- return start_glyph;
- }
- }
- return 0; // not found
- }
- // @TODO
- STBTT_assert(0);
- return 0;
-}
-
-STBTT_DEF int stbtt_GetCodepointShape(const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices)
-{
- return stbtt_GetGlyphShape(info, stbtt_FindGlyphIndex(info, unicode_codepoint), vertices);
-}
-
-static void stbtt_setvertex(stbtt_vertex *v, stbtt_uint8 type, stbtt_int32 x, stbtt_int32 y, stbtt_int32 cx, stbtt_int32 cy)
-{
- v->type = type;
- v->x = (stbtt_int16) x;
- v->y = (stbtt_int16) y;
- v->cx = (stbtt_int16) cx;
- v->cy = (stbtt_int16) cy;
-}
-
-static int stbtt__GetGlyfOffset(const stbtt_fontinfo *info, int glyph_index)
-{
- int g1,g2;
-
- STBTT_assert(!info->cff.size);
-
- if (glyph_index >= info->numGlyphs) return -1; // glyph index out of range
- if (info->indexToLocFormat >= 2) return -1; // unknown index->glyph map format
-
- if (info->indexToLocFormat == 0) {
- g1 = info->glyf + ttUSHORT(info->data + info->loca + glyph_index * 2) * 2;
- g2 = info->glyf + ttUSHORT(info->data + info->loca + glyph_index * 2 + 2) * 2;
- } else {
- g1 = info->glyf + ttULONG (info->data + info->loca + glyph_index * 4);
- g2 = info->glyf + ttULONG (info->data + info->loca + glyph_index * 4 + 4);
- }
-
- return g1==g2 ? -1 : g1; // if length is 0, return -1
-}
-
-static int stbtt__GetGlyphInfoT2(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1);
-
-STBTT_DEF int stbtt_GetGlyphBox(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1)
-{
- if (info->cff.size) {
- stbtt__GetGlyphInfoT2(info, glyph_index, x0, y0, x1, y1);
- } else {
- int g = stbtt__GetGlyfOffset(info, glyph_index);
- if (g < 0) return 0;
-
- if (x0) *x0 = ttSHORT(info->data + g + 2);
- if (y0) *y0 = ttSHORT(info->data + g + 4);
- if (x1) *x1 = ttSHORT(info->data + g + 6);
- if (y1) *y1 = ttSHORT(info->data + g + 8);
- }
- return 1;
-}
-
-STBTT_DEF int stbtt_GetCodepointBox(const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1)
-{
- return stbtt_GetGlyphBox(info, stbtt_FindGlyphIndex(info,codepoint), x0,y0,x1,y1);
-}
-
-STBTT_DEF int stbtt_IsGlyphEmpty(const stbtt_fontinfo *info, int glyph_index)
-{
- stbtt_int16 numberOfContours;
- int g;
- if (info->cff.size)
- return stbtt__GetGlyphInfoT2(info, glyph_index, NULL, NULL, NULL, NULL) == 0;
- g = stbtt__GetGlyfOffset(info, glyph_index);
- if (g < 0) return 1;
- numberOfContours = ttSHORT(info->data + g);
- return numberOfContours == 0;
-}
-
-static int stbtt__close_shape(stbtt_vertex *vertices, int num_vertices, int was_off, int start_off,
- stbtt_int32 sx, stbtt_int32 sy, stbtt_int32 scx, stbtt_int32 scy, stbtt_int32 cx, stbtt_int32 cy)
-{
- if (start_off) {
- if (was_off)
- stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, (cx+scx)>>1, (cy+scy)>>1, cx,cy);
- stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, sx,sy,scx,scy);
- } else {
- if (was_off)
- stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve,sx,sy,cx,cy);
- else
- stbtt_setvertex(&vertices[num_vertices++], STBTT_vline,sx,sy,0,0);
- }
- return num_vertices;
-}
-
-static int stbtt__GetGlyphShapeTT(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **pvertices)
-{
- stbtt_int16 numberOfContours;
- stbtt_uint8 *endPtsOfContours;
- stbtt_uint8 *data = info->data;
- stbtt_vertex *vertices=0;
- int num_vertices=0;
- int g = stbtt__GetGlyfOffset(info, glyph_index);
-
- *pvertices = NULL;
-
- if (g < 0) return 0;
-
- numberOfContours = ttSHORT(data + g);
-
- if (numberOfContours > 0) {
- stbtt_uint8 flags=0,flagcount;
- stbtt_int32 ins, i,j=0,m,n, next_move, was_off=0, off, start_off=0;
- stbtt_int32 x,y,cx,cy,sx,sy, scx,scy;
- stbtt_uint8 *points;
- endPtsOfContours = (data + g + 10);
- ins = ttUSHORT(data + g + 10 + numberOfContours * 2);
- points = data + g + 10 + numberOfContours * 2 + 2 + ins;
-
- n = 1+ttUSHORT(endPtsOfContours + numberOfContours*2-2);
-
- m = n + 2*numberOfContours; // a loose bound on how many vertices we might need
- vertices = (stbtt_vertex *) STBTT_malloc(m * sizeof(vertices[0]), info->userdata);
- if (vertices == 0)
- return 0;
-
- next_move = 0;
- flagcount=0;
-
- // in first pass, we load uninterpreted data into the allocated array
- // above, shifted to the end of the array so we won't overwrite it when
- // we create our final data starting from the front
-
- off = m - n; // starting offset for uninterpreted data, regardless of how m ends up being calculated
-
- // first load flags
-
- for (i=0; i < n; ++i) {
- if (flagcount == 0) {
- flags = *points++;
- if (flags & 8)
- flagcount = *points++;
- } else
- --flagcount;
- vertices[off+i].type = flags;
- }
-
- // now load x coordinates
- x=0;
- for (i=0; i < n; ++i) {
- flags = vertices[off+i].type;
- if (flags & 2) {
- stbtt_int16 dx = *points++;
- x += (flags & 16) ? dx : -dx; // ???
- } else {
- if (!(flags & 16)) {
- x = x + (stbtt_int16) (points[0]*256 + points[1]);
- points += 2;
- }
- }
- vertices[off+i].x = (stbtt_int16) x;
- }
-
- // now load y coordinates
- y=0;
- for (i=0; i < n; ++i) {
- flags = vertices[off+i].type;
- if (flags & 4) {
- stbtt_int16 dy = *points++;
- y += (flags & 32) ? dy : -dy; // ???
- } else {
- if (!(flags & 32)) {
- y = y + (stbtt_int16) (points[0]*256 + points[1]);
- points += 2;
- }
- }
- vertices[off+i].y = (stbtt_int16) y;
- }
-
- // now convert them to our format
- num_vertices=0;
- sx = sy = cx = cy = scx = scy = 0;
- for (i=0; i < n; ++i) {
- flags = vertices[off+i].type;
- x = (stbtt_int16) vertices[off+i].x;
- y = (stbtt_int16) vertices[off+i].y;
-
- if (next_move == i) {
- if (i != 0)
- num_vertices = stbtt__close_shape(vertices, num_vertices, was_off, start_off, sx,sy,scx,scy,cx,cy);
-
- // now start the new one
- start_off = !(flags & 1);
- if (start_off) {
- // if we start off with an off-curve point, then when we need to find a point on the curve
- // where we can start, and we need to save some state for when we wraparound.
- scx = x;
- scy = y;
- if (!(vertices[off+i+1].type & 1)) {
- // next point is also a curve point, so interpolate an on-point curve
- sx = (x + (stbtt_int32) vertices[off+i+1].x) >> 1;
- sy = (y + (stbtt_int32) vertices[off+i+1].y) >> 1;
- } else {
- // otherwise just use the next point as our start point
- sx = (stbtt_int32) vertices[off+i+1].x;
- sy = (stbtt_int32) vertices[off+i+1].y;
- ++i; // we're using point i+1 as the starting point, so skip it
- }
- } else {
- sx = x;
- sy = y;
- }
- stbtt_setvertex(&vertices[num_vertices++], STBTT_vmove,sx,sy,0,0);
- was_off = 0;
- next_move = 1 + ttUSHORT(endPtsOfContours+j*2);
- ++j;
- } else {
- if (!(flags & 1)) { // if it's a curve
- if (was_off) // two off-curve control points in a row means interpolate an on-curve midpoint
- stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, (cx+x)>>1, (cy+y)>>1, cx, cy);
- cx = x;
- cy = y;
- was_off = 1;
- } else {
- if (was_off)
- stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, x,y, cx, cy);
- else
- stbtt_setvertex(&vertices[num_vertices++], STBTT_vline, x,y,0,0);
- was_off = 0;
- }
- }
- }
- num_vertices = stbtt__close_shape(vertices, num_vertices, was_off, start_off, sx,sy,scx,scy,cx,cy);
- } else if (numberOfContours == -1) {
- // Compound shapes.
- int more = 1;
- stbtt_uint8 *comp = data + g + 10;
- num_vertices = 0;
- vertices = 0;
- while (more) {
- stbtt_uint16 flags, gidx;
- int comp_num_verts = 0, i;
- stbtt_vertex *comp_verts = 0, *tmp = 0;
- float mtx[6] = {1,0,0,1,0,0}, m, n;
-
- flags = ttSHORT(comp); comp+=2;
- gidx = ttSHORT(comp); comp+=2;
-
- if (flags & 2) { // XY values
- if (flags & 1) { // shorts
- mtx[4] = ttSHORT(comp); comp+=2;
- mtx[5] = ttSHORT(comp); comp+=2;
- } else {
- mtx[4] = ttCHAR(comp); comp+=1;
- mtx[5] = ttCHAR(comp); comp+=1;
- }
- }
- else {
- // @TODO handle matching point
- STBTT_assert(0);
- }
- if (flags & (1<<3)) { // WE_HAVE_A_SCALE
- mtx[0] = mtx[3] = ttSHORT(comp)/16384.0f; comp+=2;
- mtx[1] = mtx[2] = 0;
- } else if (flags & (1<<6)) { // WE_HAVE_AN_X_AND_YSCALE
- mtx[0] = ttSHORT(comp)/16384.0f; comp+=2;
- mtx[1] = mtx[2] = 0;
- mtx[3] = ttSHORT(comp)/16384.0f; comp+=2;
- } else if (flags & (1<<7)) { // WE_HAVE_A_TWO_BY_TWO
- mtx[0] = ttSHORT(comp)/16384.0f; comp+=2;
- mtx[1] = ttSHORT(comp)/16384.0f; comp+=2;
- mtx[2] = ttSHORT(comp)/16384.0f; comp+=2;
- mtx[3] = ttSHORT(comp)/16384.0f; comp+=2;
- }
-
- // Find transformation scales.
- m = (float) STBTT_sqrt(mtx[0]*mtx[0] + mtx[1]*mtx[1]);
- n = (float) STBTT_sqrt(mtx[2]*mtx[2] + mtx[3]*mtx[3]);
-
- // Get indexed glyph.
- comp_num_verts = stbtt_GetGlyphShape(info, gidx, &comp_verts);
- if (comp_num_verts > 0) {
- // Transform vertices.
- for (i = 0; i < comp_num_verts; ++i) {
- stbtt_vertex* v = &comp_verts[i];
- stbtt_vertex_type x,y;
- x=v->x; y=v->y;
- v->x = (stbtt_vertex_type)(m * (mtx[0]*x + mtx[2]*y + mtx[4]));
- v->y = (stbtt_vertex_type)(n * (mtx[1]*x + mtx[3]*y + mtx[5]));
- x=v->cx; y=v->cy;
- v->cx = (stbtt_vertex_type)(m * (mtx[0]*x + mtx[2]*y + mtx[4]));
- v->cy = (stbtt_vertex_type)(n * (mtx[1]*x + mtx[3]*y + mtx[5]));
- }
- // Append vertices.
- tmp = (stbtt_vertex*)STBTT_malloc((num_vertices+comp_num_verts)*sizeof(stbtt_vertex), info->userdata);
- if (!tmp) {
- if (vertices) STBTT_free(vertices, info->userdata);
- if (comp_verts) STBTT_free(comp_verts, info->userdata);
- return 0;
- }
- if (num_vertices > 0) STBTT_memcpy(tmp, vertices, num_vertices*sizeof(stbtt_vertex));
- STBTT_memcpy(tmp+num_vertices, comp_verts, comp_num_verts*sizeof(stbtt_vertex));
- if (vertices) STBTT_free(vertices, info->userdata);
- vertices = tmp;
- STBTT_free(comp_verts, info->userdata);
- num_vertices += comp_num_verts;
- }
- // More components ?
- more = flags & (1<<5);
- }
- } else if (numberOfContours < 0) {
- // @TODO other compound variations?
- STBTT_assert(0);
- } else {
- // numberOfCounters == 0, do nothing
- }
-
- *pvertices = vertices;
- return num_vertices;
-}
-
-typedef struct
-{
- int bounds;
- int started;
- float first_x, first_y;
- float x, y;
- stbtt_int32 min_x, max_x, min_y, max_y;
-
- stbtt_vertex *pvertices;
- int num_vertices;
-} stbtt__csctx;
-
-#define STBTT__CSCTX_INIT(bounds) {bounds,0, 0,0, 0,0, 0,0,0,0, NULL, 0}
-
-static void stbtt__track_vertex(stbtt__csctx *c, stbtt_int32 x, stbtt_int32 y)
-{
- if (x > c->max_x || !c->started) c->max_x = x;
- if (y > c->max_y || !c->started) c->max_y = y;
- if (x < c->min_x || !c->started) c->min_x = x;
- if (y < c->min_y || !c->started) c->min_y = y;
- c->started = 1;
-}
-
-static void stbtt__csctx_v(stbtt__csctx *c, stbtt_uint8 type, stbtt_int32 x, stbtt_int32 y, stbtt_int32 cx, stbtt_int32 cy, stbtt_int32 cx1, stbtt_int32 cy1)
-{
- if (c->bounds) {
- stbtt__track_vertex(c, x, y);
- if (type == STBTT_vcubic) {
- stbtt__track_vertex(c, cx, cy);
- stbtt__track_vertex(c, cx1, cy1);
- }
- } else {
- stbtt_setvertex(&c->pvertices[c->num_vertices], type, x, y, cx, cy);
- c->pvertices[c->num_vertices].cx1 = (stbtt_int16) cx1;
- c->pvertices[c->num_vertices].cy1 = (stbtt_int16) cy1;
- }
- c->num_vertices++;
-}
-
-static void stbtt__csctx_close_shape(stbtt__csctx *ctx)
-{
- if (ctx->first_x != ctx->x || ctx->first_y != ctx->y)
- stbtt__csctx_v(ctx, STBTT_vline, (int)ctx->first_x, (int)ctx->first_y, 0, 0, 0, 0);
-}
-
-static void stbtt__csctx_rmove_to(stbtt__csctx *ctx, float dx, float dy)
-{
- stbtt__csctx_close_shape(ctx);
- ctx->first_x = ctx->x = ctx->x + dx;
- ctx->first_y = ctx->y = ctx->y + dy;
- stbtt__csctx_v(ctx, STBTT_vmove, (int)ctx->x, (int)ctx->y, 0, 0, 0, 0);
-}
-
-static void stbtt__csctx_rline_to(stbtt__csctx *ctx, float dx, float dy)
-{
- ctx->x += dx;
- ctx->y += dy;
- stbtt__csctx_v(ctx, STBTT_vline, (int)ctx->x, (int)ctx->y, 0, 0, 0, 0);
-}
-
-static void stbtt__csctx_rccurve_to(stbtt__csctx *ctx, float dx1, float dy1, float dx2, float dy2, float dx3, float dy3)
-{
- float cx1 = ctx->x + dx1;
- float cy1 = ctx->y + dy1;
- float cx2 = cx1 + dx2;
- float cy2 = cy1 + dy2;
- ctx->x = cx2 + dx3;
- ctx->y = cy2 + dy3;
- stbtt__csctx_v(ctx, STBTT_vcubic, (int)ctx->x, (int)ctx->y, (int)cx1, (int)cy1, (int)cx2, (int)cy2);
-}
-
-static stbtt__buf stbtt__get_subr(stbtt__buf idx, int n)
-{
- int count = stbtt__cff_index_count(&idx);
- int bias = 107;
- if (count >= 33900)
- bias = 32768;
- else if (count >= 1240)
- bias = 1131;
- n += bias;
- if (n < 0 || n >= count)
- return stbtt__new_buf(NULL, 0);
- return stbtt__cff_index_get(idx, n);
-}
-
-static stbtt__buf stbtt__cid_get_glyph_subrs(const stbtt_fontinfo *info, int glyph_index)
-{
- stbtt__buf fdselect = info->fdselect;
- int nranges, start, end, v, fmt, fdselector = -1, i;
-
- stbtt__buf_seek(&fdselect, 0);
- fmt = stbtt__buf_get8(&fdselect);
- if (fmt == 0) {
- // untested
- stbtt__buf_skip(&fdselect, glyph_index);
- fdselector = stbtt__buf_get8(&fdselect);
- } else if (fmt == 3) {
- nranges = stbtt__buf_get16(&fdselect);
- start = stbtt__buf_get16(&fdselect);
- for (i = 0; i < nranges; i++) {
- v = stbtt__buf_get8(&fdselect);
- end = stbtt__buf_get16(&fdselect);
- if (glyph_index >= start && glyph_index < end) {
- fdselector = v;
- break;
- }
- start = end;
- }
- }
- if (fdselector == -1) stbtt__new_buf(NULL, 0);
- return stbtt__get_subrs(info->cff, stbtt__cff_index_get(info->fontdicts, fdselector));
-}
-
-static int stbtt__run_charstring(const stbtt_fontinfo *info, int glyph_index, stbtt__csctx *c)
-{
- int in_header = 1, maskbits = 0, subr_stack_height = 0, sp = 0, v, i, b0;
- int has_subrs = 0, clear_stack;
- float s[48];
- stbtt__buf subr_stack[10], subrs = info->subrs, b;
- float f;
-
-#define STBTT__CSERR(s) (0)
-
- // this currently ignores the initial width value, which isn't needed if we have hmtx
- b = stbtt__cff_index_get(info->charstrings, glyph_index);
- while (b.cursor < b.size) {
- i = 0;
- clear_stack = 1;
- b0 = stbtt__buf_get8(&b);
- switch (b0) {
- // @TODO implement hinting
- case 0x13: // hintmask
- case 0x14: // cntrmask
- if (in_header)
- maskbits += (sp / 2); // implicit "vstem"
- in_header = 0;
- stbtt__buf_skip(&b, (maskbits + 7) / 8);
- break;
-
- case 0x01: // hstem
- case 0x03: // vstem
- case 0x12: // hstemhm
- case 0x17: // vstemhm
- maskbits += (sp / 2);
- break;
-
- case 0x15: // rmoveto
- in_header = 0;
- if (sp < 2) return STBTT__CSERR("rmoveto stack");
- stbtt__csctx_rmove_to(c, s[sp-2], s[sp-1]);
- break;
- case 0x04: // vmoveto
- in_header = 0;
- if (sp < 1) return STBTT__CSERR("vmoveto stack");
- stbtt__csctx_rmove_to(c, 0, s[sp-1]);
- break;
- case 0x16: // hmoveto
- in_header = 0;
- if (sp < 1) return STBTT__CSERR("hmoveto stack");
- stbtt__csctx_rmove_to(c, s[sp-1], 0);
- break;
-
- case 0x05: // rlineto
- if (sp < 2) return STBTT__CSERR("rlineto stack");
- for (; i + 1 < sp; i += 2)
- stbtt__csctx_rline_to(c, s[i], s[i+1]);
- break;
-
- // hlineto/vlineto and vhcurveto/hvcurveto alternate horizontal and vertical
- // starting from a different place.
-
- case 0x07: // vlineto
- if (sp < 1) return STBTT__CSERR("vlineto stack");
- goto vlineto;
- case 0x06: // hlineto
- if (sp < 1) return STBTT__CSERR("hlineto stack");
- for (;;) {
- if (i >= sp) break;
- stbtt__csctx_rline_to(c, s[i], 0);
- i++;
- vlineto:
- if (i >= sp) break;
- stbtt__csctx_rline_to(c, 0, s[i]);
- i++;
- }
- break;
-
- case 0x1F: // hvcurveto
- if (sp < 4) return STBTT__CSERR("hvcurveto stack");
- goto hvcurveto;
- case 0x1E: // vhcurveto
- if (sp < 4) return STBTT__CSERR("vhcurveto stack");
- for (;;) {
- if (i + 3 >= sp) break;
- stbtt__csctx_rccurve_to(c, 0, s[i], s[i+1], s[i+2], s[i+3], (sp - i == 5) ? s[i + 4] : 0.0f);
- i += 4;
- hvcurveto:
- if (i + 3 >= sp) break;
- stbtt__csctx_rccurve_to(c, s[i], 0, s[i+1], s[i+2], (sp - i == 5) ? s[i+4] : 0.0f, s[i+3]);
- i += 4;
- }
- break;
-
- case 0x08: // rrcurveto
- if (sp < 6) return STBTT__CSERR("rcurveline stack");
- for (; i + 5 < sp; i += 6)
- stbtt__csctx_rccurve_to(c, s[i], s[i+1], s[i+2], s[i+3], s[i+4], s[i+5]);
- break;
-
- case 0x18: // rcurveline
- if (sp < 8) return STBTT__CSERR("rcurveline stack");
- for (; i + 5 < sp - 2; i += 6)
- stbtt__csctx_rccurve_to(c, s[i], s[i+1], s[i+2], s[i+3], s[i+4], s[i+5]);
- if (i + 1 >= sp) return STBTT__CSERR("rcurveline stack");
- stbtt__csctx_rline_to(c, s[i], s[i+1]);
- break;
-
- case 0x19: // rlinecurve
- if (sp < 8) return STBTT__CSERR("rlinecurve stack");
- for (; i + 1 < sp - 6; i += 2)
- stbtt__csctx_rline_to(c, s[i], s[i+1]);
- if (i + 5 >= sp) return STBTT__CSERR("rlinecurve stack");
- stbtt__csctx_rccurve_to(c, s[i], s[i+1], s[i+2], s[i+3], s[i+4], s[i+5]);
- break;
-
- case 0x1A: // vvcurveto
- case 0x1B: // hhcurveto
- if (sp < 4) return STBTT__CSERR("(vv|hh)curveto stack");
- f = 0.0;
- if (sp & 1) { f = s[i]; i++; }
- for (; i + 3 < sp; i += 4) {
- if (b0 == 0x1B)
- stbtt__csctx_rccurve_to(c, s[i], f, s[i+1], s[i+2], s[i+3], 0.0);
- else
- stbtt__csctx_rccurve_to(c, f, s[i], s[i+1], s[i+2], 0.0, s[i+3]);
- f = 0.0;
- }
- break;
-
- case 0x0A: // callsubr
- if (!has_subrs) {
- if (info->fdselect.size)
- subrs = stbtt__cid_get_glyph_subrs(info, glyph_index);
- has_subrs = 1;
- }
- // fallthrough
- case 0x1D: // callgsubr
- if (sp < 1) return STBTT__CSERR("call(g|)subr stack");
- v = (int) s[--sp];
- if (subr_stack_height >= 10) return STBTT__CSERR("recursion limit");
- subr_stack[subr_stack_height++] = b;
- b = stbtt__get_subr(b0 == 0x0A ? subrs : info->gsubrs, v);
- if (b.size == 0) return STBTT__CSERR("subr not found");
- b.cursor = 0;
- clear_stack = 0;
- break;
-
- case 0x0B: // return
- if (subr_stack_height <= 0) return STBTT__CSERR("return outside subr");
- b = subr_stack[--subr_stack_height];
- clear_stack = 0;
- break;
-
- case 0x0E: // endchar
- stbtt__csctx_close_shape(c);
- return 1;
-
- case 0x0C: { // two-byte escape
- float dx1, dx2, dx3, dx4, dx5, dx6, dy1, dy2, dy3, dy4, dy5, dy6;
- float dx, dy;
- int b1 = stbtt__buf_get8(&b);
- switch (b1) {
- // @TODO These "flex" implementations ignore the flex-depth and resolution,
- // and always draw beziers.
- case 0x22: // hflex
- if (sp < 7) return STBTT__CSERR("hflex stack");
- dx1 = s[0];
- dx2 = s[1];
- dy2 = s[2];
- dx3 = s[3];
- dx4 = s[4];
- dx5 = s[5];
- dx6 = s[6];
- stbtt__csctx_rccurve_to(c, dx1, 0, dx2, dy2, dx3, 0);
- stbtt__csctx_rccurve_to(c, dx4, 0, dx5, -dy2, dx6, 0);
- break;
-
- case 0x23: // flex
- if (sp < 13) return STBTT__CSERR("flex stack");
- dx1 = s[0];
- dy1 = s[1];
- dx2 = s[2];
- dy2 = s[3];
- dx3 = s[4];
- dy3 = s[5];
- dx4 = s[6];
- dy4 = s[7];
- dx5 = s[8];
- dy5 = s[9];
- dx6 = s[10];
- dy6 = s[11];
- //fd is s[12]
- stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, dy3);
- stbtt__csctx_rccurve_to(c, dx4, dy4, dx5, dy5, dx6, dy6);
- break;
-
- case 0x24: // hflex1
- if (sp < 9) return STBTT__CSERR("hflex1 stack");
- dx1 = s[0];
- dy1 = s[1];
- dx2 = s[2];
- dy2 = s[3];
- dx3 = s[4];
- dx4 = s[5];
- dx5 = s[6];
- dy5 = s[7];
- dx6 = s[8];
- stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, 0);
- stbtt__csctx_rccurve_to(c, dx4, 0, dx5, dy5, dx6, -(dy1+dy2+dy5));
- break;
-
- case 0x25: // flex1
- if (sp < 11) return STBTT__CSERR("flex1 stack");
- dx1 = s[0];
- dy1 = s[1];
- dx2 = s[2];
- dy2 = s[3];
- dx3 = s[4];
- dy3 = s[5];
- dx4 = s[6];
- dy4 = s[7];
- dx5 = s[8];
- dy5 = s[9];
- dx6 = dy6 = s[10];
- dx = dx1+dx2+dx3+dx4+dx5;
- dy = dy1+dy2+dy3+dy4+dy5;
- if (STBTT_fabs(dx) > STBTT_fabs(dy))
- dy6 = -dy;
- else
- dx6 = -dx;
- stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, dy3);
- stbtt__csctx_rccurve_to(c, dx4, dy4, dx5, dy5, dx6, dy6);
- break;
-
- default:
- return STBTT__CSERR("unimplemented");
- }
- } break;
-
- default:
- if (b0 != 255 && b0 != 28 && (b0 < 32 || b0 > 254))
- return STBTT__CSERR("reserved operator");
-
- // push immediate
- if (b0 == 255) {
- f = (float)(stbtt_int32)stbtt__buf_get32(&b) / 0x10000;
- } else {
- stbtt__buf_skip(&b, -1);
- f = (float)(stbtt_int16)stbtt__cff_int(&b);
- }
- if (sp >= 48) return STBTT__CSERR("push stack overflow");
- s[sp++] = f;
- clear_stack = 0;
- break;
- }
- if (clear_stack) sp = 0;
- }
- return STBTT__CSERR("no endchar");
-
-#undef STBTT__CSERR
-}
-
-static int stbtt__GetGlyphShapeT2(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **pvertices)
-{
- // runs the charstring twice, once to count and once to output (to avoid realloc)
- stbtt__csctx count_ctx = STBTT__CSCTX_INIT(1);
- stbtt__csctx output_ctx = STBTT__CSCTX_INIT(0);
- if (stbtt__run_charstring(info, glyph_index, &count_ctx)) {
- *pvertices = (stbtt_vertex*)STBTT_malloc(count_ctx.num_vertices*sizeof(stbtt_vertex), info->userdata);
- output_ctx.pvertices = *pvertices;
- if (stbtt__run_charstring(info, glyph_index, &output_ctx)) {
- STBTT_assert(output_ctx.num_vertices == count_ctx.num_vertices);
- return output_ctx.num_vertices;
- }
- }
- *pvertices = NULL;
- return 0;
-}
-
-static int stbtt__GetGlyphInfoT2(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1)
-{
- stbtt__csctx c = STBTT__CSCTX_INIT(1);
- int r = stbtt__run_charstring(info, glyph_index, &c);
- if (x0) *x0 = r ? c.min_x : 0;
- if (y0) *y0 = r ? c.min_y : 0;
- if (x1) *x1 = r ? c.max_x : 0;
- if (y1) *y1 = r ? c.max_y : 0;
- return r ? c.num_vertices : 0;
-}
-
-STBTT_DEF int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **pvertices)
-{
- if (!info->cff.size)
- return stbtt__GetGlyphShapeTT(info, glyph_index, pvertices);
- else
- return stbtt__GetGlyphShapeT2(info, glyph_index, pvertices);
-}
-
-STBTT_DEF void stbtt_GetGlyphHMetrics(const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing)
-{
- stbtt_uint16 numOfLongHorMetrics = ttUSHORT(info->data+info->hhea + 34);
- if (glyph_index < numOfLongHorMetrics) {
- if (advanceWidth) *advanceWidth = ttSHORT(info->data + info->hmtx + 4*glyph_index);
- if (leftSideBearing) *leftSideBearing = ttSHORT(info->data + info->hmtx + 4*glyph_index + 2);
- } else {
- if (advanceWidth) *advanceWidth = ttSHORT(info->data + info->hmtx + 4*(numOfLongHorMetrics-1));
- if (leftSideBearing) *leftSideBearing = ttSHORT(info->data + info->hmtx + 4*numOfLongHorMetrics + 2*(glyph_index - numOfLongHorMetrics));
- }
-}
-
-static int stbtt__GetGlyphKernInfoAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2)
-{
- stbtt_uint8 *data = info->data + info->kern;
- stbtt_uint32 needle, straw;
- int l, r, m;
-
- // we only look at the first table. it must be 'horizontal' and format 0.
- if (!info->kern)
- return 0;
- if (ttUSHORT(data+2) < 1) // number of tables, need at least 1
- return 0;
- if (ttUSHORT(data+8) != 1) // horizontal flag must be set in format
- return 0;
-
- l = 0;
- r = ttUSHORT(data+10) - 1;
- needle = glyph1 << 16 | glyph2;
- while (l <= r) {
- m = (l + r) >> 1;
- straw = ttULONG(data+18+(m*6)); // note: unaligned read
- if (needle < straw)
- r = m - 1;
- else if (needle > straw)
- l = m + 1;
- else
- return ttSHORT(data+22+(m*6));
- }
- return 0;
-}
-
-static stbtt_int32 stbtt__GetCoverageIndex(stbtt_uint8 *coverageTable, int glyph)
-{
- stbtt_uint16 coverageFormat = ttUSHORT(coverageTable);
- switch(coverageFormat) {
- case 1: {
- stbtt_uint16 glyphCount = ttUSHORT(coverageTable + 2);
-
- // Binary search.
- stbtt_int32 l=0, r=glyphCount-1, m;
- int straw, needle=glyph;
- while (l <= r) {
- stbtt_uint8 *glyphArray = coverageTable + 4;
- stbtt_uint16 glyphID;
- m = (l + r) >> 1;
- glyphID = ttUSHORT(glyphArray + 2 * m);
- straw = glyphID;
- if (needle < straw)
- r = m - 1;
- else if (needle > straw)
- l = m + 1;
- else {
- return m;
- }
- }
- } break;
-
- case 2: {
- stbtt_uint16 rangeCount = ttUSHORT(coverageTable + 2);
- stbtt_uint8 *rangeArray = coverageTable + 4;
-
- // Binary search.
- stbtt_int32 l=0, r=rangeCount-1, m;
- int strawStart, strawEnd, needle=glyph;
- while (l <= r) {
- stbtt_uint8 *rangeRecord;
- m = (l + r) >> 1;
- rangeRecord = rangeArray + 6 * m;
- strawStart = ttUSHORT(rangeRecord);
- strawEnd = ttUSHORT(rangeRecord + 2);
- if (needle < strawStart)
- r = m - 1;
- else if (needle > strawEnd)
- l = m + 1;
- else {
- stbtt_uint16 startCoverageIndex = ttUSHORT(rangeRecord + 4);
- return startCoverageIndex + glyph - strawStart;
- }
- }
- } break;
-
- default: {
- // There are no other cases.
- STBTT_assert(0);
- } break;
- }
-
- return -1;
-}
-
-static stbtt_int32 stbtt__GetGlyphClass(stbtt_uint8 *classDefTable, int glyph)
-{
- stbtt_uint16 classDefFormat = ttUSHORT(classDefTable);
- switch(classDefFormat)
- {
- case 1: {
- stbtt_uint16 startGlyphID = ttUSHORT(classDefTable + 2);
- stbtt_uint16 glyphCount = ttUSHORT(classDefTable + 4);
- stbtt_uint8 *classDef1ValueArray = classDefTable + 6;
-
- if (glyph >= startGlyphID && glyph < startGlyphID + glyphCount)
- return (stbtt_int32)ttUSHORT(classDef1ValueArray + 2 * (glyph - startGlyphID));
-
- classDefTable = classDef1ValueArray + 2 * glyphCount;
- } break;
-
- case 2: {
- stbtt_uint16 classRangeCount = ttUSHORT(classDefTable + 2);
- stbtt_uint8 *classRangeRecords = classDefTable + 4;
-
- // Binary search.
- stbtt_int32 l=0, r=classRangeCount-1, m;
- int strawStart, strawEnd, needle=glyph;
- while (l <= r) {
- stbtt_uint8 *classRangeRecord;
- m = (l + r) >> 1;
- classRangeRecord = classRangeRecords + 6 * m;
- strawStart = ttUSHORT(classRangeRecord);
- strawEnd = ttUSHORT(classRangeRecord + 2);
- if (needle < strawStart)
- r = m - 1;
- else if (needle > strawEnd)
- l = m + 1;
- else
- return (stbtt_int32)ttUSHORT(classRangeRecord + 4);
- }
-
- classDefTable = classRangeRecords + 6 * classRangeCount;
- } break;
-
- default: {
- // There are no other cases.
- STBTT_assert(0);
- } break;
- }
-
- return -1;
-}
-
-// Define to STBTT_assert(x) if you want to break on unimplemented formats.
-#define STBTT_GPOS_TODO_assert(x)
-
-static stbtt_int32 stbtt__GetGlyphGPOSInfoAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2)
-{
- stbtt_uint16 lookupListOffset;
- stbtt_uint8 *lookupList;
- stbtt_uint16 lookupCount;
- stbtt_uint8 *data;
- stbtt_int32 i;
-
- if (!info->gpos) return 0;
-
- data = info->data + info->gpos;
-
- if (ttUSHORT(data+0) != 1) return 0; // Major version 1
- if (ttUSHORT(data+2) != 0) return 0; // Minor version 0
-
- lookupListOffset = ttUSHORT(data+8);
- lookupList = data + lookupListOffset;
- lookupCount = ttUSHORT(lookupList);
-
- for (i=0; i<lookupCount; ++i) {
- stbtt_uint16 lookupOffset = ttUSHORT(lookupList + 2 + 2 * i);
- stbtt_uint8 *lookupTable = lookupList + lookupOffset;
-
- stbtt_uint16 lookupType = ttUSHORT(lookupTable);
- stbtt_uint16 subTableCount = ttUSHORT(lookupTable + 4);
- stbtt_uint8 *subTableOffsets = lookupTable + 6;
- switch(lookupType) {
- case 2: { // Pair Adjustment Positioning Subtable
- stbtt_int32 sti;
- for (sti=0; sti<subTableCount; sti++) {
- stbtt_uint16 subtableOffset = ttUSHORT(subTableOffsets + 2 * sti);
- stbtt_uint8 *table = lookupTable + subtableOffset;
- stbtt_uint16 posFormat = ttUSHORT(table);
- stbtt_uint16 coverageOffset = ttUSHORT(table + 2);
- stbtt_int32 coverageIndex = stbtt__GetCoverageIndex(table + coverageOffset, glyph1);
- if (coverageIndex == -1) continue;
-
- switch (posFormat) {
- case 1: {
- stbtt_int32 l, r, m;
- int straw, needle;
- stbtt_uint16 valueFormat1 = ttUSHORT(table + 4);
- stbtt_uint16 valueFormat2 = ttUSHORT(table + 6);
- stbtt_int32 valueRecordPairSizeInBytes = 2;
- stbtt_uint16 pairSetCount = ttUSHORT(table + 8);
- stbtt_uint16 pairPosOffset = ttUSHORT(table + 10 + 2 * coverageIndex);
- stbtt_uint8 *pairValueTable = table + pairPosOffset;
- stbtt_uint16 pairValueCount = ttUSHORT(pairValueTable);
- stbtt_uint8 *pairValueArray = pairValueTable + 2;
- // TODO: Support more formats.
- STBTT_GPOS_TODO_assert(valueFormat1 == 4);
- if (valueFormat1 != 4) return 0;
- STBTT_GPOS_TODO_assert(valueFormat2 == 0);
- if (valueFormat2 != 0) return 0;
-
- STBTT_assert(coverageIndex < pairSetCount);
- STBTT__NOTUSED(pairSetCount);
-
- needle=glyph2;
- r=pairValueCount-1;
- l=0;
-
- // Binary search.
- while (l <= r) {
- stbtt_uint16 secondGlyph;
- stbtt_uint8 *pairValue;
- m = (l + r) >> 1;
- pairValue = pairValueArray + (2 + valueRecordPairSizeInBytes) * m;
- secondGlyph = ttUSHORT(pairValue);
- straw = secondGlyph;
- if (needle < straw)
- r = m - 1;
- else if (needle > straw)
- l = m + 1;
- else {
- stbtt_int16 xAdvance = ttSHORT(pairValue + 2);
- return xAdvance;
- }
- }
- } break;
-
- case 2: {
- stbtt_uint16 valueFormat1 = ttUSHORT(table + 4);
- stbtt_uint16 valueFormat2 = ttUSHORT(table + 6);
-
- stbtt_uint16 classDef1Offset = ttUSHORT(table + 8);
- stbtt_uint16 classDef2Offset = ttUSHORT(table + 10);
- int glyph1class = stbtt__GetGlyphClass(table + classDef1Offset, glyph1);
- int glyph2class = stbtt__GetGlyphClass(table + classDef2Offset, glyph2);
-
- stbtt_uint16 class1Count = ttUSHORT(table + 12);
- stbtt_uint16 class2Count = ttUSHORT(table + 14);
- STBTT_assert(glyph1class < class1Count);
- STBTT_assert(glyph2class < class2Count);
-
- // TODO: Support more formats.
- STBTT_GPOS_TODO_assert(valueFormat1 == 4);
- if (valueFormat1 != 4) return 0;
- STBTT_GPOS_TODO_assert(valueFormat2 == 0);
- if (valueFormat2 != 0) return 0;
-
- if (glyph1class >= 0 && glyph1class < class1Count && glyph2class >= 0 && glyph2class < class2Count) {
- stbtt_uint8 *class1Records = table + 16;
- stbtt_uint8 *class2Records = class1Records + 2 * (glyph1class * class2Count);
- stbtt_int16 xAdvance = ttSHORT(class2Records + 2 * glyph2class);
- return xAdvance;
- }
- } break;
-
- default: {
- // There are no other cases.
- STBTT_assert(0);
- break;
- };
- }
- }
- break;
- };
-
- default:
- // TODO: Implement other stuff.
- break;
- }
- }
-
- return 0;
-}
-
-STBTT_DEF int stbtt_GetGlyphKernAdvance(const stbtt_fontinfo *info, int g1, int g2)
-{
- int xAdvance = 0;
-
- if (info->gpos)
- xAdvance += stbtt__GetGlyphGPOSInfoAdvance(info, g1, g2);
-
- if (info->kern)
- xAdvance += stbtt__GetGlyphKernInfoAdvance(info, g1, g2);
-
- return xAdvance;
-}
-
-STBTT_DEF int stbtt_GetCodepointKernAdvance(const stbtt_fontinfo *info, int ch1, int ch2)
-{
- if (!info->kern && !info->gpos) // if no kerning table, don't waste time looking up both codepoint->glyphs
- return 0;
- return stbtt_GetGlyphKernAdvance(info, stbtt_FindGlyphIndex(info,ch1), stbtt_FindGlyphIndex(info,ch2));
-}
-
-STBTT_DEF void stbtt_GetCodepointHMetrics(const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing)
-{
- stbtt_GetGlyphHMetrics(info, stbtt_FindGlyphIndex(info,codepoint), advanceWidth, leftSideBearing);
-}
-
-STBTT_DEF void stbtt_GetFontVMetrics(const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap)
-{
- if (ascent ) *ascent = ttSHORT(info->data+info->hhea + 4);
- if (descent) *descent = ttSHORT(info->data+info->hhea + 6);
- if (lineGap) *lineGap = ttSHORT(info->data+info->hhea + 8);
-}
-
-STBTT_DEF int stbtt_GetFontVMetricsOS2(const stbtt_fontinfo *info, int *typoAscent, int *typoDescent, int *typoLineGap)
-{
- int tab = stbtt__find_table(info->data, info->fontstart, "OS/2");
- if (!tab)
- return 0;
- if (typoAscent ) *typoAscent = ttSHORT(info->data+tab + 68);
- if (typoDescent) *typoDescent = ttSHORT(info->data+tab + 70);
- if (typoLineGap) *typoLineGap = ttSHORT(info->data+tab + 72);
- return 1;
-}
-
-STBTT_DEF void stbtt_GetFontBoundingBox(const stbtt_fontinfo *info, int *x0, int *y0, int *x1, int *y1)
-{
- *x0 = ttSHORT(info->data + info->head + 36);
- *y0 = ttSHORT(info->data + info->head + 38);
- *x1 = ttSHORT(info->data + info->head + 40);
- *y1 = ttSHORT(info->data + info->head + 42);
-}
-
-STBTT_DEF float stbtt_ScaleForPixelHeight(const stbtt_fontinfo *info, float height)
-{
- int fheight = ttSHORT(info->data + info->hhea + 4) - ttSHORT(info->data + info->hhea + 6);
- return (float) height / fheight;
-}
-
-STBTT_DEF float stbtt_ScaleForMappingEmToPixels(const stbtt_fontinfo *info, float pixels)
-{
- int unitsPerEm = ttUSHORT(info->data + info->head + 18);
- return pixels / unitsPerEm;
-}
-
-STBTT_DEF void stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *v)
-{
- STBTT_free(v, info->userdata);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// antialiasing software rasterizer
-//
-
-STBTT_DEF void stbtt_GetGlyphBitmapBoxSubpixel(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y,float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1)
-{
- int x0=0,y0=0,x1,y1; // =0 suppresses compiler warning
- if (!stbtt_GetGlyphBox(font, glyph, &x0,&y0,&x1,&y1)) {
- // e.g. space character
- if (ix0) *ix0 = 0;
- if (iy0) *iy0 = 0;
- if (ix1) *ix1 = 0;
- if (iy1) *iy1 = 0;
- } else {
- // move to integral bboxes (treating pixels as little squares, what pixels get touched)?
- if (ix0) *ix0 = STBTT_ifloor( x0 * scale_x + shift_x);
- if (iy0) *iy0 = STBTT_ifloor(-y1 * scale_y + shift_y);
- if (ix1) *ix1 = STBTT_iceil ( x1 * scale_x + shift_x);
- if (iy1) *iy1 = STBTT_iceil (-y0 * scale_y + shift_y);
- }
-}
-
-STBTT_DEF void stbtt_GetGlyphBitmapBox(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1)
-{
- stbtt_GetGlyphBitmapBoxSubpixel(font, glyph, scale_x, scale_y,0.0f,0.0f, ix0, iy0, ix1, iy1);
-}
-
-STBTT_DEF void stbtt_GetCodepointBitmapBoxSubpixel(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1)
-{
- stbtt_GetGlyphBitmapBoxSubpixel(font, stbtt_FindGlyphIndex(font,codepoint), scale_x, scale_y,shift_x,shift_y, ix0,iy0,ix1,iy1);
-}
-
-STBTT_DEF void stbtt_GetCodepointBitmapBox(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1)
-{
- stbtt_GetCodepointBitmapBoxSubpixel(font, codepoint, scale_x, scale_y,0.0f,0.0f, ix0,iy0,ix1,iy1);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// Rasterizer
-
-typedef struct stbtt__hheap_chunk
-{
- struct stbtt__hheap_chunk *next;
-} stbtt__hheap_chunk;
-
-typedef struct stbtt__hheap
-{
- struct stbtt__hheap_chunk *head;
- void *first_free;
- int num_remaining_in_head_chunk;
-} stbtt__hheap;
-
-static void *stbtt__hheap_alloc(stbtt__hheap *hh, size_t size, void *userdata)
-{
- if (hh->first_free) {
- void *p = hh->first_free;
- hh->first_free = * (void **) p;
- return p;
- } else {
- if (hh->num_remaining_in_head_chunk == 0) {
- int count = (size < 32 ? 2000 : size < 128 ? 800 : 100);
- stbtt__hheap_chunk *c = (stbtt__hheap_chunk *) STBTT_malloc(sizeof(stbtt__hheap_chunk) + size * count, userdata);
- if (c == NULL)
- return NULL;
- c->next = hh->head;
- hh->head = c;
- hh->num_remaining_in_head_chunk = count;
- }
- --hh->num_remaining_in_head_chunk;
- return (char *) (hh->head) + sizeof(stbtt__hheap_chunk) + size * hh->num_remaining_in_head_chunk;
- }
-}
-
-static void stbtt__hheap_free(stbtt__hheap *hh, void *p)
-{
- *(void **) p = hh->first_free;
- hh->first_free = p;
-}
-
-static void stbtt__hheap_cleanup(stbtt__hheap *hh, void *userdata)
-{
- stbtt__hheap_chunk *c = hh->head;
- while (c) {
- stbtt__hheap_chunk *n = c->next;
- STBTT_free(c, userdata);
- c = n;
- }
-}
-
-typedef struct stbtt__edge {
- float x0,y0, x1,y1;
- int invert;
-} stbtt__edge;
-
-
-typedef struct stbtt__active_edge
-{
- struct stbtt__active_edge *next;
- #if STBTT_RASTERIZER_VERSION==1
- int x,dx;
- float ey;
- int direction;
- #elif STBTT_RASTERIZER_VERSION==2
- float fx,fdx,fdy;
- float direction;
- float sy;
- float ey;
- #else
- #error "Unrecognized value of STBTT_RASTERIZER_VERSION"
- #endif
-} stbtt__active_edge;
-
-#if STBTT_RASTERIZER_VERSION == 1
-#define STBTT_FIXSHIFT 10
-#define STBTT_FIX (1 << STBTT_FIXSHIFT)
-#define STBTT_FIXMASK (STBTT_FIX-1)
-
-static stbtt__active_edge *stbtt__new_active(stbtt__hheap *hh, stbtt__edge *e, int off_x, float start_point, void *userdata)
-{
- stbtt__active_edge *z = (stbtt__active_edge *) stbtt__hheap_alloc(hh, sizeof(*z), userdata);
- float dxdy = (e->x1 - e->x0) / (e->y1 - e->y0);
- STBTT_assert(z != NULL);
- if (!z) return z;
-
- // round dx down to avoid overshooting
- if (dxdy < 0)
- z->dx = -STBTT_ifloor(STBTT_FIX * -dxdy);
- else
- z->dx = STBTT_ifloor(STBTT_FIX * dxdy);
-
- z->x = STBTT_ifloor(STBTT_FIX * e->x0 + z->dx * (start_point - e->y0)); // use z->dx so when we offset later it's by the same amount
- z->x -= off_x * STBTT_FIX;
-
- z->ey = e->y1;
- z->next = 0;
- z->direction = e->invert ? 1 : -1;
- return z;
-}
-#elif STBTT_RASTERIZER_VERSION == 2
-static stbtt__active_edge *stbtt__new_active(stbtt__hheap *hh, stbtt__edge *e, int off_x, float start_point, void *userdata)
-{
- stbtt__active_edge *z = (stbtt__active_edge *) stbtt__hheap_alloc(hh, sizeof(*z), userdata);
- float dxdy = (e->x1 - e->x0) / (e->y1 - e->y0);
- STBTT_assert(z != NULL);
- //STBTT_assert(e->y0 <= start_point);
- if (!z) return z;
- z->fdx = dxdy;
- z->fdy = dxdy != 0.0f ? (1.0f/dxdy) : 0.0f;
- z->fx = e->x0 + dxdy * (start_point - e->y0);
- z->fx -= off_x;
- z->direction = e->invert ? 1.0f : -1.0f;
- z->sy = e->y0;
- z->ey = e->y1;
- z->next = 0;
- return z;
-}
-#else
-#error "Unrecognized value of STBTT_RASTERIZER_VERSION"
-#endif
-
-#if STBTT_RASTERIZER_VERSION == 1
-// note: this routine clips fills that extend off the edges... ideally this
-// wouldn't happen, but it could happen if the truetype glyph bounding boxes
-// are wrong, or if the user supplies a too-small bitmap
-static void stbtt__fill_active_edges(unsigned char *scanline, int len, stbtt__active_edge *e, int max_weight)
-{
- // non-zero winding fill
- int x0=0, w=0;
-
- while (e) {
- if (w == 0) {
- // if we're currently at zero, we need to record the edge start point
- x0 = e->x; w += e->direction;
- } else {
- int x1 = e->x; w += e->direction;
- // if we went to zero, we need to draw
- if (w == 0) {
- int i = x0 >> STBTT_FIXSHIFT;
- int j = x1 >> STBTT_FIXSHIFT;
-
- if (i < len && j >= 0) {
- if (i == j) {
- // x0,x1 are the same pixel, so compute combined coverage
- scanline[i] = scanline[i] + (stbtt_uint8) ((x1 - x0) * max_weight >> STBTT_FIXSHIFT);
- } else {
- if (i >= 0) // add antialiasing for x0
- scanline[i] = scanline[i] + (stbtt_uint8) (((STBTT_FIX - (x0 & STBTT_FIXMASK)) * max_weight) >> STBTT_FIXSHIFT);
- else
- i = -1; // clip
-
- if (j < len) // add antialiasing for x1
- scanline[j] = scanline[j] + (stbtt_uint8) (((x1 & STBTT_FIXMASK) * max_weight) >> STBTT_FIXSHIFT);
- else
- j = len; // clip
-
- for (++i; i < j; ++i) // fill pixels between x0 and x1
- scanline[i] = scanline[i] + (stbtt_uint8) max_weight;
- }
- }
- }
- }
-
- e = e->next;
- }
-}
-
-static void stbtt__rasterize_sorted_edges(stbtt__bitmap *result, stbtt__edge *e, int n, int vsubsample, int off_x, int off_y, void *userdata)
-{
- stbtt__hheap hh = { 0, 0, 0 };
- stbtt__active_edge *active = NULL;
- int y,j=0;
- int max_weight = (255 / vsubsample); // weight per vertical scanline
- int s; // vertical subsample index
- unsigned char scanline_data[512], *scanline;
-
- if (result->w > 512)
- scanline = (unsigned char *) STBTT_malloc(result->w, userdata);
- else
- scanline = scanline_data;
-
- y = off_y * vsubsample;
- e[n].y0 = (off_y + result->h) * (float) vsubsample + 1;
-
- while (j < result->h) {
- STBTT_memset(scanline, 0, result->w);
- for (s=0; s < vsubsample; ++s) {
- // find center of pixel for this scanline
- float scan_y = y + 0.5f;
- stbtt__active_edge **step = &active;
-
- // update all active edges;
- // remove all active edges that terminate before the center of this scanline
- while (*step) {
- stbtt__active_edge * z = *step;
- if (z->ey <= scan_y) {
- *step = z->next; // delete from list
- STBTT_assert(z->direction);
- z->direction = 0;
- stbtt__hheap_free(&hh, z);
- } else {
- z->x += z->dx; // advance to position for current scanline
- step = &((*step)->next); // advance through list
- }
- }
-
- // resort the list if needed
- for(;;) {
- int changed=0;
- step = &active;
- while (*step && (*step)->next) {
- if ((*step)->x > (*step)->next->x) {
- stbtt__active_edge *t = *step;
- stbtt__active_edge *q = t->next;
-
- t->next = q->next;
- q->next = t;
- *step = q;
- changed = 1;
- }
- step = &(*step)->next;
- }
- if (!changed) break;
- }
-
- // insert all edges that start before the center of this scanline -- omit ones that also end on this scanline
- while (e->y0 <= scan_y) {
- if (e->y1 > scan_y) {
- stbtt__active_edge *z = stbtt__new_active(&hh, e, off_x, scan_y, userdata);
- if (z != NULL) {
- // find insertion point
- if (active == NULL)
- active = z;
- else if (z->x < active->x) {
- // insert at front
- z->next = active;
- active = z;
- } else {
- // find thing to insert AFTER
- stbtt__active_edge *p = active;
- while (p->next && p->next->x < z->x)
- p = p->next;
- // at this point, p->next->x is NOT < z->x
- z->next = p->next;
- p->next = z;
- }
- }
- }
- ++e;
- }
-
- // now process all active edges in XOR fashion
- if (active)
- stbtt__fill_active_edges(scanline, result->w, active, max_weight);
-
- ++y;
- }
- STBTT_memcpy(result->pixels + j * result->stride, scanline, result->w);
- ++j;
- }
-
- stbtt__hheap_cleanup(&hh, userdata);
-
- if (scanline != scanline_data)
- STBTT_free(scanline, userdata);
-}
-
-#elif STBTT_RASTERIZER_VERSION == 2
-
-// the edge passed in here does not cross the vertical line at x or the vertical line at x+1
-// (i.e. it has already been clipped to those)
-static void stbtt__handle_clipped_edge(float *scanline, int x, stbtt__active_edge *e, float x0, float y0, float x1, float y1)
-{
- if (y0 == y1) return;
- STBTT_assert(y0 < y1);
- STBTT_assert(e->sy <= e->ey);
- if (y0 > e->ey) return;
- if (y1 < e->sy) return;
- if (y0 < e->sy) {
- x0 += (x1-x0) * (e->sy - y0) / (y1-y0);
- y0 = e->sy;
- }
- if (y1 > e->ey) {
- x1 += (x1-x0) * (e->ey - y1) / (y1-y0);
- y1 = e->ey;
- }
-
- if (x0 == x)
- STBTT_assert(x1 <= x+1);
- else if (x0 == x+1)
- STBTT_assert(x1 >= x);
- else if (x0 <= x)
- STBTT_assert(x1 <= x);
- else if (x0 >= x+1)
- STBTT_assert(x1 >= x+1);
- else
- STBTT_assert(x1 >= x && x1 <= x+1);
-
- if (x0 <= x && x1 <= x)
- scanline[x] += e->direction * (y1-y0);
- else if (x0 >= x+1 && x1 >= x+1)
- ;
- else {
- STBTT_assert(x0 >= x && x0 <= x+1 && x1 >= x && x1 <= x+1);
- scanline[x] += e->direction * (y1-y0) * (1-((x0-x)+(x1-x))/2); // coverage = 1 - average x position
- }
-}
-
-static void stbtt__fill_active_edges_new(float *scanline, float *scanline_fill, int len, stbtt__active_edge *e, float y_top)
-{
- float y_bottom = y_top+1;
-
- while (e) {
- // brute force every pixel
-
- // compute intersection points with top & bottom
- STBTT_assert(e->ey >= y_top);
-
- if (e->fdx == 0) {
- float x0 = e->fx;
- if (x0 < len) {
- if (x0 >= 0) {
- stbtt__handle_clipped_edge(scanline,(int) x0,e, x0,y_top, x0,y_bottom);
- stbtt__handle_clipped_edge(scanline_fill-1,(int) x0+1,e, x0,y_top, x0,y_bottom);
- } else {
- stbtt__handle_clipped_edge(scanline_fill-1,0,e, x0,y_top, x0,y_bottom);
- }
- }
- } else {
- float x0 = e->fx;
- float dx = e->fdx;
- float xb = x0 + dx;
- float x_top, x_bottom;
- float sy0,sy1;
- float dy = e->fdy;
- STBTT_assert(e->sy <= y_bottom && e->ey >= y_top);
-
- // compute endpoints of line segment clipped to this scanline (if the
- // line segment starts on this scanline. x0 is the intersection of the
- // line with y_top, but that may be off the line segment.
- if (e->sy > y_top) {
- x_top = x0 + dx * (e->sy - y_top);
- sy0 = e->sy;
- } else {
- x_top = x0;
- sy0 = y_top;
- }
- if (e->ey < y_bottom) {
- x_bottom = x0 + dx * (e->ey - y_top);
- sy1 = e->ey;
- } else {
- x_bottom = xb;
- sy1 = y_bottom;
- }
-
- if (x_top >= 0 && x_bottom >= 0 && x_top < len && x_bottom < len) {
- // from here on, we don't have to range check x values
-
- if ((int) x_top == (int) x_bottom) {
- float height;
- // simple case, only spans one pixel
- int x = (int) x_top;
- height = sy1 - sy0;
- STBTT_assert(x >= 0 && x < len);
- scanline[x] += e->direction * (1-((x_top - x) + (x_bottom-x))/2) * height;
- scanline_fill[x] += e->direction * height; // everything right of this pixel is filled
- } else {
- int x,x1,x2;
- float y_crossing, step, sign, area;
- // covers 2+ pixels
- if (x_top > x_bottom) {
- // flip scanline vertically; signed area is the same
- float t;
- sy0 = y_bottom - (sy0 - y_top);
- sy1 = y_bottom - (sy1 - y_top);
- t = sy0, sy0 = sy1, sy1 = t;
- t = x_bottom, x_bottom = x_top, x_top = t;
- dx = -dx;
- dy = -dy;
- t = x0, x0 = xb, xb = t;
- }
-
- x1 = (int) x_top;
- x2 = (int) x_bottom;
- // compute intersection with y axis at x1+1
- y_crossing = (x1+1 - x0) * dy + y_top;
-
- sign = e->direction;
- // area of the rectangle covered from y0..y_crossing
- area = sign * (y_crossing-sy0);
- // area of the triangle (x_top,y0), (x+1,y0), (x+1,y_crossing)
- scanline[x1] += area * (1-((x_top - x1)+(x1+1-x1))/2);
-
- step = sign * dy;
- for (x = x1+1; x < x2; ++x) {
- scanline[x] += area + step/2;
- area += step;
- }
- y_crossing += dy * (x2 - (x1+1));
-
- STBTT_assert(STBTT_fabs(area) <= 1.01f);
-
- scanline[x2] += area + sign * (1-((x2-x2)+(x_bottom-x2))/2) * (sy1-y_crossing);
-
- scanline_fill[x2] += sign * (sy1-sy0);
- }
- } else {
- // if edge goes outside of box we're drawing, we require
- // clipping logic. since this does not match the intended use
- // of this library, we use a different, very slow brute
- // force implementation
- int x;
- for (x=0; x < len; ++x) {
- // cases:
- //
- // there can be up to two intersections with the pixel. any intersection
- // with left or right edges can be handled by splitting into two (or three)
- // regions. intersections with top & bottom do not necessitate case-wise logic.
- //
- // the old way of doing this found the intersections with the left & right edges,
- // then used some simple logic to produce up to three segments in sorted order
- // from top-to-bottom. however, this had a problem: if an x edge was epsilon
- // across the x border, then the corresponding y position might not be distinct
- // from the other y segment, and it might ignored as an empty segment. to avoid
- // that, we need to explicitly produce segments based on x positions.
-
- // rename variables to clearly-defined pairs
- float y0 = y_top;
- float x1 = (float) (x);
- float x2 = (float) (x+1);
- float x3 = xb;
- float y3 = y_bottom;
-
- // x = e->x + e->dx * (y-y_top)
- // (y-y_top) = (x - e->x) / e->dx
- // y = (x - e->x) / e->dx + y_top
- float y1 = (x - x0) / dx + y_top;
- float y2 = (x+1 - x0) / dx + y_top;
-
- if (x0 < x1 && x3 > x2) { // three segments descending down-right
- stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x1,y1);
- stbtt__handle_clipped_edge(scanline,x,e, x1,y1, x2,y2);
- stbtt__handle_clipped_edge(scanline,x,e, x2,y2, x3,y3);
- } else if (x3 < x1 && x0 > x2) { // three segments descending down-left
- stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x2,y2);
- stbtt__handle_clipped_edge(scanline,x,e, x2,y2, x1,y1);
- stbtt__handle_clipped_edge(scanline,x,e, x1,y1, x3,y3);
- } else if (x0 < x1 && x3 > x1) { // two segments across x, down-right
- stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x1,y1);
- stbtt__handle_clipped_edge(scanline,x,e, x1,y1, x3,y3);
- } else if (x3 < x1 && x0 > x1) { // two segments across x, down-left
- stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x1,y1);
- stbtt__handle_clipped_edge(scanline,x,e, x1,y1, x3,y3);
- } else if (x0 < x2 && x3 > x2) { // two segments across x+1, down-right
- stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x2,y2);
- stbtt__handle_clipped_edge(scanline,x,e, x2,y2, x3,y3);
- } else if (x3 < x2 && x0 > x2) { // two segments across x+1, down-left
- stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x2,y2);
- stbtt__handle_clipped_edge(scanline,x,e, x2,y2, x3,y3);
- } else { // one segment
- stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x3,y3);
- }
- }
- }
- }
- e = e->next;
- }
-}
-
-// directly AA rasterize edges w/o supersampling
-static void stbtt__rasterize_sorted_edges(stbtt__bitmap *result, stbtt__edge *e, int n, int vsubsample, int off_x, int off_y, void *userdata)
-{
- stbtt__hheap hh = { 0, 0, 0 };
- stbtt__active_edge *active = NULL;
- int y,j=0, i;
- float scanline_data[129], *scanline, *scanline2;
-
- STBTT__NOTUSED(vsubsample);
-
- if (result->w > 64)
- scanline = (float *) STBTT_malloc((result->w*2+1) * sizeof(float), userdata);
- else
- scanline = scanline_data;
-
- scanline2 = scanline + result->w;
-
- y = off_y;
- e[n].y0 = (float) (off_y + result->h) + 1;
-
- while (j < result->h) {
- // find center of pixel for this scanline
- float scan_y_top = y + 0.0f;
- float scan_y_bottom = y + 1.0f;
- stbtt__active_edge **step = &active;
-
- STBTT_memset(scanline , 0, result->w*sizeof(scanline[0]));
- STBTT_memset(scanline2, 0, (result->w+1)*sizeof(scanline[0]));
-
- // update all active edges;
- // remove all active edges that terminate before the top of this scanline
- while (*step) {
- stbtt__active_edge * z = *step;
- if (z->ey <= scan_y_top) {
- *step = z->next; // delete from list
- STBTT_assert(z->direction);
- z->direction = 0;
- stbtt__hheap_free(&hh, z);
- } else {
- step = &((*step)->next); // advance through list
- }
- }
-
- // insert all edges that start before the bottom of this scanline
- while (e->y0 <= scan_y_bottom) {
- if (e->y0 != e->y1) {
- stbtt__active_edge *z = stbtt__new_active(&hh, e, off_x, scan_y_top, userdata);
- if (z != NULL) {
- if (j == 0 && off_y != 0) {
- if (z->ey < scan_y_top) {
- // this can happen due to subpixel positioning and some kind of fp rounding error i think
- z->ey = scan_y_top;
- }
- }
- STBTT_assert(z->ey >= scan_y_top); // if we get really unlucky a tiny bit of an edge can be out of bounds
- // insert at front
- z->next = active;
- active = z;
- }
- }
- ++e;
- }
-
- // now process all active edges
- if (active)
- stbtt__fill_active_edges_new(scanline, scanline2+1, result->w, active, scan_y_top);
-
- {
- float sum = 0;
- for (i=0; i < result->w; ++i) {
- float k;
- int m;
- sum += scanline2[i];
- k = scanline[i] + sum;
- k = (float) STBTT_fabs(k)*255 + 0.5f;
- m = (int) k;
- if (m > 255) m = 255;
- result->pixels[j*result->stride + i] = (unsigned char) m;
- }
- }
- // advance all the edges
- step = &active;
- while (*step) {
- stbtt__active_edge *z = *step;
- z->fx += z->fdx; // advance to position for current scanline
- step = &((*step)->next); // advance through list
- }
-
- ++y;
- ++j;
- }
-
- stbtt__hheap_cleanup(&hh, userdata);
-
- if (scanline != scanline_data)
- STBTT_free(scanline, userdata);
-}
-#else
-#error "Unrecognized value of STBTT_RASTERIZER_VERSION"
-#endif
-
-#define STBTT__COMPARE(a,b) ((a)->y0 < (b)->y0)
-
-static void stbtt__sort_edges_ins_sort(stbtt__edge *p, int n)
-{
- int i,j;
- for (i=1; i < n; ++i) {
- stbtt__edge t = p[i], *a = &t;
- j = i;
- while (j > 0) {
- stbtt__edge *b = &p[j-1];
- int c = STBTT__COMPARE(a,b);
- if (!c) break;
- p[j] = p[j-1];
- --j;
- }
- if (i != j)
- p[j] = t;
- }
-}
-
-static void stbtt__sort_edges_quicksort(stbtt__edge *p, int n)
-{
- /* threshold for transitioning to insertion sort */
- while (n > 12) {
- stbtt__edge t;
- int c01,c12,c,m,i,j;
-
- /* compute median of three */
- m = n >> 1;
- c01 = STBTT__COMPARE(&p[0],&p[m]);
- c12 = STBTT__COMPARE(&p[m],&p[n-1]);
- /* if 0 >= mid >= end, or 0 < mid < end, then use mid */
- if (c01 != c12) {
- /* otherwise, we'll need to swap something else to middle */
- int z;
- c = STBTT__COMPARE(&p[0],&p[n-1]);
- /* 0>mid && mid<n: 0>n => n; 0<n => 0 */
- /* 0<mid && mid>n: 0>n => 0; 0<n => n */
- z = (c == c12) ? 0 : n-1;
- t = p[z];
- p[z] = p[m];
- p[m] = t;
- }
- /* now p[m] is the median-of-three */
- /* swap it to the beginning so it won't move around */
- t = p[0];
- p[0] = p[m];
- p[m] = t;
-
- /* partition loop */
- i=1;
- j=n-1;
- for(;;) {
- /* handling of equality is crucial here */
- /* for sentinels & efficiency with duplicates */
- for (;;++i) {
- if (!STBTT__COMPARE(&p[i], &p[0])) break;
- }
- for (;;--j) {
- if (!STBTT__COMPARE(&p[0], &p[j])) break;
- }
- /* make sure we haven't crossed */
- if (i >= j) break;
- t = p[i];
- p[i] = p[j];
- p[j] = t;
-
- ++i;
- --j;
- }
- /* recurse on smaller side, iterate on larger */
- if (j < (n-i)) {
- stbtt__sort_edges_quicksort(p,j);
- p = p+i;
- n = n-i;
- } else {
- stbtt__sort_edges_quicksort(p+i, n-i);
- n = j;
- }
- }
-}
-
-static void stbtt__sort_edges(stbtt__edge *p, int n)
-{
- stbtt__sort_edges_quicksort(p, n);
- stbtt__sort_edges_ins_sort(p, n);
-}
-
-typedef struct
-{
- float x,y;
-} stbtt__point;
-
-static void stbtt__rasterize(stbtt__bitmap *result, stbtt__point *pts, int *wcount, int windings, float scale_x, float scale_y, float shift_x, float shift_y, int off_x, int off_y, int invert, void *userdata)
-{
- float y_scale_inv = invert ? -scale_y : scale_y;
- stbtt__edge *e;
- int n,i,j,k,m;
-#if STBTT_RASTERIZER_VERSION == 1
- int vsubsample = result->h < 8 ? 15 : 5;
-#elif STBTT_RASTERIZER_VERSION == 2
- int vsubsample = 1;
-#else
- #error "Unrecognized value of STBTT_RASTERIZER_VERSION"
-#endif
- // vsubsample should divide 255 evenly; otherwise we won't reach full opacity
-
- // now we have to blow out the windings into explicit edge lists
- n = 0;
- for (i=0; i < windings; ++i)
- n += wcount[i];
-
- e = (stbtt__edge *) STBTT_malloc(sizeof(*e) * (n+1), userdata); // add an extra one as a sentinel
- if (e == 0) return;
- n = 0;
-
- m=0;
- for (i=0; i < windings; ++i) {
- stbtt__point *p = pts + m;
- m += wcount[i];
- j = wcount[i]-1;
- for (k=0; k < wcount[i]; j=k++) {
- int a=k,b=j;
- // skip the edge if horizontal
- if (p[j].y == p[k].y)
- continue;
- // add edge from j to k to the list
- e[n].invert = 0;
- if (invert ? p[j].y > p[k].y : p[j].y < p[k].y) {
- e[n].invert = 1;
- a=j,b=k;
- }
- e[n].x0 = p[a].x * scale_x + shift_x;
- e[n].y0 = (p[a].y * y_scale_inv + shift_y) * vsubsample;
- e[n].x1 = p[b].x * scale_x + shift_x;
- e[n].y1 = (p[b].y * y_scale_inv + shift_y) * vsubsample;
- ++n;
- }
- }
-
- // now sort the edges by their highest point (should snap to integer, and then by x)
- //STBTT_sort(e, n, sizeof(e[0]), stbtt__edge_compare);
- stbtt__sort_edges(e, n);
-
- // now, traverse the scanlines and find the intersections on each scanline, use xor winding rule
- stbtt__rasterize_sorted_edges(result, e, n, vsubsample, off_x, off_y, userdata);
-
- STBTT_free(e, userdata);
-}
-
-static void stbtt__add_point(stbtt__point *points, int n, float x, float y)
-{
- if (!points) return; // during first pass, it's unallocated
- points[n].x = x;
- points[n].y = y;
-}
-
-// tessellate until threshold p is happy... @TODO warped to compensate for non-linear stretching
-static int stbtt__tesselate_curve(stbtt__point *points, int *num_points, float x0, float y0, float x1, float y1, float x2, float y2, float objspace_flatness_squared, int n)
-{
- // midpoint
- float mx = (x0 + 2*x1 + x2)/4;
- float my = (y0 + 2*y1 + y2)/4;
- // versus directly drawn line
- float dx = (x0+x2)/2 - mx;
- float dy = (y0+y2)/2 - my;
- if (n > 16) // 65536 segments on one curve better be enough!
- return 1;
- if (dx*dx+dy*dy > objspace_flatness_squared) { // half-pixel error allowed... need to be smaller if AA
- stbtt__tesselate_curve(points, num_points, x0,y0, (x0+x1)/2.0f,(y0+y1)/2.0f, mx,my, objspace_flatness_squared,n+1);
- stbtt__tesselate_curve(points, num_points, mx,my, (x1+x2)/2.0f,(y1+y2)/2.0f, x2,y2, objspace_flatness_squared,n+1);
- } else {
- stbtt__add_point(points, *num_points,x2,y2);
- *num_points = *num_points+1;
- }
- return 1;
-}
-
-static void stbtt__tesselate_cubic(stbtt__point *points, int *num_points, float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, float objspace_flatness_squared, int n)
-{
- // @TODO this "flatness" calculation is just made-up nonsense that seems to work well enough
- float dx0 = x1-x0;
- float dy0 = y1-y0;
- float dx1 = x2-x1;
- float dy1 = y2-y1;
- float dx2 = x3-x2;
- float dy2 = y3-y2;
- float dx = x3-x0;
- float dy = y3-y0;
- float longlen = (float) (STBTT_sqrt(dx0*dx0+dy0*dy0)+STBTT_sqrt(dx1*dx1+dy1*dy1)+STBTT_sqrt(dx2*dx2+dy2*dy2));
- float shortlen = (float) STBTT_sqrt(dx*dx+dy*dy);
- float flatness_squared = longlen*longlen-shortlen*shortlen;
-
- if (n > 16) // 65536 segments on one curve better be enough!
- return;
-
- if (flatness_squared > objspace_flatness_squared) {
- float x01 = (x0+x1)/2;
- float y01 = (y0+y1)/2;
- float x12 = (x1+x2)/2;
- float y12 = (y1+y2)/2;
- float x23 = (x2+x3)/2;
- float y23 = (y2+y3)/2;
-
- float xa = (x01+x12)/2;
- float ya = (y01+y12)/2;
- float xb = (x12+x23)/2;
- float yb = (y12+y23)/2;
-
- float mx = (xa+xb)/2;
- float my = (ya+yb)/2;
-
- stbtt__tesselate_cubic(points, num_points, x0,y0, x01,y01, xa,ya, mx,my, objspace_flatness_squared,n+1);
- stbtt__tesselate_cubic(points, num_points, mx,my, xb,yb, x23,y23, x3,y3, objspace_flatness_squared,n+1);
- } else {
- stbtt__add_point(points, *num_points,x3,y3);
- *num_points = *num_points+1;
- }
-}
-
-// returns number of contours
-static stbtt__point *stbtt_FlattenCurves(stbtt_vertex *vertices, int num_verts, float objspace_flatness, int **contour_lengths, int *num_contours, void *userdata)
-{
- stbtt__point *points=0;
- int num_points=0;
-
- float objspace_flatness_squared = objspace_flatness * objspace_flatness;
- int i,n=0,start=0, pass;
-
- // count how many "moves" there are to get the contour count
- for (i=0; i < num_verts; ++i)
- if (vertices[i].type == STBTT_vmove)
- ++n;
-
- *num_contours = n;
- if (n == 0) return 0;
-
- *contour_lengths = (int *) STBTT_malloc(sizeof(**contour_lengths) * n, userdata);
-
- if (*contour_lengths == 0) {
- *num_contours = 0;
- return 0;
- }
-
- // make two passes through the points so we don't need to realloc
- for (pass=0; pass < 2; ++pass) {
- float x=0,y=0;
- if (pass == 1) {
- points = (stbtt__point *) STBTT_malloc(num_points * sizeof(points[0]), userdata);
- if (points == NULL) goto error;
- }
- num_points = 0;
- n= -1;
- for (i=0; i < num_verts; ++i) {
- switch (vertices[i].type) {
- case STBTT_vmove:
- // start the next contour
- if (n >= 0)
- (*contour_lengths)[n] = num_points - start;
- ++n;
- start = num_points;
-
- x = vertices[i].x, y = vertices[i].y;
- stbtt__add_point(points, num_points++, x,y);
- break;
- case STBTT_vline:
- x = vertices[i].x, y = vertices[i].y;
- stbtt__add_point(points, num_points++, x, y);
- break;
- case STBTT_vcurve:
- stbtt__tesselate_curve(points, &num_points, x,y,
- vertices[i].cx, vertices[i].cy,
- vertices[i].x, vertices[i].y,
- objspace_flatness_squared, 0);
- x = vertices[i].x, y = vertices[i].y;
- break;
- case STBTT_vcubic:
- stbtt__tesselate_cubic(points, &num_points, x,y,
- vertices[i].cx, vertices[i].cy,
- vertices[i].cx1, vertices[i].cy1,
- vertices[i].x, vertices[i].y,
- objspace_flatness_squared, 0);
- x = vertices[i].x, y = vertices[i].y;
- break;
- }
- }
- (*contour_lengths)[n] = num_points - start;
- }
-
- return points;
-error:
- STBTT_free(points, userdata);
- STBTT_free(*contour_lengths, userdata);
- *contour_lengths = 0;
- *num_contours = 0;
- return NULL;
-}
-
-STBTT_DEF void stbtt_Rasterize(stbtt__bitmap *result, float flatness_in_pixels, stbtt_vertex *vertices, int num_verts, float scale_x, float scale_y, float shift_x, float shift_y, int x_off, int y_off, int invert, void *userdata)
-{
- float scale = scale_x > scale_y ? scale_y : scale_x;
- int winding_count = 0;
- int *winding_lengths = NULL;
- stbtt__point *windings = stbtt_FlattenCurves(vertices, num_verts, flatness_in_pixels / scale, &winding_lengths, &winding_count, userdata);
- if (windings) {
- stbtt__rasterize(result, windings, winding_lengths, winding_count, scale_x, scale_y, shift_x, shift_y, x_off, y_off, invert, userdata);
- STBTT_free(winding_lengths, userdata);
- STBTT_free(windings, userdata);
- }
-}
-
-STBTT_DEF void stbtt_FreeBitmap(unsigned char *bitmap, void *userdata)
-{
- STBTT_free(bitmap, userdata);
-}
-
-STBTT_DEF unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int glyph, int *width, int *height, int *xoff, int *yoff)
-{
- int ix0,iy0,ix1,iy1;
- stbtt__bitmap gbm;
- stbtt_vertex *vertices;
- int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices);
-
- if (scale_x == 0) scale_x = scale_y;
- if (scale_y == 0) {
- if (scale_x == 0) {
- STBTT_free(vertices, info->userdata);
- return NULL;
- }
- scale_y = scale_x;
- }
-
- stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale_x, scale_y, shift_x, shift_y, &ix0,&iy0,&ix1,&iy1);
-
- // now we get the size
- gbm.w = (ix1 - ix0);
- gbm.h = (iy1 - iy0);
- gbm.pixels = NULL; // in case we error
-
- if (width ) *width = gbm.w;
- if (height) *height = gbm.h;
- if (xoff ) *xoff = ix0;
- if (yoff ) *yoff = iy0;
-
- if (gbm.w && gbm.h) {
- gbm.pixels = (unsigned char *) STBTT_malloc(gbm.w * gbm.h, info->userdata);
- if (gbm.pixels) {
- gbm.stride = gbm.w;
-
- stbtt_Rasterize(&gbm, 0.35f, vertices, num_verts, scale_x, scale_y, shift_x, shift_y, ix0, iy0, 1, info->userdata);
- }
- }
- STBTT_free(vertices, info->userdata);
- return gbm.pixels;
-}
-
-STBTT_DEF unsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff)
-{
- return stbtt_GetGlyphBitmapSubpixel(info, scale_x, scale_y, 0.0f, 0.0f, glyph, width, height, xoff, yoff);
-}
-
-STBTT_DEF void stbtt_MakeGlyphBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int glyph)
-{
- int ix0,iy0;
- stbtt_vertex *vertices;
- int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices);
- stbtt__bitmap gbm;
-
- stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale_x, scale_y, shift_x, shift_y, &ix0,&iy0,0,0);
- gbm.pixels = output;
- gbm.w = out_w;
- gbm.h = out_h;
- gbm.stride = out_stride;
-
- if (gbm.w && gbm.h)
- stbtt_Rasterize(&gbm, 0.35f, vertices, num_verts, scale_x, scale_y, shift_x, shift_y, ix0,iy0, 1, info->userdata);
-
- STBTT_free(vertices, info->userdata);
-}
-
-STBTT_DEF void stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph)
-{
- stbtt_MakeGlyphBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, 0.0f,0.0f, glyph);
-}
-
-STBTT_DEF unsigned char *stbtt_GetCodepointBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint, int *width, int *height, int *xoff, int *yoff)
-{
- return stbtt_GetGlyphBitmapSubpixel(info, scale_x, scale_y,shift_x,shift_y, stbtt_FindGlyphIndex(info,codepoint), width,height,xoff,yoff);
-}
-
-STBTT_DEF void stbtt_MakeCodepointBitmapSubpixelPrefilter(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int oversample_x, int oversample_y, float *sub_x, float *sub_y, int codepoint)
-{
- stbtt_MakeGlyphBitmapSubpixelPrefilter(info, output, out_w, out_h, out_stride, scale_x, scale_y, shift_x, shift_y, oversample_x, oversample_y, sub_x, sub_y, stbtt_FindGlyphIndex(info,codepoint));
-}
-
-STBTT_DEF void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint)
-{
- stbtt_MakeGlyphBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, shift_x, shift_y, stbtt_FindGlyphIndex(info,codepoint));
-}
-
-STBTT_DEF unsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff)
-{
- return stbtt_GetCodepointBitmapSubpixel(info, scale_x, scale_y, 0.0f,0.0f, codepoint, width,height,xoff,yoff);
-}
-
-STBTT_DEF void stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint)
-{
- stbtt_MakeCodepointBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, 0.0f,0.0f, codepoint);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// bitmap baking
-//
-// This is SUPER-CRAPPY packing to keep source code small
-
-static int stbtt_BakeFontBitmap_internal(unsigned char *data, int offset, // font location (use offset=0 for plain .ttf)
- float pixel_height, // height of font in pixels
- unsigned char *pixels, int pw, int ph, // bitmap to be filled in
- int first_char, int num_chars, // characters to bake
- stbtt_bakedchar *chardata)
-{
- float scale;
- int x,y,bottom_y, i;
- stbtt_fontinfo f;
- f.userdata = NULL;
- if (!stbtt_InitFont(&f, data, offset))
- return -1;
- STBTT_memset(pixels, 0, pw*ph); // background of 0 around pixels
- x=y=1;
- bottom_y = 1;
-
- scale = stbtt_ScaleForPixelHeight(&f, pixel_height);
-
- for (i=0; i < num_chars; ++i) {
- int advance, lsb, x0,y0,x1,y1,gw,gh;
- int g = stbtt_FindGlyphIndex(&f, first_char + i);
- stbtt_GetGlyphHMetrics(&f, g, &advance, &lsb);
- stbtt_GetGlyphBitmapBox(&f, g, scale,scale, &x0,&y0,&x1,&y1);
- gw = x1-x0;
- gh = y1-y0;
- if (x + gw + 1 >= pw)
- y = bottom_y, x = 1; // advance to next row
- if (y + gh + 1 >= ph) // check if it fits vertically AFTER potentially moving to next row
- return -i;
- STBTT_assert(x+gw < pw);
- STBTT_assert(y+gh < ph);
- stbtt_MakeGlyphBitmap(&f, pixels+x+y*pw, gw,gh,pw, scale,scale, g);
- chardata[i].x0 = (stbtt_int16) x;
- chardata[i].y0 = (stbtt_int16) y;
- chardata[i].x1 = (stbtt_int16) (x + gw);
- chardata[i].y1 = (stbtt_int16) (y + gh);
- chardata[i].xadvance = scale * advance;
- chardata[i].xoff = (float) x0;
- chardata[i].yoff = (float) y0;
- x = x + gw + 1;
- if (y+gh+1 > bottom_y)
- bottom_y = y+gh+1;
- }
- return bottom_y;
-}
-
-STBTT_DEF void stbtt_GetBakedQuad(const stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int opengl_fillrule)
-{
- float d3d_bias = opengl_fillrule ? 0 : -0.5f;
- float ipw = 1.0f / pw, iph = 1.0f / ph;
- const stbtt_bakedchar *b = chardata + char_index;
- int round_x = STBTT_ifloor((*xpos + b->xoff) + 0.5f);
- int round_y = STBTT_ifloor((*ypos + b->yoff) + 0.5f);
-
- q->x0 = round_x + d3d_bias;
- q->y0 = round_y + d3d_bias;
- q->x1 = round_x + b->x1 - b->x0 + d3d_bias;
- q->y1 = round_y + b->y1 - b->y0 + d3d_bias;
-
- q->s0 = b->x0 * ipw;
- q->t0 = b->y0 * iph;
- q->s1 = b->x1 * ipw;
- q->t1 = b->y1 * iph;
-
- *xpos += b->xadvance;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// rectangle packing replacement routines if you don't have stb_rect_pack.h
-//
-
-#ifndef STB_RECT_PACK_VERSION
-
-typedef int stbrp_coord;
-
-////////////////////////////////////////////////////////////////////////////////////
-// //
-// //
-// COMPILER WARNING ?!?!? //
-// //
-// //
-// if you get a compile warning due to these symbols being defined more than //
-// once, move #include "stb_rect_pack.h" before #include "stb_truetype.h" //
-// //
-////////////////////////////////////////////////////////////////////////////////////
-
-typedef struct
-{
- int width,height;
- int x,y,bottom_y;
-} stbrp_context;
-
-typedef struct
-{
- unsigned char x;
-} stbrp_node;
-
-struct stbrp_rect
-{
- stbrp_coord x,y;
- int id,w,h,was_packed;
-};
-
-static void stbrp_init_target(stbrp_context *con, int pw, int ph, stbrp_node *nodes, int num_nodes)
-{
- con->width = pw;
- con->height = ph;
- con->x = 0;
- con->y = 0;
- con->bottom_y = 0;
- STBTT__NOTUSED(nodes);
- STBTT__NOTUSED(num_nodes);
-}
-
-static void stbrp_pack_rects(stbrp_context *con, stbrp_rect *rects, int num_rects)
-{
- int i;
- for (i=0; i < num_rects; ++i) {
- if (con->x + rects[i].w > con->width) {
- con->x = 0;
- con->y = con->bottom_y;
- }
- if (con->y + rects[i].h > con->height)
- break;
- rects[i].x = con->x;
- rects[i].y = con->y;
- rects[i].was_packed = 1;
- con->x += rects[i].w;
- if (con->y + rects[i].h > con->bottom_y)
- con->bottom_y = con->y + rects[i].h;
- }
- for ( ; i < num_rects; ++i)
- rects[i].was_packed = 0;
-}
-#endif
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// bitmap baking
-//
-// This is SUPER-AWESOME (tm Ryan Gordon) packing using stb_rect_pack.h. If
-// stb_rect_pack.h isn't available, it uses the BakeFontBitmap strategy.
-
-STBTT_DEF int stbtt_PackBegin(stbtt_pack_context *spc, unsigned char *pixels, int pw, int ph, int stride_in_bytes, int padding, void *alloc_context)
-{
- stbrp_context *context = (stbrp_context *) STBTT_malloc(sizeof(*context) ,alloc_context);
- int num_nodes = pw - padding;
- stbrp_node *nodes = (stbrp_node *) STBTT_malloc(sizeof(*nodes ) * num_nodes,alloc_context);
-
- if (context == NULL || nodes == NULL) {
- if (context != NULL) STBTT_free(context, alloc_context);
- if (nodes != NULL) STBTT_free(nodes , alloc_context);
- return 0;
- }
-
- spc->user_allocator_context = alloc_context;
- spc->width = pw;
- spc->height = ph;
- spc->pixels = pixels;
- spc->pack_info = context;
- spc->nodes = nodes;
- spc->padding = padding;
- spc->stride_in_bytes = stride_in_bytes != 0 ? stride_in_bytes : pw;
- spc->h_oversample = 1;
- spc->v_oversample = 1;
- spc->skip_missing = 0;
-
- stbrp_init_target(context, pw-padding, ph-padding, nodes, num_nodes);
-
- if (pixels)
- STBTT_memset(pixels, 0, pw*ph); // background of 0 around pixels
-
- return 1;
-}
-
-STBTT_DEF void stbtt_PackEnd (stbtt_pack_context *spc)
-{
- STBTT_free(spc->nodes , spc->user_allocator_context);
- STBTT_free(spc->pack_info, spc->user_allocator_context);
-}
-
-STBTT_DEF void stbtt_PackSetOversampling(stbtt_pack_context *spc, unsigned int h_oversample, unsigned int v_oversample)
-{
- STBTT_assert(h_oversample <= STBTT_MAX_OVERSAMPLE);
- STBTT_assert(v_oversample <= STBTT_MAX_OVERSAMPLE);
- if (h_oversample <= STBTT_MAX_OVERSAMPLE)
- spc->h_oversample = h_oversample;
- if (v_oversample <= STBTT_MAX_OVERSAMPLE)
- spc->v_oversample = v_oversample;
-}
-
-STBTT_DEF void stbtt_PackSetSkipMissingCodepoints(stbtt_pack_context *spc, int skip)
-{
- spc->skip_missing = skip;
-}
-
-#define STBTT__OVER_MASK (STBTT_MAX_OVERSAMPLE-1)
-
-static void stbtt__h_prefilter(unsigned char *pixels, int w, int h, int stride_in_bytes, unsigned int kernel_width)
-{
- unsigned char buffer[STBTT_MAX_OVERSAMPLE];
- int safe_w = w - kernel_width;
- int j;
- STBTT_memset(buffer, 0, STBTT_MAX_OVERSAMPLE); // suppress bogus warning from VS2013 -analyze
- for (j=0; j < h; ++j) {
- int i;
- unsigned int total;
- STBTT_memset(buffer, 0, kernel_width);
-
- total = 0;
-
- // make kernel_width a constant in common cases so compiler can optimize out the divide
- switch (kernel_width) {
- case 2:
- for (i=0; i <= safe_w; ++i) {
- total += pixels[i] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i];
- pixels[i] = (unsigned char) (total / 2);
- }
- break;
- case 3:
- for (i=0; i <= safe_w; ++i) {
- total += pixels[i] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i];
- pixels[i] = (unsigned char) (total / 3);
- }
- break;
- case 4:
- for (i=0; i <= safe_w; ++i) {
- total += pixels[i] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i];
- pixels[i] = (unsigned char) (total / 4);
- }
- break;
- case 5:
- for (i=0; i <= safe_w; ++i) {
- total += pixels[i] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i];
- pixels[i] = (unsigned char) (total / 5);
- }
- break;
- default:
- for (i=0; i <= safe_w; ++i) {
- total += pixels[i] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i];
- pixels[i] = (unsigned char) (total / kernel_width);
- }
- break;
- }
-
- for (; i < w; ++i) {
- STBTT_assert(pixels[i] == 0);
- total -= buffer[i & STBTT__OVER_MASK];
- pixels[i] = (unsigned char) (total / kernel_width);
- }
-
- pixels += stride_in_bytes;
- }
-}
-
-static void stbtt__v_prefilter(unsigned char *pixels, int w, int h, int stride_in_bytes, unsigned int kernel_width)
-{
- unsigned char buffer[STBTT_MAX_OVERSAMPLE];
- int safe_h = h - kernel_width;
- int j;
- STBTT_memset(buffer, 0, STBTT_MAX_OVERSAMPLE); // suppress bogus warning from VS2013 -analyze
- for (j=0; j < w; ++j) {
- int i;
- unsigned int total;
- STBTT_memset(buffer, 0, kernel_width);
-
- total = 0;
-
- // make kernel_width a constant in common cases so compiler can optimize out the divide
- switch (kernel_width) {
- case 2:
- for (i=0; i <= safe_h; ++i) {
- total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes];
- pixels[i*stride_in_bytes] = (unsigned char) (total / 2);
- }
- break;
- case 3:
- for (i=0; i <= safe_h; ++i) {
- total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes];
- pixels[i*stride_in_bytes] = (unsigned char) (total / 3);
- }
- break;
- case 4:
- for (i=0; i <= safe_h; ++i) {
- total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes];
- pixels[i*stride_in_bytes] = (unsigned char) (total / 4);
- }
- break;
- case 5:
- for (i=0; i <= safe_h; ++i) {
- total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes];
- pixels[i*stride_in_bytes] = (unsigned char) (total / 5);
- }
- break;
- default:
- for (i=0; i <= safe_h; ++i) {
- total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK];
- buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes];
- pixels[i*stride_in_bytes] = (unsigned char) (total / kernel_width);
- }
- break;
- }
-
- for (; i < h; ++i) {
- STBTT_assert(pixels[i*stride_in_bytes] == 0);
- total -= buffer[i & STBTT__OVER_MASK];
- pixels[i*stride_in_bytes] = (unsigned char) (total / kernel_width);
- }
-
- pixels += 1;
- }
-}
-
-static float stbtt__oversample_shift(int oversample)
-{
- if (!oversample)
- return 0.0f;
-
- // The prefilter is a box filter of width "oversample",
- // which shifts phase by (oversample - 1)/2 pixels in
- // oversampled space. We want to shift in the opposite
- // direction to counter this.
- return (float)-(oversample - 1) / (2.0f * (float)oversample);
-}
-
-// rects array must be big enough to accommodate all characters in the given ranges
-STBTT_DEF int stbtt_PackFontRangesGatherRects(stbtt_pack_context *spc, const stbtt_fontinfo *info, stbtt_pack_range *ranges, int num_ranges, stbrp_rect *rects)
-{
- int i,j,k;
-
- k=0;
- for (i=0; i < num_ranges; ++i) {
- float fh = ranges[i].font_size;
- float scale = fh > 0 ? stbtt_ScaleForPixelHeight(info, fh) : stbtt_ScaleForMappingEmToPixels(info, -fh);
- ranges[i].h_oversample = (unsigned char) spc->h_oversample;
- ranges[i].v_oversample = (unsigned char) spc->v_oversample;
- for (j=0; j < ranges[i].num_chars; ++j) {
- int x0,y0,x1,y1;
- int codepoint = ranges[i].array_of_unicode_codepoints == NULL ? ranges[i].first_unicode_codepoint_in_range + j : ranges[i].array_of_unicode_codepoints[j];
- int glyph = stbtt_FindGlyphIndex(info, codepoint);
- if (glyph == 0 && spc->skip_missing) {
- rects[k].w = rects[k].h = 0;
- } else {
- stbtt_GetGlyphBitmapBoxSubpixel(info,glyph,
- scale * spc->h_oversample,
- scale * spc->v_oversample,
- 0,0,
- &x0,&y0,&x1,&y1);
- rects[k].w = (stbrp_coord) (x1-x0 + spc->padding + spc->h_oversample-1);
- rects[k].h = (stbrp_coord) (y1-y0 + spc->padding + spc->v_oversample-1);
- }
- ++k;
- }
- }
-
- return k;
-}
-
-STBTT_DEF void stbtt_MakeGlyphBitmapSubpixelPrefilter(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int prefilter_x, int prefilter_y, float *sub_x, float *sub_y, int glyph)
-{
- stbtt_MakeGlyphBitmapSubpixel(info,
- output,
- out_w - (prefilter_x - 1),
- out_h - (prefilter_y - 1),
- out_stride,
- scale_x,
- scale_y,
- shift_x,
- shift_y,
- glyph);
-
- if (prefilter_x > 1)
- stbtt__h_prefilter(output, out_w, out_h, out_stride, prefilter_x);
-
- if (prefilter_y > 1)
- stbtt__v_prefilter(output, out_w, out_h, out_stride, prefilter_y);
-
- *sub_x = stbtt__oversample_shift(prefilter_x);
- *sub_y = stbtt__oversample_shift(prefilter_y);
-}
-
-// rects array must be big enough to accommodate all characters in the given ranges
-STBTT_DEF int stbtt_PackFontRangesRenderIntoRects(stbtt_pack_context *spc, const stbtt_fontinfo *info, stbtt_pack_range *ranges, int num_ranges, stbrp_rect *rects)
-{
- int i,j,k, return_value = 1;
-
- // save current values
- int old_h_over = spc->h_oversample;
- int old_v_over = spc->v_oversample;
-
- k = 0;
- for (i=0; i < num_ranges; ++i) {
- float fh = ranges[i].font_size;
- float scale = fh > 0 ? stbtt_ScaleForPixelHeight(info, fh) : stbtt_ScaleForMappingEmToPixels(info, -fh);
- float recip_h,recip_v,sub_x,sub_y;
- spc->h_oversample = ranges[i].h_oversample;
- spc->v_oversample = ranges[i].v_oversample;
- recip_h = 1.0f / spc->h_oversample;
- recip_v = 1.0f / spc->v_oversample;
- sub_x = stbtt__oversample_shift(spc->h_oversample);
- sub_y = stbtt__oversample_shift(spc->v_oversample);
- for (j=0; j < ranges[i].num_chars; ++j) {
- stbrp_rect *r = &rects[k];
- if (r->was_packed && r->w != 0 && r->h != 0) {
- stbtt_packedchar *bc = &ranges[i].chardata_for_range[j];
- int advance, lsb, x0,y0,x1,y1;
- int codepoint = ranges[i].array_of_unicode_codepoints == NULL ? ranges[i].first_unicode_codepoint_in_range + j : ranges[i].array_of_unicode_codepoints[j];
- int glyph = stbtt_FindGlyphIndex(info, codepoint);
- stbrp_coord pad = (stbrp_coord) spc->padding;
-
- // pad on left and top
- r->x += pad;
- r->y += pad;
- r->w -= pad;
- r->h -= pad;
- stbtt_GetGlyphHMetrics(info, glyph, &advance, &lsb);
- stbtt_GetGlyphBitmapBox(info, glyph,
- scale * spc->h_oversample,
- scale * spc->v_oversample,
- &x0,&y0,&x1,&y1);
- stbtt_MakeGlyphBitmapSubpixel(info,
- spc->pixels + r->x + r->y*spc->stride_in_bytes,
- r->w - spc->h_oversample+1,
- r->h - spc->v_oversample+1,
- spc->stride_in_bytes,
- scale * spc->h_oversample,
- scale * spc->v_oversample,
- 0,0,
- glyph);
-
- if (spc->h_oversample > 1)
- stbtt__h_prefilter(spc->pixels + r->x + r->y*spc->stride_in_bytes,
- r->w, r->h, spc->stride_in_bytes,
- spc->h_oversample);
-
- if (spc->v_oversample > 1)
- stbtt__v_prefilter(spc->pixels + r->x + r->y*spc->stride_in_bytes,
- r->w, r->h, spc->stride_in_bytes,
- spc->v_oversample);
-
- bc->x0 = (stbtt_int16) r->x;
- bc->y0 = (stbtt_int16) r->y;
- bc->x1 = (stbtt_int16) (r->x + r->w);
- bc->y1 = (stbtt_int16) (r->y + r->h);
- bc->xadvance = scale * advance;
- bc->xoff = (float) x0 * recip_h + sub_x;
- bc->yoff = (float) y0 * recip_v + sub_y;
- bc->xoff2 = (x0 + r->w) * recip_h + sub_x;
- bc->yoff2 = (y0 + r->h) * recip_v + sub_y;
- } else {
- return_value = 0; // if any fail, report failure
- }
-
- ++k;
- }
- }
-
- // restore original values
- spc->h_oversample = old_h_over;
- spc->v_oversample = old_v_over;
-
- return return_value;
-}
-
-STBTT_DEF void stbtt_PackFontRangesPackRects(stbtt_pack_context *spc, stbrp_rect *rects, int num_rects)
-{
- stbrp_pack_rects((stbrp_context *) spc->pack_info, rects, num_rects);
-}
-
-STBTT_DEF int stbtt_PackFontRanges(stbtt_pack_context *spc, const unsigned char *fontdata, int font_index, stbtt_pack_range *ranges, int num_ranges)
-{
- stbtt_fontinfo info;
- int i,j,n, return_value = 1;
- //stbrp_context *context = (stbrp_context *) spc->pack_info;
- stbrp_rect *rects;
-
- // flag all characters as NOT packed
- for (i=0; i < num_ranges; ++i)
- for (j=0; j < ranges[i].num_chars; ++j)
- ranges[i].chardata_for_range[j].x0 =
- ranges[i].chardata_for_range[j].y0 =
- ranges[i].chardata_for_range[j].x1 =
- ranges[i].chardata_for_range[j].y1 = 0;
-
- n = 0;
- for (i=0; i < num_ranges; ++i)
- n += ranges[i].num_chars;
-
- rects = (stbrp_rect *) STBTT_malloc(sizeof(*rects) * n, spc->user_allocator_context);
- if (rects == NULL)
- return 0;
-
- info.userdata = spc->user_allocator_context;
- stbtt_InitFont(&info, fontdata, stbtt_GetFontOffsetForIndex(fontdata,font_index));
-
- n = stbtt_PackFontRangesGatherRects(spc, &info, ranges, num_ranges, rects);
-
- stbtt_PackFontRangesPackRects(spc, rects, n);
-
- return_value = stbtt_PackFontRangesRenderIntoRects(spc, &info, ranges, num_ranges, rects);
-
- STBTT_free(rects, spc->user_allocator_context);
- return return_value;
-}
-
-STBTT_DEF int stbtt_PackFontRange(stbtt_pack_context *spc, const unsigned char *fontdata, int font_index, float font_size,
- int first_unicode_codepoint_in_range, int num_chars_in_range, stbtt_packedchar *chardata_for_range)
-{
- stbtt_pack_range range;
- range.first_unicode_codepoint_in_range = first_unicode_codepoint_in_range;
- range.array_of_unicode_codepoints = NULL;
- range.num_chars = num_chars_in_range;
- range.chardata_for_range = chardata_for_range;
- range.font_size = font_size;
- return stbtt_PackFontRanges(spc, fontdata, font_index, &range, 1);
-}
-
-STBTT_DEF void stbtt_GetScaledFontVMetrics(const unsigned char *fontdata, int index, float size, float *ascent, float *descent, float *lineGap)
-{
- int i_ascent, i_descent, i_lineGap;
- float scale;
- stbtt_fontinfo info;
- stbtt_InitFont(&info, fontdata, stbtt_GetFontOffsetForIndex(fontdata, index));
- scale = size > 0 ? stbtt_ScaleForPixelHeight(&info, size) : stbtt_ScaleForMappingEmToPixels(&info, -size);
- stbtt_GetFontVMetrics(&info, &i_ascent, &i_descent, &i_lineGap);
- *ascent = (float) i_ascent * scale;
- *descent = (float) i_descent * scale;
- *lineGap = (float) i_lineGap * scale;
-}
-
-STBTT_DEF void stbtt_GetPackedQuad(const stbtt_packedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int align_to_integer)
-{
- float ipw = 1.0f / pw, iph = 1.0f / ph;
- const stbtt_packedchar *b = chardata + char_index;
-
- if (align_to_integer) {
- float x = (float) STBTT_ifloor((*xpos + b->xoff) + 0.5f);
- float y = (float) STBTT_ifloor((*ypos + b->yoff) + 0.5f);
- q->x0 = x;
- q->y0 = y;
- q->x1 = x + b->xoff2 - b->xoff;
- q->y1 = y + b->yoff2 - b->yoff;
- } else {
- q->x0 = *xpos + b->xoff;
- q->y0 = *ypos + b->yoff;
- q->x1 = *xpos + b->xoff2;
- q->y1 = *ypos + b->yoff2;
- }
-
- q->s0 = b->x0 * ipw;
- q->t0 = b->y0 * iph;
- q->s1 = b->x1 * ipw;
- q->t1 = b->y1 * iph;
-
- *xpos += b->xadvance;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// sdf computation
-//
-
-#define STBTT_min(a,b) ((a) < (b) ? (a) : (b))
-#define STBTT_max(a,b) ((a) < (b) ? (b) : (a))
-
-static int stbtt__ray_intersect_bezier(float orig[2], float ray[2], float q0[2], float q1[2], float q2[2], float hits[2][2])
-{
- float q0perp = q0[1]*ray[0] - q0[0]*ray[1];
- float q1perp = q1[1]*ray[0] - q1[0]*ray[1];
- float q2perp = q2[1]*ray[0] - q2[0]*ray[1];
- float roperp = orig[1]*ray[0] - orig[0]*ray[1];
-
- float a = q0perp - 2*q1perp + q2perp;
- float b = q1perp - q0perp;
- float c = q0perp - roperp;
-
- float s0 = 0., s1 = 0.;
- int num_s = 0;
-
- if (a != 0.0) {
- float discr = b*b - a*c;
- if (discr > 0.0) {
- float rcpna = -1 / a;
- float d = (float) STBTT_sqrt(discr);
- s0 = (b+d) * rcpna;
- s1 = (b-d) * rcpna;
- if (s0 >= 0.0 && s0 <= 1.0)
- num_s = 1;
- if (d > 0.0 && s1 >= 0.0 && s1 <= 1.0) {
- if (num_s == 0) s0 = s1;
- ++num_s;
- }
- }
- } else {
- // 2*b*s + c = 0
- // s = -c / (2*b)
- s0 = c / (-2 * b);
- if (s0 >= 0.0 && s0 <= 1.0)
- num_s = 1;
- }
-
- if (num_s == 0)
- return 0;
- else {
- float rcp_len2 = 1 / (ray[0]*ray[0] + ray[1]*ray[1]);
- float rayn_x = ray[0] * rcp_len2, rayn_y = ray[1] * rcp_len2;
-
- float q0d = q0[0]*rayn_x + q0[1]*rayn_y;
- float q1d = q1[0]*rayn_x + q1[1]*rayn_y;
- float q2d = q2[0]*rayn_x + q2[1]*rayn_y;
- float rod = orig[0]*rayn_x + orig[1]*rayn_y;
-
- float q10d = q1d - q0d;
- float q20d = q2d - q0d;
- float q0rd = q0d - rod;
-
- hits[0][0] = q0rd + s0*(2.0f - 2.0f*s0)*q10d + s0*s0*q20d;
- hits[0][1] = a*s0+b;
-
- if (num_s > 1) {
- hits[1][0] = q0rd + s1*(2.0f - 2.0f*s1)*q10d + s1*s1*q20d;
- hits[1][1] = a*s1+b;
- return 2;
- } else {
- return 1;
- }
- }
-}
-
-static int equal(float *a, float *b)
-{
- return (a[0] == b[0] && a[1] == b[1]);
-}
-
-static int stbtt__compute_crossings_x(float x, float y, int nverts, stbtt_vertex *verts)
-{
- int i;
- float orig[2], ray[2] = { 1, 0 };
- float y_frac;
- int winding = 0;
-
- orig[0] = x;
- orig[1] = y;
-
- // make sure y never passes through a vertex of the shape
- y_frac = (float) STBTT_fmod(y, 1.0f);
- if (y_frac < 0.01f)
- y += 0.01f;
- else if (y_frac > 0.99f)
- y -= 0.01f;
- orig[1] = y;
-
- // test a ray from (-infinity,y) to (x,y)
- for (i=0; i < nverts; ++i) {
- if (verts[i].type == STBTT_vline) {
- int x0 = (int) verts[i-1].x, y0 = (int) verts[i-1].y;
- int x1 = (int) verts[i ].x, y1 = (int) verts[i ].y;
- if (y > STBTT_min(y0,y1) && y < STBTT_max(y0,y1) && x > STBTT_min(x0,x1)) {
- float x_inter = (y - y0) / (y1 - y0) * (x1-x0) + x0;
- if (x_inter < x)
- winding += (y0 < y1) ? 1 : -1;
- }
- }
- if (verts[i].type == STBTT_vcurve) {
- int x0 = (int) verts[i-1].x , y0 = (int) verts[i-1].y ;
- int x1 = (int) verts[i ].cx, y1 = (int) verts[i ].cy;
- int x2 = (int) verts[i ].x , y2 = (int) verts[i ].y ;
- int ax = STBTT_min(x0,STBTT_min(x1,x2)), ay = STBTT_min(y0,STBTT_min(y1,y2));
- int by = STBTT_max(y0,STBTT_max(y1,y2));
- if (y > ay && y < by && x > ax) {
- float q0[2],q1[2],q2[2];
- float hits[2][2];
- q0[0] = (float)x0;
- q0[1] = (float)y0;
- q1[0] = (float)x1;
- q1[1] = (float)y1;
- q2[0] = (float)x2;
- q2[1] = (float)y2;
- if (equal(q0,q1) || equal(q1,q2)) {
- x0 = (int)verts[i-1].x;
- y0 = (int)verts[i-1].y;
- x1 = (int)verts[i ].x;
- y1 = (int)verts[i ].y;
- if (y > STBTT_min(y0,y1) && y < STBTT_max(y0,y1) && x > STBTT_min(x0,x1)) {
- float x_inter = (y - y0) / (y1 - y0) * (x1-x0) + x0;
- if (x_inter < x)
- winding += (y0 < y1) ? 1 : -1;
- }
- } else {
- int num_hits = stbtt__ray_intersect_bezier(orig, ray, q0, q1, q2, hits);
- if (num_hits >= 1)
- if (hits[0][0] < 0)
- winding += (hits[0][1] < 0 ? -1 : 1);
- if (num_hits >= 2)
- if (hits[1][0] < 0)
- winding += (hits[1][1] < 0 ? -1 : 1);
- }
- }
- }
- }
- return winding;
-}
-
-static float stbtt__cuberoot( float x )
-{
- if (x<0)
- return -(float) STBTT_pow(-x,1.0f/3.0f);
- else
- return (float) STBTT_pow( x,1.0f/3.0f);
-}
-
-// x^3 + c*x^2 + b*x + a = 0
-static int stbtt__solve_cubic(float a, float b, float c, float* r)
-{
- float s = -a / 3;
- float p = b - a*a / 3;
- float q = a * (2*a*a - 9*b) / 27 + c;
- float p3 = p*p*p;
- float d = q*q + 4*p3 / 27;
- if (d >= 0) {
- float z = (float) STBTT_sqrt(d);
- float u = (-q + z) / 2;
- float v = (-q - z) / 2;
- u = stbtt__cuberoot(u);
- v = stbtt__cuberoot(v);
- r[0] = s + u + v;
- return 1;
- } else {
- float u = (float) STBTT_sqrt(-p/3);
- float v = (float) STBTT_acos(-STBTT_sqrt(-27/p3) * q / 2) / 3; // p3 must be negative, since d is negative
- float m = (float) STBTT_cos(v);
- float n = (float) STBTT_cos(v-3.141592/2)*1.732050808f;
- r[0] = s + u * 2 * m;
- r[1] = s - u * (m + n);
- r[2] = s - u * (m - n);
-
- //STBTT_assert( STBTT_fabs(((r[0]+a)*r[0]+b)*r[0]+c) < 0.05f); // these asserts may not be safe at all scales, though they're in bezier t parameter units so maybe?
- //STBTT_assert( STBTT_fabs(((r[1]+a)*r[1]+b)*r[1]+c) < 0.05f);
- //STBTT_assert( STBTT_fabs(((r[2]+a)*r[2]+b)*r[2]+c) < 0.05f);
- return 3;
- }
-}
-
-STBTT_DEF unsigned char * stbtt_GetGlyphSDF(const stbtt_fontinfo *info, float scale, int glyph, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff)
-{
- float scale_x = scale, scale_y = scale;
- int ix0,iy0,ix1,iy1;
- int w,h;
- unsigned char *data;
-
- // if one scale is 0, use same scale for both
- if (scale_x == 0) scale_x = scale_y;
- if (scale_y == 0) {
- if (scale_x == 0) return NULL; // if both scales are 0, return NULL
- scale_y = scale_x;
- }
-
- stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale, scale, 0.0f,0.0f, &ix0,&iy0,&ix1,&iy1);
-
- // if empty, return NULL
- if (ix0 == ix1 || iy0 == iy1)
- return NULL;
-
- ix0 -= padding;
- iy0 -= padding;
- ix1 += padding;
- iy1 += padding;
-
- w = (ix1 - ix0);
- h = (iy1 - iy0);
-
- if (width ) *width = w;
- if (height) *height = h;
- if (xoff ) *xoff = ix0;
- if (yoff ) *yoff = iy0;
-
- // invert for y-downwards bitmaps
- scale_y = -scale_y;
-
- {
- int x,y,i,j;
- float *precompute;
- stbtt_vertex *verts;
- int num_verts = stbtt_GetGlyphShape(info, glyph, &verts);
- data = (unsigned char *) STBTT_malloc(w * h, info->userdata);
- precompute = (float *) STBTT_malloc(num_verts * sizeof(float), info->userdata);
-
- for (i=0,j=num_verts-1; i < num_verts; j=i++) {
- if (verts[i].type == STBTT_vline) {
- float x0 = verts[i].x*scale_x, y0 = verts[i].y*scale_y;
- float x1 = verts[j].x*scale_x, y1 = verts[j].y*scale_y;
- float dist = (float) STBTT_sqrt((x1-x0)*(x1-x0) + (y1-y0)*(y1-y0));
- precompute[i] = (dist == 0) ? 0.0f : 1.0f / dist;
- } else if (verts[i].type == STBTT_vcurve) {
- float x2 = verts[j].x *scale_x, y2 = verts[j].y *scale_y;
- float x1 = verts[i].cx*scale_x, y1 = verts[i].cy*scale_y;
- float x0 = verts[i].x *scale_x, y0 = verts[i].y *scale_y;
- float bx = x0 - 2*x1 + x2, by = y0 - 2*y1 + y2;
- float len2 = bx*bx + by*by;
- if (len2 != 0.0f)
- precompute[i] = 1.0f / (bx*bx + by*by);
- else
- precompute[i] = 0.0f;
- } else
- precompute[i] = 0.0f;
- }
-
- for (y=iy0; y < iy1; ++y) {
- for (x=ix0; x < ix1; ++x) {
- float val;
- float min_dist = 999999.0f;
- float sx = (float) x + 0.5f;
- float sy = (float) y + 0.5f;
- float x_gspace = (sx / scale_x);
- float y_gspace = (sy / scale_y);
-
- int winding = stbtt__compute_crossings_x(x_gspace, y_gspace, num_verts, verts); // @OPTIMIZE: this could just be a rasterization, but needs to be line vs. non-tesselated curves so a new path
-
- for (i=0; i < num_verts; ++i) {
- float x0 = verts[i].x*scale_x, y0 = verts[i].y*scale_y;
-
- // check against every point here rather than inside line/curve primitives -- @TODO: wrong if multiple 'moves' in a row produce a garbage point, and given culling, probably more efficient to do within line/curve
- float dist2 = (x0-sx)*(x0-sx) + (y0-sy)*(y0-sy);
- if (dist2 < min_dist*min_dist)
- min_dist = (float) STBTT_sqrt(dist2);
-
- if (verts[i].type == STBTT_vline) {
- float x1 = verts[i-1].x*scale_x, y1 = verts[i-1].y*scale_y;
-
- // coarse culling against bbox
- //if (sx > STBTT_min(x0,x1)-min_dist && sx < STBTT_max(x0,x1)+min_dist &&
- // sy > STBTT_min(y0,y1)-min_dist && sy < STBTT_max(y0,y1)+min_dist)
- float dist = (float) STBTT_fabs((x1-x0)*(y0-sy) - (y1-y0)*(x0-sx)) * precompute[i];
- STBTT_assert(i != 0);
- if (dist < min_dist) {
- // check position along line
- // x' = x0 + t*(x1-x0), y' = y0 + t*(y1-y0)
- // minimize (x'-sx)*(x'-sx)+(y'-sy)*(y'-sy)
- float dx = x1-x0, dy = y1-y0;
- float px = x0-sx, py = y0-sy;
- // minimize (px+t*dx)^2 + (py+t*dy)^2 = px*px + 2*px*dx*t + t^2*dx*dx + py*py + 2*py*dy*t + t^2*dy*dy
- // derivative: 2*px*dx + 2*py*dy + (2*dx*dx+2*dy*dy)*t, set to 0 and solve
- float t = -(px*dx + py*dy) / (dx*dx + dy*dy);
- if (t >= 0.0f && t <= 1.0f)
- min_dist = dist;
- }
- } else if (verts[i].type == STBTT_vcurve) {
- float x2 = verts[i-1].x *scale_x, y2 = verts[i-1].y *scale_y;
- float x1 = verts[i ].cx*scale_x, y1 = verts[i ].cy*scale_y;
- float box_x0 = STBTT_min(STBTT_min(x0,x1),x2);
- float box_y0 = STBTT_min(STBTT_min(y0,y1),y2);
- float box_x1 = STBTT_max(STBTT_max(x0,x1),x2);
- float box_y1 = STBTT_max(STBTT_max(y0,y1),y2);
- // coarse culling against bbox to avoid computing cubic unnecessarily
- if (sx > box_x0-min_dist && sx < box_x1+min_dist && sy > box_y0-min_dist && sy < box_y1+min_dist) {
- int num=0;
- float ax = x1-x0, ay = y1-y0;
- float bx = x0 - 2*x1 + x2, by = y0 - 2*y1 + y2;
- float mx = x0 - sx, my = y0 - sy;
- float res[3],px,py,t,it;
- float a_inv = precompute[i];
- if (a_inv == 0.0) { // if a_inv is 0, it's 2nd degree so use quadratic formula
- float a = 3*(ax*bx + ay*by);
- float b = 2*(ax*ax + ay*ay) + (mx*bx+my*by);
- float c = mx*ax+my*ay;
- if (a == 0.0) { // if a is 0, it's linear
- if (b != 0.0) {
- res[num++] = -c/b;
- }
- } else {
- float discriminant = b*b - 4*a*c;
- if (discriminant < 0)
- num = 0;
- else {
- float root = (float) STBTT_sqrt(discriminant);
- res[0] = (-b - root)/(2*a);
- res[1] = (-b + root)/(2*a);
- num = 2; // don't bother distinguishing 1-solution case, as code below will still work
- }
- }
- } else {
- float b = 3*(ax*bx + ay*by) * a_inv; // could precompute this as it doesn't depend on sample point
- float c = (2*(ax*ax + ay*ay) + (mx*bx+my*by)) * a_inv;
- float d = (mx*ax+my*ay) * a_inv;
- num = stbtt__solve_cubic(b, c, d, res);
- }
- if (num >= 1 && res[0] >= 0.0f && res[0] <= 1.0f) {
- t = res[0], it = 1.0f - t;
- px = it*it*x0 + 2*t*it*x1 + t*t*x2;
- py = it*it*y0 + 2*t*it*y1 + t*t*y2;
- dist2 = (px-sx)*(px-sx) + (py-sy)*(py-sy);
- if (dist2 < min_dist * min_dist)
- min_dist = (float) STBTT_sqrt(dist2);
- }
- if (num >= 2 && res[1] >= 0.0f && res[1] <= 1.0f) {
- t = res[1], it = 1.0f - t;
- px = it*it*x0 + 2*t*it*x1 + t*t*x2;
- py = it*it*y0 + 2*t*it*y1 + t*t*y2;
- dist2 = (px-sx)*(px-sx) + (py-sy)*(py-sy);
- if (dist2 < min_dist * min_dist)
- min_dist = (float) STBTT_sqrt(dist2);
- }
- if (num >= 3 && res[2] >= 0.0f && res[2] <= 1.0f) {
- t = res[2], it = 1.0f - t;
- px = it*it*x0 + 2*t*it*x1 + t*t*x2;
- py = it*it*y0 + 2*t*it*y1 + t*t*y2;
- dist2 = (px-sx)*(px-sx) + (py-sy)*(py-sy);
- if (dist2 < min_dist * min_dist)
- min_dist = (float) STBTT_sqrt(dist2);
- }
- }
- }
- }
- if (winding == 0)
- min_dist = -min_dist; // if outside the shape, value is negative
- val = onedge_value + pixel_dist_scale * min_dist;
- if (val < 0)
- val = 0;
- else if (val > 255)
- val = 255;
- data[(y-iy0)*w+(x-ix0)] = (unsigned char) val;
- }
- }
- STBTT_free(precompute, info->userdata);
- STBTT_free(verts, info->userdata);
- }
- return data;
-}
-
-STBTT_DEF unsigned char * stbtt_GetCodepointSDF(const stbtt_fontinfo *info, float scale, int codepoint, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff)
-{
- return stbtt_GetGlyphSDF(info, scale, stbtt_FindGlyphIndex(info, codepoint), padding, onedge_value, pixel_dist_scale, width, height, xoff, yoff);
-}
-
-STBTT_DEF void stbtt_FreeSDF(unsigned char *bitmap, void *userdata)
-{
- STBTT_free(bitmap, userdata);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// font name matching -- recommended not to use this
-//
-
-// check if a utf8 string contains a prefix which is the utf16 string; if so return length of matching utf8 string
-static stbtt_int32 stbtt__CompareUTF8toUTF16_bigendian_prefix(stbtt_uint8 *s1, stbtt_int32 len1, stbtt_uint8 *s2, stbtt_int32 len2)
-{
- stbtt_int32 i=0;
-
- // convert utf16 to utf8 and compare the results while converting
- while (len2) {
- stbtt_uint16 ch = s2[0]*256 + s2[1];
- if (ch < 0x80) {
- if (i >= len1) return -1;
- if (s1[i++] != ch) return -1;
- } else if (ch < 0x800) {
- if (i+1 >= len1) return -1;
- if (s1[i++] != 0xc0 + (ch >> 6)) return -1;
- if (s1[i++] != 0x80 + (ch & 0x3f)) return -1;
- } else if (ch >= 0xd800 && ch < 0xdc00) {
- stbtt_uint32 c;
- stbtt_uint16 ch2 = s2[2]*256 + s2[3];
- if (i+3 >= len1) return -1;
- c = ((ch - 0xd800) << 10) + (ch2 - 0xdc00) + 0x10000;
- if (s1[i++] != 0xf0 + (c >> 18)) return -1;
- if (s1[i++] != 0x80 + ((c >> 12) & 0x3f)) return -1;
- if (s1[i++] != 0x80 + ((c >> 6) & 0x3f)) return -1;
- if (s1[i++] != 0x80 + ((c ) & 0x3f)) return -1;
- s2 += 2; // plus another 2 below
- len2 -= 2;
- } else if (ch >= 0xdc00 && ch < 0xe000) {
- return -1;
- } else {
- if (i+2 >= len1) return -1;
- if (s1[i++] != 0xe0 + (ch >> 12)) return -1;
- if (s1[i++] != 0x80 + ((ch >> 6) & 0x3f)) return -1;
- if (s1[i++] != 0x80 + ((ch ) & 0x3f)) return -1;
- }
- s2 += 2;
- len2 -= 2;
- }
- return i;
-}
-
-static int stbtt_CompareUTF8toUTF16_bigendian_internal(char *s1, int len1, char *s2, int len2)
-{
- return len1 == stbtt__CompareUTF8toUTF16_bigendian_prefix((stbtt_uint8*) s1, len1, (stbtt_uint8*) s2, len2);
-}
-
-// returns results in whatever encoding you request... but note that 2-byte encodings
-// will be BIG-ENDIAN... use stbtt_CompareUTF8toUTF16_bigendian() to compare
-STBTT_DEF const char *stbtt_GetFontNameString(const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID)
-{
- stbtt_int32 i,count,stringOffset;
- stbtt_uint8 *fc = font->data;
- stbtt_uint32 offset = font->fontstart;
- stbtt_uint32 nm = stbtt__find_table(fc, offset, "name");
- if (!nm) return NULL;
-
- count = ttUSHORT(fc+nm+2);
- stringOffset = nm + ttUSHORT(fc+nm+4);
- for (i=0; i < count; ++i) {
- stbtt_uint32 loc = nm + 6 + 12 * i;
- if (platformID == ttUSHORT(fc+loc+0) && encodingID == ttUSHORT(fc+loc+2)
- && languageID == ttUSHORT(fc+loc+4) && nameID == ttUSHORT(fc+loc+6)) {
- *length = ttUSHORT(fc+loc+8);
- return (const char *) (fc+stringOffset+ttUSHORT(fc+loc+10));
- }
- }
- return NULL;
-}
-
-static int stbtt__matchpair(stbtt_uint8 *fc, stbtt_uint32 nm, stbtt_uint8 *name, stbtt_int32 nlen, stbtt_int32 target_id, stbtt_int32 next_id)
-{
- stbtt_int32 i;
- stbtt_int32 count = ttUSHORT(fc+nm+2);
- stbtt_int32 stringOffset = nm + ttUSHORT(fc+nm+4);
-
- for (i=0; i < count; ++i) {
- stbtt_uint32 loc = nm + 6 + 12 * i;
- stbtt_int32 id = ttUSHORT(fc+loc+6);
- if (id == target_id) {
- // find the encoding
- stbtt_int32 platform = ttUSHORT(fc+loc+0), encoding = ttUSHORT(fc+loc+2), language = ttUSHORT(fc+loc+4);
-
- // is this a Unicode encoding?
- if (platform == 0 || (platform == 3 && encoding == 1) || (platform == 3 && encoding == 10)) {
- stbtt_int32 slen = ttUSHORT(fc+loc+8);
- stbtt_int32 off = ttUSHORT(fc+loc+10);
-
- // check if there's a prefix match
- stbtt_int32 matchlen = stbtt__CompareUTF8toUTF16_bigendian_prefix(name, nlen, fc+stringOffset+off,slen);
- if (matchlen >= 0) {
- // check for target_id+1 immediately following, with same encoding & language
- if (i+1 < count && ttUSHORT(fc+loc+12+6) == next_id && ttUSHORT(fc+loc+12) == platform && ttUSHORT(fc+loc+12+2) == encoding && ttUSHORT(fc+loc+12+4) == language) {
- slen = ttUSHORT(fc+loc+12+8);
- off = ttUSHORT(fc+loc+12+10);
- if (slen == 0) {
- if (matchlen == nlen)
- return 1;
- } else if (matchlen < nlen && name[matchlen] == ' ') {
- ++matchlen;
- if (stbtt_CompareUTF8toUTF16_bigendian_internal((char*) (name+matchlen), nlen-matchlen, (char*)(fc+stringOffset+off),slen))
- return 1;
- }
- } else {
- // if nothing immediately following
- if (matchlen == nlen)
- return 1;
- }
- }
- }
-
- // @TODO handle other encodings
- }
- }
- return 0;
-}
-
-static int stbtt__matches(stbtt_uint8 *fc, stbtt_uint32 offset, stbtt_uint8 *name, stbtt_int32 flags)
-{
- stbtt_int32 nlen = (stbtt_int32) STBTT_strlen((char *) name);
- stbtt_uint32 nm,hd;
- if (!stbtt__isfont(fc+offset)) return 0;
-
- // check italics/bold/underline flags in macStyle...
- if (flags) {
- hd = stbtt__find_table(fc, offset, "head");
- if ((ttUSHORT(fc+hd+44) & 7) != (flags & 7)) return 0;
- }
-
- nm = stbtt__find_table(fc, offset, "name");
- if (!nm) return 0;
-
- if (flags) {
- // if we checked the macStyle flags, then just check the family and ignore the subfamily
- if (stbtt__matchpair(fc, nm, name, nlen, 16, -1)) return 1;
- if (stbtt__matchpair(fc, nm, name, nlen, 1, -1)) return 1;
- if (stbtt__matchpair(fc, nm, name, nlen, 3, -1)) return 1;
- } else {
- if (stbtt__matchpair(fc, nm, name, nlen, 16, 17)) return 1;
- if (stbtt__matchpair(fc, nm, name, nlen, 1, 2)) return 1;
- if (stbtt__matchpair(fc, nm, name, nlen, 3, -1)) return 1;
- }
-
- return 0;
-}
-
-static int stbtt_FindMatchingFont_internal(unsigned char *font_collection, char *name_utf8, stbtt_int32 flags)
-{
- stbtt_int32 i;
- for (i=0;;++i) {
- stbtt_int32 off = stbtt_GetFontOffsetForIndex(font_collection, i);
- if (off < 0) return off;
- if (stbtt__matches((stbtt_uint8 *) font_collection, off, (stbtt_uint8*) name_utf8, flags))
- return off;
- }
-}
-
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wcast-qual"
-#endif
-
-STBTT_DEF int stbtt_BakeFontBitmap(const unsigned char *data, int offset,
- float pixel_height, unsigned char *pixels, int pw, int ph,
- int first_char, int num_chars, stbtt_bakedchar *chardata)
-{
- return stbtt_BakeFontBitmap_internal((unsigned char *) data, offset, pixel_height, pixels, pw, ph, first_char, num_chars, chardata);
-}
-
-STBTT_DEF int stbtt_GetFontOffsetForIndex(const unsigned char *data, int index)
-{
- return stbtt_GetFontOffsetForIndex_internal((unsigned char *) data, index);
-}
-
-STBTT_DEF int stbtt_GetNumberOfFonts(const unsigned char *data)
-{
- return stbtt_GetNumberOfFonts_internal((unsigned char *) data);
-}
-
-STBTT_DEF int stbtt_InitFont(stbtt_fontinfo *info, const unsigned char *data, int offset)
-{
- return stbtt_InitFont_internal(info, (unsigned char *) data, offset);
-}
-
-STBTT_DEF int stbtt_FindMatchingFont(const unsigned char *fontdata, const char *name, int flags)
-{
- return stbtt_FindMatchingFont_internal((unsigned char *) fontdata, (char *) name, flags);
-}
-
-STBTT_DEF int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2)
-{
- return stbtt_CompareUTF8toUTF16_bigendian_internal((char *) s1, len1, (char *) s2, len2);
-}
-
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic pop
-#endif
-
-#endif // STB_TRUETYPE_IMPLEMENTATION
-
-
-// FULL VERSION HISTORY
-//
-// 1.19 (2018-02-11) OpenType GPOS kerning (horizontal only), STBTT_fmod
-// 1.18 (2018-01-29) add missing function
-// 1.17 (2017-07-23) make more arguments const; doc fix
-// 1.16 (2017-07-12) SDF support
-// 1.15 (2017-03-03) make more arguments const
-// 1.14 (2017-01-16) num-fonts-in-TTC function
-// 1.13 (2017-01-02) support OpenType fonts, certain Apple fonts
-// 1.12 (2016-10-25) suppress warnings about casting away const with -Wcast-qual
-// 1.11 (2016-04-02) fix unused-variable warning
-// 1.10 (2016-04-02) allow user-defined fabs() replacement
-// fix memory leak if fontsize=0.0
-// fix warning from duplicate typedef
-// 1.09 (2016-01-16) warning fix; avoid crash on outofmem; use alloc userdata for PackFontRanges
-// 1.08 (2015-09-13) document stbtt_Rasterize(); fixes for vertical & horizontal edges
-// 1.07 (2015-08-01) allow PackFontRanges to accept arrays of sparse codepoints;
-// allow PackFontRanges to pack and render in separate phases;
-// fix stbtt_GetFontOFfsetForIndex (never worked for non-0 input?);
-// fixed an assert() bug in the new rasterizer
-// replace assert() with STBTT_assert() in new rasterizer
-// 1.06 (2015-07-14) performance improvements (~35% faster on x86 and x64 on test machine)
-// also more precise AA rasterizer, except if shapes overlap
-// remove need for STBTT_sort
-// 1.05 (2015-04-15) fix misplaced definitions for STBTT_STATIC
-// 1.04 (2015-04-15) typo in example
-// 1.03 (2015-04-12) STBTT_STATIC, fix memory leak in new packing, various fixes
-// 1.02 (2014-12-10) fix various warnings & compile issues w/ stb_rect_pack, C++
-// 1.01 (2014-12-08) fix subpixel position when oversampling to exactly match
-// non-oversampled; STBTT_POINT_SIZE for packed case only
-// 1.00 (2014-12-06) add new PackBegin etc. API, w/ support for oversampling
-// 0.99 (2014-09-18) fix multiple bugs with subpixel rendering (ryg)
-// 0.9 (2014-08-07) support certain mac/iOS fonts without an MS platformID
-// 0.8b (2014-07-07) fix a warning
-// 0.8 (2014-05-25) fix a few more warnings
-// 0.7 (2013-09-25) bugfix: subpixel glyph bug fixed in 0.5 had come back
-// 0.6c (2012-07-24) improve documentation
-// 0.6b (2012-07-20) fix a few more warnings
-// 0.6 (2012-07-17) fix warnings; added stbtt_ScaleForMappingEmToPixels,
-// stbtt_GetFontBoundingBox, stbtt_IsGlyphEmpty
-// 0.5 (2011-12-09) bugfixes:
-// subpixel glyph renderer computed wrong bounding box
-// first vertex of shape can be off-curve (FreeSans)
-// 0.4b (2011-12-03) fixed an error in the font baking example
-// 0.4 (2011-12-01) kerning, subpixel rendering (tor)
-// bugfixes for:
-// codepoint-to-glyph conversion using table fmt=12
-// codepoint-to-glyph conversion using table fmt=4
-// stbtt_GetBakedQuad with non-square texture (Zer)
-// updated Hello World! sample to use kerning and subpixel
-// fixed some warnings
-// 0.3 (2009-06-24) cmap fmt=12, compound shapes (MM)
-// userdata, malloc-from-userdata, non-zero fill (stb)
-// 0.2 (2009-03-11) Fix unsigned/signed char warnings
-// 0.1 (2009-03-09) First public release
-//
-
-/*
-------------------------------------------------------------------------------
-This software is available under 2 licenses -- choose whichever you prefer.
-------------------------------------------------------------------------------
-ALTERNATIVE A - MIT License
-Copyright (c) 2017 Sean Barrett
-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.
-------------------------------------------------------------------------------
-ALTERNATIVE B - Public Domain (www.unlicense.org)
-This is free and unencumbered software released into the public domain.
-Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
-software, either in source code form or as a compiled binary, for any purpose,
-commercial or non-commercial, and by any means.
-In jurisdictions that recognize copyright laws, the author or authors of this
-software dedicate any and all copyright interest in the software to the public
-domain. We make this dedication for the benefit of the public at large and to
-the detriment of our heirs and successors. We intend this dedication to be an
-overt act of relinquishment in perpetuity of all present and future rights to
-this software under copyright law.
-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 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.
-------------------------------------------------------------------------------
-*/