summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
Diffstat (limited to 'editor')
-rw-r--r--editor/animation_bezier_editor.cpp22
-rw-r--r--editor/animation_bezier_editor.h10
-rw-r--r--editor/animation_track_editor.cpp104
-rw-r--r--editor/animation_track_editor.h10
-rw-r--r--editor/audio_stream_preview.h2
-rw-r--r--editor/connections_dialog.cpp18
-rw-r--r--editor/connections_dialog.h2
-rw-r--r--editor/create_dialog.cpp4
-rw-r--r--editor/create_dialog.h2
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_parser.cpp14
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_protocol.cpp8
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_protocol.h4
-rw-r--r--editor/debugger/debug_adapter/debug_adapter_types.h7
-rw-r--r--editor/debugger/editor_debugger_inspector.cpp10
-rw-r--r--editor/debugger/editor_debugger_inspector.h6
-rw-r--r--editor/debugger/editor_debugger_node.cpp4
-rw-r--r--editor/debugger/editor_debugger_node.h12
-rw-r--r--editor/debugger/editor_debugger_server.cpp2
-rw-r--r--editor/debugger/editor_debugger_server.h2
-rw-r--r--editor/debugger/editor_debugger_tree.h2
-rw-r--r--editor/debugger/editor_network_profiler.h2
-rw-r--r--editor/debugger/editor_performance_profiler.cpp2
-rw-r--r--editor/debugger/editor_performance_profiler.h4
-rw-r--r--editor/debugger/editor_profiler.cpp46
-rw-r--r--editor/debugger/editor_profiler.h6
-rw-r--r--editor/debugger/script_editor_debugger.cpp8
-rw-r--r--editor/debugger/script_editor_debugger.h8
-rw-r--r--editor/dependency_editor.cpp14
-rw-r--r--editor/dependency_editor.h4
-rw-r--r--editor/doc_tools.cpp4
-rw-r--r--editor/doc_tools.h4
-rw-r--r--editor/editor_about.cpp2
-rw-r--r--editor/editor_asset_installer.cpp12
-rw-r--r--editor/editor_asset_installer.h2
-rw-r--r--editor/editor_autoload_settings.cpp2
-rw-r--r--editor/editor_command_palette.cpp2
-rw-r--r--editor/editor_data.cpp18
-rw-r--r--editor/editor_data.h12
-rw-r--r--editor/editor_dir_dialog.h2
-rw-r--r--editor/editor_export.cpp40
-rw-r--r--editor/editor_export.h26
-rw-r--r--editor/editor_feature_profile.cpp20
-rw-r--r--editor/editor_feature_profile.h8
-rw-r--r--editor/editor_file_system.cpp37
-rw-r--r--editor/editor_file_system.h20
-rw-r--r--editor/editor_folding.cpp20
-rw-r--r--editor/editor_folding.h6
-rw-r--r--editor/editor_fonts.cpp80
-rw-r--r--editor/editor_help.cpp67
-rw-r--r--editor/editor_help.h14
-rw-r--r--editor/editor_help_search.cpp43
-rw-r--r--editor/editor_help_search.h12
-rw-r--r--editor/editor_inspector.cpp42
-rw-r--r--editor/editor_inspector.h16
-rw-r--r--editor/editor_log.h2
-rw-r--r--editor/editor_node.cpp66
-rw-r--r--editor/editor_node.h22
-rw-r--r--editor/editor_property_name_processor.cpp9
-rw-r--r--editor/editor_property_name_processor.h4
-rw-r--r--editor/editor_resource_picker.cpp38
-rw-r--r--editor/editor_resource_picker.h4
-rw-r--r--editor/editor_resource_preview.h2
-rw-r--r--editor/editor_run_native.h2
-rw-r--r--editor/editor_sectioned_inspector.h2
-rw-r--r--editor/editor_settings.cpp35
-rw-r--r--editor/editor_settings.h6
-rw-r--r--editor/editor_settings_dialog.cpp4
-rw-r--r--editor/editor_spin_slider.cpp4
-rw-r--r--editor/editor_themes.cpp80
-rw-r--r--editor/editor_toaster.h2
-rw-r--r--editor/editor_translation_parser.cpp8
-rw-r--r--editor/export_template_manager.cpp6
-rw-r--r--editor/fileserver/editor_file_server.cpp2
-rw-r--r--editor/fileserver/editor_file_server.h4
-rw-r--r--editor/filesystem_dock.cpp26
-rw-r--r--editor/filesystem_dock.h16
-rw-r--r--editor/find_in_files.cpp28
-rw-r--r--editor/find_in_files.h10
-rw-r--r--editor/icons/TextMesh.svg1
-rw-r--r--editor/import/collada.cpp20
-rw-r--r--editor/import/collada.h72
-rw-r--r--editor/import/dynamic_font_import_settings.cpp22
-rw-r--r--editor/import/dynamic_font_import_settings.h4
-rw-r--r--editor/import/editor_import_collada.cpp52
-rw-r--r--editor/import/editor_import_collada.h2
-rw-r--r--editor/import/editor_import_plugin.cpp16
-rw-r--r--editor/import/editor_import_plugin.h4
-rw-r--r--editor/import/resource_importer_bitmask.cpp4
-rw-r--r--editor/import/resource_importer_bitmask.h4
-rw-r--r--editor/import/resource_importer_bmfont.cpp4
-rw-r--r--editor/import/resource_importer_bmfont.h4
-rw-r--r--editor/import/resource_importer_csv_translation.cpp4
-rw-r--r--editor/import/resource_importer_csv_translation.h4
-rw-r--r--editor/import/resource_importer_dynamic_font.cpp4
-rw-r--r--editor/import/resource_importer_dynamic_font.h4
-rw-r--r--editor/import/resource_importer_image.cpp4
-rw-r--r--editor/import/resource_importer_image.h4
-rw-r--r--editor/import/resource_importer_imagefont.cpp4
-rw-r--r--editor/import/resource_importer_imagefont.h4
-rw-r--r--editor/import/resource_importer_layered_texture.cpp4
-rw-r--r--editor/import/resource_importer_layered_texture.h6
-rw-r--r--editor/import/resource_importer_obj.cpp12
-rw-r--r--editor/import/resource_importer_obj.h6
-rw-r--r--editor/import/resource_importer_scene.cpp38
-rw-r--r--editor/import/resource_importer_scene.h30
-rw-r--r--editor/import/resource_importer_shader_file.cpp4
-rw-r--r--editor/import/resource_importer_shader_file.h4
-rw-r--r--editor/import/resource_importer_texture.cpp4
-rw-r--r--editor/import/resource_importer_texture.h6
-rw-r--r--editor/import/resource_importer_texture_atlas.cpp18
-rw-r--r--editor/import/resource_importer_texture_atlas.h6
-rw-r--r--editor/import/resource_importer_wav.cpp4
-rw-r--r--editor/import/resource_importer_wav.h4
-rw-r--r--editor/import/scene_import_settings.cpp10
-rw-r--r--editor/import/scene_import_settings.h24
-rw-r--r--editor/import_defaults_editor.cpp4
-rw-r--r--editor/import_dock.cpp8
-rw-r--r--editor/import_dock.h2
-rw-r--r--editor/inspector_dock.cpp4
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.cpp34
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.h4
-rw-r--r--editor/plugins/animation_player_editor_plugin.cpp2
-rw-r--r--editor/plugins/animation_state_machine_editor.cpp2
-rw-r--r--editor/plugins/animation_state_machine_editor.h4
-rw-r--r--editor/plugins/asset_library_editor_plugin.h2
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp28
-rw-r--r--editor/plugins/canvas_item_editor_plugin.h2
-rw-r--r--editor/plugins/control_editor_plugin.cpp2
-rw-r--r--editor/plugins/editor_preview_plugins.cpp4
-rw-r--r--editor/plugins/gdextension_export_plugin.h4
-rw-r--r--editor/plugins/gpu_particles_3d_editor_plugin.cpp6
-rw-r--r--editor/plugins/mesh_instance_3d_editor_plugin.cpp2
-rw-r--r--editor/plugins/mesh_library_editor_plugin.cpp2
-rw-r--r--editor/plugins/multimesh_editor_plugin.cpp6
-rw-r--r--editor/plugins/node_3d_editor_gizmos.cpp36
-rw-r--r--editor/plugins/node_3d_editor_gizmos.h8
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp42
-rw-r--r--editor/plugins/node_3d_editor_plugin.h2
-rw-r--r--editor/plugins/ot_features_plugin.cpp16
-rw-r--r--editor/plugins/packed_scene_translation_parser_plugin.h4
-rw-r--r--editor/plugins/root_motion_editor_plugin.cpp8
-rw-r--r--editor/plugins/script_editor_plugin.cpp68
-rw-r--r--editor/plugins/script_editor_plugin.h5
-rw-r--r--editor/plugins/script_text_editor.cpp83
-rw-r--r--editor/plugins/script_text_editor.h4
-rw-r--r--editor/plugins/shader_editor_plugin.cpp2
-rw-r--r--editor/plugins/skeleton_3d_editor_plugin.cpp4
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.cpp8
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.h4
-rw-r--r--editor/plugins/text_control_editor_plugin.cpp8
-rw-r--r--editor/plugins/text_control_editor_plugin.h2
-rw-r--r--editor/plugins/text_editor.cpp10
-rw-r--r--editor/plugins/text_editor.h2
-rw-r--r--editor/plugins/texture_region_editor_plugin.h2
-rw-r--r--editor/plugins/theme_editor_plugin.cpp6
-rw-r--r--editor/plugins/theme_editor_plugin.h2
-rw-r--r--editor/plugins/tiles/atlas_merging_dialog.cpp2
-rw-r--r--editor/plugins/tiles/atlas_merging_dialog.h2
-rw-r--r--editor/plugins/tiles/tile_atlas_view.cpp4
-rw-r--r--editor/plugins/tiles/tile_atlas_view.h2
-rw-r--r--editor/plugins/tiles/tile_data_editors.cpp48
-rw-r--r--editor/plugins/tiles/tile_data_editors.h16
-rw-r--r--editor/plugins/tiles/tile_map_editor.cpp248
-rw-r--r--editor/plugins/tiles/tile_map_editor.h26
-rw-r--r--editor/plugins/tiles/tile_set_atlas_source_editor.cpp142
-rw-r--r--editor/plugins/tiles/tile_set_atlas_source_editor.h14
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp72
-rw-r--r--editor/plugins/visual_shader_editor_plugin.h14
-rw-r--r--editor/pot_generator.cpp10
-rw-r--r--editor/pot_generator.h4
-rw-r--r--editor/progress_dialog.h6
-rw-r--r--editor/project_export.cpp4
-rw-r--r--editor/project_manager.cpp32
-rw-r--r--editor/project_manager.h2
-rw-r--r--editor/project_settings_editor.cpp6
-rw-r--r--editor/property_editor.cpp12
-rw-r--r--editor/property_selector.cpp16
-rw-r--r--editor/rename_dialog.cpp2
-rw-r--r--editor/reparent_dialog.cpp2
-rw-r--r--editor/reparent_dialog.h2
-rw-r--r--editor/scene_tree_dock.cpp76
-rw-r--r--editor/scene_tree_dock.h20
-rw-r--r--editor/scene_tree_editor.cpp4
-rw-r--r--editor/scene_tree_editor.h4
-rw-r--r--editor/shader_create_dialog.cpp2
-rw-r--r--editor/translations/af.po120
-rw-r--r--editor/translations/ar.po125
-rw-r--r--editor/translations/az.po115
-rw-r--r--editor/translations/bg.po121
-rw-r--r--editor/translations/bn.po125
-rw-r--r--editor/translations/br.po115
-rw-r--r--editor/translations/ca.po125
-rw-r--r--editor/translations/cs.po125
-rw-r--r--editor/translations/da.po123
-rw-r--r--editor/translations/de.po145
-rw-r--r--editor/translations/editor.pot112
-rw-r--r--editor/translations/el.po135
-rw-r--r--editor/translations/en_Shaw.po115
-rw-r--r--editor/translations/eo.po123
-rw-r--r--editor/translations/es.po138
-rw-r--r--editor/translations/es_AR.po125
-rw-r--r--editor/translations/et.po119
-rw-r--r--editor/translations/eu.po118
-rwxr-xr-xeditor/translations/extract.py40
-rw-r--r--editor/translations/fa.po123
-rw-r--r--editor/translations/fi.po126
-rw-r--r--editor/translations/fil.po636
-rw-r--r--editor/translations/fr.po166
-rw-r--r--editor/translations/ga.po113
-rw-r--r--editor/translations/gl.po123
-rw-r--r--editor/translations/he.po125
-rw-r--r--editor/translations/hi.po118
-rw-r--r--editor/translations/hr.po119
-rw-r--r--editor/translations/hu.po121
-rw-r--r--editor/translations/id.po462
-rw-r--r--editor/translations/is.po115
-rw-r--r--editor/translations/it.po577
-rw-r--r--editor/translations/ja.po133
-rw-r--r--editor/translations/ka.po120
-rw-r--r--editor/translations/km.po113
-rw-r--r--editor/translations/ko.po540
-rw-r--r--editor/translations/lt.po116
-rw-r--r--editor/translations/lv.po152
-rw-r--r--editor/translations/mi.po112
-rw-r--r--editor/translations/mk.po113
-rw-r--r--editor/translations/ml.po113
-rw-r--r--editor/translations/mr.po113
-rw-r--r--editor/translations/ms.po123
-rw-r--r--editor/translations/nb.po125
-rw-r--r--editor/translations/nl.po125
-rw-r--r--editor/translations/or.po112
-rw-r--r--editor/translations/pl.po138
-rw-r--r--editor/translations/pr.po118
-rw-r--r--editor/translations/pt.po126
-rw-r--r--editor/translations/pt_BR.po134
-rw-r--r--editor/translations/ro.po220
-rw-r--r--editor/translations/ru.po419
-rw-r--r--editor/translations/si.po118
-rw-r--r--editor/translations/sk.po123
-rw-r--r--editor/translations/sl.po123
-rw-r--r--editor/translations/sq.po118
-rw-r--r--editor/translations/sr_Cyrl.po125
-rw-r--r--editor/translations/sr_Latn.po118
-rw-r--r--editor/translations/sv.po125
-rw-r--r--editor/translations/ta.po115
-rw-r--r--editor/translations/te.po115
-rw-r--r--editor/translations/th.po125
-rw-r--r--editor/translations/tl.po121
-rw-r--r--editor/translations/tr.po125
-rw-r--r--editor/translations/tt.po112
-rw-r--r--editor/translations/tzm.po112
-rw-r--r--editor/translations/uk.po129
-rw-r--r--editor/translations/ur_PK.po116
-rw-r--r--editor/translations/vi.po148
-rw-r--r--editor/translations/zh_CN.po160
-rw-r--r--editor/translations/zh_HK.po123
-rw-r--r--editor/translations/zh_TW.po125
257 files changed, 7668 insertions, 6156 deletions
diff --git a/editor/animation_bezier_editor.cpp b/editor/animation_bezier_editor.cpp
index 9c8fec26a7..c5f800b17a 100644
--- a/editor/animation_bezier_editor.cpp
+++ b/editor/animation_bezier_editor.cpp
@@ -62,7 +62,7 @@ void AnimationBezierTrackEdit::_draw_track(int p_track, const Color &p_color) {
int right_limit = get_size().width;
//selection may have altered the order of keys
- Map<float, int> key_order;
+ RBMap<float, int> key_order;
for (int i = 0; i < animation->track_get_key_count(p_track); i++) {
float ofs = animation->track_get_key_time(p_track, i);
@@ -73,7 +73,7 @@ void AnimationBezierTrackEdit::_draw_track(int p_track, const Color &p_color) {
key_order[ofs] = i;
}
- for (Map<float, int>::Element *E = key_order.front(); E; E = E->next()) {
+ for (RBMap<float, int>::Element *E = key_order.front(); E; E = E->next()) {
int i = E->get();
if (!E->next()) {
@@ -262,12 +262,12 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
int vofs = vsep;
int margin = 0;
- Map<int, Color> subtrack_colors;
+ RBMap<int, Color> subtrack_colors;
Color selected_track_color;
subtracks.clear();
subtrack_icons.clear();
- Map<String, Vector<int>> track_indices;
+ RBMap<String, Vector<int>> track_indices;
int track_count = animation->get_track_count();
for (int i = 0; i < track_count; ++i) {
if (animation->track_get_type(i) != Animation::TrackType::TYPE_BEZIER) {
@@ -432,7 +432,7 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
Rect2 solo_rect = Rect2(solo_hpos, icon_start_height - solo->get_height() / 2, solo->get_width(), solo->get_height());
draw_texture(solo, solo_rect.position);
- Map<int, Rect2> track_icons;
+ RBMap<int, Rect2> track_icons;
track_icons[REMOVE_ICON] = remove_rect;
track_icons[LOCK_ICON] = lock_rect;
track_icons[VISIBILITY_ICON] = visible_rect;
@@ -747,8 +747,8 @@ void AnimationBezierTrackEdit::_update_locked_tracks_after(int p_track) {
}
Vector<int> updated_locked_tracks;
- for (Set<int>::Element *E = locked_tracks.front(); E; E = E->next()) {
- updated_locked_tracks.push_back(E->get());
+ for (const int &E : locked_tracks) {
+ updated_locked_tracks.push_back(E);
}
locked_tracks.clear();
for (int i = 0; i < updated_locked_tracks.size(); ++i) {
@@ -766,8 +766,8 @@ void AnimationBezierTrackEdit::_update_hidden_tracks_after(int p_track) {
}
Vector<int> updated_hidden_tracks;
- for (Set<int>::Element *E = hidden_tracks.front(); E; E = E->next()) {
- updated_hidden_tracks.push_back(E->get());
+ for (const int &E : hidden_tracks) {
+ updated_hidden_tracks.push_back(E);
}
hidden_tracks.clear();
for (int i = 0; i < updated_hidden_tracks.size(); ++i) {
@@ -963,9 +963,9 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
}
}
- for (const KeyValue<int, Map<int, Rect2>> &E : subtrack_icons) {
+ for (const KeyValue<int, RBMap<int, Rect2>> &E : subtrack_icons) {
int track = E.key;
- Map<int, Rect2> track_icons = E.value;
+ RBMap<int, Rect2> track_icons = E.value;
for (const KeyValue<int, Rect2> &I : track_icons) {
if (I.value.has_point(mb->get_position())) {
if (I.key == REMOVE_ICON) {
diff --git a/editor/animation_bezier_editor.h b/editor/animation_bezier_editor.h
index f228f66771..cbbc3cc32a 100644
--- a/editor/animation_bezier_editor.h
+++ b/editor/animation_bezier_editor.h
@@ -61,7 +61,7 @@ class AnimationBezierTrackEdit : public Control {
Ref<Texture2D> bezier_handle_icon;
Ref<Texture2D> selected_icon;
- Map<int, Rect2> subtracks;
+ RBMap<int, Rect2> subtracks;
enum {
REMOVE_ICON,
@@ -70,9 +70,9 @@ class AnimationBezierTrackEdit : public Control {
VISIBILITY_ICON
};
- Map<int, Map<int, Rect2>> subtrack_icons;
- Set<int> locked_tracks;
- Set<int> hidden_tracks;
+ RBMap<int, RBMap<int, Rect2>> subtrack_icons;
+ RBSet<int> locked_tracks;
+ RBSet<int> hidden_tracks;
int solo_track = -1;
bool is_filtered = false;
@@ -152,7 +152,7 @@ class AnimationBezierTrackEdit : public Control {
}
};
- typedef Set<IntPair, SelectionCompare> SelectionSet;
+ typedef RBSet<IntPair, SelectionCompare> SelectionSet;
SelectionSet selection;
diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp
index a70e7011fd..ad4b7b7d95 100644
--- a/editor/animation_track_editor.cpp
+++ b/editor/animation_track_editor.cpp
@@ -560,30 +560,30 @@ public:
if (use_fps && animation->get_step() > 0) {
float max_frame = animation->get_length() / animation->get_step();
- p_list->push_back(PropertyInfo(Variant::FLOAT, "frame", PROPERTY_HINT_RANGE, "0," + rtos(max_frame) + ",1"));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("frame"), PROPERTY_HINT_RANGE, "0," + rtos(max_frame) + ",1"));
} else {
- p_list->push_back(PropertyInfo(Variant::FLOAT, "time", PROPERTY_HINT_RANGE, "0," + rtos(animation->get_length()) + ",0.01"));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("time"), PROPERTY_HINT_RANGE, "0," + rtos(animation->get_length()) + ",0.01"));
}
switch (animation->track_get_type(track)) {
case Animation::TYPE_POSITION_3D: {
- p_list->push_back(PropertyInfo(Variant::VECTOR3, "position"));
+ p_list->push_back(PropertyInfo(Variant::VECTOR3, PNAME("position")));
} break;
case Animation::TYPE_ROTATION_3D: {
- p_list->push_back(PropertyInfo(Variant::QUATERNION, "rotation"));
+ p_list->push_back(PropertyInfo(Variant::QUATERNION, PNAME("rotation")));
} break;
case Animation::TYPE_SCALE_3D: {
- p_list->push_back(PropertyInfo(Variant::VECTOR3, "scale"));
+ p_list->push_back(PropertyInfo(Variant::VECTOR3, PNAME("scale")));
} break;
case Animation::TYPE_BLEND_SHAPE: {
- p_list->push_back(PropertyInfo(Variant::FLOAT, "value"));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("value")));
} break;
case Animation::TYPE_VALUE: {
Variant v = animation->track_get_key_value(track, key);
if (hint.type != Variant::NIL) {
PropertyInfo pi = hint;
- pi.name = "value";
+ pi.name = PNAME("value");
p_list->push_back(pi);
} else {
PropertyHint val_hint = PROPERTY_HINT_NONE;
@@ -599,14 +599,14 @@ public:
}
if (v.get_type() != Variant::NIL) {
- p_list->push_back(PropertyInfo(v.get_type(), "value", val_hint, val_hint_string));
+ p_list->push_back(PropertyInfo(v.get_type(), PNAME("value"), val_hint, val_hint_string));
}
}
} break;
case Animation::TYPE_METHOD: {
- p_list->push_back(PropertyInfo(Variant::STRING_NAME, "name"));
- p_list->push_back(PropertyInfo(Variant::INT, "arg_count", PROPERTY_HINT_RANGE, "0,32,1,or_greater"));
+ p_list->push_back(PropertyInfo(Variant::STRING_NAME, PNAME("name")));
+ p_list->push_back(PropertyInfo(Variant::INT, PNAME("arg_count"), PROPERTY_HINT_RANGE, "0,32,1,or_greater"));
Dictionary d = animation->track_get_key_value(track, key);
ERR_FAIL_COND(!d.has("args"));
@@ -620,24 +620,24 @@ public:
}
for (int i = 0; i < args.size(); i++) {
- p_list->push_back(PropertyInfo(Variant::INT, "args/" + itos(i) + "/type", PROPERTY_HINT_ENUM, vtypes));
+ p_list->push_back(PropertyInfo(Variant::INT, vformat("%s/%d/%s", PNAME("args"), i, PNAME("type")), PROPERTY_HINT_ENUM, vtypes));
if (args[i].get_type() != Variant::NIL) {
- p_list->push_back(PropertyInfo(args[i].get_type(), "args/" + itos(i) + "/value"));
+ p_list->push_back(PropertyInfo(args[i].get_type(), vformat("%s/%d/%s", PNAME("args"), i, PNAME("value"))));
}
}
} break;
case Animation::TYPE_BEZIER: {
- p_list->push_back(PropertyInfo(Variant::FLOAT, "value"));
- p_list->push_back(PropertyInfo(Variant::VECTOR2, "in_handle"));
- p_list->push_back(PropertyInfo(Variant::VECTOR2, "out_handle"));
- p_list->push_back(PropertyInfo(Variant::INT, "handle_mode", PROPERTY_HINT_ENUM, "Free,Balanced"));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("value")));
+ p_list->push_back(PropertyInfo(Variant::VECTOR2, PNAME("in_handle")));
+ p_list->push_back(PropertyInfo(Variant::VECTOR2, PNAME("out_handle")));
+ p_list->push_back(PropertyInfo(Variant::INT, PNAME("handle_mode"), PROPERTY_HINT_ENUM, "Free,Balanced"));
} break;
case Animation::TYPE_AUDIO: {
- p_list->push_back(PropertyInfo(Variant::OBJECT, "stream", PROPERTY_HINT_RESOURCE_TYPE, "AudioStream"));
- p_list->push_back(PropertyInfo(Variant::FLOAT, "start_offset", PROPERTY_HINT_RANGE, "0,3600,0.01,or_greater"));
- p_list->push_back(PropertyInfo(Variant::FLOAT, "end_offset", PROPERTY_HINT_RANGE, "0,3600,0.01,or_greater"));
+ p_list->push_back(PropertyInfo(Variant::OBJECT, PNAME("stream"), PROPERTY_HINT_RESOURCE_TYPE, "AudioStream"));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("start_offset"), PROPERTY_HINT_RANGE, "0,3600,0.01,or_greater"));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("end_offset"), PROPERTY_HINT_RANGE, "0,3600,0.01,or_greater"));
} break;
case Animation::TYPE_ANIMATION: {
@@ -663,13 +663,13 @@ public:
}
animations += "[stop]";
- p_list->push_back(PropertyInfo(Variant::STRING_NAME, "animation", PROPERTY_HINT_ENUM, animations));
+ p_list->push_back(PropertyInfo(Variant::STRING_NAME, PNAME("animation"), PROPERTY_HINT_ENUM, animations));
} break;
}
if (animation->track_get_type(track) == Animation::TYPE_VALUE) {
- p_list->push_back(PropertyInfo(Variant::FLOAT, "easing", PROPERTY_HINT_EXP_EASING));
+ p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("easing"), PROPERTY_HINT_EXP_EASING));
}
}
@@ -1353,8 +1353,8 @@ public:
Ref<Animation> animation;
- Map<int, List<float>> key_ofs_map;
- Map<int, NodePath> base_map;
+ RBMap<int, List<float>> key_ofs_map;
+ RBMap<int, NodePath> base_map;
PropertyInfo hint;
Node *root_path = nullptr;
@@ -1417,14 +1417,14 @@ void AnimationTimelineEdit::_anim_length_changed(double p_new_len) {
void AnimationTimelineEdit::_anim_loop_pressed() {
undo_redo->create_action(TTR("Change Animation Loop"));
switch (animation->get_loop_mode()) {
- case Animation::LoopMode::LOOP_NONE: {
- undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LoopMode::LOOP_LINEAR);
+ case Animation::LOOP_NONE: {
+ undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_LINEAR);
} break;
- case Animation::LoopMode::LOOP_LINEAR: {
- undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LoopMode::LOOP_PINGPONG);
+ case Animation::LOOP_LINEAR: {
+ undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_PINGPONG);
} break;
- case Animation::LoopMode::LOOP_PINGPONG: {
- undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LoopMode::LOOP_NONE);
+ case Animation::LOOP_PINGPONG: {
+ undo_redo->add_do_method(animation.ptr(), "set_loop_mode", Animation::LOOP_NONE);
} break;
default:
break;
@@ -1724,15 +1724,15 @@ void AnimationTimelineEdit::update_values() {
}
switch (animation->get_loop_mode()) {
- case Animation::LoopMode::LOOP_NONE: {
+ case Animation::LOOP_NONE: {
loop->set_icon(get_theme_icon(SNAME("Loop"), SNAME("EditorIcons")));
loop->set_pressed(false);
} break;
- case Animation::LoopMode::LOOP_LINEAR: {
+ case Animation::LOOP_LINEAR: {
loop->set_icon(get_theme_icon(SNAME("Loop"), SNAME("EditorIcons")));
loop->set_pressed(true);
} break;
- case Animation::LoopMode::LOOP_PINGPONG: {
+ case Animation::LOOP_PINGPONG: {
loop->set_icon(get_theme_icon(SNAME("PingPongLoop"), SNAME("EditorIcons")));
loop->set_pressed(true);
} break;
@@ -4382,7 +4382,7 @@ void AnimationTrackEditor::_update_tracks() {
return;
}
- Map<String, VBoxContainer *> group_sort;
+ RBMap<String, VBoxContainer *> group_sort;
bool use_grouping = !view_group->is_pressed();
bool use_filter = selected_filter->is_pressed();
@@ -5199,8 +5199,8 @@ void AnimationTrackEditor::_update_key_edit() {
multi_key_edit = memnew(AnimationMultiTrackKeyEdit);
multi_key_edit->animation = animation;
- Map<int, List<float>> key_ofs_map;
- Map<int, NodePath> base_map;
+ RBMap<int, List<float>> key_ofs_map;
+ RBMap<int, NodePath> base_map;
int first_track = -1;
for (const KeyValue<SelectedKey, KeyInfo> &E : selection) {
int track = E.key.track;
@@ -5261,11 +5261,11 @@ void AnimationTrackEditor::_move_selection_commit() {
float motion = moving_selection_offset;
// 1 - remove the keys.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
undo_redo->add_do_method(animation.ptr(), "track_remove_key", E->key().track, E->key().key);
}
// 2 - Remove overlapped keys.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
float newtime = snap_time(E->get().pos + motion);
int idx = animation->track_find_key(E->key().track, newtime, true);
if (idx == -1) {
@@ -5290,19 +5290,19 @@ void AnimationTrackEditor::_move_selection_commit() {
}
// 3 - Move the keys (Reinsert them).
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
float newpos = snap_time(E->get().pos + motion);
undo_redo->add_do_method(animation.ptr(), "track_insert_key", E->key().track, newpos, animation->track_get_key_value(E->key().track, E->key().key), animation->track_get_key_transition(E->key().track, E->key().key));
}
// 4 - (Undo) Remove inserted keys.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
float newpos = snap_time(E->get().pos + motion);
undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", E->key().track, newpos);
}
// 5 - (Undo) Reinsert keys.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
undo_redo->add_undo_method(animation.ptr(), "track_insert_key", E->key().track, E->get().pos, animation->track_get_key_value(E->key().track, E->key().key), animation->track_get_key_transition(E->key().track, E->key().key));
}
@@ -5315,7 +5315,7 @@ void AnimationTrackEditor::_move_selection_commit() {
undo_redo->add_undo_method(this, "_clear_selection_for_anim", animation);
// 7 - Reselect.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
float oldpos = E->get().pos;
float newpos = snap_time(oldpos + motion);
@@ -5488,7 +5488,7 @@ void AnimationTrackEditor::_anim_duplicate_keys(bool transpose) {
if (selection.size() && animation.is_valid() && (!transpose || (_get_track_selected() >= 0 && _get_track_selected() < animation->get_track_count()))) {
int top_track = 0x7FFFFFFF;
float top_time = 1e10;
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
const SelectedKey &sk = E->key();
float t = animation->track_get_key_time(sk.track, sk.key);
@@ -5509,7 +5509,7 @@ void AnimationTrackEditor::_anim_duplicate_keys(bool transpose) {
List<Pair<int, float>> new_selection_values;
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
const SelectedKey &sk = E->key();
float t = animation->track_get_key_time(sk.track, sk.key);
@@ -5544,7 +5544,7 @@ void AnimationTrackEditor::_anim_duplicate_keys(bool transpose) {
// Reselect duplicated.
- Map<SelectedKey, KeyInfo> new_selection;
+ RBMap<SelectedKey, KeyInfo> new_selection;
for (const Pair<int, float> &E : new_selection_values) {
int track = E.first;
float time = E.second;
@@ -5822,11 +5822,11 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
List<_AnimMoveRestore> to_restore;
// 1 - Remove the keys.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
undo_redo->add_do_method(animation.ptr(), "track_remove_key", E->key().track, E->key().key);
}
// 2 - Remove overlapped keys.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
float newtime = (E->get().pos - from_t) * s + from_t;
int idx = animation->track_find_key(E->key().track, newtime, true);
if (idx == -1) {
@@ -5852,19 +5852,19 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
#define NEW_POS(m_ofs) (((s > 0) ? m_ofs : from_t + (len - (m_ofs - from_t))) - pivot) * ABS(s) + from_t
// 3 - Move the keys (re insert them).
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
float newpos = NEW_POS(E->get().pos);
undo_redo->add_do_method(animation.ptr(), "track_insert_key", E->key().track, newpos, animation->track_get_key_value(E->key().track, E->key().key), animation->track_get_key_transition(E->key().track, E->key().key));
}
// 4 - (Undo) Remove inserted keys.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
float newpos = NEW_POS(E->get().pos);
undo_redo->add_undo_method(animation.ptr(), "track_remove_key_at_time", E->key().track, newpos);
}
// 5 - (Undo) Reinsert keys.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
undo_redo->add_undo_method(animation.ptr(), "track_insert_key", E->key().track, E->get().pos, animation->track_get_key_value(E->key().track, E->key().key), animation->track_get_key_transition(E->key().track, E->key().key));
}
@@ -5877,7 +5877,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
undo_redo->add_undo_method(this, "_clear_selection_for_anim", animation);
// 7-reselect.
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
float oldpos = E->get().pos;
float newpos = NEW_POS(oldpos);
if (newpos >= 0) {
@@ -5906,7 +5906,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
undo_redo->create_action(TTR("Anim Add RESET Keys"));
Ref<Animation> reset = _create_and_get_reset_animation();
int reset_tracks = reset->get_track_count();
- Set<int> tracks_added;
+ RBSet<int> tracks_added;
for (const KeyValue<SelectedKey, KeyInfo> &E : selection) {
const SelectedKey &sk = E.key;
@@ -5960,7 +5960,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
if (selection.size()) {
undo_redo->create_action(TTR("Anim Delete Keys"));
- for (Map<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
+ for (RBMap<SelectedKey, KeyInfo>::Element *E = selection.back(); E; E = E->prev()) {
undo_redo->add_do_method(animation.ptr(), "track_remove_key", E->key().track, E->key().key);
undo_redo->add_undo_method(animation.ptr(), "track_insert_key", E->key().track, E->get().pos, animation->track_get_key_value(E->key().track, E->key().key), animation->track_get_key_transition(E->key().track, E->key().key));
}
diff --git a/editor/animation_track_editor.h b/editor/animation_track_editor.h
index 2773b48082..55c3bd922a 100644
--- a/editor/animation_track_editor.h
+++ b/editor/animation_track_editor.h
@@ -410,7 +410,7 @@ class AnimationTrackEditor : public VBoxContainer {
float pos = 0;
};
- Map<SelectedKey, KeyInfo> selection;
+ RBMap<SelectedKey, KeyInfo> selection;
void _key_selected(int p_key, bool p_single, int p_track);
void _key_deselected(int p_key, int p_track);
@@ -478,10 +478,10 @@ class AnimationTrackEditor : public VBoxContainer {
struct TrackClipboard {
NodePath full_path;
NodePath base_path;
- Animation::TrackType track_type = Animation::TrackType::TYPE_ANIMATION;
- Animation::InterpolationType interp_type = Animation::InterpolationType::INTERPOLATION_CUBIC;
- Animation::UpdateMode update_mode = Animation::UpdateMode::UPDATE_CAPTURE;
- Animation::LoopMode loop_mode = Animation::LoopMode::LOOP_LINEAR;
+ Animation::TrackType track_type = Animation::TYPE_ANIMATION;
+ Animation::InterpolationType interp_type = Animation::INTERPOLATION_CUBIC;
+ Animation::UpdateMode update_mode = Animation::UPDATE_CAPTURE;
+ Animation::LoopMode loop_mode = Animation::LOOP_LINEAR;
bool loop_wrap = false;
bool enabled = false;
diff --git a/editor/audio_stream_preview.h b/editor/audio_stream_preview.h
index bcd80a7c03..307dd93b34 100644
--- a/editor/audio_stream_preview.h
+++ b/editor/audio_stream_preview.h
@@ -85,7 +85,7 @@ class AudioStreamPreviewGenerator : public Node {
Preview() {}
};
- Map<ObjectID, Preview> previews;
+ HashMap<ObjectID, Preview> previews;
static void _preview_thread(void *p_preview);
diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp
index 5526181c13..4cff0ffd3d 100644
--- a/editor/connections_dialog.cpp
+++ b/editor/connections_dialog.cpp
@@ -1029,27 +1029,27 @@ void ConnectionsDock::update_tree() {
String descr;
bool found = false;
- Map<StringName, Map<StringName, String>>::Element *G = descr_cache.find(base);
+ HashMap<StringName, HashMap<StringName, String>>::Iterator G = descr_cache.find(base);
if (G) {
- Map<StringName, String>::Element *F = G->get().find(signal_name);
+ HashMap<StringName, String>::Iterator F = G->value.find(signal_name);
if (F) {
found = true;
- descr = F->get();
+ descr = F->value;
}
}
if (!found) {
DocTools *dd = EditorHelp::get_doc_data();
- Map<String, DocData::ClassDoc>::Element *F = dd->class_list.find(base);
+ HashMap<String, DocData::ClassDoc>::Iterator F = dd->class_list.find(base);
while (F && descr.is_empty()) {
- for (int i = 0; i < F->get().signals.size(); i++) {
- if (F->get().signals[i].name == signal_name.operator String()) {
- descr = DTR(F->get().signals[i].description);
+ for (int i = 0; i < F->value.signals.size(); i++) {
+ if (F->value.signals[i].name == signal_name.operator String()) {
+ descr = DTR(F->value.signals[i].description);
break;
}
}
- if (!F->get().inherits.is_empty()) {
- F = dd->class_list.find(F->get().inherits);
+ if (!F->value.inherits.is_empty()) {
+ F = dd->class_list.find(F->value.inherits);
} else {
break;
}
diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h
index f8f15b32af..88d52c83f2 100644
--- a/editor/connections_dialog.h
+++ b/editor/connections_dialog.h
@@ -197,7 +197,7 @@ class ConnectionsDock : public VBoxContainer {
UndoRedo *undo_redo = nullptr;
LineEdit *search_box = nullptr;
- Map<StringName, Map<StringName, String>> descr_cache;
+ HashMap<StringName, HashMap<StringName, String>> descr_cache;
void _filter_changed(const String &p_text);
diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp
index b064f6aec7..3469e96a0a 100644
--- a/editor/create_dialog.cpp
+++ b/editor/create_dialog.cpp
@@ -138,8 +138,8 @@ bool CreateDialog::_should_hide_type(const String &p_type) const {
return true; // Wrong inheritance.
}
- for (Set<StringName>::Element *E = type_blacklist.front(); E; E = E->next()) {
- if (ClassDB::is_parent_class(p_type, E->get())) {
+ for (const StringName &E : type_blacklist) {
+ if (ClassDB::is_parent_class(p_type, E)) {
return true; // Parent type is blacklisted.
}
}
diff --git a/editor/create_dialog.h b/editor/create_dialog.h
index 31761be6fe..6526116b09 100644
--- a/editor/create_dialog.h
+++ b/editor/create_dialog.h
@@ -64,7 +64,7 @@ class CreateDialog : public ConfirmationDialog {
HashMap<String, String> custom_type_parents;
HashMap<String, int> custom_type_indices;
List<StringName> type_list;
- Set<StringName> type_blacklist;
+ RBSet<StringName> type_blacklist;
void _update_search();
bool _should_hide_type(const String &p_type) const;
diff --git a/editor/debugger/debug_adapter/debug_adapter_parser.cpp b/editor/debugger/debug_adapter/debug_adapter_parser.cpp
index e7baeeeded..0caeb90108 100644
--- a/editor/debugger/debug_adapter/debug_adapter_parser.cpp
+++ b/editor/debugger/debug_adapter/debug_adapter_parser.cpp
@@ -381,12 +381,12 @@ Dictionary DebugAdapterParser::req_scopes(const Dictionary &p_params) const {
DAP::StackFrame frame;
frame.id = frame_id;
- Map<DAP::StackFrame, List<int>>::Element *E = DebugAdapterProtocol::get_singleton()->stackframe_list.find(frame);
+ HashMap<DAP::StackFrame, List<int>, DAP::StackFrame>::Iterator E = DebugAdapterProtocol::get_singleton()->stackframe_list.find(frame);
if (E) {
- ERR_FAIL_COND_V(E->value().size() != 3, prepare_error_response(p_params, DAP::ErrorType::UNKNOWN));
+ ERR_FAIL_COND_V(E->value.size() != 3, prepare_error_response(p_params, DAP::ErrorType::UNKNOWN));
for (int i = 0; i < 3; i++) {
DAP::Scope scope;
- scope.variablesReference = E->value()[i];
+ scope.variablesReference = E->value[i];
switch (i) {
case 0:
scope.name = "Locals";
@@ -424,16 +424,16 @@ Dictionary DebugAdapterParser::req_variables(const Dictionary &p_params) const {
Dictionary args = p_params["arguments"];
int variable_id = args["variablesReference"];
- Map<int, Array>::Element *E = DebugAdapterProtocol::get_singleton()->variable_list.find(variable_id);
+ HashMap<int, Array>::Iterator E = DebugAdapterProtocol::get_singleton()->variable_list.find(variable_id);
if (E) {
if (!DebugAdapterProtocol::get_singleton()->get_current_peer()->supportsVariableType) {
- for (int i = 0; i < E->value().size(); i++) {
- Dictionary variable = E->value()[i];
+ for (int i = 0; i < E->value.size(); i++) {
+ Dictionary variable = E->value[i];
variable.erase("type");
}
}
- body["variables"] = E ? E->value() : Array();
+ body["variables"] = E ? E->value : Array();
return response;
} else {
return Dictionary();
diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
index fea4c2b156..92ea0f15e9 100644
--- a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
+++ b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp
@@ -918,11 +918,11 @@ void DebugAdapterProtocol::on_debug_stack_frame_vars(const int &p_size) {
DAP::StackFrame frame;
frame.id = _current_frame;
ERR_FAIL_COND(!stackframe_list.has(frame));
- List<int> scope_ids = stackframe_list.find(frame)->value();
+ List<int> scope_ids = stackframe_list.find(frame)->value;
for (List<int>::Element *E = scope_ids.front(); E; E = E->next()) {
int variable_id = E->get();
if (variable_list.has(variable_id)) {
- variable_list.find(variable_id)->value().clear();
+ variable_list.find(variable_id)->value.clear();
} else {
variable_list.insert(variable_id, Array());
}
@@ -937,7 +937,7 @@ void DebugAdapterProtocol::on_debug_stack_frame_var(const Array &p_data) {
DAP::StackFrame frame;
frame.id = _current_frame;
- List<int> scope_ids = stackframe_list.find(frame)->value();
+ List<int> scope_ids = stackframe_list.find(frame)->value;
ERR_FAIL_COND(scope_ids.size() != 3);
ERR_FAIL_INDEX(stack_var.type, 3);
int variable_id = scope_ids[stack_var.type];
@@ -949,7 +949,7 @@ void DebugAdapterProtocol::on_debug_stack_frame_var(const Array &p_data) {
variable.type = Variant::get_type_name(stack_var.value.get_type());
variable.variablesReference = parse_variant(stack_var.value);
- variable_list.find(variable_id)->value().push_back(variable.to_json());
+ variable_list.find(variable_id)->value.push_back(variable.to_json());
_remaining_vars--;
}
diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.h b/editor/debugger/debug_adapter/debug_adapter_protocol.h
index 66db75c634..a17e550dfc 100644
--- a/editor/debugger/debug_adapter/debug_adapter_protocol.h
+++ b/editor/debugger/debug_adapter/debug_adapter_protocol.h
@@ -115,8 +115,8 @@ private:
int stackframe_id = 0;
int variable_id = 0;
List<DAP::Breakpoint> breakpoint_list;
- Map<DAP::StackFrame, List<int>> stackframe_list;
- Map<int, Array> variable_list;
+ HashMap<DAP::StackFrame, List<int>, DAP::StackFrame> stackframe_list;
+ HashMap<int, Array> variable_list;
public:
friend class DebugAdapterServer;
diff --git a/editor/debugger/debug_adapter/debug_adapter_types.h b/editor/debugger/debug_adapter/debug_adapter_types.h
index 77b70909b3..4d77b6d51c 100644
--- a/editor/debugger/debug_adapter/debug_adapter_types.h
+++ b/editor/debugger/debug_adapter/debug_adapter_types.h
@@ -219,8 +219,11 @@ struct StackFrame {
int line;
int column;
- bool operator<(const StackFrame &p_other) const {
- return id < p_other.id;
+ static uint32_t hash(const StackFrame &p_frame) {
+ return hash_djb2_one_32(p_frame.id);
+ }
+ bool operator==(const StackFrame &p_other) const {
+ return id == p_other.id;
}
_FORCE_INLINE_ void from_json(const Dictionary &p_params) {
diff --git a/editor/debugger/editor_debugger_inspector.cpp b/editor/debugger/editor_debugger_inspector.cpp
index 854c050793..0dd7b44b68 100644
--- a/editor/debugger/editor_debugger_inspector.cpp
+++ b/editor/debugger/editor_debugger_inspector.cpp
@@ -146,7 +146,7 @@ ObjectID EditorDebuggerInspector::add_object(const Array &p_arr) {
debugObj->prop_list.clear();
int new_props_added = 0;
- Set<String> changed;
+ RBSet<String> changed;
for (int i = 0; i < obj.properties.size(); i++) {
PropertyInfo &pinfo = obj.properties[i].first;
Variant &var = obj.properties[i].second;
@@ -193,8 +193,8 @@ ObjectID EditorDebuggerInspector::add_object(const Array &p_arr) {
if (old_prop_size == debugObj->prop_list.size() && new_props_added == 0) {
//only some may have changed, if so, then update those, if exist
- for (Set<String>::Element *E = changed.front(); E; E = E->next()) {
- emit_signal(SNAME("object_property_updated"), debugObj->remote_object_id, E->get());
+ for (const String &E : changed) {
+ emit_signal(SNAME("object_property_updated"), debugObj->remote_object_id, E);
}
} else {
//full update, because props were added or removed
@@ -276,8 +276,8 @@ void EditorDebuggerInspector::clear_stack_variables() {
}
String EditorDebuggerInspector::get_stack_variable(const String &p_var) {
- for (Map<StringName, Variant>::Element *E = variables->prop_values.front(); E; E = E->next()) {
- String v = E->key().operator String();
+ for (KeyValue<StringName, Variant> &E : variables->prop_values) {
+ String v = E.key.operator String();
if (v.get_slice("/", 1) == p_var) {
return variables->get_variant(v);
}
diff --git a/editor/debugger/editor_debugger_inspector.h b/editor/debugger/editor_debugger_inspector.h
index 2bf5bf3419..72b259c8b5 100644
--- a/editor/debugger/editor_debugger_inspector.h
+++ b/editor/debugger/editor_debugger_inspector.h
@@ -46,7 +46,7 @@ public:
ObjectID remote_object_id;
String type_name;
List<PropertyInfo> prop_list;
- Map<StringName, Variant> prop_values;
+ HashMap<StringName, Variant> prop_values;
ObjectID get_remote_object_id() { return remote_object_id; };
String get_title();
@@ -68,8 +68,8 @@ class EditorDebuggerInspector : public EditorInspector {
private:
ObjectID inspected_object_id;
- Map<ObjectID, EditorDebuggerRemoteObject *> remote_objects;
- Set<Ref<Resource>> remote_dependencies;
+ HashMap<ObjectID, EditorDebuggerRemoteObject *> remote_objects;
+ RBSet<Ref<Resource>> remote_dependencies;
EditorDebuggerRemoteObject *variables = nullptr;
void _object_selected(ObjectID p_object);
diff --git a/editor/debugger/editor_debugger_node.cpp b/editor/debugger/editor_debugger_node.cpp
index c0685af572..bc28b11a71 100644
--- a/editor/debugger/editor_debugger_node.cpp
+++ b/editor/debugger/editor_debugger_node.cpp
@@ -118,8 +118,8 @@ ScriptEditorDebugger *EditorDebuggerNode::_add_debugger() {
}
if (!debugger_plugins.is_empty()) {
- for (Set<Ref<Script>>::Element *i = debugger_plugins.front(); i; i = i->next()) {
- node->add_debugger_plugin(i->get());
+ for (const Ref<Script> &i : debugger_plugins) {
+ node->add_debugger_plugin(i);
}
}
diff --git a/editor/debugger/editor_debugger_node.h b/editor/debugger/editor_debugger_node.h
index b4fbb90301..40e9cf47f9 100644
--- a/editor/debugger/editor_debugger_node.h
+++ b/editor/debugger/editor_debugger_node.h
@@ -70,6 +70,14 @@ private:
String source;
int line = 0;
+ static uint32_t hash(const Breakpoint &p_val) {
+ uint32_t h = HashMapHasherDefault::hash(p_val.source);
+ return hash_djb2_one_32(p_val.line, h);
+ }
+ bool operator==(const Breakpoint &p_b) const {
+ return (line == p_b.line && source == p_b.source);
+ }
+
bool operator<(const Breakpoint &p_b) const {
if (line == p_b.line) {
return source < p_b.source;
@@ -102,9 +110,9 @@ private:
bool debug_with_external_editor = false;
bool hide_on_stop = true;
CameraOverride camera_override = OVERRIDE_NONE;
- Map<Breakpoint, bool> breakpoints;
+ HashMap<Breakpoint, bool, Breakpoint> breakpoints;
- Set<Ref<Script>> debugger_plugins;
+ RBSet<Ref<Script>> debugger_plugins;
ScriptEditorDebugger *_add_debugger();
EditorDebuggerRemoteObject *get_inspected_remote_object();
diff --git a/editor/debugger/editor_debugger_server.cpp b/editor/debugger/editor_debugger_server.cpp
index bce131a5fe..63390825c6 100644
--- a/editor/debugger/editor_debugger_server.cpp
+++ b/editor/debugger/editor_debugger_server.cpp
@@ -122,7 +122,7 @@ Ref<RemoteDebuggerPeer> EditorDebuggerServerTCP::take_connection() {
}
/// EditorDebuggerServer
-Map<StringName, EditorDebuggerServer::CreateServerFunc> EditorDebuggerServer::protocols;
+HashMap<StringName, EditorDebuggerServer::CreateServerFunc> EditorDebuggerServer::protocols;
EditorDebuggerServer *EditorDebuggerServer::create(const String &p_protocol) {
ERR_FAIL_COND_V(!protocols.has(p_protocol), nullptr);
diff --git a/editor/debugger/editor_debugger_server.h b/editor/debugger/editor_debugger_server.h
index bda4a1ce7d..adf9a27c71 100644
--- a/editor/debugger/editor_debugger_server.h
+++ b/editor/debugger/editor_debugger_server.h
@@ -39,7 +39,7 @@ public:
typedef EditorDebuggerServer *(*CreateServerFunc)(const String &p_uri);
private:
- static Map<StringName, CreateServerFunc> protocols;
+ static HashMap<StringName, CreateServerFunc> protocols;
public:
static void initialize();
diff --git a/editor/debugger/editor_debugger_tree.h b/editor/debugger/editor_debugger_tree.h
index 58af52b01f..8ba03367c9 100644
--- a/editor/debugger/editor_debugger_tree.h
+++ b/editor/debugger/editor_debugger_tree.h
@@ -48,7 +48,7 @@ private:
ObjectID inspected_object_id;
int debugger_id = 0;
bool updating_scene_tree = false;
- Set<ObjectID> unfold_cache;
+ RBSet<ObjectID> unfold_cache;
PopupMenu *item_menu = nullptr;
EditorFileDialog *file_dialog = nullptr;
String last_filter;
diff --git a/editor/debugger/editor_network_profiler.h b/editor/debugger/editor_network_profiler.h
index 3a604f5564..d2e70a083d 100644
--- a/editor/debugger/editor_network_profiler.h
+++ b/editor/debugger/editor_network_profiler.h
@@ -50,7 +50,7 @@ private:
Timer *frame_delay = nullptr;
- Map<ObjectID, SceneDebugger::RPCNodeInfo> nodes_data;
+ HashMap<ObjectID, SceneDebugger::RPCNodeInfo> nodes_data;
void _update_frame();
diff --git a/editor/debugger/editor_performance_profiler.cpp b/editor/debugger/editor_performance_profiler.cpp
index 87cbd9423c..897c5ae7da 100644
--- a/editor/debugger/editor_performance_profiler.cpp
+++ b/editor/debugger/editor_performance_profiler.cpp
@@ -203,7 +203,7 @@ void EditorPerformanceProfiler::_monitor_draw() {
}
void EditorPerformanceProfiler::_build_monitor_tree() {
- Set<StringName> monitor_checked;
+ RBSet<StringName> monitor_checked;
for (KeyValue<StringName, Monitor> &E : monitors) {
if (E.value.item && E.value.item->is_checked(0)) {
monitor_checked.insert(E.key);
diff --git a/editor/debugger/editor_performance_profiler.h b/editor/debugger/editor_performance_profiler.h
index 21d2a52820..607de5a134 100644
--- a/editor/debugger/editor_performance_profiler.h
+++ b/editor/debugger/editor_performance_profiler.h
@@ -32,7 +32,7 @@
#define EDITOR_PERFORMANCE_PROFILER_H
#include "core/templates/hash_map.h"
-#include "core/templates/map.h"
+#include "core/templates/rb_map.h"
#include "main/performance.h"
#include "scene/gui/control.h"
#include "scene/gui/label.h"
@@ -61,7 +61,7 @@ private:
HashMap<StringName, Monitor> monitors;
- Map<StringName, TreeItem *> base_map;
+ HashMap<StringName, TreeItem *> base_map;
Tree *monitor_tree = nullptr;
Control *monitor_draw = nullptr;
Label *info_message = nullptr;
diff --git a/editor/debugger/editor_profiler.cpp b/editor/debugger/editor_profiler.cpp
index 50f3b19cc2..9899e91c5a 100644
--- a/editor/debugger/editor_profiler.cpp
+++ b/editor/debugger/editor_profiler.cpp
@@ -198,18 +198,18 @@ void EditorProfiler::_update_plot() {
for (int i = 0; i < total_metrics; i++) {
const Metric &m = _get_frame_metric(i);
- for (Set<StringName>::Element *E = plot_sigs.front(); E; E = E->next()) {
- const Map<StringName, Metric::Category *>::Element *F = m.category_ptrs.find(E->get());
+ for (const StringName &E : plot_sigs) {
+ HashMap<StringName, Metric::Category *>::ConstIterator F = m.category_ptrs.find(E);
if (F) {
- highest = MAX(F->get()->total_time, highest);
+ highest = MAX(F->value->total_time, highest);
}
- const Map<StringName, Metric::Category::Item *>::Element *G = m.item_ptrs.find(E->get());
+ HashMap<StringName, Metric::Category::Item *>::ConstIterator G = m.item_ptrs.find(E);
if (G) {
if (use_self) {
- highest = MAX(G->get()->self, highest);
+ highest = MAX(G->value->self, highest);
} else {
- highest = MAX(G->get()->total, highest);
+ highest = MAX(G->value->total, highest);
}
}
}
@@ -225,7 +225,7 @@ void EditorProfiler::_update_plot() {
int *column = columnv.ptrw();
- Map<StringName, int> prev_plots;
+ HashMap<StringName, int> prev_plots;
for (int i = 0; i < total_metrics * w / frame_metrics.size() - 1; i++) {
for (int j = 0; j < h * 4; j++) {
@@ -234,34 +234,34 @@ void EditorProfiler::_update_plot() {
int current = i * frame_metrics.size() / w;
- for (Set<StringName>::Element *E = plot_sigs.front(); E; E = E->next()) {
+ for (const StringName &E : plot_sigs) {
const Metric &m = _get_frame_metric(current);
float value = 0;
- const Map<StringName, Metric::Category *>::Element *F = m.category_ptrs.find(E->get());
+ HashMap<StringName, Metric::Category *>::ConstIterator F = m.category_ptrs.find(E);
if (F) {
- value = F->get()->total_time;
+ value = F->value->total_time;
}
- const Map<StringName, Metric::Category::Item *>::Element *G = m.item_ptrs.find(E->get());
+ HashMap<StringName, Metric::Category::Item *>::ConstIterator G = m.item_ptrs.find(E);
if (G) {
if (use_self) {
- value = G->get()->self;
+ value = G->value->self;
} else {
- value = G->get()->total;
+ value = G->value->total;
}
}
int plot_pos = CLAMP(int(value * h / highest), 0, h - 1);
int prev_plot = plot_pos;
- Map<StringName, int>::Element *H = prev_plots.find(E->get());
+ HashMap<StringName, int>::Iterator H = prev_plots.find(E);
if (H) {
- prev_plot = H->get();
- H->get() = plot_pos;
+ prev_plot = H->value;
+ H->value = plot_pos;
} else {
- prev_plots[E->get()] = plot_pos;
+ prev_plots[E] = plot_pos;
}
plot_pos = h - plot_pos - 1;
@@ -271,7 +271,7 @@ void EditorProfiler::_update_plot() {
SWAP(prev_plot, plot_pos);
}
- Color col = _get_color_from_signature(E->get());
+ Color col = _get_color_from_signature(E);
for (int j = prev_plot; j <= plot_pos; j++) {
column[j * 4 + 0] += Math::fast_ftoi(CLAMP(col.r * 255, 0, 255));
@@ -515,7 +515,7 @@ Vector<Vector<String>> EditorProfiler::get_data_as_csv() const {
}
// Different metrics may contain different number of categories.
- Set<StringName> possible_signatures;
+ RBSet<StringName> possible_signatures;
for (int i = 0; i < frame_metrics.size(); i++) {
const Metric &m = frame_metrics[i];
if (!m.valid) {
@@ -530,13 +530,13 @@ Vector<Vector<String>> EditorProfiler::get_data_as_csv() const {
}
// Generate CSV header and cache indices.
- Map<StringName, int> sig_map;
+ HashMap<StringName, int> sig_map;
Vector<String> signatures;
signatures.resize(possible_signatures.size());
int sig_index = 0;
- for (const Set<StringName>::Element *E = possible_signatures.front(); E; E = E->next()) {
- signatures.write[sig_index] = E->get();
- sig_map[E->get()] = sig_index;
+ for (const StringName &E : possible_signatures) {
+ signatures.write[sig_index] = E;
+ sig_map[E] = sig_index;
sig_index++;
}
res.push_back(signatures);
diff --git a/editor/debugger/editor_profiler.h b/editor/debugger/editor_profiler.h
index 2aef654a2f..77fbb254dc 100644
--- a/editor/debugger/editor_profiler.h
+++ b/editor/debugger/editor_profiler.h
@@ -73,8 +73,8 @@ public:
Vector<Category> categories;
- Map<StringName, Category *> category_ptrs;
- Map<StringName, Category::Item *> item_ptrs;
+ HashMap<StringName, Category *> category_ptrs;
+ HashMap<StringName, Category::Item *> item_ptrs;
};
enum DisplayMode {
@@ -98,7 +98,7 @@ private:
Tree *variables = nullptr;
HSplitContainer *h_split = nullptr;
- Set<StringName> plot_sigs;
+ RBSet<StringName> plot_sigs;
OptionButton *display_mode = nullptr;
OptionButton *display_time = nullptr;
diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp
index 90679657ba..44a7aade09 100644
--- a/editor/debugger/script_editor_debugger.cpp
+++ b/editor/debugger/script_editor_debugger.cpp
@@ -742,9 +742,9 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
bool parsed = false;
const String cap = p_msg.substr(0, colon_index);
- Map<StringName, Callable>::Element *element = captures.find(cap);
+ HashMap<StringName, Callable>::Iterator element = captures.find(cap);
if (element) {
- Callable &c = element->value();
+ Callable &c = element->value;
ERR_FAIL_COND_MSG(c.is_null(), "Invalid callable registered: " + cap);
Variant cmd = p_msg.substr(colon_index + 1), data = p_data;
const Variant *args[2] = { &cmd, &data };
@@ -1050,10 +1050,10 @@ int ScriptEditorDebugger::_get_node_path_cache(const NodePath &p_path) {
}
int ScriptEditorDebugger::_get_res_path_cache(const String &p_path) {
- Map<String, int>::Element *E = res_path_cache.find(p_path);
+ HashMap<String, int>::Iterator E = res_path_cache.find(p_path);
if (E) {
- return E->get();
+ return E->value;
}
last_path_id++;
diff --git a/editor/debugger/script_editor_debugger.h b/editor/debugger/script_editor_debugger.h
index ad90e63c16..d445fe48d1 100644
--- a/editor/debugger/script_editor_debugger.h
+++ b/editor/debugger/script_editor_debugger.h
@@ -131,7 +131,7 @@ private:
// Each debugger should have it's tree in the future I guess.
const Tree *editor_remote_tree = nullptr;
- Map<int, String> profiler_signature;
+ HashMap<int, String> profiler_signature;
Tree *vmem_tree = nullptr;
Button *vmem_refresh = nullptr;
@@ -147,7 +147,7 @@ private:
HashMap<NodePath, int> node_path_cache;
int last_path_id;
- Map<String, int> res_path_cache;
+ HashMap<String, int> res_path_cache;
EditorProfiler *profiler = nullptr;
EditorVisualProfiler *visual_profiler = nullptr;
@@ -163,9 +163,9 @@ private:
EditorDebuggerNode::CameraOverride camera_override;
- Map<Ref<Script>, EditorDebuggerPlugin *> debugger_plugins;
+ HashMap<Ref<Script>, EditorDebuggerPlugin *> debugger_plugins;
- Map<StringName, Callable> captures;
+ HashMap<StringName, Callable> captures;
void _stack_dump_frame_selected();
diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp
index 54655f53b5..5b5e0203a3 100644
--- a/editor/dependency_editor.cpp
+++ b/editor/dependency_editor.cpp
@@ -40,7 +40,7 @@
#include "scene/gui/margin_container.h"
void DependencyEditor::_searched(const String &p_path) {
- Map<String, String> dep_rename;
+ HashMap<String, String> dep_rename;
dep_rename[replacing] = p_path;
ResourceLoader::rename_dependencies(editing, dep_rename);
@@ -64,7 +64,7 @@ void DependencyEditor::_load_pressed(Object *p_item, int p_cell, int p_button) {
search->popup_file_dialog();
}
-void DependencyEditor::_fix_and_find(EditorFileSystemDirectory *efsd, Map<String, Map<String, String>> &candidates) {
+void DependencyEditor::_fix_and_find(EditorFileSystemDirectory *efsd, HashMap<String, HashMap<String, String>> &candidates) {
for (int i = 0; i < efsd->get_subdir_count(); i++) {
_fix_and_find(efsd->get_subdir(i), candidates);
}
@@ -121,12 +121,12 @@ void DependencyEditor::_fix_all() {
return;
}
- Map<String, Map<String, String>> candidates;
+ HashMap<String, HashMap<String, String>> candidates;
for (const String &E : missing) {
String base = E.get_file();
if (!candidates.has(base)) {
- candidates[base] = Map<String, String>();
+ candidates[base] = HashMap<String, String>();
}
candidates[base][E] = "";
@@ -134,9 +134,9 @@ void DependencyEditor::_fix_all() {
_fix_and_find(EditorFileSystem::get_singleton()->get_filesystem(), candidates);
- Map<String, String> remaps;
+ HashMap<String, String> remaps;
- for (KeyValue<String, Map<String, String>> &E : candidates) {
+ for (KeyValue<String, HashMap<String, String>> &E : candidates) {
for (const KeyValue<String, String> &F : E.value) {
if (!F.value.is_empty()) {
remaps[F.key] = F.value;
@@ -414,7 +414,7 @@ void DependencyRemoveDialog::_build_removed_dependency_tree(const Vector<Removed
owners->clear();
owners->create_item(); // root
- Map<String, TreeItem *> tree_items;
+ HashMap<String, TreeItem *> tree_items;
for (int i = 0; i < p_removed.size(); i++) {
RemovedDependency rd = p_removed[i];
diff --git a/editor/dependency_editor.h b/editor/dependency_editor.h
index ea86f98193..585143fe0a 100644
--- a/editor/dependency_editor.h
+++ b/editor/dependency_editor.h
@@ -51,7 +51,7 @@ class DependencyEditor : public AcceptDialog {
String editing;
List<String> missing;
- void _fix_and_find(EditorFileSystemDirectory *efsd, Map<String, Map<String, String>> &candidates);
+ void _fix_and_find(EditorFileSystemDirectory *efsd, HashMap<String, HashMap<String, String>> &candidates);
void _searched(const String &p_path);
void _load_pressed(Object *p_item, int p_cell, int p_button);
@@ -98,7 +98,7 @@ class DependencyRemoveDialog : public ConfirmationDialog {
Label *text = nullptr;
Tree *owners = nullptr;
- Map<String, String> all_remove_files;
+ HashMap<String, String> all_remove_files;
Vector<String> dirs_to_delete;
Vector<String> files_to_delete;
diff --git a/editor/doc_tools.cpp b/editor/doc_tools.cpp
index 16cbc0f34d..65216d7664 100644
--- a/editor/doc_tools.cpp
+++ b/editor/doc_tools.cpp
@@ -331,7 +331,7 @@ void DocTools::generate(bool p_basic_types) {
bool skip_setter_getter_methods = true;
while (classes.size()) {
- Set<StringName> setters_getters;
+ RBSet<StringName> setters_getters;
String name = classes.front()->get();
if (!ClassDB::is_class_exposed(name)) {
@@ -1337,7 +1337,7 @@ static void _write_method_doc(Ref<FileAccess> f, const String &p_name, Vector<Do
}
}
-Error DocTools::save_classes(const String &p_default_path, const Map<String, String> &p_class_path) {
+Error DocTools::save_classes(const String &p_default_path, const HashMap<String, String> &p_class_path) {
for (KeyValue<String, DocData::ClassDoc> &E : class_list) {
DocData::ClassDoc &c = E.value;
diff --git a/editor/doc_tools.h b/editor/doc_tools.h
index 6c3a93de59..843cdf87a6 100644
--- a/editor/doc_tools.h
+++ b/editor/doc_tools.h
@@ -36,7 +36,7 @@
class DocTools {
public:
String version;
- Map<String, DocData::ClassDoc> class_list;
+ HashMap<String, DocData::ClassDoc> class_list;
static Error erase_classes(const String &p_dir);
@@ -47,7 +47,7 @@ public:
bool has_doc(const String &p_class_name);
void generate(bool p_basic_types = false);
Error load_classes(const String &p_dir);
- Error save_classes(const String &p_default_path, const Map<String, String> &p_class_path);
+ Error save_classes(const String &p_default_path, const HashMap<String, String> &p_class_path);
Error _load(Ref<XMLParser> parser);
Error load_compressed(const uint8_t *p_data, int p_compressed_size, int p_uncompressed_size);
diff --git a/editor/editor_about.cpp b/editor/editor_about.cpp
index cd5a4f16e4..8e2aa3b35c 100644
--- a/editor/editor_about.cpp
+++ b/editor/editor_about.cpp
@@ -196,6 +196,7 @@ EditorAbout::EditorAbout() {
// License
_license_text = memnew(RichTextLabel);
+ _license_text->set_threaded(true);
_license_text->set_name(TTR("License"));
_license_text->set_h_size_flags(Control::SIZE_EXPAND_FILL);
_license_text->set_v_size_flags(Control::SIZE_EXPAND_FILL);
@@ -272,6 +273,7 @@ EditorAbout::EditorAbout() {
tpl_hbc->add_child(_tpl_tree);
_tpl_text = memnew(RichTextLabel);
+ _tpl_text->set_threaded(true);
_tpl_text->set_h_size_flags(Control::SIZE_EXPAND_FILL);
_tpl_text->set_v_size_flags(Control::SIZE_EXPAND_FILL);
tpl_hbc->add_child(_tpl_text);
diff --git a/editor/editor_asset_installer.cpp b/editor/editor_asset_installer.cpp
index f60dcade82..b696bc3ac6 100644
--- a/editor/editor_asset_installer.cpp
+++ b/editor/editor_asset_installer.cpp
@@ -62,7 +62,7 @@ void EditorAssetInstaller::_check_propagated_to_item(Object *p_obj, int column)
void EditorAssetInstaller::open(const String &p_path, int p_depth) {
package_path = p_path;
- Set<String> files_sorted;
+ RBSet<String> files_sorted;
Ref<FileAccess> io_fa;
zlib_filefunc_def io = zipio_create_io(&io_fa);
@@ -87,7 +87,7 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
ret = unzGoToNextFile(pkg);
}
- Map<String, Ref<Texture2D>> extension_guess;
+ HashMap<String, Ref<Texture2D>> extension_guess;
{
extension_guess["bmp"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons"));
extension_guess["dds"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons"));
@@ -150,12 +150,12 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
root->set_icon(0, tree->get_theme_icon(SNAME("folder"), SNAME("FileDialog")));
root->set_text(0, "res://");
root->set_editable(0, true);
- Map<String, TreeItem *> dir_map;
+ HashMap<String, TreeItem *> dir_map;
int num_file_conflicts = 0;
- for (Set<String>::Element *E = files_sorted.front(); E; E = E->next()) {
- String path = E->get();
+ for (const String &E : files_sorted) {
+ String path = E;
int depth = p_depth;
bool skip = false;
while (depth > 0) {
@@ -224,7 +224,7 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
ti->set_metadata(0, res_path);
}
- status_map[E->get()] = ti;
+ status_map[E] = ti;
}
if (num_file_conflicts >= 1) {
diff --git a/editor/editor_asset_installer.h b/editor/editor_asset_installer.h
index deb320e7fa..c44f4c5d22 100644
--- a/editor/editor_asset_installer.h
+++ b/editor/editor_asset_installer.h
@@ -41,7 +41,7 @@ class EditorAssetInstaller : public ConfirmationDialog {
String package_path;
String asset_name;
AcceptDialog *error = nullptr;
- Map<String, TreeItem *> status_map;
+ HashMap<String, TreeItem *> status_map;
bool updating = false;
void _item_edited();
void _check_propagated_to_item(Object *p_obj, int column);
diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp
index 3b38ff9163..4c73e36269 100644
--- a/editor/editor_autoload_settings.cpp
+++ b/editor/editor_autoload_settings.cpp
@@ -428,7 +428,7 @@ void EditorAutoloadSettings::update_autoload() {
updating_autoload = true;
- Map<String, AutoloadInfo> to_remove;
+ HashMap<String, AutoloadInfo> to_remove;
List<AutoloadInfo *> to_add;
for (const AutoloadInfo &info : autoload_cache) {
diff --git a/editor/editor_command_palette.cpp b/editor/editor_command_palette.cpp
index bb82da6666..e3cbd8ad50 100644
--- a/editor/editor_command_palette.cpp
+++ b/editor/editor_command_palette.cpp
@@ -59,7 +59,7 @@ float EditorCommandPalette::_score_path(const String &p_search, const String &p_
void EditorCommandPalette::_update_command_search(const String &search_text) {
ERR_FAIL_COND(commands.size() == 0);
- Map<String, TreeItem *> sections;
+ HashMap<String, TreeItem *> sections;
TreeItem *first_section = nullptr;
// Filter possible candidates.
diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp
index f770af8100..0bb48db09e 100644
--- a/editor/editor_data.cpp
+++ b/editor/editor_data.cpp
@@ -468,12 +468,12 @@ Variant EditorData::instance_custom_type(const String &p_type, const String &p_i
}
void EditorData::remove_custom_type(const String &p_type) {
- for (Map<String, Vector<CustomType>>::Element *E = custom_types.front(); E; E = E->next()) {
- for (int i = 0; i < E->get().size(); i++) {
- if (E->get()[i].name == p_type) {
- E->get().remove_at(i);
- if (E->get().is_empty()) {
- custom_types.erase(E->key());
+ for (KeyValue<String, Vector<CustomType>> &E : custom_types) {
+ for (int i = 0; i < E.value.size(); i++) {
+ if (E.value[i].name == p_type) {
+ E.value.remove_at(i);
+ if (E.value.is_empty()) {
+ custom_types.erase(E.key);
}
return;
}
@@ -549,7 +549,7 @@ void EditorData::remove_scene(int p_idx) {
edited_scene.remove_at(p_idx);
}
-bool EditorData::_find_updated_instances(Node *p_root, Node *p_node, Set<String> &checked_paths) {
+bool EditorData::_find_updated_instances(Node *p_root, Node *p_node, RBSet<String> &checked_paths) {
Ref<SceneState> ss;
if (p_node == p_root) {
@@ -587,7 +587,7 @@ bool EditorData::check_and_update_scene(int p_idx) {
return false;
}
- Set<String> checked_scenes;
+ RBSet<String> checked_scenes;
bool must_reload = _find_updated_instances(edited_scene[p_idx].root, edited_scene[p_idx].root, checked_scenes);
@@ -1154,7 +1154,7 @@ List<Node *> EditorSelection::get_full_selected_node_list() {
void EditorSelection::clear() {
while (!selection.is_empty()) {
- remove_node(selection.front()->key());
+ remove_node(selection.begin()->key);
}
changed = true;
diff --git a/editor/editor_data.h b/editor/editor_data.h
index 1e9b8af490..b9eb199c37 100644
--- a/editor/editor_data.h
+++ b/editor/editor_data.h
@@ -129,17 +129,17 @@ private:
String name;
Variant value;
};
- Map<String, Vector<CustomType>> custom_types;
+ HashMap<String, Vector<CustomType>> custom_types;
List<PropertyData> clipboard;
UndoRedo undo_redo;
Vector<Callable> undo_redo_callbacks;
- Map<StringName, Callable> move_element_functions;
+ HashMap<StringName, Callable> move_element_functions;
Vector<EditedScene> edited_scene;
int current_edited_scene;
- bool _find_updated_instances(Node *p_root, Node *p_node, Set<String> &checked_paths);
+ bool _find_updated_instances(Node *p_root, Node *p_node, RBSet<String> &checked_paths);
HashMap<StringName, String> _script_class_icon_paths;
HashMap<String, StringName> _script_class_file_to_path;
@@ -181,7 +181,7 @@ public:
void add_custom_type(const String &p_type, const String &p_inherits, const Ref<Script> &p_script, const Ref<Texture2D> &p_icon);
Variant instance_custom_type(const String &p_type, const String &p_inherits);
void remove_custom_type(const String &p_type);
- const Map<String, Vector<CustomType>> &get_custom_types() const { return custom_types; }
+ const HashMap<String, Vector<CustomType>> &get_custom_types() const { return custom_types; }
void instantiate_object_properties(Object *p_object);
@@ -247,7 +247,7 @@ class EditorSelection : public Object {
// Contains the selected nodes and corresponding metadata.
// Metadata objects come from calling _get_editor_data on the editor_plugins, passing the selected node.
- Map<Node *, Object *> selection;
+ HashMap<Node *, Object *> selection;
// Tracks whether the selection change signal has been emitted.
// Prevents multiple signals being called in one frame.
@@ -296,7 +296,7 @@ public:
// Returns all the selected nodes (list version of "get_selected_nodes").
List<Node *> get_full_selected_node_list();
// Returns the map of selected objects and their metadata.
- Map<Node *, Object *> &get_selection() { return selection; }
+ HashMap<Node *, Object *> &get_selection() { return selection; }
EditorSelection();
~EditorSelection();
diff --git a/editor/editor_dir_dialog.h b/editor/editor_dir_dialog.h
index 9baa37793b..60abfeb66f 100644
--- a/editor/editor_dir_dialog.h
+++ b/editor/editor_dir_dialog.h
@@ -44,7 +44,7 @@ class EditorDirDialog : public ConfirmationDialog {
AcceptDialog *mkdirerr = nullptr;
Button *makedir = nullptr;
- Set<String> opened_paths;
+ RBSet<String> opened_paths;
Tree *tree = nullptr;
bool updating = false;
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp
index ef99425f68..586ffa418c 100644
--- a/editor/editor_export.cpp
+++ b/editor/editor_export.cpp
@@ -95,9 +95,9 @@ Ref<EditorExportPlatform> EditorExportPreset::get_platform() const {
void EditorExportPreset::update_files_to_export() {
Vector<String> to_remove;
- for (Set<String>::Element *E = selected_files.front(); E; E = E->next()) {
- if (!FileAccess::exists(E->get())) {
- to_remove.push_back(E->get());
+ for (const String &E : selected_files) {
+ if (!FileAccess::exists(E)) {
+ to_remove.push_back(E);
}
}
for (int i = 0; i < to_remove.size(); ++i) {
@@ -107,8 +107,8 @@ void EditorExportPreset::update_files_to_export() {
Vector<String> EditorExportPreset::get_files_to_export() const {
Vector<String> files;
- for (Set<String>::Element *E = selected_files.front(); E; E = E->next()) {
- files.push_back(E->get());
+ for (const String &E : selected_files) {
+ files.push_back(E);
}
return files;
}
@@ -446,7 +446,7 @@ Ref<EditorExportPreset> EditorExportPlatform::create_preset() {
return preset;
}
-void EditorExportPlatform::_export_find_resources(EditorFileSystemDirectory *p_dir, Set<String> &p_paths) {
+void EditorExportPlatform::_export_find_resources(EditorFileSystemDirectory *p_dir, RBSet<String> &p_paths) {
for (int i = 0; i < p_dir->get_subdir_count(); i++) {
_export_find_resources(p_dir->get_subdir(i), p_paths);
}
@@ -459,7 +459,7 @@ void EditorExportPlatform::_export_find_resources(EditorFileSystemDirectory *p_d
}
}
-void EditorExportPlatform::_export_find_dependencies(const String &p_path, Set<String> &p_paths) {
+void EditorExportPlatform::_export_find_dependencies(const String &p_path, RBSet<String> &p_paths) {
if (p_paths.has(p_path)) {
return;
}
@@ -480,7 +480,7 @@ void EditorExportPlatform::_export_find_dependencies(const String &p_path, Set<S
}
}
-void EditorExportPlatform::_edit_files_with_filter(Ref<DirAccess> &da, const Vector<String> &p_filters, Set<String> &r_list, bool exclude) {
+void EditorExportPlatform::_edit_files_with_filter(Ref<DirAccess> &da, const Vector<String> &p_filters, RBSet<String> &r_list, bool exclude) {
da->list_dir_begin();
String cur_dir = da->get_current_dir().replace("\\", "/");
if (!cur_dir.ends_with("/")) {
@@ -528,7 +528,7 @@ void EditorExportPlatform::_edit_files_with_filter(Ref<DirAccess> &da, const Vec
}
}
-void EditorExportPlatform::_edit_filter_list(Set<String> &r_list, const String &p_filter, bool exclude) {
+void EditorExportPlatform::_edit_filter_list(RBSet<String> &r_list, const String &p_filter, bool exclude) {
if (p_filter.is_empty()) {
return;
}
@@ -648,10 +648,10 @@ void EditorExportPlugin::_export_end_script() {
GDVIRTUAL_CALL(_export_end);
}
-void EditorExportPlugin::_export_file(const String &p_path, const String &p_type, const Set<String> &p_features) {
+void EditorExportPlugin::_export_file(const String &p_path, const String &p_type, const RBSet<String> &p_features) {
}
-void EditorExportPlugin::_export_begin(const Set<String> &p_features, bool p_debug, const String &p_path, int p_flags) {
+void EditorExportPlugin::_export_begin(const RBSet<String> &p_features, bool p_debug, const String &p_path, int p_flags) {
}
void EditorExportPlugin::skip() {
@@ -739,7 +739,7 @@ EditorExportPlatform::ExportNotifier::~ExportNotifier() {
Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &p_preset, bool p_debug, EditorExportSaveFunction p_func, void *p_udata, EditorExportSaveSharedObject p_so_func) {
//figure out paths of files that will be exported
- Set<String> paths;
+ RBSet<String> paths;
Vector<String> path_remaps;
if (p_preset->get_export_filter() == EditorExportPreset::EXPORT_ALL_RESOURCES) {
@@ -872,15 +872,15 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
}
FeatureContainers feature_containers = get_feature_containers(p_preset, p_debug);
- Set<String> &features = feature_containers.features;
+ RBSet<String> &features = feature_containers.features;
Vector<String> &features_pv = feature_containers.features_pv;
//store everything in the export medium
int idx = 0;
int total = paths.size();
- for (Set<String>::Element *E = paths.front(); E; E = E->next()) {
- String path = E->get();
+ for (const String &E : paths) {
+ String path = E;
String type = ResourceLoader::get_resource_type(path);
if (FileAccess::exists(path + ".import")) {
@@ -910,7 +910,7 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
List<String> remaps;
config->get_section_keys("remap", &remaps);
- Set<String> remap_features;
+ RBSet<String> remap_features;
for (const String &F : remaps) {
String remap = F;
@@ -1669,7 +1669,7 @@ void EditorExport::load_config() {
}
void EditorExport::update_export_presets() {
- Map<StringName, List<EditorExportPlatform::ExportOption>> platform_options;
+ HashMap<StringName, List<EditorExportPlatform::ExportOption>> platform_options;
for (int i = 0; i < export_platforms.size(); i++) {
Ref<EditorExportPlatform> platform = export_platforms[i];
@@ -1691,7 +1691,7 @@ void EditorExport::update_export_presets() {
List<EditorExportPlatform::ExportOption> options = platform_options[preset->get_platform()->get_name()];
// Copy the previous preset values
- Map<StringName, Variant> previous_values = preset->values;
+ HashMap<StringName, Variant> previous_values = preset->values;
// Clear the preset properties and values prior to reloading
preset->properties.clear();
@@ -1934,7 +1934,7 @@ void EditorExportPlatformPC::get_platform_features(List<String> *r_features) {
r_features->push_back(get_os_name().to_lower()); //OS name is a feature
}
-void EditorExportPlatformPC::resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
+void EditorExportPlatformPC::resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, RBSet<String> &p_features) {
if (p_features.has("bptc")) {
if (p_preset->has("texture_format/no_bptc_fallbacks")) {
p_features.erase("s3tc");
@@ -1952,7 +1952,7 @@ void EditorExportPlatformPC::set_chmod_flags(int p_flags) {
///////////////////////
-void EditorExportTextSceneToBinaryPlugin::_export_file(const String &p_path, const String &p_type, const Set<String> &p_features) {
+void EditorExportTextSceneToBinaryPlugin::_export_file(const String &p_path, const String &p_type, const RBSet<String> &p_features) {
String extension = p_path.get_extension().to_lower();
if (extension != "tres" && extension != "tscn") {
return;
diff --git a/editor/editor_export.h b/editor/editor_export.h
index 1aca140e79..3b8ff0f686 100644
--- a/editor/editor_export.h
+++ b/editor/editor_export.h
@@ -66,14 +66,14 @@ private:
String export_path;
String exporter;
- Set<String> selected_files;
+ RBSet<String> selected_files;
bool runnable = false;
friend class EditorExport;
friend class EditorExportPlatform;
List<PropertyInfo> properties;
- Map<StringName, Variant> values;
+ HashMap<StringName, Variant> values;
String name;
@@ -196,19 +196,19 @@ private:
};
struct FeatureContainers {
- Set<String> features;
+ RBSet<String> features;
Vector<String> features_pv;
};
- void _export_find_resources(EditorFileSystemDirectory *p_dir, Set<String> &p_paths);
- void _export_find_dependencies(const String &p_path, Set<String> &p_paths);
+ void _export_find_resources(EditorFileSystemDirectory *p_dir, RBSet<String> &p_paths);
+ void _export_find_dependencies(const String &p_path, RBSet<String> &p_paths);
void gen_debug_flags(Vector<String> &r_flags, int p_flags);
static Error _save_pack_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key);
static Error _save_zip_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key);
- void _edit_files_with_filter(Ref<DirAccess> &da, const Vector<String> &p_filters, Set<String> &r_list, bool exclude);
- void _edit_filter_list(Set<String> &r_list, const String &p_filter, bool exclude);
+ void _edit_files_with_filter(Ref<DirAccess> &da, const Vector<String> &p_filters, RBSet<String> &r_list, bool exclude);
+ void _edit_filter_list(RBSet<String> &r_list, const String &p_filter, bool exclude);
static Error _add_shared_object(void *p_userdata, const SharedObject &p_so);
@@ -242,7 +242,7 @@ public:
virtual void get_export_options(List<ExportOption> *r_options) = 0;
virtual bool should_update_export_options() { return false; }
- virtual bool get_export_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const { return true; }
+ virtual bool get_export_option_visibility(const String &p_option, const HashMap<StringName, Variant> &p_options) const { return true; }
virtual String get_os_name() const = 0;
virtual String get_name() const = 0;
@@ -279,7 +279,7 @@ public:
virtual Error export_pack(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0);
virtual Error export_zip(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0);
virtual void get_platform_features(List<String> *r_features) = 0;
- virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) = 0;
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, RBSet<String> &p_features) = 0;
virtual String get_debug_protocol() const { return "tcp://"; }
EditorExportPlatform();
@@ -349,8 +349,8 @@ protected:
void skip();
- virtual void _export_file(const String &p_path, const String &p_type, const Set<String> &p_features);
- virtual void _export_begin(const Set<String> &p_features, bool p_debug, const String &p_path, int p_flags);
+ virtual void _export_file(const String &p_path, const String &p_type, const RBSet<String> &p_features);
+ virtual void _export_begin(const RBSet<String> &p_features, bool p_debug, const String &p_path, int p_flags);
static void _bind_methods();
@@ -454,7 +454,7 @@ public:
void add_platform_feature(const String &p_feature);
virtual void get_platform_features(List<String> *r_features) override;
- virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) override;
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, RBSet<String> &p_features) override;
int get_chmod_flags() const;
void set_chmod_flags(int p_flags);
@@ -468,7 +468,7 @@ class EditorExportTextSceneToBinaryPlugin : public EditorExportPlugin {
GDCLASS(EditorExportTextSceneToBinaryPlugin, EditorExportPlugin);
public:
- virtual void _export_file(const String &p_path, const String &p_type, const Set<String> &p_features) override;
+ virtual void _export_file(const String &p_path, const String &p_type, const RBSet<String> &p_features) override;
EditorExportTextSceneToBinaryPlugin();
};
diff --git a/editor/editor_feature_profile.cpp b/editor/editor_feature_profile.cpp
index a20f112b2a..670f193326 100644
--- a/editor/editor_feature_profile.cpp
+++ b/editor/editor_feature_profile.cpp
@@ -101,7 +101,7 @@ bool EditorFeatureProfile::is_class_editor_disabled(const StringName &p_class) c
void EditorFeatureProfile::set_disable_class_property(const StringName &p_class, const StringName &p_property, bool p_disabled) {
if (p_disabled) {
if (!disabled_properties.has(p_class)) {
- disabled_properties[p_class] = Set<StringName>();
+ disabled_properties[p_class] = RBSet<StringName>();
}
disabled_properties[p_class].insert(p_property);
@@ -166,24 +166,24 @@ Error EditorFeatureProfile::save_to_file(const String &p_path) {
Dictionary data;
data["type"] = "feature_profile";
Array dis_classes;
- for (Set<StringName>::Element *E = disabled_classes.front(); E; E = E->next()) {
- dis_classes.push_back(String(E->get()));
+ for (const StringName &E : disabled_classes) {
+ dis_classes.push_back(String(E));
}
dis_classes.sort();
data["disabled_classes"] = dis_classes;
Array dis_editors;
- for (Set<StringName>::Element *E = disabled_editors.front(); E; E = E->next()) {
- dis_editors.push_back(String(E->get()));
+ for (const StringName &E : disabled_editors) {
+ dis_editors.push_back(String(E));
}
dis_editors.sort();
data["disabled_editors"] = dis_editors;
Array dis_props;
- for (KeyValue<StringName, Set<StringName>> &E : disabled_properties) {
- for (Set<StringName>::Element *F = E.value.front(); F; F = F->next()) {
- dis_props.push_back(String(E.key) + ":" + String(F->get()));
+ for (KeyValue<StringName, RBSet<StringName>> &E : disabled_properties) {
+ for (const StringName &F : E.value) {
+ dis_props.push_back(String(E.key) + ":" + String(F));
}
}
@@ -556,9 +556,9 @@ void EditorFeatureProfileManager::_class_list_item_selected() {
String class_description;
DocTools *dd = EditorHelp::get_doc_data();
- Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(class_name);
+ HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(class_name);
if (E) {
- class_description = DTR(E->get().brief_description);
+ class_description = DTR(E->value.brief_description);
}
description_bit->set_text(class_description);
diff --git a/editor/editor_feature_profile.h b/editor/editor_feature_profile.h
index 19df8a9686..479baf5205 100644
--- a/editor/editor_feature_profile.h
+++ b/editor/editor_feature_profile.h
@@ -56,11 +56,11 @@ public:
};
private:
- Set<StringName> disabled_classes;
- Set<StringName> disabled_editors;
- Map<StringName, Set<StringName>> disabled_properties;
+ RBSet<StringName> disabled_classes;
+ RBSet<StringName> disabled_editors;
+ HashMap<StringName, RBSet<StringName>> disabled_properties;
- Set<StringName> collapsed_classes;
+ RBSet<StringName> collapsed_classes;
bool features_disabled[FEATURE_MAX];
static const char *feature_names[FEATURE_MAX];
diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp
index 099dfe69d5..e37bfa32bc 100644
--- a/editor/editor_file_system.cpp
+++ b/editor/editor_file_system.cpp
@@ -514,7 +514,7 @@ bool EditorFileSystem::_scan_import_support(Vector<String> reimports) {
if (import_support_queries.size() == 0) {
return false;
}
- Map<String, int> import_support_test;
+ HashMap<String, int> import_support_test;
Vector<bool> import_support_tested;
import_support_tested.resize(import_support_queries.size());
for (int i = 0; i < import_support_queries.size(); i++) {
@@ -532,9 +532,9 @@ bool EditorFileSystem::_scan_import_support(Vector<String> reimports) {
}
for (int i = 0; i < reimports.size(); i++) {
- Map<String, int>::Element *E = import_support_test.find(reimports[i].get_extension());
+ HashMap<String, int>::Iterator E = import_support_test.find(reimports[i].get_extension());
if (E) {
- import_support_tested.write[E->get()] = true;
+ import_support_tested.write[E->value] = true;
}
}
@@ -1458,8 +1458,8 @@ void EditorFileSystem::_save_late_updated_files() {
String fscache = EditorSettings::get_singleton()->get_project_settings_dir().plus_file("filesystem_update4");
Ref<FileAccess> f = FileAccess::open(fscache, FileAccess::WRITE);
ERR_FAIL_COND_MSG(f.is_null(), "Cannot create file '" + fscache + "'. Check user write permissions.");
- for (Set<String>::Element *E = late_update_files.front(); E; E = E->next()) {
- f->store_line(E->get());
+ for (const String &E : late_update_files) {
+ f->store_line(E);
}
}
@@ -1636,15 +1636,15 @@ void EditorFileSystem::update_file(const String &p_file) {
_queue_update_script_classes();
}
-Set<String> EditorFileSystem::get_valid_extensions() const {
+RBSet<String> EditorFileSystem::get_valid_extensions() const {
return valid_extensions;
}
Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector<String> &p_files) {
String importer_name;
- Map<String, Map<StringName, Variant>> source_file_options;
- Map<String, String> base_paths;
+ HashMap<String, HashMap<StringName, Variant>> source_file_options;
+ HashMap<String, String> base_paths;
for (int i = 0; i < p_files.size(); i++) {
Ref<ConfigFile> config;
config.instantiate();
@@ -1659,7 +1659,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
ERR_FAIL_V(ERR_FILE_CORRUPT);
}
- source_file_options[p_files[i]] = Map<StringName, Variant>();
+ source_file_options[p_files[i]] = HashMap<StringName, Variant>();
importer_name = file_importer_name;
if (importer_name == "keep") {
@@ -1699,7 +1699,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
Error err = importer->import_group_file(p_group_file, source_file_options, base_paths);
//all went well, overwrite config files with proper remaps and md5s
- for (const KeyValue<String, Map<StringName, Variant>> &E : source_file_options) {
+ for (const KeyValue<String, HashMap<StringName, Variant>> &E : source_file_options) {
const String &file = E.key;
String base_path = ResourceFormatImporter::get_singleton()->get_import_base_path(file);
Vector<String> dest_paths;
@@ -1808,7 +1808,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
return err;
}
-void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName, Variant> *p_custom_options, const String &p_custom_importer) {
+void EditorFileSystem::_reimport_file(const String &p_file, const HashMap<StringName, Variant> *p_custom_options, const String &p_custom_importer) {
EditorFileSystemDirectory *fs = nullptr;
int cpos = -1;
bool found = _find_file(p_file, &fs, cpos);
@@ -1816,7 +1816,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName
//try to obtain existing params
- Map<StringName, Variant> params;
+ HashMap<StringName, Variant> params;
String importer_name; //empty by default though
if (!p_custom_importer.is_empty()) {
@@ -2047,7 +2047,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName
EditorResourcePreview::get_singleton()->check_for_invalidation(p_file);
}
-void EditorFileSystem::_find_group_files(EditorFileSystemDirectory *efd, Map<String, Vector<String>> &group_files, Set<String> &groups_to_reimport) {
+void EditorFileSystem::_find_group_files(EditorFileSystemDirectory *efd, HashMap<String, Vector<String>> &group_files, RBSet<String> &groups_to_reimport) {
int fc = efd->files.size();
const EditorFileSystemDirectory::FileInfo *const *files = efd->files.ptr();
for (int i = 0; i < fc; i++) {
@@ -2064,7 +2064,7 @@ void EditorFileSystem::_find_group_files(EditorFileSystemDirectory *efd, Map<Str
}
}
-void EditorFileSystem::reimport_file_with_custom_parameters(const String &p_file, const String &p_importer, const Map<StringName, Variant> &p_custom_params) {
+void EditorFileSystem::reimport_file_with_custom_parameters(const String &p_file, const String &p_importer, const HashMap<StringName, Variant> &p_custom_params) {
_reimport_file(p_file, &p_custom_params, p_importer);
}
@@ -2079,7 +2079,7 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
Vector<ImportFile> reimport_files;
- Set<String> groups_to_reimport;
+ RBSet<String> groups_to_reimport;
for (int i = 0; i < p_files.size(); i++) {
String file = p_files[i];
@@ -2165,7 +2165,7 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
//reimport groups
if (groups_to_reimport.size()) {
- Map<String, Vector<String>> group_files;
+ HashMap<String, Vector<String>> group_files;
_find_group_files(filesystem, group_files, groups_to_reimport);
for (const KeyValue<String, Vector<String>> &E : group_files) {
Error err = _reimport_group(E.key, E.value);
@@ -2290,7 +2290,7 @@ ResourceUID::ID EditorFileSystem::_resource_saver_get_resource_id_for_path(const
}
}
-static void _scan_extensions_dir(EditorFileSystemDirectory *d, Set<String> &extensions) {
+static void _scan_extensions_dir(EditorFileSystemDirectory *d, RBSet<String> &extensions) {
int fc = d->get_file_count();
for (int i = 0; i < fc; i++) {
if (d->get_file_type(i) == SNAME("NativeExtension")) {
@@ -2304,7 +2304,7 @@ static void _scan_extensions_dir(EditorFileSystemDirectory *d, Set<String> &exte
}
bool EditorFileSystem::_scan_extensions() {
EditorFileSystemDirectory *d = get_filesystem();
- Set<String> extensions;
+ RBSet<String> extensions;
_scan_extensions_dir(d, extensions);
@@ -2372,6 +2372,7 @@ void EditorFileSystem::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_filesystem_path", "path"), &EditorFileSystem::get_filesystem_path);
ClassDB::bind_method(D_METHOD("get_file_type", "path"), &EditorFileSystem::get_file_type);
ClassDB::bind_method(D_METHOD("update_script_classes"), &EditorFileSystem::update_script_classes);
+ ClassDB::bind_method(D_METHOD("reimport_files", "files"), &EditorFileSystem::reimport_files);
ADD_SIGNAL(MethodInfo("filesystem_changed"));
ADD_SIGNAL(MethodInfo("sources_changed", PropertyInfo(Variant::BOOL, "exist")));
diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h
index 81811d2eb0..743684a9ca 100644
--- a/editor/editor_file_system.h
+++ b/editor/editor_file_system.h
@@ -34,8 +34,8 @@
#include "core/io/dir_access.h"
#include "core/os/thread.h"
#include "core/os/thread_safe.h"
+#include "core/templates/rb_set.h"
#include "core/templates/safe_refcount.h"
-#include "core/templates/set.h"
#include "core/templates/thread_work_pool.h"
#include "scene/main/node.h"
@@ -180,7 +180,7 @@ class EditorFileSystem : public Node {
void _scan_filesystem();
- Set<String> late_update_files;
+ RBSet<String> late_update_files;
void _save_late_updated_files();
@@ -221,9 +221,9 @@ class EditorFileSystem : public Node {
void _delete_internal_files(String p_file);
- Set<String> textfile_extensions;
- Set<String> valid_extensions;
- Set<String> import_extensions;
+ RBSet<String> textfile_extensions;
+ RBSet<String> valid_extensions;
+ RBSet<String> import_extensions;
void _scan_new_dir(EditorFileSystemDirectory *p_dir, Ref<DirAccess> &da, const ScanProgress &p_progress);
@@ -240,7 +240,7 @@ class EditorFileSystem : public Node {
void _update_extensions();
- void _reimport_file(const String &p_file, const Map<StringName, Variant> *p_custom_options = nullptr, const String &p_custom_importer = String());
+ void _reimport_file(const String &p_file, const HashMap<StringName, Variant> *p_custom_options = nullptr, const String &p_custom_importer = String());
Error _reimport_group(const String &p_group_file, const Vector<String> &p_files);
bool _test_for_reimport(const String &p_path, bool p_only_imported_files);
@@ -269,11 +269,11 @@ class EditorFileSystem : public Node {
bool using_fat32_or_exfat; // Workaround for projects in FAT32 or exFAT filesystem (pendrives, most of the time)
- void _find_group_files(EditorFileSystemDirectory *efd, Map<String, Vector<String>> &group_files, Set<String> &groups_to_reimport);
+ void _find_group_files(EditorFileSystemDirectory *efd, HashMap<String, Vector<String>> &group_files, RBSet<String> &groups_to_reimport);
void _move_group_files(EditorFileSystemDirectory *efd, const String &p_group_file, const String &p_new_location);
- Set<String> group_file_cache;
+ RBSet<String> group_file_cache;
ThreadWorkPool import_threads;
@@ -306,7 +306,7 @@ public:
void scan();
void scan_changes();
void update_file(const String &p_file);
- Set<String> get_valid_extensions() const;
+ RBSet<String> get_valid_extensions() const;
EditorFileSystemDirectory *get_filesystem_path(const String &p_path);
String get_file_type(const String &p_file) const;
@@ -314,7 +314,7 @@ public:
void reimport_files(const Vector<String> &p_files);
- void reimport_file_with_custom_parameters(const String &p_file, const String &p_importer, const Map<StringName, Variant> &p_custom_params);
+ void reimport_file_with_custom_parameters(const String &p_file, const String &p_importer, const HashMap<StringName, Variant> &p_custom_params);
void update_script_classes();
diff --git a/editor/editor_folding.cpp b/editor/editor_folding.cpp
index 76c7023b46..ad8aaf324c 100644
--- a/editor/editor_folding.cpp
+++ b/editor/editor_folding.cpp
@@ -40,8 +40,8 @@ Vector<String> EditorFolding::_get_unfolds(const Object *p_object) {
if (sections.size()) {
String *w = sections.ptrw();
int idx = 0;
- for (const Set<String>::Element *E = p_object->editor_get_section_folding().front(); E; E = E->next()) {
- w[idx++] = E->get();
+ for (const String &E : p_object->editor_get_section_folding()) {
+ w[idx++] = E;
}
}
@@ -87,7 +87,7 @@ void EditorFolding::load_resource_folding(Ref<Resource> p_resource, const String
_set_unfolds(p_resource.ptr(), unfolds);
}
-void EditorFolding::_fill_folds(const Node *p_root, const Node *p_node, Array &p_folds, Array &resource_folds, Array &nodes_folded, Set<Ref<Resource>> &resources) {
+void EditorFolding::_fill_folds(const Node *p_root, const Node *p_node, Array &p_folds, Array &resource_folds, Array &nodes_folded, RBSet<Ref<Resource>> &resources) {
if (p_root != p_node) {
if (!p_node->get_owner()) {
return; //not owned, bye
@@ -140,7 +140,7 @@ void EditorFolding::save_scene_folding(const Node *p_scene, const String &p_path
config.instantiate();
Array unfolds, res_unfolds;
- Set<Ref<Resource>> resources;
+ RBSet<Ref<Resource>> resources;
Array nodes_folded;
_fill_folds(p_scene, p_scene, unfolds, res_unfolds, nodes_folded, resources);
@@ -220,13 +220,13 @@ bool EditorFolding::has_folding_data(const String &p_path) {
return FileAccess::exists(file);
}
-void EditorFolding::_do_object_unfolds(Object *p_object, Set<Ref<Resource>> &resources) {
+void EditorFolding::_do_object_unfolds(Object *p_object, RBSet<Ref<Resource>> &resources) {
List<PropertyInfo> plist;
p_object->get_property_list(&plist);
String group_base;
String group;
- Set<String> unfold_group;
+ RBSet<String> unfold_group;
for (const PropertyInfo &E : plist) {
if (E.usage & PROPERTY_USAGE_CATEGORY) {
@@ -270,12 +270,12 @@ void EditorFolding::_do_object_unfolds(Object *p_object, Set<Ref<Resource>> &res
}
}
- for (Set<String>::Element *E = unfold_group.front(); E; E = E->next()) {
- p_object->editor_set_section_unfold(E->get(), true);
+ for (const String &E : unfold_group) {
+ p_object->editor_set_section_unfold(E, true);
}
}
-void EditorFolding::_do_node_unfolds(Node *p_root, Node *p_node, Set<Ref<Resource>> &resources) {
+void EditorFolding::_do_node_unfolds(Node *p_root, Node *p_node, RBSet<Ref<Resource>> &resources) {
if (p_root != p_node) {
if (!p_node->get_owner()) {
return; //not owned, bye
@@ -293,7 +293,7 @@ void EditorFolding::_do_node_unfolds(Node *p_root, Node *p_node, Set<Ref<Resourc
}
void EditorFolding::unfold_scene(Node *p_scene) {
- Set<Ref<Resource>> resources;
+ RBSet<Ref<Resource>> resources;
_do_node_unfolds(p_scene, p_scene, resources);
}
diff --git a/editor/editor_folding.h b/editor/editor_folding.h
index 86f4643ed8..22df06280a 100644
--- a/editor/editor_folding.h
+++ b/editor/editor_folding.h
@@ -37,10 +37,10 @@ class EditorFolding {
Vector<String> _get_unfolds(const Object *p_object);
void _set_unfolds(Object *p_object, const Vector<String> &p_unfolds);
- void _fill_folds(const Node *p_root, const Node *p_node, Array &p_folds, Array &resource_folds, Array &nodes_folded, Set<Ref<Resource>> &resources);
+ void _fill_folds(const Node *p_root, const Node *p_node, Array &p_folds, Array &resource_folds, Array &nodes_folded, RBSet<Ref<Resource>> &resources);
- void _do_object_unfolds(Object *p_object, Set<Ref<Resource>> &resources);
- void _do_node_unfolds(Node *p_root, Node *p_node, Set<Ref<Resource>> &resources);
+ void _do_object_unfolds(Object *p_object, RBSet<Ref<Resource>> &resources);
+ void _do_node_unfolds(Node *p_root, Node *p_node, RBSet<Ref<Resource>> &resources);
public:
void save_resource_folding(const Ref<Resource> &p_resource, const String &p_path);
diff --git a/editor/editor_fonts.cpp b/editor/editor_fonts.cpp
index 3e18499b97..51d4d474c5 100644
--- a/editor/editor_fonts.cpp
+++ b/editor/editor_fonts.cpp
@@ -110,6 +110,32 @@
m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
MAKE_FALLBACKS(m_name);
+#define MAKE_DEFAULT_FONT_MSDF(m_name, m_variations) \
+ Ref<Font> m_name; \
+ m_name.instantiate(); \
+ if (CustomFont.is_valid()) { \
+ m_name->add_data(CustomFontMSDF); \
+ m_name->add_data(DefaultFontMSDF); \
+ } else { \
+ m_name->add_data(DefaultFontMSDF); \
+ } \
+ { \
+ Dictionary variations; \
+ if (!m_variations.is_empty()) { \
+ Vector<String> variation_tags = m_variations.split(","); \
+ for (int i = 0; i < variation_tags.size(); i++) { \
+ Vector<String> tokens = variation_tags[i].split("="); \
+ if (tokens.size() == 2) { \
+ variations[tokens[0]] = tokens[1].to_float(); \
+ } \
+ } \
+ } \
+ m_name->set_variation_coordinates(variations); \
+ } \
+ m_name->set_spacing(TextServer::SPACING_TOP, -EDSCALE); \
+ m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
+ MAKE_FALLBACKS(m_name);
+
#define MAKE_SLANTED_FONT(m_name, m_variations) \
Ref<Font> m_name; \
m_name.instantiate(); \
@@ -163,6 +189,32 @@
m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
MAKE_FALLBACKS_BOLD(m_name);
+#define MAKE_BOLD_FONT_MSDF(m_name, m_variations) \
+ Ref<Font> m_name; \
+ m_name.instantiate(); \
+ if (CustomFontBold.is_valid()) { \
+ m_name->add_data(CustomFontBoldMSDF); \
+ m_name->add_data(DefaultFontBoldMSDF); \
+ } else { \
+ m_name->add_data(DefaultFontBoldMSDF); \
+ } \
+ { \
+ Dictionary variations; \
+ if (!m_variations.is_empty()) { \
+ Vector<String> variation_tags = m_variations.split(","); \
+ for (int i = 0; i < variation_tags.size(); i++) { \
+ Vector<String> tokens = variation_tags[i].split("="); \
+ if (tokens.size() == 2) { \
+ variations[tokens[0]] = tokens[1].to_float(); \
+ } \
+ } \
+ } \
+ m_name->set_variation_coordinates(variations); \
+ } \
+ m_name->set_spacing(TextServer::SPACING_TOP, -EDSCALE); \
+ m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
+ MAKE_FALLBACKS_BOLD(m_name);
+
#define MAKE_SOURCE_FONT(m_name, m_variations) \
Ref<Font> m_name; \
m_name.instantiate(); \
@@ -189,13 +241,14 @@
m_name->set_spacing(TextServer::SPACING_BOTTOM, -EDSCALE); \
MAKE_FALLBACKS(m_name);
-Ref<FontData> load_cached_external_font(const String &p_path, TextServer::Hinting p_hinting, bool p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning) {
+Ref<FontData> load_cached_external_font(const String &p_path, TextServer::Hinting p_hinting, bool p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning, bool p_msdf = false) {
Ref<FontData> font;
font.instantiate();
Vector<uint8_t> data = FileAccess::get_file_as_array(p_path);
font->set_data(data);
+ font->set_multichannel_signed_distance_field(p_msdf);
font->set_antialiased(p_aa);
font->set_hinting(p_hinting);
font->set_force_autohinter(p_autohint);
@@ -204,11 +257,12 @@ Ref<FontData> load_cached_external_font(const String &p_path, TextServer::Hintin
return font;
}
-Ref<FontData> load_cached_internal_font(const uint8_t *p_data, size_t p_size, TextServer::Hinting p_hinting, bool p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning) {
+Ref<FontData> load_cached_internal_font(const uint8_t *p_data, size_t p_size, TextServer::Hinting p_hinting, bool p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning, bool p_msdf = false) {
Ref<FontData> font;
font.instantiate();
font->set_data_ptr(p_data, p_size);
+ font->set_multichannel_signed_distance_field(p_msdf);
font->set_antialiased(p_aa);
font->set_hinting(p_hinting);
font->set_force_autohinter(p_autohint);
@@ -261,6 +315,13 @@ void editor_register_fonts(Ref<Theme> p_theme) {
EditorSettings::get_singleton()->set_manually("interface/editor/main_font", "");
}
+ Ref<FontData> CustomFontMSDF;
+ if (custom_font_path.length() > 0 && dir->file_exists(custom_font_path)) {
+ CustomFontMSDF = load_cached_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
+ } else {
+ EditorSettings::get_singleton()->set_manually("interface/editor/main_font", "");
+ }
+
Ref<FontData> CustomFontSlanted;
if (CustomFont.is_valid()) {
CustomFontSlanted = CustomFont->duplicate();
@@ -282,6 +343,13 @@ void editor_register_fonts(Ref<Theme> p_theme) {
CustomFontBold->set_embolden(embolden_strength);
}
+ Ref<FontData> CustomFontBoldMSDF;
+ if (custom_font_path.length() > 0 && dir->file_exists(custom_font_path)) {
+ CustomFontBoldMSDF = load_cached_external_font(custom_font_path, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
+ } else {
+ EditorSettings::get_singleton()->set_manually("interface/editor/main_font_bold", "");
+ }
+
/* Custom source code font */
String custom_font_path_source = EditorSettings::get_singleton()->get("interface/editor/code_font");
@@ -295,7 +363,9 @@ void editor_register_fonts(Ref<Theme> p_theme) {
/* Noto Sans */
Ref<FontData> DefaultFont = load_cached_internal_font(_font_NotoSans_Regular, _font_NotoSans_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ Ref<FontData> DefaultFontMSDF = load_cached_internal_font(_font_NotoSans_Regular, _font_NotoSans_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
Ref<FontData> DefaultFontBold = load_cached_internal_font(_font_NotoSans_Bold, _font_NotoSans_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
+ Ref<FontData> DefaultFontBoldMSDF = load_cached_internal_font(_font_NotoSans_Bold, _font_NotoSans_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning, true);
Ref<FontData> FontArabic = load_cached_internal_font(_font_NotoNaskhArabicUI_Regular, _font_NotoNaskhArabicUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
Ref<FontData> FontArabicBold = load_cached_internal_font(_font_NotoNaskhArabicUI_Bold, _font_NotoNaskhArabicUI_Bold_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
Ref<FontData> FontBengali = load_cached_internal_font(_font_NotoSansBengaliUI_Regular, _font_NotoSansBengaliUI_Regular_size, font_hinting, font_antialiased, true, font_subpixel_positioning);
@@ -347,12 +417,18 @@ void editor_register_fonts(Ref<Theme> p_theme) {
p_theme->set_font_size("main_size", "EditorFonts", default_font_size);
p_theme->set_font("main", "EditorFonts", df);
+ MAKE_DEFAULT_FONT_MSDF(df_msdf, String());
+ p_theme->set_font("main_msdf", "EditorFonts", df_msdf);
+
// Bold font
MAKE_BOLD_FONT(df_bold, String());
MAKE_SLANTED_FONT(df_italic, String());
p_theme->set_font_size("bold_size", "EditorFonts", default_font_size);
p_theme->set_font("bold", "EditorFonts", df_bold);
+ MAKE_BOLD_FONT_MSDF(df_bold_msdf, String());
+ p_theme->set_font("main_bold_msdf", "EditorFonts", df_bold_msdf);
+
// Title font
p_theme->set_font_size("title_size", "EditorFonts", default_font_size + 1 * EDSCALE);
p_theme->set_font("title", "EditorFonts", df_bold);
diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp
index b24268ade7..d6278a63fe 100644
--- a/editor/editor_help.cpp
+++ b/editor/editor_help.cpp
@@ -99,7 +99,7 @@ void EditorHelp::_class_desc_select(const String &p_select) {
String link = p_select.substr(tag_end + 1, p_select.length()).lstrip(" ");
String topic;
- Map<String, int> *table = nullptr;
+ HashMap<String, int> *table = nullptr;
if (tag == "method") {
topic = "class_method";
@@ -235,7 +235,7 @@ String EditorHelp::_fix_constant(const String &p_constant) const {
}
void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview) {
- method_line[p_method.name] = class_desc->get_line_count() - 2; //gets overridden if description
+ method_line[p_method.name] = class_desc->get_paragraph_count() - 2; //gets overridden if description
const bool is_vararg = p_method.qualifiers.contains("vararg");
@@ -593,8 +593,8 @@ void EditorHelp::_update_doc() {
// Class description
if (!cd.description.is_empty()) {
- section_line.push_back(Pair<String, int>(TTR("Description"), class_desc->get_line_count() - 2));
- description_line = class_desc->get_line_count() - 2;
+ section_line.push_back(Pair<String, int>(TTR("Description"), class_desc->get_paragraph_count() - 2));
+ description_line = class_desc->get_paragraph_count() - 2;
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Description"));
@@ -648,7 +648,7 @@ void EditorHelp::_update_doc() {
}
// Properties overview
- Set<String> skip_methods;
+ RBSet<String> skip_methods;
bool property_descr = false;
bool has_properties = cd.properties.size() != 0;
@@ -664,7 +664,7 @@ void EditorHelp::_update_doc() {
}
if (has_properties) {
- section_line.push_back(Pair<String, int>(TTR("Properties"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Properties"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Properties"));
@@ -682,7 +682,7 @@ void EditorHelp::_update_doc() {
if (cd.properties[i].name.begins_with("_") && cd.properties[i].description.is_empty()) {
continue;
}
- property_line[cd.properties[i].name] = class_desc->get_line_count() - 2; //gets overridden if description
+ property_line[cd.properties[i].name] = class_desc->get_paragraph_count() - 2; //gets overridden if description
// Property type.
class_desc->push_cell();
@@ -828,7 +828,7 @@ void EditorHelp::_update_doc() {
cd.constructors.sort();
}
- section_line.push_back(Pair<String, int>(TTR("Constructors"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Constructors"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Constructors"));
@@ -839,7 +839,7 @@ void EditorHelp::_update_doc() {
if (sort_methods) {
methods.sort();
}
- section_line.push_back(Pair<String, int>(TTR("Methods"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Methods"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Methods"));
@@ -851,7 +851,7 @@ void EditorHelp::_update_doc() {
cd.operators.sort();
}
- section_line.push_back(Pair<String, int>(TTR("Operators"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Operators"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Operators"));
@@ -860,7 +860,7 @@ void EditorHelp::_update_doc() {
// Theme properties
if (!cd.theme_properties.is_empty()) {
- section_line.push_back(Pair<String, int>(TTR("Theme Properties"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Theme Properties"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Theme Properties"));
@@ -873,7 +873,7 @@ void EditorHelp::_update_doc() {
class_desc->push_indent(1);
String theme_data_type;
- Map<String, String> data_type_names;
+ HashMap<String, String> data_type_names;
data_type_names["color"] = TTR("Colors");
data_type_names["constant"] = TTR("Constants");
data_type_names["font"] = TTR("Fonts");
@@ -882,7 +882,7 @@ void EditorHelp::_update_doc() {
data_type_names["style"] = TTR("Styles");
for (int i = 0; i < cd.theme_properties.size(); i++) {
- theme_property_line[cd.theme_properties[i].name] = class_desc->get_line_count() - 2; // Gets overridden if description.
+ theme_property_line[cd.theme_properties[i].name] = class_desc->get_paragraph_count() - 2; // Gets overridden if description.
if (theme_data_type != cd.theme_properties[i].data_type) {
theme_data_type = cd.theme_properties[i].data_type;
@@ -954,7 +954,7 @@ void EditorHelp::_update_doc() {
cd.signals.sort();
}
- section_line.push_back(Pair<String, int>(TTR("Signals"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Signals"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Signals"));
@@ -967,7 +967,7 @@ void EditorHelp::_update_doc() {
class_desc->push_indent(1);
for (int i = 0; i < cd.signals.size(); i++) {
- signal_line[cd.signals[i].name] = class_desc->get_line_count() - 2; // Gets overridden if description.
+ signal_line[cd.signals[i].name] = class_desc->get_paragraph_count() - 2; // Gets overridden if description.
class_desc->push_font(doc_code_font); // monofont
class_desc->push_color(headline_color);
@@ -1019,7 +1019,7 @@ void EditorHelp::_update_doc() {
// Constants and enums
if (!cd.constants.is_empty()) {
- Map<String, Vector<DocData::ConstantDoc>> enums;
+ HashMap<String, Vector<DocData::ConstantDoc>> enums;
Vector<DocData::ConstantDoc> constants;
for (int i = 0; i < cd.constants.size(); i++) {
@@ -1040,7 +1040,7 @@ void EditorHelp::_update_doc() {
// Enums
if (enums.size()) {
- section_line.push_back(Pair<String, int>(TTR("Enumerations"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Enumerations"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Enumerations"));
@@ -1051,7 +1051,7 @@ void EditorHelp::_update_doc() {
class_desc->add_newline();
for (KeyValue<String, Vector<DocData::ConstantDoc>> &E : enums) {
- enum_line[E.key] = class_desc->get_line_count() - 2;
+ enum_line[E.key] = class_desc->get_paragraph_count() - 2;
class_desc->push_font(doc_code_font);
class_desc->push_color(title_color);
@@ -1089,7 +1089,7 @@ void EditorHelp::_update_doc() {
class_desc->push_indent(1);
Vector<DocData::ConstantDoc> enum_list = E.value;
- Map<String, int> enumValuesContainer;
+ HashMap<String, int> enumValuesContainer;
int enumStartingLine = enum_line[E.key];
for (int i = 0; i < enum_list.size(); i++) {
@@ -1098,7 +1098,7 @@ void EditorHelp::_update_doc() {
}
// Add the enum constant line to the constant_line map so we can locate it as a constant.
- constant_line[enum_list[i].name] = class_desc->get_line_count() - 2;
+ constant_line[enum_list[i].name] = class_desc->get_paragraph_count() - 2;
class_desc->push_font(doc_code_font);
class_desc->push_color(headline_color);
@@ -1144,7 +1144,7 @@ void EditorHelp::_update_doc() {
// Constants
if (constants.size()) {
- section_line.push_back(Pair<String, int>(TTR("Constants"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Constants"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Constants"));
@@ -1155,7 +1155,7 @@ void EditorHelp::_update_doc() {
class_desc->add_newline();
for (int i = 0; i < constants.size(); i++) {
- constant_line[constants[i].name] = class_desc->get_line_count() - 2;
+ constant_line[constants[i].name] = class_desc->get_paragraph_count() - 2;
class_desc->push_font(doc_code_font);
if (constants[i].value.begins_with("Color(") && constants[i].value.ends_with(")")) {
@@ -1205,7 +1205,7 @@ void EditorHelp::_update_doc() {
// Property descriptions
if (property_descr) {
- section_line.push_back(Pair<String, int>(TTR("Property Descriptions"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Property Descriptions"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Property Descriptions"));
@@ -1220,7 +1220,7 @@ void EditorHelp::_update_doc() {
continue;
}
- property_line[cd.properties[i].name] = class_desc->get_line_count() - 2;
+ property_line[cd.properties[i].name] = class_desc->get_paragraph_count() - 2;
class_desc->push_table(2);
class_desc->set_table_column_expand(1, true);
@@ -1285,7 +1285,7 @@ void EditorHelp::_update_doc() {
// Script doc doesn't have setter, getter.
if (!cd.is_script_doc) {
- Map<String, DocData::MethodDoc> method_map;
+ HashMap<String, DocData::MethodDoc> method_map;
for (int j = 0; j < methods.size(); j++) {
method_map[methods[j].name] = methods[j];
}
@@ -1371,7 +1371,7 @@ void EditorHelp::_update_doc() {
// Constructor descriptions
if (constructor_descriptions) {
- section_line.push_back(Pair<String, int>(TTR("Constructor Descriptions"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Constructor Descriptions"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Constructor Descriptions"));
@@ -1380,7 +1380,7 @@ void EditorHelp::_update_doc() {
// Method descriptions
if (method_descriptions) {
- section_line.push_back(Pair<String, int>(TTR("Method Descriptions"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Method Descriptions"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Method Descriptions"));
@@ -1389,7 +1389,7 @@ void EditorHelp::_update_doc() {
// Operator descriptions
if (operator_descriptions) {
- section_line.push_back(Pair<String, int>(TTR("Operator Descriptions"), class_desc->get_line_count() - 2));
+ section_line.push_back(Pair<String, int>(TTR("Operator Descriptions"), class_desc->get_paragraph_count() - 2));
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Operator Descriptions"));
@@ -1450,15 +1450,15 @@ void EditorHelp::_help_callback(const String &p_topic) {
} else if (method_line.has(name)) {
line = method_line[name];
} else {
- Map<String, Map<String, int>>::Element *iter = enum_values_line.front();
+ HashMap<String, HashMap<String, int>>::Iterator iter = enum_values_line.begin();
while (true) {
- if (iter->value().has(name)) {
- line = iter->value()[name];
+ if (iter->value.has(name)) {
+ line = iter->value[name];
break;
- } else if (iter == enum_values_line.back()) {
+ } else if (iter == enum_values_line.last()) {
break;
} else {
- iter = iter->next();
+ ++iter;
}
}
}
@@ -1868,6 +1868,7 @@ EditorHelp::EditorHelp() {
class_desc = memnew(RichTextLabel);
add_child(class_desc);
+ class_desc->set_threaded(true);
class_desc->set_v_size_flags(SIZE_EXPAND_FILL);
class_desc->add_theme_color_override("selection_color", get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.4));
diff --git a/editor/editor_help.h b/editor/editor_help.h
index e289f91414..b5410f6880 100644
--- a/editor/editor_help.h
+++ b/editor/editor_help.h
@@ -105,13 +105,13 @@ class EditorHelp : public VBoxContainer {
String edited_class;
Vector<Pair<String, int>> section_line;
- Map<String, int> method_line;
- Map<String, int> signal_line;
- Map<String, int> property_line;
- Map<String, int> theme_property_line;
- Map<String, int> constant_line;
- Map<String, int> enum_line;
- Map<String, Map<String, int>> enum_values_line;
+ HashMap<String, int> method_line;
+ HashMap<String, int> signal_line;
+ HashMap<String, int> property_line;
+ HashMap<String, int> theme_property_line;
+ HashMap<String, int> constant_line;
+ HashMap<String, int> enum_line;
+ HashMap<String, HashMap<String, int>> enum_values_line;
int description_line = 0;
RichTextLabel *class_desc = nullptr;
diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp
index c747ae326f..b85147fddf 100644
--- a/editor/editor_help_search.cpp
+++ b/editor/editor_help_search.cpp
@@ -313,7 +313,7 @@ bool EditorHelpSearch::Runner::_slice() {
}
bool EditorHelpSearch::Runner::_phase_match_classes_init() {
- iterator_doc = EditorHelp::get_doc_data()->class_list.front();
+ iterator_doc = EditorHelp::get_doc_data()->class_list.begin();
matches.clear();
matched_item = nullptr;
match_highest_score = 0;
@@ -322,11 +322,12 @@ bool EditorHelpSearch::Runner::_phase_match_classes_init() {
}
bool EditorHelpSearch::Runner::_phase_match_classes() {
- DocData::ClassDoc &class_doc = iterator_doc->value();
+ DocData::ClassDoc &class_doc = iterator_doc->value;
+ if (class_doc.name.is_empty()) {
+ return false;
+ }
if (!_is_class_disabled_by_feature_profile(class_doc.name)) {
- matches[class_doc.name] = ClassMatch();
- ClassMatch &match = matches[class_doc.name];
-
+ ClassMatch match;
match.doc = &class_doc;
// Match class name.
@@ -400,16 +401,17 @@ bool EditorHelpSearch::Runner::_phase_match_classes() {
}
}
}
+ matches[class_doc.name] = match;
}
matches[class_doc.name] = match;
}
- iterator_doc = iterator_doc->next();
+ ++iterator_doc;
return !iterator_doc;
}
bool EditorHelpSearch::Runner::_phase_class_items_init() {
- iterator_match = matches.front();
+ iterator_match = matches.begin();
results_tree->clear();
root_item = results_tree->create_item();
@@ -419,7 +421,10 @@ bool EditorHelpSearch::Runner::_phase_class_items_init() {
}
bool EditorHelpSearch::Runner::_phase_class_items() {
- ClassMatch &match = iterator_match->value();
+ if (!iterator_match) {
+ return false;
+ }
+ ClassMatch &match = iterator_match->value;
if (search_flags & SEARCH_SHOW_HIERARCHY) {
if (match.required()) {
@@ -431,18 +436,25 @@ bool EditorHelpSearch::Runner::_phase_class_items() {
}
}
- iterator_match = iterator_match->next();
+ ++iterator_match;
return !iterator_match;
}
bool EditorHelpSearch::Runner::_phase_member_items_init() {
- iterator_match = matches.front();
+ iterator_match = matches.begin();
return true;
}
bool EditorHelpSearch::Runner::_phase_member_items() {
- ClassMatch &match = iterator_match->value();
+ ClassMatch &match = iterator_match->value;
+
+ if (!match.doc) {
+ return false;
+ }
+ if (match.doc->name.is_empty()) {
+ return false;
+ }
TreeItem *parent = (search_flags & SEARCH_SHOW_HIERARCHY) ? class_items[match.doc->name] : root_item;
bool constructor_created = false;
@@ -473,7 +485,7 @@ bool EditorHelpSearch::Runner::_phase_member_items() {
_create_theme_property_item(parent, match.doc, match.theme_properties[i]);
}
- iterator_match = iterator_match->next();
+ ++iterator_match;
return !iterator_match;
}
@@ -511,6 +523,9 @@ void EditorHelpSearch::Runner::_match_item(TreeItem *p_item, const String &p_tex
}
TreeItem *EditorHelpSearch::Runner::_create_class_hierarchy(const ClassMatch &p_match) {
+ if (p_match.doc->name.is_empty()) {
+ return nullptr;
+ }
if (class_items.has(p_match.doc->name)) {
return class_items[p_match.doc->name];
}
@@ -522,7 +537,9 @@ TreeItem *EditorHelpSearch::Runner::_create_class_hierarchy(const ClassMatch &p_
parent = class_items[p_match.doc->inherits];
} else {
ClassMatch &base_match = matches[p_match.doc->inherits];
- parent = _create_class_hierarchy(base_match);
+ if (base_match.doc) {
+ parent = _create_class_hierarchy(base_match);
+ }
}
}
diff --git a/editor/editor_help_search.h b/editor/editor_help_search.h
index 14a8c46a79..3f17c992ac 100644
--- a/editor/editor_help_search.h
+++ b/editor/editor_help_search.h
@@ -31,7 +31,7 @@
#ifndef EDITOR_HELP_SEARCH_H
#define EDITOR_HELP_SEARCH_H
-#include "core/templates/map.h"
+#include "core/templates/rb_map.h"
#include "editor/code_editor.h"
#include "editor/editor_help.h"
#include "editor/editor_plugin.h"
@@ -99,7 +99,7 @@ class EditorHelpSearch::Runner : public RefCounted {
int phase = 0;
struct ClassMatch {
- DocData::ClassDoc *doc;
+ DocData::ClassDoc *doc = nullptr;
bool name = false;
Vector<DocData::MethodDoc *> constructors;
Vector<DocData::MethodDoc *> methods;
@@ -122,11 +122,11 @@ class EditorHelpSearch::Runner : public RefCounted {
Ref<Texture2D> empty_icon;
Color disabled_color;
- Map<String, DocData::ClassDoc>::Element *iterator_doc = nullptr;
- Map<String, ClassMatch> matches;
- Map<String, ClassMatch>::Element *iterator_match = nullptr;
+ HashMap<String, DocData::ClassDoc>::Iterator iterator_doc;
+ HashMap<String, ClassMatch> matches;
+ HashMap<String, ClassMatch>::Iterator iterator_match;
TreeItem *root_item = nullptr;
- Map<String, TreeItem *> class_items;
+ HashMap<String, TreeItem *> class_items;
TreeItem *matched_item = nullptr;
float match_highest_score = 0;
diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp
index 5db1ef4b2b..f534130735 100644
--- a/editor/editor_inspector.cpp
+++ b/editor/editor_inspector.cpp
@@ -839,7 +839,7 @@ void EditorProperty::_update_pin_flags() {
}
pin_hidden = false;
{
- Set<StringName> storable_properties;
+ RBSet<StringName> storable_properties;
node->get_storable_properties(storable_properties);
if (storable_properties.has(node->get_property_store_alias(property))) {
can_pin = true;
@@ -2445,8 +2445,8 @@ void EditorInspector::update_tree() {
object->get_property_list(&plist, true);
_update_script_class_properties(*object, plist);
- Map<VBoxContainer *, HashMap<String, VBoxContainer *>> vbox_per_path;
- Map<String, EditorInspectorArray *> editor_inspector_array_per_prefix;
+ HashMap<VBoxContainer *, HashMap<String, VBoxContainer *>> vbox_per_path;
+ HashMap<String, EditorInspectorArray *> editor_inspector_array_per_prefix;
Color sscolor = get_theme_color(SNAME("prop_subsection"), SNAME("Editor"));
@@ -2563,9 +2563,9 @@ void EditorInspector::update_tree() {
if (!class_descr_cache.has(type2)) {
String descr;
DocTools *dd = EditorHelp::get_doc_data();
- Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(type2);
+ HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(type2);
if (E) {
- descr = DTR(E->get().brief_description);
+ descr = DTR(E->value.brief_description);
}
class_descr_cache[type2] = descr;
}
@@ -2607,9 +2607,9 @@ void EditorInspector::update_tree() {
// First check if we have an array that fits the prefix.
String array_prefix = "";
int array_index = -1;
- for (Map<String, EditorInspectorArray *>::Element *E = editor_inspector_array_per_prefix.front(); E; E = E->next()) {
- if (p.name.begins_with(E->key()) && E->key().length() > array_prefix.length()) {
- array_prefix = E->key();
+ for (KeyValue<String, EditorInspectorArray *> &E : editor_inspector_array_per_prefix) {
+ if (p.name.begins_with(E.key) && E.key.length() > array_prefix.length()) {
+ array_prefix = E.key;
}
}
@@ -2851,39 +2851,39 @@ void EditorInspector::update_tree() {
bool found = false;
// Search for the property description in the cache.
- Map<StringName, Map<StringName, String>>::Element *E = descr_cache.find(classname);
+ HashMap<StringName, HashMap<StringName, String>>::Iterator E = descr_cache.find(classname);
if (E) {
- Map<StringName, String>::Element *F = E->get().find(propname);
+ HashMap<StringName, String>::Iterator F = E->value.find(propname);
if (F) {
found = true;
- descr = F->get();
+ descr = F->value;
}
}
if (!found) {
// Build the property description String and add it to the cache.
DocTools *dd = EditorHelp::get_doc_data();
- Map<String, DocData::ClassDoc>::Element *F = dd->class_list.find(classname);
+ HashMap<String, DocData::ClassDoc>::Iterator F = dd->class_list.find(classname);
while (F && descr.is_empty()) {
- for (int i = 0; i < F->get().properties.size(); i++) {
- if (F->get().properties[i].name == propname.operator String()) {
- descr = DTR(F->get().properties[i].description);
+ for (int i = 0; i < F->value.properties.size(); i++) {
+ if (F->value.properties[i].name == propname.operator String()) {
+ descr = DTR(F->value.properties[i].description);
break;
}
}
Vector<String> slices = propname.operator String().split("/");
if (slices.size() == 2 && slices[0].begins_with("theme_override_")) {
- for (int i = 0; i < F->get().theme_properties.size(); i++) {
- if (F->get().theme_properties[i].name == slices[1]) {
- descr = DTR(F->get().theme_properties[i].description);
+ for (int i = 0; i < F->value.theme_properties.size(); i++) {
+ if (F->value.theme_properties[i].name == slices[1]) {
+ descr = DTR(F->value.theme_properties[i].description);
break;
}
}
}
- if (!F->get().inherits.is_empty()) {
- F = dd->class_list.find(F->get().inherits);
+ if (!F->value.inherits.is_empty()) {
+ F = dd->class_list.find(F->value.inherits);
} else {
break;
}
@@ -3638,7 +3638,7 @@ void EditorInspector::_update_script_class_properties(const Object &p_object, Li
break;
}
- Set<StringName> added;
+ RBSet<StringName> added;
for (const Ref<Script> &s : classes) {
String path = s->get_path();
String name = EditorNode::get_editor_data().script_class_get_name(path);
diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h
index 75536a5a24..7609f4fdcc 100644
--- a/editor/editor_inspector.h
+++ b/editor/editor_inspector.h
@@ -117,7 +117,7 @@ private:
mutable String tooltip_text;
- Map<StringName, Variant> cache;
+ HashMap<StringName, Variant> cache;
GDVIRTUAL0(_update_property)
void _update_pin_flags();
@@ -435,9 +435,9 @@ class EditorInspector : public ScrollContainer {
VBoxContainer *main_vbox = nullptr;
//map use to cache the instantiated editors
- Map<StringName, List<EditorProperty *>> editor_property_map;
+ HashMap<StringName, List<EditorProperty *>> editor_property_map;
List<EditorInspectorSection *> sections;
- Set<StringName> pending;
+ RBSet<StringName> pending;
void _clear();
Object *object = nullptr;
@@ -468,11 +468,11 @@ class EditorInspector : public ScrollContainer {
int property_focusable;
int update_scroll_request;
- Map<StringName, Map<StringName, String>> descr_cache;
- Map<StringName, String> class_descr_cache;
- Set<StringName> restart_request_props;
+ HashMap<StringName, HashMap<StringName, String>> descr_cache;
+ HashMap<StringName, String> class_descr_cache;
+ RBSet<StringName> restart_request_props;
- Map<ObjectID, int> scroll_cache;
+ HashMap<ObjectID, int> scroll_cache;
String property_prefix; //used for sectioned inspector
String object_class;
@@ -496,7 +496,7 @@ class EditorInspector : public ScrollContainer {
void _node_removed(Node *p_node);
- Map<StringName, int> per_array_page;
+ HashMap<StringName, int> per_array_page;
void _page_change_request(int p_new_page, const StringName &p_array_prefix);
void _changed_callback();
diff --git a/editor/editor_log.h b/editor/editor_log.h
index 267ad406d4..de0368501c 100644
--- a/editor/editor_log.h
+++ b/editor/editor_log.h
@@ -115,7 +115,7 @@ private:
Vector<LogMessage> messages;
// Maps MessageTypes to LogFilters for convenient access and storage (don't need 1 member per filter).
- Map<MessageType, LogFilter *> type_filter_map;
+ HashMap<MessageType, LogFilter *> type_filter_map;
RichTextLabel *log = nullptr;
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 3b71c85422..f2baaf8b5c 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -215,12 +215,12 @@ static const String META_TEXT_TO_COPY = "text_to_copy";
void EditorNode::disambiguate_filenames(const Vector<String> p_full_paths, Vector<String> &r_filenames) {
// Keep track of a list of "index sets," i.e. sets of indices
// within disambiguated_scene_names which contain the same name.
- Vector<Set<int>> index_sets;
- Map<String, int> scene_name_to_set_index;
+ Vector<RBSet<int>> index_sets;
+ HashMap<String, int> scene_name_to_set_index;
for (int i = 0; i < r_filenames.size(); i++) {
String scene_name = r_filenames[i];
if (!scene_name_to_set_index.has(scene_name)) {
- index_sets.append(Set<int>());
+ index_sets.append(RBSet<int>());
scene_name_to_set_index.insert(r_filenames[i], index_sets.size() - 1);
}
index_sets.write[scene_name_to_set_index[scene_name]].insert(i);
@@ -228,11 +228,11 @@ void EditorNode::disambiguate_filenames(const Vector<String> p_full_paths, Vecto
// For each index set with a size > 1, we need to disambiguate.
for (int i = 0; i < index_sets.size(); i++) {
- Set<int> iset = index_sets[i];
+ RBSet<int> iset = index_sets[i];
while (iset.size() > 1) {
// Append the parent folder to each scene name.
- for (Set<int>::Element *E = iset.front(); E; E = E->next()) {
- int set_idx = E->get();
+ for (const int &E : iset) {
+ int set_idx = E;
String scene_name = r_filenames[set_idx];
String full_path = p_full_paths[set_idx];
@@ -266,22 +266,22 @@ void EditorNode::disambiguate_filenames(const Vector<String> p_full_paths, Vecto
// Loop back through scene names and remove non-ambiguous names.
bool can_proceed = false;
- Set<int>::Element *E = iset.front();
+ RBSet<int>::Element *E = iset.front();
while (E) {
String scene_name = r_filenames[E->get()];
bool duplicate_found = false;
- for (Set<int>::Element *F = iset.front(); F; F = F->next()) {
- if (E->get() == F->get()) {
+ for (const int &F : iset) {
+ if (E->get() == F) {
continue;
}
- String other_scene_name = r_filenames[F->get()];
+ String other_scene_name = r_filenames[F];
if (other_scene_name == scene_name) {
duplicate_found = true;
break;
}
}
- Set<int>::Element *to_erase = duplicate_found ? nullptr : E;
+ RBSet<int>::Element *to_erase = duplicate_found ? nullptr : E;
// We need to check that we could actually append anymore names
// if we wanted to for disambiguation. If we can't, then we have
@@ -800,7 +800,7 @@ void EditorNode::_notification(int p_what) {
main_editor_buttons.write[i]->add_theme_font_size_override("font_size", gui_base->get_theme_font_size(SNAME("main_button_font_size"), SNAME("EditorFonts")));
}
- Set<String> updated_textfile_extensions;
+ RBSet<String> updated_textfile_extensions;
bool extensions_match = true;
const Vector<String> textfile_ext = ((String)(EditorSettings::get_singleton()->get("docks/filesystem/textfile_extensions"))).split(",", false);
for (const String &E : textfile_ext) {
@@ -907,12 +907,12 @@ void EditorNode::_resources_changed(const Vector<String> &p_resources) {
}
void EditorNode::_fs_changed() {
- for (Set<FileDialog *>::Element *E = file_dialogs.front(); E; E = E->next()) {
- E->get()->invalidate();
+ for (FileDialog *E : file_dialogs) {
+ E->invalidate();
}
- for (Set<EditorFileDialog *>::Element *E = editor_file_dialogs.front(); E; E = E->next()) {
- E->get()->invalidate();
+ for (EditorFileDialog *E : editor_file_dialogs) {
+ E->invalidate();
}
_mark_unsaved_scenes();
@@ -1185,8 +1185,8 @@ Error EditorNode::load_resource(const String &p_resource, bool p_ignore_broken_d
if (!p_ignore_broken_deps && dependency_errors.has(p_resource)) {
Vector<String> errors;
- for (Set<String>::Element *E = dependency_errors[p_resource].front(); E; E = E->next()) {
- errors.push_back(E->get());
+ for (const String &E : dependency_errors[p_resource]) {
+ errors.push_back(E);
}
dependency_error->show(DependencyErrorDialog::MODE_RESOURCE, p_resource, errors);
dependency_errors.erase(p_resource);
@@ -1417,7 +1417,7 @@ void EditorNode::_set_scene_metadata(const String &p_file, int p_idx) {
ERR_FAIL_COND_MSG(err != OK, "Cannot save config file to '" + path + "'.");
}
-bool EditorNode::_find_and_save_resource(Ref<Resource> p_res, Map<Ref<Resource>, bool> &processed, int32_t flags) {
+bool EditorNode::_find_and_save_resource(Ref<Resource> p_res, HashMap<Ref<Resource>, bool> &processed, int32_t flags) {
if (p_res.is_null()) {
return false;
}
@@ -1443,7 +1443,7 @@ bool EditorNode::_find_and_save_resource(Ref<Resource> p_res, Map<Ref<Resource>,
}
}
-bool EditorNode::_find_and_save_edited_subresources(Object *obj, Map<Ref<Resource>, bool> &processed, int32_t flags) {
+bool EditorNode::_find_and_save_edited_subresources(Object *obj, HashMap<Ref<Resource>, bool> &processed, int32_t flags) {
bool ret_changed = false;
List<PropertyInfo> pi;
obj->get_property_list(&pi);
@@ -1493,7 +1493,7 @@ bool EditorNode::_find_and_save_edited_subresources(Object *obj, Map<Ref<Resourc
return ret_changed;
}
-void EditorNode::_save_edited_subresources(Node *scene, Map<Ref<Resource>, bool> &processed, int32_t flags) {
+void EditorNode::_save_edited_subresources(Node *scene, HashMap<Ref<Resource>, bool> &processed, int32_t flags) {
_find_and_save_edited_subresources(scene, processed, flags);
for (int i = 0; i < scene->get_child_count(); i++) {
@@ -1622,7 +1622,7 @@ bool EditorNode::_validate_scene_recursive(const String &p_filename, Node *p_nod
return false;
}
-static bool _find_edited_resources(const Ref<Resource> &p_resource, Set<Ref<Resource>> &edited_resources) {
+static bool _find_edited_resources(const Ref<Resource> &p_resource, RBSet<Ref<Resource>> &edited_resources) {
if (p_resource->is_edited()) {
edited_resources.insert(p_resource);
return true;
@@ -1659,7 +1659,7 @@ int EditorNode::_save_external_resources() {
}
flg |= ResourceSaver::FLAG_REPLACE_SUBRESOURCE_PATHS;
- Set<Ref<Resource>> edited_subresources;
+ RBSet<Ref<Resource>> edited_subresources;
int saved = 0;
List<Ref<Resource>> cached;
ResourceCache::get_cached_resources(&cached);
@@ -1677,8 +1677,8 @@ int EditorNode::_save_external_resources() {
// Clear later, because user may have put the same subresource in two different resources,
// which will be shared until the next reload.
- for (Set<Ref<Resource>>::Element *E = edited_subresources.front(); E; E = E->next()) {
- Ref<Resource> res = E->get();
+ for (const Ref<Resource> &E : edited_subresources) {
+ Ref<Resource> res = E;
res->set_edited(false);
}
@@ -2125,7 +2125,7 @@ void EditorNode::_save_default_environment() {
Ref<Environment> fallback = get_tree()->get_root()->get_world_3d()->get_fallback_environment();
if (fallback.is_valid() && fallback->get_path().is_resource_file()) {
- Map<Ref<Resource>, bool> processed;
+ HashMap<Ref<Resource>, bool> processed;
_find_and_save_edited_subresources(fallback.ptr(), processed, 0);
save_resource_in_path(fallback, fallback->get_path());
}
@@ -2303,7 +2303,7 @@ void EditorNode::_edit_current(bool p_skip_foreign) {
if (main_plugin) {
// Special case if use of external editor is true.
Resource *current_res = Object::cast_to<Resource>(current_obj);
- if (main_plugin->get_name() == "Script" && current_obj->is_class("VisualScript") && current_res && !current_res->is_built_in() && (bool(EditorSettings::get_singleton()->get("text_editor/external/use_external_editor")) || overrides_external_editor(current_obj))) {
+ if (main_plugin->get_name() == "Script" && !current_obj->is_class("VisualScript") && current_res && !current_res->is_built_in() && (bool(EditorSettings::get_singleton()->get("text_editor/external/use_external_editor")) || overrides_external_editor(current_obj))) {
if (!changing_scene) {
main_plugin->edit(current_obj);
}
@@ -3663,8 +3663,8 @@ Error EditorNode::load_scene(const String &p_scene, bool p_ignore_broken_deps, b
if (!p_ignore_broken_deps && dependency_errors.has(lpath)) {
current_menu_option = -1;
Vector<String> errors;
- for (Set<String>::Element *E = dependency_errors[lpath].front(); E; E = E->next()) {
- errors.push_back(E->get());
+ for (const String &E : dependency_errors[lpath]) {
+ errors.push_back(E);
}
dependency_error->show(DependencyErrorDialog::MODE_SCENE, lpath, errors);
opening_prev = false;
@@ -3678,10 +3678,10 @@ Error EditorNode::load_scene(const String &p_scene, bool p_ignore_broken_deps, b
dependency_errors.erase(lpath); // At least not self path.
- for (KeyValue<String, Set<String>> &E : dependency_errors) {
+ for (KeyValue<String, RBSet<String>> &E : dependency_errors) {
String txt = vformat(TTR("Scene '%s' has broken dependencies:"), E.key) + "\n";
- for (Set<String>::Element *F = E.value.front(); F; F = F->next()) {
- txt += "\t" + F->get() + "\n";
+ for (const String &F : E.value) {
+ txt += "\t" + F + "\n";
}
add_io_error(txt);
}
@@ -4143,7 +4143,7 @@ Ref<Texture2D> EditorNode::get_class_icon(const String &p_class, const String &p
}
}
- const Map<String, Vector<EditorData::CustomType>> &p_map = EditorNode::get_editor_data().get_custom_types();
+ const HashMap<String, Vector<EditorData::CustomType>> &p_map = EditorNode::get_editor_data().get_custom_types();
for (const KeyValue<String, Vector<EditorData::CustomType>> &E : p_map) {
const Vector<EditorData::CustomType> &ct = E.value;
for (int i = 0; i < ct.size(); ++i) {
diff --git a/editor/editor_node.h b/editor/editor_node.h
index 0d154123b3..9cd96050e3 100644
--- a/editor/editor_node.h
+++ b/editor/editor_node.h
@@ -273,7 +273,7 @@ private:
Vector<EditorPlugin *> editor_plugins;
bool _initializing_plugins = false;
- Map<String, EditorPlugin *> addon_name_to_plugin;
+ HashMap<String, EditorPlugin *> addon_name_to_plugin;
PanelContainer *scene_root_parent = nullptr;
Control *theme_base = nullptr;
@@ -394,7 +394,7 @@ private:
BackgroundProgress *progress_hb = nullptr;
DependencyErrorDialog *dependency_error = nullptr;
- Map<String, Set<String>> dependency_errors;
+ HashMap<String, RBSet<String>> dependency_errors;
DependencyEditor *dependency_fixer = nullptr;
OrphanResourcesDialog *orphan_resources = nullptr;
ConfirmationDialog *open_imported = nullptr;
@@ -470,15 +470,15 @@ private:
String import_reload_fn;
- Set<String> textfile_extensions;
- Set<FileDialog *> file_dialogs;
- Set<EditorFileDialog *> editor_file_dialogs;
+ RBSet<String> textfile_extensions;
+ RBSet<FileDialog *> file_dialogs;
+ RBSet<EditorFileDialog *> editor_file_dialogs;
Vector<Ref<EditorResourceConversionPlugin>> resource_conversion_plugins;
PrintHandlerList print_handler;
- Map<String, Ref<Texture2D>> icon_type_cache;
- Map<Ref<Script>, Ref<Texture>> script_icon_cache;
+ HashMap<String, Ref<Texture2D>> icon_type_cache;
+ HashMap<Ref<Script>, Ref<Texture>> script_icon_cache;
static EditorBuildCallback build_callbacks[MAX_BUILD_CALLBACKS];
static EditorPluginInitializeCallback plugin_init_callbacks[MAX_INIT_CALLBACKS];
@@ -489,7 +489,7 @@ private:
static void _dependency_error_report(void *ud, const String &p_path, const String &p_dep, const String &p_type) {
EditorNode *en = static_cast<EditorNode *>(ud);
if (!en->dependency_errors.has(p_path)) {
- en->dependency_errors[p_path] = Set<String>();
+ en->dependency_errors[p_path] = RBSet<String>();
}
en->dependency_errors[p_path].insert(p_dep + "::" + p_type);
}
@@ -594,9 +594,9 @@ private:
void _remove_edited_scene(bool p_change_tab = true);
void _remove_scene(int index, bool p_change_tab = true);
- bool _find_and_save_resource(Ref<Resource> p_res, Map<Ref<Resource>, bool> &processed, int32_t flags);
- bool _find_and_save_edited_subresources(Object *obj, Map<Ref<Resource>, bool> &processed, int32_t flags);
- void _save_edited_subresources(Node *scene, Map<Ref<Resource>, bool> &processed, int32_t flags);
+ bool _find_and_save_resource(Ref<Resource> p_res, HashMap<Ref<Resource>, bool> &processed, int32_t flags);
+ bool _find_and_save_edited_subresources(Object *obj, HashMap<Ref<Resource>, bool> &processed, int32_t flags);
+ void _save_edited_subresources(Node *scene, HashMap<Ref<Resource>, bool> &processed, int32_t flags);
void _mark_unsaved_scenes();
void _find_node_types(Node *p_node, int &count_2d, int &count_3d);
diff --git a/editor/editor_property_name_processor.cpp b/editor/editor_property_name_processor.cpp
index 1e222c02a3..ba6585dfcc 100644
--- a/editor/editor_property_name_processor.cpp
+++ b/editor/editor_property_name_processor.cpp
@@ -57,16 +57,16 @@ bool EditorPropertyNameProcessor::is_localization_available() {
}
String EditorPropertyNameProcessor::_capitalize_name(const String &p_name) const {
- const Map<String, String>::Element *cached = capitalize_string_cache.find(p_name);
+ HashMap<String, String>::ConstIterator cached = capitalize_string_cache.find(p_name);
if (cached) {
- return cached->value();
+ return cached->value;
}
Vector<String> parts = p_name.split("_", false);
for (int i = 0; i < parts.size(); i++) {
- const Map<String, String>::Element *remap = capitalize_string_remaps.find(parts[i]);
+ HashMap<String, String>::ConstIterator remap = capitalize_string_remaps.find(parts[i]);
if (remap) {
- parts.write[i] = remap->get();
+ parts.write[i] = remap->value;
} else {
parts.write[i] = parts[i].capitalize();
}
@@ -207,6 +207,7 @@ EditorPropertyNameProcessor::EditorPropertyNameProcessor() {
capitalize_string_remaps["ssh"] = "SSH";
capitalize_string_remaps["ssil"] = "SSIL";
capitalize_string_remaps["ssl"] = "SSL";
+ capitalize_string_remaps["sss"] = "SSS";
capitalize_string_remaps["stderr"] = "stderr";
capitalize_string_remaps["stdout"] = "stdout";
capitalize_string_remaps["sv"] = "SV";
diff --git a/editor/editor_property_name_processor.h b/editor/editor_property_name_processor.h
index 351736550f..37d905c806 100644
--- a/editor/editor_property_name_processor.h
+++ b/editor/editor_property_name_processor.h
@@ -38,8 +38,8 @@ class EditorPropertyNameProcessor : public Node {
static EditorPropertyNameProcessor *singleton;
- mutable Map<String, String> capitalize_string_cache;
- Map<String, String> capitalize_string_remaps;
+ mutable HashMap<String, String> capitalize_string_cache;
+ HashMap<String, String> capitalize_string_remaps;
// Capitalizes property path segments.
String _capitalize_name(const String &p_name) const;
diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp
index 3158c03dcc..cb3000ee88 100644
--- a/editor/editor_resource_picker.cpp
+++ b/editor/editor_resource_picker.cpp
@@ -240,7 +240,7 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
ResourceLoader::get_recognized_extensions_for_type(base, &extensions);
}
- Set<String> valid_extensions;
+ RBSet<String> valid_extensions;
for (const String &E : extensions) {
valid_extensions.insert(E);
}
@@ -253,8 +253,8 @@ void EditorResourcePicker::_edit_menu_cbk(int p_which) {
}
file_dialog->clear_filters();
- for (Set<String>::Element *E = valid_extensions.front(); E; E = E->next()) {
- file_dialog->add_filter("*." + E->get() + " ; " + E->get().to_upper());
+ for (const String &E : valid_extensions) {
+ file_dialog->add_filter("*." + E + " ; " + E.to_upper());
}
file_dialog->popup_file_dialog();
@@ -409,7 +409,7 @@ void EditorResourcePicker::set_create_options(Object *p_menu_node) {
if (!base_type.is_empty()) {
int idx = 0;
- Set<String> allowed_types;
+ RBSet<String> allowed_types;
_get_allowed_types(false, &allowed_types);
Vector<EditorData::CustomType> custom_resources;
@@ -417,8 +417,8 @@ void EditorResourcePicker::set_create_options(Object *p_menu_node) {
custom_resources = EditorNode::get_editor_data().get_custom_types()["Resource"];
}
- for (Set<String>::Element *E = allowed_types.front(); E; E = E->next()) {
- const String &t = E->get();
+ for (const String &E : allowed_types) {
+ const String &t = E;
bool is_custom_resource = false;
Ref<Texture2D> icon;
@@ -491,7 +491,7 @@ void EditorResourcePicker::_button_input(const Ref<InputEvent> &p_event) {
}
}
-void EditorResourcePicker::_get_allowed_types(bool p_with_convert, Set<String> *p_vector) const {
+void EditorResourcePicker::_get_allowed_types(bool p_with_convert, RBSet<String> *p_vector) const {
Vector<String> allowed_types = base_type.split(",");
int size = allowed_types.size();
@@ -568,7 +568,7 @@ bool EditorResourcePicker::_is_drop_valid(const Dictionary &p_drag_data) const {
res = drag_data["resource"];
}
- Set<String> allowed_types;
+ RBSet<String> allowed_types;
_get_allowed_types(true, &allowed_types);
if (res.is_valid() && _is_type_valid(res->get_class(), allowed_types)) {
@@ -598,9 +598,9 @@ bool EditorResourcePicker::_is_drop_valid(const Dictionary &p_drag_data) const {
return false;
}
-bool EditorResourcePicker::_is_type_valid(const String p_type_name, Set<String> p_allowed_types) const {
- for (Set<String>::Element *E = p_allowed_types.front(); E; E = E->next()) {
- String at = E->get().strip_edges();
+bool EditorResourcePicker::_is_type_valid(const String p_type_name, RBSet<String> p_allowed_types) const {
+ for (const String &E : p_allowed_types) {
+ String at = E.strip_edges();
if (p_type_name == at || ClassDB::is_parent_class(p_type_name, at) || EditorNode::get_editor_data().script_class_is_parent(p_type_name, at)) {
return true;
}
@@ -646,13 +646,13 @@ void EditorResourcePicker::drop_data_fw(const Point2 &p_point, const Variant &p_
}
if (dropped_resource.is_valid()) {
- Set<String> allowed_types;
+ RBSet<String> allowed_types;
_get_allowed_types(false, &allowed_types);
// If the accepted dropped resource is from the extended list, it requires conversion.
if (!_is_type_valid(dropped_resource->get_class(), allowed_types)) {
- for (Set<String>::Element *E = allowed_types.front(); E; E = E->next()) {
- String at = E->get().strip_edges();
+ for (const String &E : allowed_types) {
+ String at = E.strip_edges();
if (at == "BaseMaterial3D" && Ref<Texture2D>(dropped_resource).is_valid()) {
// Use existing resource if possible and only replace its data.
@@ -768,7 +768,7 @@ void EditorResourcePicker::set_base_type(const String &p_base_type) {
// There is a possibility that the new base type is conflicting with the existing value.
// Keep the value, but warn the user that there is a potential mistake.
if (!base_type.is_empty() && edited_resource.is_valid()) {
- Set<String> allowed_types;
+ RBSet<String> allowed_types;
_get_allowed_types(true, &allowed_types);
StringName custom_class;
@@ -784,7 +784,7 @@ void EditorResourcePicker::set_base_type(const String &p_base_type) {
}
} else {
// Call the method to build the cache immediately.
- Set<String> allowed_types;
+ RBSet<String> allowed_types;
_get_allowed_types(false, &allowed_types);
}
}
@@ -794,7 +794,7 @@ String EditorResourcePicker::get_base_type() const {
}
Vector<String> EditorResourcePicker::get_allowed_types() const {
- Set<String> allowed_types;
+ RBSet<String> allowed_types;
_get_allowed_types(false, &allowed_types);
Vector<String> types;
@@ -802,7 +802,7 @@ Vector<String> EditorResourcePicker::get_allowed_types() const {
int i = 0;
String *w = types.ptrw();
- for (Set<String>::Element *E = allowed_types.front(); E; E = E->next(), i++) {
+ for (RBSet<String>::Element *E = allowed_types.front(); E; E = E->next(), i++) {
w[i] = E->get();
}
@@ -817,7 +817,7 @@ void EditorResourcePicker::set_edited_resource(Ref<Resource> p_resource) {
}
if (!base_type.is_empty()) {
- Set<String> allowed_types;
+ RBSet<String> allowed_types;
_get_allowed_types(true, &allowed_types);
StringName custom_class;
diff --git a/editor/editor_resource_picker.h b/editor/editor_resource_picker.h
index e63280e3b6..f2dc45513d 100644
--- a/editor/editor_resource_picker.h
+++ b/editor/editor_resource_picker.h
@@ -89,9 +89,9 @@ class EditorResourcePicker : public HBoxContainer {
void _button_draw();
void _button_input(const Ref<InputEvent> &p_event);
- void _get_allowed_types(bool p_with_convert, Set<String> *p_vector) const;
+ void _get_allowed_types(bool p_with_convert, RBSet<String> *p_vector) const;
bool _is_drop_valid(const Dictionary &p_drag_data) const;
- bool _is_type_valid(const String p_type_name, Set<String> p_allowed_types) const;
+ bool _is_type_valid(const String p_type_name, RBSet<String> p_allowed_types) const;
Variant get_drag_data_fw(const Point2 &p_point, Control *p_from);
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
diff --git a/editor/editor_resource_preview.h b/editor/editor_resource_preview.h
index 4e91df8e08..820e22bdc8 100644
--- a/editor/editor_resource_preview.h
+++ b/editor/editor_resource_preview.h
@@ -91,7 +91,7 @@ class EditorResourcePreview : public Node {
int order;
- Map<String, Item> cache;
+ HashMap<String, Item> cache;
void _preview_ready(const String &p_str, const Ref<Texture2D> &p_texture, const Ref<Texture2D> &p_small_texture, ObjectID id, const StringName &p_func, const Variant &p_ud);
void _generate_preview(Ref<ImageTexture> &r_texture, Ref<ImageTexture> &r_small_texture, const QueueItem &p_item, const String &cache_base);
diff --git a/editor/editor_run_native.h b/editor/editor_run_native.h
index 4cb5779350..798a0371a4 100644
--- a/editor/editor_run_native.h
+++ b/editor/editor_run_native.h
@@ -37,7 +37,7 @@
class EditorRunNative : public HBoxContainer {
GDCLASS(EditorRunNative, HBoxContainer);
- Map<int, MenuButton *> menus;
+ HashMap<int, MenuButton *> menus;
bool first = true;
int resume_idx;
diff --git a/editor/editor_sectioned_inspector.h b/editor/editor_sectioned_inspector.h
index 0ccffa0048..babd11eb69 100644
--- a/editor/editor_sectioned_inspector.h
+++ b/editor/editor_sectioned_inspector.h
@@ -45,7 +45,7 @@ class SectionedInspector : public HSplitContainer {
Tree *sections = nullptr;
SectionedInspectorFilter *filter = nullptr;
- Map<String, TreeItem *> section_map;
+ HashMap<String, TreeItem *> section_map;
EditorInspector *inspector = nullptr;
LineEdit *search_box = nullptr;
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index 5d846028c5..5160492e51 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -244,7 +244,7 @@ struct _EVCSort {
void EditorSettings::_get_property_list(List<PropertyInfo> *p_list) const {
_THREAD_SAFE_METHOD_
- Set<_EVCSort> vclist;
+ RBSet<_EVCSort> vclist;
for (const KeyValue<String, VariantContainer> &E : props) {
const VariantContainer *v = &E.value;
@@ -268,25 +268,25 @@ void EditorSettings::_get_property_list(List<PropertyInfo> *p_list) const {
vclist.insert(vc);
}
- for (Set<_EVCSort>::Element *E = vclist.front(); E; E = E->next()) {
+ for (const _EVCSort &E : vclist) {
uint32_t pusage = PROPERTY_USAGE_NONE;
- if (E->get().save || !optimize_save) {
+ if (E.save || !optimize_save) {
pusage |= PROPERTY_USAGE_STORAGE;
}
- if (!E->get().name.begins_with("_") && !E->get().name.begins_with("projects/")) {
+ if (!E.name.begins_with("_") && !E.name.begins_with("projects/")) {
pusage |= PROPERTY_USAGE_EDITOR;
} else {
pusage |= PROPERTY_USAGE_STORAGE; //hiddens must always be saved
}
- PropertyInfo pi(E->get().type, E->get().name);
+ PropertyInfo pi(E.type, E.name);
pi.usage = pusage;
- if (hints.has(E->get().name)) {
- pi = hints[E->get().name];
+ if (hints.has(E.name)) {
+ pi = hints[E.name];
}
- if (E->get().restart_if_changed) {
+ if (E.restart_if_changed) {
pi.usage |= PROPERTY_USAGE_RESTART_IF_CHANGED;
}
@@ -681,6 +681,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
// Visual editors
EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "editors/visual_editors/minimap_opacity", 0.85, "0.0,1.0,0.01")
+ EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "editors/visual_editors/visualshader/port_preview_size", 160, "100,400,0.01")
/* Run */
@@ -1399,32 +1400,32 @@ void EditorSettings::add_shortcut(const String &p_name, const Ref<Shortcut> &p_s
}
bool EditorSettings::is_shortcut(const String &p_name, const Ref<InputEvent> &p_event) const {
- const Map<String, Ref<Shortcut>>::Element *E = shortcuts.find(p_name);
+ HashMap<String, Ref<Shortcut>>::ConstIterator E = shortcuts.find(p_name);
ERR_FAIL_COND_V_MSG(!E, false, "Unknown Shortcut: " + p_name + ".");
- return E->get()->matches_event(p_event);
+ return E->value->matches_event(p_event);
}
Ref<Shortcut> EditorSettings::get_shortcut(const String &p_name) const {
- const Map<String, Ref<Shortcut>>::Element *SC = shortcuts.find(p_name);
+ HashMap<String, Ref<Shortcut>>::ConstIterator SC = shortcuts.find(p_name);
if (SC) {
- return SC->get();
+ return SC->value;
}
// If no shortcut with the provided name is found in the list, check the built-in shortcuts.
// Use the first item in the action list for the shortcut event, since a shortcut can only have 1 linked event.
Ref<Shortcut> sc;
- const Map<String, List<Ref<InputEvent>>>::Element *builtin_override = builtin_action_overrides.find(p_name);
+ HashMap<String, List<Ref<InputEvent>>>::ConstIterator builtin_override = builtin_action_overrides.find(p_name);
if (builtin_override) {
sc.instantiate();
- sc->set_events_list(&builtin_override->get());
+ sc->set_events_list(&builtin_override->value);
sc->set_name(InputMap::get_singleton()->get_builtin_display_name(p_name));
}
// If there was no override, check the default builtins to see if it has an InputEvent for the provided name.
if (sc.is_null()) {
- const HashMap<String, List<Ref<InputEvent>>>::ConstIterator builtin_default = InputMap::get_singleton()->get_builtins_with_feature_overrides_applied().find(p_name);
+ HashMap<String, List<Ref<InputEvent>>>::ConstIterator builtin_default = InputMap::get_singleton()->get_builtins_with_feature_overrides_applied().find(p_name);
if (builtin_default) {
sc.instantiate();
sc->set_events_list(&builtin_default->value);
@@ -1606,11 +1607,11 @@ void EditorSettings::set_builtin_action_override(const String &p_name, const Arr
}
const Array EditorSettings::get_builtin_action_overrides(const String &p_name) const {
- const Map<String, List<Ref<InputEvent>>>::Element *AO = builtin_action_overrides.find(p_name);
+ HashMap<String, List<Ref<InputEvent>>>::ConstIterator AO = builtin_action_overrides.find(p_name);
if (AO) {
Array event_array;
- List<Ref<InputEvent>> events_list = AO->get();
+ List<Ref<InputEvent>> events_list = AO->value;
for (const Ref<InputEvent> &E : events_list) {
event_array.push_back(E);
}
diff --git a/editor/editor_settings.h b/editor/editor_settings.h
index d1b9cabfb7..e270a882e2 100644
--- a/editor/editor_settings.h
+++ b/editor/editor_settings.h
@@ -77,15 +77,15 @@ private:
static Ref<EditorSettings> singleton;
- Set<String> changed_settings;
+ RBSet<String> changed_settings;
HashMap<String, PropertyInfo> hints;
HashMap<String, VariantContainer> props;
int last_order;
Ref<Resource> clipboard;
- mutable Map<String, Ref<Shortcut>> shortcuts;
- Map<String, List<Ref<InputEvent>>> builtin_action_overrides;
+ mutable HashMap<String, Ref<Shortcut>> shortcuts;
+ HashMap<String, List<Ref<InputEvent>>> builtin_action_overrides;
String config_file_path;
diff --git a/editor/editor_settings_dialog.cpp b/editor/editor_settings_dialog.cpp
index 94775f8c76..fd578bd365 100644
--- a/editor/editor_settings_dialog.cpp
+++ b/editor/editor_settings_dialog.cpp
@@ -327,7 +327,7 @@ void EditorSettingsDialog::_create_shortcut_treeitem(TreeItem *p_parent, const S
void EditorSettingsDialog::_update_shortcuts() {
// Before clearing the tree, take note of which categories are collapsed so that this state can be maintained when the tree is repopulated.
- Map<String, bool> collapsed;
+ HashMap<String, bool> collapsed;
if (shortcuts->get_root() && shortcuts->get_root()->get_first_child()) {
TreeItem *ti = shortcuts->get_root()->get_first_child();
@@ -359,7 +359,7 @@ void EditorSettingsDialog::_update_shortcuts() {
shortcuts->clear();
TreeItem *root = shortcuts->create_item();
- Map<String, TreeItem *> sections;
+ HashMap<String, TreeItem *> sections;
// Set up section for Common/Built-in actions
TreeItem *common_section = shortcuts->create_item(root);
diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp
index ec8130e862..09e407de57 100644
--- a/editor/editor_spin_slider.cpp
+++ b/editor/editor_spin_slider.cpp
@@ -627,10 +627,14 @@ void EditorSpinSlider::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_flat", "flat"), &EditorSpinSlider::set_flat);
ClassDB::bind_method(D_METHOD("is_flat"), &EditorSpinSlider::is_flat);
+ ClassDB::bind_method(D_METHOD("set_hide_slider", "hide_slider"), &EditorSpinSlider::set_hide_slider);
+ ClassDB::bind_method(D_METHOD("is_hiding_slider"), &EditorSpinSlider::is_hiding_slider);
+
ADD_PROPERTY(PropertyInfo(Variant::STRING, "label"), "set_label", "get_label");
ADD_PROPERTY(PropertyInfo(Variant::STRING, "suffix"), "set_suffix", "get_suffix");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "read_only"), "set_read_only", "is_read_only");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "flat"), "set_flat", "is_flat");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "hide_slider"), "set_hide_slider", "is_hiding_slider");
}
void EditorSpinSlider::_ensure_input_popup() {
diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp
index 0400aa74b5..3b159d9f3d 100644
--- a/editor/editor_themes.cpp
+++ b/editor/editor_themes.cpp
@@ -148,7 +148,7 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme =
// The names of the icons to never convert, even if one of their colors
// are contained in the dictionary above.
- Set<StringName> exceptions;
+ RBSet<StringName> exceptions;
// Some of the colors below are listed for completeness sake.
// This can be a basis for proper palette validation later.
@@ -290,7 +290,7 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme =
// Use the accent color for some icons (checkbox, radio, toggle, etc.).
Dictionary accent_color_icon_color_dictionary;
- Set<StringName> accent_color_icons;
+ RBSet<StringName> accent_color_icons;
const Color accent_color = p_theme->get_color(SNAME("accent_color"), SNAME("Editor"));
accent_color_icon_color_dictionary[Color::html("699ce8")] = accent_color;
@@ -741,17 +741,28 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("pressed", "EditorLogFilterButton", editor_log_button_pressed);
// OptionButton
- theme->set_stylebox("focus", "OptionButton", style_widget_focus);
-
+ Ref<StyleBoxFlat> style_option_button_focus = style_widget_focus->duplicate();
+ Ref<StyleBoxFlat> style_option_button_normal = style_widget->duplicate();
+ Ref<StyleBoxFlat> style_option_button_hover = style_widget_hover->duplicate();
+ Ref<StyleBoxFlat> style_option_button_pressed = style_widget_pressed->duplicate();
+ Ref<StyleBoxFlat> style_option_button_disabled = style_widget_disabled->duplicate();
+
+ style_option_button_focus->set_default_margin(SIDE_RIGHT, 4 * EDSCALE);
+ style_option_button_normal->set_default_margin(SIDE_RIGHT, 4 * EDSCALE);
+ style_option_button_hover->set_default_margin(SIDE_RIGHT, 4 * EDSCALE);
+ style_option_button_pressed->set_default_margin(SIDE_RIGHT, 4 * EDSCALE);
+ style_option_button_disabled->set_default_margin(SIDE_RIGHT, 4 * EDSCALE);
+
+ theme->set_stylebox("focus", "OptionButton", style_option_button_focus);
theme->set_stylebox("normal", "OptionButton", style_widget);
theme->set_stylebox("hover", "OptionButton", style_widget_hover);
theme->set_stylebox("pressed", "OptionButton", style_widget_pressed);
theme->set_stylebox("disabled", "OptionButton", style_widget_disabled);
- theme->set_stylebox("normal_mirrored", "OptionButton", style_widget);
- theme->set_stylebox("hover_mirrored", "OptionButton", style_widget_hover);
- theme->set_stylebox("pressed_mirrored", "OptionButton", style_widget_pressed);
- theme->set_stylebox("disabled_mirrored", "OptionButton", style_widget_disabled);
+ theme->set_stylebox("normal_mirrored", "OptionButton", style_option_button_normal);
+ theme->set_stylebox("hover_mirrored", "OptionButton", style_option_button_hover);
+ theme->set_stylebox("pressed_mirrored", "OptionButton", style_option_button_pressed);
+ theme->set_stylebox("disabled_mirrored", "OptionButton", style_option_button_disabled);
theme->set_color("font_color", "OptionButton", font_color);
theme->set_color("font_hover_color", "OptionButton", font_hover_color);
@@ -1435,7 +1446,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
style_minimap_node = make_flat_stylebox(Color(0, 0, 0), 0, 0, 0, 0);
}
style_minimap_camera->set_border_width_all(1);
- style_minimap_node->set_corner_radius_all(1);
theme->set_stylebox("camera", "GraphEditMinimap", style_minimap_camera);
theme->set_stylebox("node", "GraphEditMinimap", style_minimap_node);
@@ -1450,20 +1460,26 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("resizer_color", "GraphEditMinimap", minimap_resizer_color);
// GraphNode
- const int gn_margin_side = 28;
+ const int gn_margin_side = 2;
+ const int gn_margin_bottom = 2;
- Ref<StyleBoxFlat> graphsb = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.7), gn_margin_side, 24, gn_margin_side, 5, corner_width);
+ Color graphnode_bg = dark_color_3;
+ if (!dark_theme) {
+ graphnode_bg = prop_section_color;
+ }
+
+ Ref<StyleBoxFlat> graphsb = make_flat_stylebox(graphnode_bg.lerp(style_tree_bg->get_bg_color(), 0.3), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width);
graphsb->set_border_width_all(border_width);
- graphsb->set_border_color(dark_color_3);
- Ref<StyleBoxFlat> graphsbselected = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.9), gn_margin_side, 24, gn_margin_side, 5, corner_width);
+ graphsb->set_border_color(graphnode_bg);
+ Ref<StyleBoxFlat> graphsbselected = make_flat_stylebox(graphnode_bg * Color(1, 1, 1, 1), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width);
graphsbselected->set_border_width_all(2 * EDSCALE + border_width);
- graphsbselected->set_border_color(Color(accent_color.r, accent_color.g, accent_color.b, 0.9));
- Ref<StyleBoxFlat> graphsbcomment = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.3), gn_margin_side, 24, gn_margin_side, 5, corner_width);
+ graphsbselected->set_border_color(Color(accent_color.r, accent_color.g, accent_color.b, 0.6));
+ Ref<StyleBoxFlat> graphsbcomment = make_flat_stylebox(graphnode_bg * Color(1, 1, 1, 0.3), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width);
graphsbcomment->set_border_width_all(border_width);
- graphsbcomment->set_border_color(dark_color_3);
- Ref<StyleBoxFlat> graphsbcommentselected = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.4), gn_margin_side, 24, gn_margin_side, 5, corner_width);
+ graphsbcomment->set_border_color(graphnode_bg);
+ Ref<StyleBoxFlat> graphsbcommentselected = make_flat_stylebox(graphnode_bg * Color(1, 1, 1, 0.4), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width);
graphsbcommentselected->set_border_width_all(border_width);
- graphsbcommentselected->set_border_color(dark_color_3);
+ graphsbcommentselected->set_border_color(graphnode_bg);
Ref<StyleBoxFlat> graphsbbreakpoint = graphsbselected->duplicate();
graphsbbreakpoint->set_draw_center(false);
graphsbbreakpoint->set_border_color(warning_color);
@@ -1472,10 +1488,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
graphsbposition->set_draw_center(false);
graphsbposition->set_border_color(error_color);
graphsbposition->set_shadow_color(error_color * Color(1.0, 1.0, 1.0, 0.2));
- Ref<StyleBoxFlat> smgraphsb = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.7), gn_margin_side, 24, gn_margin_side, 5, corner_width);
+ Ref<StyleBoxEmpty> graphsbslot = make_empty_stylebox(12, 0, 12, 0);
+ Ref<StyleBoxFlat> smgraphsb = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.7), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width);
smgraphsb->set_border_width_all(border_width);
- smgraphsb->set_border_color(dark_color_3);
- Ref<StyleBoxFlat> smgraphsbselected = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.9), gn_margin_side, 24, gn_margin_side, 5, corner_width);
+ smgraphsb->set_border_color(graphnode_bg);
+ Ref<StyleBoxFlat> smgraphsbselected = make_flat_stylebox(graphnode_bg * Color(1, 1, 1, 0.9), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width);
smgraphsbselected->set_border_width_all(2 * EDSCALE + border_width);
smgraphsbselected->set_border_color(Color(accent_color.r, accent_color.g, accent_color.b, 0.9));
smgraphsbselected->set_shadow_size(8 * EDSCALE);
@@ -1492,19 +1509,20 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("comment_focus", "GraphNode", graphsbcommentselected);
theme->set_stylebox("breakpoint", "GraphNode", graphsbbreakpoint);
theme->set_stylebox("position", "GraphNode", graphsbposition);
+ theme->set_stylebox("slot", "GraphNode", graphsbslot);
theme->set_stylebox("state_machine_frame", "GraphNode", smgraphsb);
theme->set_stylebox("state_machine_selected_frame", "GraphNode", smgraphsbselected);
- Color default_node_color = dark_color_1.inverted();
- theme->set_color("title_color", "GraphNode", default_node_color);
- default_node_color.a = 0.7;
- theme->set_color("close_color", "GraphNode", default_node_color);
- theme->set_color("resizer_color", "GraphNode", default_node_color);
+ Color node_decoration_color = dark_color_1.inverted();
+ theme->set_color("title_color", "GraphNode", node_decoration_color);
+ node_decoration_color.a = 0.7;
+ theme->set_color("close_color", "GraphNode", node_decoration_color);
+ theme->set_color("resizer_color", "GraphNode", node_decoration_color);
- theme->set_constant("port_offset", "GraphNode", 14 * EDSCALE);
- theme->set_constant("title_h_offset", "GraphNode", -16 * EDSCALE);
- theme->set_constant("title_offset", "GraphNode", 20 * EDSCALE);
- theme->set_constant("close_h_offset", "GraphNode", 20 * EDSCALE);
+ theme->set_constant("port_offset", "GraphNode", 0);
+ theme->set_constant("title_h_offset", "GraphNode", 12 * EDSCALE);
+ theme->set_constant("title_offset", "GraphNode", 21 * EDSCALE);
+ theme->set_constant("close_h_offset", "GraphNode", -2 * EDSCALE);
theme->set_constant("close_offset", "GraphNode", 20 * EDSCALE);
theme->set_constant("separation", "GraphNode", 1 * EDSCALE);
@@ -1512,6 +1530,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_icon("resizer", "GraphNode", theme->get_icon(SNAME("GuiResizer"), SNAME("EditorIcons")));
theme->set_icon("port", "GraphNode", theme->get_icon(SNAME("GuiGraphNodePort"), SNAME("EditorIcons")));
+ theme->set_font("title_font", "GraphNode", theme->get_font(SNAME("main_bold_msdf"), SNAME("EditorFonts")));
+
// GridContainer
theme->set_constant("v_separation", "GridContainer", Math::round(widget_default_margin.y - 2 * EDSCALE));
diff --git a/editor/editor_toaster.h b/editor/editor_toaster.h
index 791a146a8d..39db518258 100644
--- a/editor/editor_toaster.h
+++ b/editor/editor_toaster.h
@@ -80,7 +80,7 @@ private:
String tooltip;
int count = 0;
};
- Map<Control *, Toast> toasts;
+ HashMap<Control *, Toast> toasts;
bool is_processing_error = false; // Makes sure that we don't handle errors that are triggered within the EditorToaster error processing.
diff --git a/editor/editor_translation_parser.cpp b/editor/editor_translation_parser.cpp
index 27b8c3fd5d..ddb084e19b 100644
--- a/editor/editor_translation_parser.cpp
+++ b/editor/editor_translation_parser.cpp
@@ -33,7 +33,7 @@
#include "core/error/error_macros.h"
#include "core/io/file_access.h"
#include "core/object/script_language.h"
-#include "core/templates/set.h"
+#include "core/templates/rb_set.h"
EditorTranslationParser *EditorTranslationParser::singleton = nullptr;
@@ -84,7 +84,7 @@ void EditorTranslationParserPlugin::_bind_methods() {
/////////////////////////
void EditorTranslationParser::get_recognized_extensions(List<String> *r_extensions) const {
- Set<String> extensions;
+ RBSet<String> extensions;
List<String> temp;
for (int i = 0; i < standard_parsers.size(); i++) {
standard_parsers[i]->get_recognized_extensions(&temp);
@@ -96,8 +96,8 @@ void EditorTranslationParser::get_recognized_extensions(List<String> *r_extensio
for (int i = 0; i < temp.size(); i++) {
extensions.insert(temp[i]);
}
- for (Set<String>::Element *E = extensions.front(); E; E = E->next()) {
- r_extensions->push_back(E->get());
+ for (const String &E : extensions) {
+ r_extensions->push_back(E);
}
}
diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp
index 68796683d2..50f03652ee 100644
--- a/editor/export_template_manager.cpp
+++ b/editor/export_template_manager.cpp
@@ -50,7 +50,7 @@ void ExportTemplateManager::_update_template_status() {
Error err = da->change_dir(templates_dir);
ERR_FAIL_COND_MSG(err != OK, "Could not access templates directory at '" + templates_dir + "'.");
- Set<String> templates;
+ RBSet<String> templates;
da->list_dir_begin();
if (err == OK) {
String c = da->get_next();
@@ -97,7 +97,7 @@ void ExportTemplateManager::_update_template_status() {
installed_table->clear();
TreeItem *installed_root = installed_table->create_item();
- for (Set<String>::Element *E = templates.back(); E; E = E->prev()) {
+ for (RBSet<String>::Element *E = templates.back(); E; E = E->prev()) {
String version_string = E->get();
if (version_string == current_version) {
continue;
@@ -694,7 +694,7 @@ Error ExportTemplateManager::install_android_template_from_file(const String &p_
ProgressDialog::get_singleton()->add_task("uncompress_src", TTR("Uncompressing Android Build Sources"), total_files);
- Set<String> dirs_tested;
+ RBSet<String> dirs_tested;
int idx = 0;
while (ret == UNZ_OK) {
// Get file path.
diff --git a/editor/fileserver/editor_file_server.cpp b/editor/fileserver/editor_file_server.cpp
index 0a59ecf1b3..eed3917845 100644
--- a/editor/fileserver/editor_file_server.cpp
+++ b/editor/fileserver/editor_file_server.cpp
@@ -46,7 +46,7 @@ void EditorFileServer::_close_client(ClientData *cd) {
cd->efs->to_wait.insert(cd->thread);
}
while (cd->files.size()) {
- cd->files.erase(cd->files.front());
+ cd->files.remove(cd->files.begin());
}
memdelete(cd);
}
diff --git a/editor/fileserver/editor_file_server.h b/editor/fileserver/editor_file_server.h
index 7e771db55f..21abbc3f8c 100644
--- a/editor/fileserver/editor_file_server.h
+++ b/editor/fileserver/editor_file_server.h
@@ -49,13 +49,13 @@ class EditorFileServer : public Object {
struct ClientData {
Thread *thread = nullptr;
Ref<StreamPeerTCP> connection;
- Map<int, Ref<FileAccess>> files;
+ HashMap<int, Ref<FileAccess>> files;
EditorFileServer *efs = nullptr;
bool quit = false;
};
Ref<TCPServer> server;
- Set<Thread *> to_wait;
+ RBSet<Thread *> to_wait;
static void _close_client(ClientData *cd);
static void _subthread_start(void *s);
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index aae8cf25b6..4c4d38c074 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -726,7 +726,7 @@ void FileSystemDock::_sort_file_info_list(List<FileSystemDock::FileInfo> &r_file
void FileSystemDock::_update_file_list(bool p_keep_selection) {
// Register the previously selected items.
- Set<String> cselection;
+ RBSet<String> cselection;
if (p_keep_selection) {
for (int i = 0; i < files->get_item_count(); i++) {
if (files->is_selected(i)) {
@@ -1161,7 +1161,7 @@ void FileSystemDock::_get_all_items_in_dir(EditorFileSystemDirectory *efsd, Vect
}
}
-void FileSystemDock::_find_remaps(EditorFileSystemDirectory *efsd, const Map<String, String> &renames, Vector<String> &to_remaps) const {
+void FileSystemDock::_find_remaps(EditorFileSystemDirectory *efsd, const HashMap<String, String> &renames, Vector<String> &to_remaps) const {
for (int i = 0; i < efsd->get_subdir_count(); i++) {
_find_remaps(efsd->get_subdir(i), renames, to_remaps);
}
@@ -1177,7 +1177,7 @@ void FileSystemDock::_find_remaps(EditorFileSystemDirectory *efsd, const Map<Str
}
void FileSystemDock::_try_move_item(const FileOrFolder &p_item, const String &p_new_path,
- Map<String, String> &p_file_renames, Map<String, String> &p_folder_renames) {
+ HashMap<String, String> &p_file_renames, HashMap<String, String> &p_folder_renames) {
// Ensure folder paths end with "/".
String old_path = (p_item.is_file || p_item.path.ends_with("/")) ? p_item.path : (p_item.path + "/");
String new_path = (p_item.is_file || p_new_path.ends_with("/")) ? p_new_path : (p_new_path + "/");
@@ -1301,7 +1301,7 @@ void FileSystemDock::_try_duplicate_item(const FileOrFolder &p_item, const Strin
}
}
-void FileSystemDock::_update_resource_paths_after_move(const Map<String, String> &p_renames) const {
+void FileSystemDock::_update_resource_paths_after_move(const HashMap<String, String> &p_renames) const {
// Rename all resources loaded, be it subresources or actual resources.
List<Ref<Resource>> cached;
ResourceCache::get_cached_resources(&cached);
@@ -1346,7 +1346,7 @@ void FileSystemDock::_update_resource_paths_after_move(const Map<String, String>
}
}
-void FileSystemDock::_update_dependencies_after_move(const Map<String, String> &p_renames) const {
+void FileSystemDock::_update_dependencies_after_move(const HashMap<String, String> &p_renames) const {
// The following code assumes that the following holds:
// 1) EditorFileSystem contains the old paths/folder structure from before the rename/move.
// 2) ResourceLoader can use the new paths without needing to call rescan.
@@ -1367,9 +1367,9 @@ void FileSystemDock::_update_dependencies_after_move(const Map<String, String> &
}
}
-void FileSystemDock::_update_project_settings_after_move(const Map<String, String> &p_renames) const {
+void FileSystemDock::_update_project_settings_after_move(const HashMap<String, String> &p_renames) const {
// Find all project settings of type FILE and replace them if needed.
- const Map<StringName, PropertyInfo> prop_info = ProjectSettings::get_singleton()->get_custom_property_info();
+ const HashMap<StringName, PropertyInfo> prop_info = ProjectSettings::get_singleton()->get_custom_property_info();
for (const KeyValue<StringName, PropertyInfo> &E : prop_info) {
if (E.value.hint == PROPERTY_HINT_FILE) {
String old_path = GLOBAL_GET(E.key);
@@ -1398,7 +1398,7 @@ void FileSystemDock::_update_project_settings_after_move(const Map<String, Strin
ProjectSettings::get_singleton()->save();
}
-void FileSystemDock::_update_favorites_list_after_move(const Map<String, String> &p_files_renames, const Map<String, String> &p_folders_renames) const {
+void FileSystemDock::_update_favorites_list_after_move(const HashMap<String, String> &p_files_renames, const HashMap<String, String> &p_folders_renames) const {
Vector<String> favorites = EditorSettings::get_singleton()->get_favorites();
Vector<String> new_favorites;
@@ -1416,7 +1416,7 @@ void FileSystemDock::_update_favorites_list_after_move(const Map<String, String>
EditorSettings::get_singleton()->set_favorites(new_favorites);
}
-void FileSystemDock::_save_scenes_after_move(const Map<String, String> &p_renames) const {
+void FileSystemDock::_save_scenes_after_move(const HashMap<String, String> &p_renames) const {
Vector<String> remaps;
_find_remaps(EditorFileSystem::get_singleton()->get_filesystem(), p_renames, remaps);
Vector<String> new_filenames;
@@ -1577,8 +1577,8 @@ void FileSystemDock::_rename_operation_confirm() {
return;
}
- Map<String, String> file_renames;
- Map<String, String> folder_renames;
+ HashMap<String, String> file_renames;
+ HashMap<String, String> folder_renames;
_try_move_item(to_rename, new_path, file_renames, folder_renames);
int current_tab = EditorNode::get_singleton()->get_current_tab();
@@ -1677,8 +1677,8 @@ void FileSystemDock::_move_operation_confirm(const String &p_to_path, bool p_ove
}
}
- Map<String, String> file_renames;
- Map<String, String> folder_renames;
+ HashMap<String, String> file_renames;
+ HashMap<String, String> folder_renames;
bool is_moved = false;
for (int i = 0; i < to_move.size(); i++) {
String old_path = to_move[i].path.ends_with("/") ? to_move[i].path.substr(0, to_move[i].path.length() - 1) : to_move[i].path;
diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h
index fc24b3e9fd..df3dd3fd69 100644
--- a/editor/filesystem_dock.h
+++ b/editor/filesystem_dock.h
@@ -108,7 +108,7 @@ private:
VSplitContainer *split_box = nullptr;
VBoxContainer *file_list_vb = nullptr;
- Set<String> favorites;
+ RBSet<String> favorites;
Button *button_toggle_display_mode = nullptr;
Button *button_reload = nullptr;
@@ -217,14 +217,14 @@ private:
void _update_import_dock();
void _get_all_items_in_dir(EditorFileSystemDirectory *efsd, Vector<String> &files, Vector<String> &folders) const;
- void _find_remaps(EditorFileSystemDirectory *efsd, const Map<String, String> &renames, Vector<String> &to_remaps) const;
- void _try_move_item(const FileOrFolder &p_item, const String &p_new_path, Map<String, String> &p_file_renames, Map<String, String> &p_folder_renames);
+ void _find_remaps(EditorFileSystemDirectory *efsd, const HashMap<String, String> &renames, Vector<String> &to_remaps) const;
+ void _try_move_item(const FileOrFolder &p_item, const String &p_new_path, HashMap<String, String> &p_file_renames, HashMap<String, String> &p_folder_renames);
void _try_duplicate_item(const FileOrFolder &p_item, const String &p_new_path) const;
- void _update_dependencies_after_move(const Map<String, String> &p_renames) const;
- void _update_resource_paths_after_move(const Map<String, String> &p_renames) const;
- void _save_scenes_after_move(const Map<String, String> &p_renames) const;
- void _update_favorites_list_after_move(const Map<String, String> &p_files_renames, const Map<String, String> &p_folders_renames) const;
- void _update_project_settings_after_move(const Map<String, String> &p_renames) const;
+ void _update_dependencies_after_move(const HashMap<String, String> &p_renames) const;
+ void _update_resource_paths_after_move(const HashMap<String, String> &p_renames) const;
+ void _save_scenes_after_move(const HashMap<String, String> &p_renames) const;
+ void _update_favorites_list_after_move(const HashMap<String, String> &p_files_renames, const HashMap<String, String> &p_folders_renames) const;
+ void _update_project_settings_after_move(const HashMap<String, String> &p_renames) const;
void _file_removed(String p_file);
void _folder_removed(String p_folder);
diff --git a/editor/find_in_files.cpp b/editor/find_in_files.cpp
index 41191271a1..aafaccf5be 100644
--- a/editor/find_in_files.cpp
+++ b/editor/find_in_files.cpp
@@ -99,7 +99,7 @@ void FindInFiles::set_folder(String folder) {
_root_dir = folder;
}
-void FindInFiles::set_filter(const Set<String> &exts) {
+void FindInFiles::set_filter(const RBSet<String> &exts) {
_extension_filter = exts;
}
@@ -443,9 +443,9 @@ String FindInFilesDialog::get_folder() const {
return text.strip_edges();
}
-Set<String> FindInFilesDialog::get_filter() const {
+RBSet<String> FindInFilesDialog::get_filter() const {
// Could check the _filters_preferences but it might not have been generated yet.
- Set<String> filters;
+ RBSet<String> filters;
for (int i = 0; i < _filters_container->get_child_count(); ++i) {
CheckBox *cb = static_cast<CheckBox *>(_filters_container->get_child(i));
if (cb->is_pressed()) {
@@ -701,9 +701,9 @@ void FindInFilesPanel::_notification(int p_what) {
void FindInFilesPanel::_on_result_found(String fpath, int line_number, int begin, int end, String text) {
TreeItem *file_item;
- Map<String, TreeItem *>::Element *E = _file_items.find(fpath);
+ HashMap<String, TreeItem *>::Iterator E = _file_items.find(fpath);
- if (E == nullptr) {
+ if (!E) {
file_item = _results_display->create_item();
file_item->set_text(0, fpath);
file_item->set_metadata(0, fpath);
@@ -715,7 +715,7 @@ void FindInFilesPanel::_on_result_found(String fpath, int line_number, int begin
_file_items[fpath] = file_item;
} else {
- file_item = E->value();
+ file_item = E->value;
}
int text_index = _with_replace ? 1 : 0;
@@ -754,11 +754,11 @@ void FindInFilesPanel::draw_result_text(Object *item_obj, Rect2 rect) {
return;
}
- Map<TreeItem *, Result>::Element *E = _result_items.find(item);
+ HashMap<TreeItem *, Result>::Iterator E = _result_items.find(item);
if (!E) {
return;
}
- Result r = E->value();
+ Result r = E->value;
String item_text = item->get_text(_with_replace ? 1 : 0);
Ref<Font> font = _results_display->get_theme_font(SNAME("font"));
int font_size = _results_display->get_theme_font_size(SNAME("font_size"));
@@ -818,12 +818,12 @@ void FindInFilesPanel::_on_cancel_button_clicked() {
void FindInFilesPanel::_on_result_selected() {
TreeItem *item = _results_display->get_selected();
- Map<TreeItem *, Result>::Element *E = _result_items.find(item);
+ HashMap<TreeItem *, Result>::Iterator E = _result_items.find(item);
- if (E == nullptr) {
+ if (!E) {
return;
}
- Result r = E->value();
+ Result r = E->value;
TreeItem *file_item = item->get_parent();
String fpath = file_item->get_metadata(0);
@@ -850,9 +850,9 @@ void FindInFilesPanel::_on_replace_all_clicked() {
continue;
}
- Map<TreeItem *, Result>::Element *F = _result_items.find(item);
- ERR_FAIL_COND(F == nullptr);
- locations.push_back(F->value());
+ HashMap<TreeItem *, Result>::Iterator F = _result_items.find(item);
+ ERR_FAIL_COND(!F);
+ locations.push_back(F->value);
}
if (locations.size() != 0) {
diff --git a/editor/find_in_files.h b/editor/find_in_files.h
index 9def190b5b..8bc7b506d0 100644
--- a/editor/find_in_files.h
+++ b/editor/find_in_files.h
@@ -46,7 +46,7 @@ public:
void set_whole_words(bool p_whole_word);
void set_match_case(bool p_match_case);
void set_folder(String folder);
- void set_filter(const Set<String> &exts);
+ void set_filter(const RBSet<String> &exts);
String get_search_text() const { return _pattern; }
@@ -72,7 +72,7 @@ private:
// Config
String _pattern;
- Set<String> _extension_filter;
+ RBSet<String> _extension_filter;
String _root_dir;
bool _whole_words = true;
bool _match_case = true;
@@ -115,7 +115,7 @@ public:
bool is_match_case() const;
bool is_whole_words() const;
String get_folder() const;
- Set<String> get_filter() const;
+ RBSet<String> get_filter() const;
protected:
void _notification(int p_what);
@@ -208,8 +208,8 @@ private:
Button *_refresh_button = nullptr;
Button *_cancel_button = nullptr;
ProgressBar *_progress_bar = nullptr;
- Map<String, TreeItem *> _file_items;
- Map<TreeItem *, Result> _result_items;
+ HashMap<String, TreeItem *> _file_items;
+ HashMap<TreeItem *, Result> _result_items;
bool _with_replace = false;
HBoxContainer *_replace_container = nullptr;
diff --git a/editor/icons/TextMesh.svg b/editor/icons/TextMesh.svg
new file mode 100644
index 0000000000..234ce7568e
--- /dev/null
+++ b/editor/icons/TextMesh.svg
@@ -0,0 +1 @@
+<svg stroke-miterlimit="10" style="fill-rule:nonzero;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:vectornator="http://vectornator.io"><g fill="#ffca5f" fill-rule="evenodd" vectornator:layerName="Untitled"><path d="M1 1h14v2H1V1Z"/><path d="M7 1h2v14H7V1Z"/><path d="M5 14h6v1H5v-1ZM2 1v4H1V1h1Zm13 0v4h-1V1h1ZM2 3v2a2 2 0 0 1 2-2H2Zm10 0a2 2 0 0 1 2 2V3h-2ZM5 14a2 2 0 0 0 2-2v2H5Zm6 0a2 2 0 0 1-2-2v2h2Z"/></g></svg>
diff --git a/editor/import/collada.cpp b/editor/import/collada.cpp
index e68c5e9a22..71b5ddc216 100644
--- a/editor/import/collada.cpp
+++ b/editor/import/collada.cpp
@@ -1645,12 +1645,12 @@ void Collada::_parse_animation(XMLParser &parser) {
return;
}
- Map<String, Vector<float>> float_sources;
- Map<String, Vector<String>> string_sources;
- Map<String, int> source_strides;
- Map<String, Map<String, String>> samplers;
- Map<String, Vector<String>> source_param_names;
- Map<String, Vector<String>> source_param_types;
+ HashMap<String, Vector<float>> float_sources;
+ HashMap<String, Vector<String>> string_sources;
+ HashMap<String, int> source_strides;
+ HashMap<String, HashMap<String, String>> samplers;
+ HashMap<String, Vector<String>> source_param_names;
+ HashMap<String, Vector<String>> source_param_types;
String id = "";
if (parser.has_attribute("id")) {
@@ -1685,7 +1685,7 @@ void Collada::_parse_animation(XMLParser &parser) {
}
} else if (name == "sampler") {
current_sampler = parser.get_attribute_value("id");
- samplers[current_sampler] = Map<String, String>();
+ samplers[current_sampler] = HashMap<String, String>();
} else if (name == "param") {
if (parser.has_attribute("name")) {
source_param_names[current_source].push_back(parser.get_attribute_value("name"));
@@ -1718,7 +1718,7 @@ void Collada::_parse_animation(XMLParser &parser) {
String source = _uri_to_id(channel_sources[i]);
String target = channel_targets[i];
ERR_CONTINUE(!samplers.has(source));
- Map<String, String> &sampler = samplers[source];
+ HashMap<String, String> &sampler = samplers[source];
ERR_CONTINUE(!sampler.has("INPUT")); //no input semantic? wtf?
String input_id = _uri_to_id(sampler["INPUT"]);
@@ -2029,7 +2029,7 @@ void Collada::_merge_skeletons(VisualScene *p_vscene, Node *p_node) {
NodeGeometry *gnode = static_cast<NodeGeometry *>(p_node);
if (gnode->controller) {
// recount skeletons used
- Set<NodeSkeleton *> skeletons;
+ RBSet<NodeSkeleton *> skeletons;
for (int i = 0; i < gnode->skeletons.size(); i++) {
String nodeid = gnode->skeletons[i];
@@ -2049,7 +2049,7 @@ void Collada::_merge_skeletons(VisualScene *p_vscene, Node *p_node) {
if (skeletons.size() > 1) {
//do the merger!!
- Set<NodeSkeleton *>::Element *E = skeletons.front();
+ RBSet<NodeSkeleton *>::Element *E = skeletons.front();
NodeSkeleton *base = E->get();
for (E = E->next(); E; E = E->next()) {
diff --git a/editor/import/collada.h b/editor/import/collada.h
index df2b789081..6ac6181769 100644
--- a/editor/import/collada.h
+++ b/editor/import/collada.h
@@ -33,7 +33,7 @@
#include "core/config/project_settings.h"
#include "core/io/xml_parser.h"
-#include "core/templates/map.h"
+#include "core/templates/rb_map.h"
#include "scene/resources/material.h"
class Collada {
@@ -54,7 +54,7 @@ public:
struct Effect {
String name;
- Map<String, Variant> params;
+ HashMap<String, Variant> params;
struct Channel {
int uv_idx = 0;
@@ -131,13 +131,13 @@ public:
int stride = 0;
};
- Map<String, Source> sources;
+ HashMap<String, Source> sources;
struct Vertices {
- Map<String, String> sources;
+ HashMap<String, String> sources;
};
- Map<String, Vertices> vertices;
+ HashMap<String, Vertices> vertices;
struct Primitives {
struct SourceRef {
@@ -146,7 +146,7 @@ public:
};
String material;
- Map<String, SourceRef> sources;
+ HashMap<String, SourceRef> sources;
Vector<float> polygons;
Vector<float> indices;
int count = 0;
@@ -171,9 +171,9 @@ public:
int stride = 0;
};
- Map<String, Source> sources;
+ HashMap<String, Source> sources;
- Map<String, String> control_vertices;
+ HashMap<String, String> control_vertices;
CurveData() {}
};
@@ -191,10 +191,10 @@ public:
Source() {}
};
- Map<String, Source> sources;
+ HashMap<String, Source> sources;
struct Joints {
- Map<String, String> sources;
+ HashMap<String, String> sources;
} joints;
struct Weights {
@@ -204,13 +204,13 @@ public:
};
String material;
- Map<String, SourceRef> sources;
+ HashMap<String, SourceRef> sources;
Vector<float> sets;
Vector<float> indices;
int count = 0;
} weights;
- Map<String, Transform3D> bone_rest_map;
+ HashMap<String, Transform3D> bone_rest_map;
SkinControllerData() {}
};
@@ -226,9 +226,9 @@ public:
Source() {}
};
- Map<String, Source> sources;
+ HashMap<String, Source> sources;
- Map<String, String> targets;
+ HashMap<String, String> targets;
MorphControllerData() {}
};
@@ -382,7 +382,7 @@ public:
String target;
};
- Map<String, Material> material_map;
+ HashMap<String, Material> material_map;
Vector<String> skeletons;
NodeGeometry() { type = TYPE_GEOMETRY; }
@@ -476,28 +476,28 @@ public:
}
} version;
- Map<String, CameraData> camera_data_map;
- Map<String, MeshData> mesh_data_map;
- Map<String, LightData> light_data_map;
- Map<String, CurveData> curve_data_map;
+ HashMap<String, CameraData> camera_data_map;
+ HashMap<String, MeshData> mesh_data_map;
+ HashMap<String, LightData> light_data_map;
+ HashMap<String, CurveData> curve_data_map;
- Map<String, String> mesh_name_map;
- Map<String, String> morph_name_map;
- Map<String, String> morph_ownership_map;
- Map<String, SkinControllerData> skin_controller_data_map;
- Map<String, MorphControllerData> morph_controller_data_map;
+ HashMap<String, String> mesh_name_map;
+ HashMap<String, String> morph_name_map;
+ HashMap<String, String> morph_ownership_map;
+ HashMap<String, SkinControllerData> skin_controller_data_map;
+ HashMap<String, MorphControllerData> morph_controller_data_map;
- Map<String, Image> image_map;
- Map<String, Material> material_map;
- Map<String, Effect> effect_map;
+ HashMap<String, Image> image_map;
+ HashMap<String, Material> material_map;
+ HashMap<String, Effect> effect_map;
- Map<String, VisualScene> visual_scene_map;
- Map<String, Node *> scene_map;
- Set<String> idref_joints;
- Map<String, String> sid_to_node_map;
- //Map<String,NodeJoint*> bone_map;
+ HashMap<String, VisualScene> visual_scene_map;
+ HashMap<String, Node *> scene_map;
+ RBSet<String> idref_joints;
+ HashMap<String, String> sid_to_node_map;
+ //RBMap<String,NodeJoint*> bone_map;
- Map<String, Transform3D> bone_rest_map;
+ HashMap<String, Transform3D> bone_rest_map;
String local_path;
String root_visual_scene;
@@ -505,8 +505,8 @@ public:
Vector<AnimationClip> animation_clips;
Vector<AnimationTrack> animation_tracks;
- Map<String, Vector<int>> referenced_tracks;
- Map<String, Vector<int>> by_id_tracks;
+ HashMap<String, Vector<int>> referenced_tracks;
+ HashMap<String, Vector<int>> by_id_tracks;
float animation_length = 0;
@@ -524,7 +524,7 @@ public:
int get_uv_channel(String p_name);
private: // private stuff
- Map<String, int> channel_map;
+ HashMap<String, int> channel_map;
void _parse_asset(XMLParser &parser);
void _parse_image(XMLParser &parser);
diff --git a/editor/import/dynamic_font_import_settings.cpp b/editor/import/dynamic_font_import_settings.cpp
index 451cb245dd..815366b279 100644
--- a/editor/import/dynamic_font_import_settings.cpp
+++ b/editor/import/dynamic_font_import_settings.cpp
@@ -45,8 +45,8 @@ class DynamicFontImportSettingsData : public RefCounted {
GDCLASS(DynamicFontImportSettingsData, RefCounted)
friend class DynamicFontImportSettings;
- Map<StringName, Variant> settings;
- Map<StringName, Variant> defaults;
+ HashMap<StringName, Variant> settings;
+ HashMap<StringName, Variant> defaults;
List<ResourceImporter::ImportOption> options;
DynamicFontImportSettings *owner = nullptr;
@@ -581,10 +581,10 @@ void DynamicFontImportSettings::_variations_validate() {
for (TreeItem *vars_item_b = vars_list_root->get_first_child(); vars_item_b; vars_item_b = vars_item_b->get_next()) {
if (vars_item_b != vars_item_a) {
bool match = true;
- for (Map<StringName, Variant>::Element *E = import_variation_data_a->settings.front(); E; E = E->next()) {
+ for (const KeyValue<StringName, Variant> &E : import_variation_data_a->settings) {
Ref<DynamicFontImportSettingsData> import_variation_data_b = vars_item_b->get_metadata(0);
ERR_FAIL_NULL(import_variation_data_b);
- match = match && (import_variation_data_b->settings[E->key()] == E->get());
+ match = match && (import_variation_data_b->settings[E.key] == E.value);
}
if (match) {
warn = TTR("Warning: Multiple configurations have identical settings. Duplicates will be ignored.");
@@ -927,7 +927,7 @@ void DynamicFontImportSettings::_notification(int p_what) {
}
void DynamicFontImportSettings::_re_import() {
- Map<StringName, Variant> main_settings;
+ HashMap<StringName, Variant> main_settings;
main_settings["antialiased"] = import_settings_data->get("antialiased");
main_settings["generate_mipmaps"] = import_settings_data->get("generate_mipmaps");
@@ -950,11 +950,11 @@ void DynamicFontImportSettings::_re_import() {
String name = vars_item->get_text(0);
variation += ("name=" + name);
- for (Map<StringName, Variant>::Element *E = import_variation_data->settings.front(); E; E = E->next()) {
+ for (const KeyValue<StringName, Variant> &E : import_variation_data->settings) {
if (!variation.is_empty()) {
variation += ",";
}
- variation += (String(E->key()) + "=" + String(E->get()));
+ variation += (String(E.key) + "=" + String(E.value));
}
variations.push_back(variation);
}
@@ -991,7 +991,7 @@ void DynamicFontImportSettings::_re_import() {
if (!selected_chars.is_empty()) {
Vector<String> ranges;
char32_t start = selected_chars.front()->get();
- for (Set<char32_t>::Element *E = selected_chars.front()->next(); E; E = E->next()) {
+ for (RBSet<char32_t>::Element *E = selected_chars.front()->next(); E; E = E->next()) {
if (E->prev() && ((E->prev()->get() + 1) != E->get())) {
ranges.push_back(String("0x") + String::num_int64(start, 16) + String("-0x") + String::num_int64(E->prev()->get(), 16));
start = E->get();
@@ -1004,7 +1004,7 @@ void DynamicFontImportSettings::_re_import() {
if (!selected_glyphs.is_empty()) {
Vector<String> ranges;
int32_t start = selected_glyphs.front()->get();
- for (Set<int32_t>::Element *E = selected_glyphs.front()->next(); E; E = E->next()) {
+ for (RBSet<int32_t>::Element *E = selected_glyphs.front()->next(); E; E = E->next()) {
if (E->prev() && ((E->prev()->get() + 1) != E->get())) {
ranges.push_back(String("0x") + String::num_int64(start, 16) + String("-0x") + String::num_int64(E->prev()->get(), 16));
start = E->get();
@@ -1024,8 +1024,8 @@ void DynamicFontImportSettings::_re_import() {
if (OS::get_singleton()->is_stdout_verbose()) {
print_line("Import settings:");
- for (Map<StringName, Variant>::Element *E = main_settings.front(); E; E = E->next()) {
- print_line(String(" ") + String(E->key()).utf8().get_data() + " == " + String(E->get()).utf8().get_data());
+ for (const KeyValue<StringName, Variant> &E : main_settings) {
+ print_line(String(" ") + String(E.key).utf8().get_data() + " == " + String(E.value).utf8().get_data());
}
}
diff --git a/editor/import/dynamic_font_import_settings.h b/editor/import/dynamic_font_import_settings.h
index c1e868403f..4e2135a13c 100644
--- a/editor/import/dynamic_font_import_settings.h
+++ b/editor/import/dynamic_font_import_settings.h
@@ -161,8 +161,8 @@ class DynamicFontImportSettings : public ConfirmationDialog {
Ref<Font> font_preview;
Ref<Font> font_main;
- Set<char32_t> selected_chars;
- Set<int32_t> selected_glyphs;
+ RBSet<char32_t> selected_chars;
+ RBSet<int32_t> selected_glyphs;
void _re_import();
diff --git a/editor/import/editor_import_collada.cpp b/editor/import/editor_import_collada.cpp
index 013dcb5deb..03fda0a1c3 100644
--- a/editor/import/editor_import_collada.cpp
+++ b/editor/import/editor_import_collada.cpp
@@ -67,34 +67,34 @@ struct ColladaImport {
bool use_mesh_builtin_materials = false;
float bake_fps = 15;
- Map<String, NodeMap> node_map; //map from collada node to engine node
- Map<String, String> node_name_map; //map from collada node to engine node
- Map<String, Ref<ImporterMesh>> mesh_cache;
- Map<String, Ref<Curve3D>> curve_cache;
- Map<String, Ref<Material>> material_cache;
- Map<Collada::Node *, Skeleton3D *> skeleton_map;
+ HashMap<String, NodeMap> node_map; //map from collada node to engine node
+ HashMap<String, String> node_name_map; //map from collada node to engine node
+ HashMap<String, Ref<ImporterMesh>> mesh_cache;
+ HashMap<String, Ref<Curve3D>> curve_cache;
+ HashMap<String, Ref<Material>> material_cache;
+ HashMap<Collada::Node *, Skeleton3D *> skeleton_map;
- Map<Skeleton3D *, Map<String, int>> skeleton_bone_map;
+ HashMap<Skeleton3D *, HashMap<String, int>> skeleton_bone_map;
- Set<String> valid_animated_nodes;
+ RBSet<String> valid_animated_nodes;
Vector<int> valid_animated_properties;
- Map<String, bool> bones_with_animation;
+ HashMap<String, bool> bones_with_animation;
- Set<String> mesh_unique_names;
- Set<String> material_unique_names;
+ RBSet<String> mesh_unique_names;
+ RBSet<String> material_unique_names;
Error _populate_skeleton(Skeleton3D *p_skeleton, Collada::Node *p_node, int &r_bone, int p_parent);
Error _create_scene_skeletons(Collada::Node *p_node);
Error _create_scene(Collada::Node *p_node, Node3D *p_parent);
Error _create_resources(Collada::Node *p_node, bool p_use_compression);
Error _create_material(const String &p_target);
- Error _create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p_mesh, const Map<String, Collada::NodeGeometry::Material> &p_material_map, const Collada::MeshData &meshdata, const Transform3D &p_local_xform, const Vector<int> &bone_remap, const Collada::SkinControllerData *p_skin_controller, const Collada::MorphControllerData *p_morph_data, Vector<Ref<ImporterMesh>> p_morph_meshes = Vector<Ref<ImporterMesh>>(), bool p_use_compression = false, bool p_use_mesh_material = false);
+ Error _create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p_mesh, const HashMap<String, Collada::NodeGeometry::Material> &p_material_map, const Collada::MeshData &meshdata, const Transform3D &p_local_xform, const Vector<int> &bone_remap, const Collada::SkinControllerData *p_skin_controller, const Collada::MorphControllerData *p_morph_data, Vector<Ref<ImporterMesh>> p_morph_meshes = Vector<Ref<ImporterMesh>>(), bool p_use_compression = false, bool p_use_mesh_material = false);
Error load(const String &p_path, int p_flags, bool p_force_make_tangents = false, bool p_use_compression = false);
void _fix_param_animation_tracks();
void create_animation(int p_clip, bool p_import_value_tracks);
void create_animations(bool p_import_value_tracks);
- Set<String> tracks_in_clips;
+ RBSet<String> tracks_in_clips;
Vector<String> missing_textures;
void _pre_process_lights(Collada::Node *p_node);
@@ -467,7 +467,7 @@ Error ColladaImport::_create_material(const String &p_target) {
return OK;
}
-Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p_mesh, const Map<String, Collada::NodeGeometry::Material> &p_material_map, const Collada::MeshData &meshdata, const Transform3D &p_local_xform, const Vector<int> &bone_remap, const Collada::SkinControllerData *p_skin_controller, const Collada::MorphControllerData *p_morph_data, Vector<Ref<ImporterMesh>> p_morph_meshes, bool p_use_compression, bool p_use_mesh_material) {
+Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p_mesh, const HashMap<String, Collada::NodeGeometry::Material> &p_material_map, const Collada::MeshData &meshdata, const Transform3D &p_local_xform, const Vector<int> &bone_remap, const Collada::SkinControllerData *p_skin_controller, const Collada::MorphControllerData *p_morph_data, Vector<Ref<ImporterMesh>> p_morph_meshes, bool p_use_compression, bool p_use_mesh_material) {
bool local_xform_mirror = p_local_xform.basis.determinant() < 0;
if (p_morph_data) {
@@ -637,7 +637,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
/* ADD WEIGHTS IF EXIST */
/************************/
- Map<int, Vector<Collada::Vertex::Weight>> pre_weights;
+ HashMap<int, Vector<Collada::Vertex::Weight>> pre_weights;
bool has_weights = false;
@@ -727,7 +727,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
has_weights = true;
}
- Set<Collada::Vertex> vertex_set; //vertex set will be the vertices
+ RBSet<Collada::Vertex> vertex_set; //vertex set will be the vertices
List<int> indices_list; //indices will be the indices
/**************************/
@@ -875,8 +875,8 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p
Vector<Collada::Vertex> vertex_array; //there we go, vertex array
vertex_array.resize(vertex_set.size());
- for (Set<Collada::Vertex>::Element *F = vertex_set.front(); F; F = F->next()) {
- vertex_array.write[F->get().idx] = F->get();
+ for (Collada::Vertex &F : vertex_set) {
+ vertex_array.write[F.idx] = F;
}
if (has_weights) {
@@ -1127,7 +1127,7 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres
Skeleton3D *sk = Object::cast_to<Skeleton3D>(nmsk.node);
ERR_FAIL_COND_V(!sk, ERR_INVALID_DATA);
ERR_FAIL_COND_V(!skeleton_bone_map.has(sk), ERR_INVALID_DATA);
- Map<String, int> &bone_remap_map = skeleton_bone_map[sk];
+ HashMap<String, int> &bone_remap_map = skeleton_bone_map[sk];
meshid = skin->base;
@@ -1452,7 +1452,7 @@ void ColladaImport::create_animation(int p_clip, bool p_import_value_tracks) {
//main anim
}
- Set<int> track_filter;
+ RBSet<int> track_filter;
if (p_clip == -1) {
for (int i = 0; i < collada.state.animation_clips.size(); i++) {
@@ -1507,14 +1507,14 @@ void ColladaImport::create_animation(int p_clip, bool p_import_value_tracks) {
bool tracks_found = false;
- for (Set<String>::Element *E = valid_animated_nodes.front(); E; E = E->next()) {
+ for (const String &E : valid_animated_nodes) {
// take snapshots
- if (!collada.state.scene_map.has(E->get())) {
+ if (!collada.state.scene_map.has(E)) {
continue;
}
- NodeMap &nm = node_map[E->get()];
+ NodeMap &nm = node_map[E];
String path = scene->get_path_to(nm.node);
if (nm.bone >= 0) {
@@ -1525,7 +1525,7 @@ void ColladaImport::create_animation(int p_clip, bool p_import_value_tracks) {
bool found_anim = false;
- Collada::Node *cn = collada.state.scene_map[E->get()];
+ Collada::Node *cn = collada.state.scene_map[E];
if (cn->ignore_anim) {
continue;
}
@@ -1665,7 +1665,7 @@ void ColladaImport::create_animation(int p_clip, bool p_import_value_tracks) {
if (nm.bone >= 0) {
if (found_anim) {
- bones_with_animation[E->get()] = true;
+ bones_with_animation[E] = true;
}
}
@@ -1754,7 +1754,7 @@ void EditorSceneFormatImporterCollada::get_extensions(List<String> *r_extensions
r_extensions->push_back("dae");
}
-Node *EditorSceneFormatImporterCollada::import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) {
+Node *EditorSceneFormatImporterCollada::import_scene(const String &p_path, uint32_t p_flags, const HashMap<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) {
if (r_err) {
*r_err = OK;
}
diff --git a/editor/import/editor_import_collada.h b/editor/import/editor_import_collada.h
index be3f74d821..e45db47440 100644
--- a/editor/import/editor_import_collada.h
+++ b/editor/import/editor_import_collada.h
@@ -39,7 +39,7 @@ class EditorSceneFormatImporterCollada : public EditorSceneFormatImporter {
public:
virtual uint32_t get_import_flags() const override;
virtual void get_extensions(List<String> *r_extensions) const override;
- virtual Node *import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps = nullptr, Error *r_err = nullptr) override;
+ virtual Node *import_scene(const String &p_path, uint32_t p_flags, const HashMap<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps = nullptr, Error *r_err = nullptr) override;
EditorSceneFormatImporterCollada();
};
diff --git a/editor/import/editor_import_plugin.cpp b/editor/import/editor_import_plugin.cpp
index f7d373ef60..e822b4963a 100644
--- a/editor/import/editor_import_plugin.cpp
+++ b/editor/import/editor_import_plugin.cpp
@@ -147,12 +147,12 @@ void EditorImportPlugin::get_import_options(const String &p_path, List<ResourceI
ERR_FAIL_MSG("Unimplemented _get_import_options in add-on.");
}
-bool EditorImportPlugin::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool EditorImportPlugin::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
Dictionary d;
- Map<StringName, Variant>::Element *E = p_options.front();
+ HashMap<StringName, Variant>::ConstIterator E = p_options.begin();
while (E) {
- d[E->key()] = E->get();
- E = E->next();
+ d[E->key] = E->value;
+ ++E;
}
bool visible;
if (GDVIRTUAL_CALL(_get_option_visibility, p_path, p_option, d, visible)) {
@@ -162,14 +162,14 @@ bool EditorImportPlugin::get_option_visibility(const String &p_path, const Strin
ERR_FAIL_V_MSG(false, "Unimplemented _get_option_visibility in add-on.");
}
-Error EditorImportPlugin::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error EditorImportPlugin::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
Dictionary options;
Array platform_variants, gen_files;
- Map<StringName, Variant>::Element *E = p_options.front();
+ HashMap<StringName, Variant>::ConstIterator E = p_options.begin();
while (E) {
- options[E->key()] = E->get();
- E = E->next();
+ options[E->key] = E->value;
+ ++E;
}
int err;
diff --git a/editor/import/editor_import_plugin.h b/editor/import/editor_import_plugin.h
index 6cff8fb917..44fbd41962 100644
--- a/editor/import/editor_import_plugin.h
+++ b/editor/import/editor_import_plugin.h
@@ -64,8 +64,8 @@ public:
virtual float get_priority() const override;
virtual int get_import_order() const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata = nullptr) override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata = nullptr) override;
};
#endif //EDITOR_IMPORT_PLUGIN_H
diff --git a/editor/import/resource_importer_bitmask.cpp b/editor/import/resource_importer_bitmask.cpp
index 46d15e8989..966719dc48 100644
--- a/editor/import/resource_importer_bitmask.cpp
+++ b/editor/import/resource_importer_bitmask.cpp
@@ -55,7 +55,7 @@ String ResourceImporterBitMap::get_resource_type() const {
return "BitMap";
}
-bool ResourceImporterBitMap::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterBitMap::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
return true;
}
@@ -72,7 +72,7 @@ void ResourceImporterBitMap::get_import_options(const String &p_path, List<Impor
r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "threshold", PROPERTY_HINT_RANGE, "0,1,0.01"), 0.5));
}
-Error ResourceImporterBitMap::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterBitMap::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
int create_from = p_options["create_from"];
float threshold = p_options["threshold"];
Ref<Image> image;
diff --git a/editor/import/resource_importer_bitmask.h b/editor/import/resource_importer_bitmask.h
index 6dd6843171..8682ab80a3 100644
--- a/editor/import/resource_importer_bitmask.h
+++ b/editor/import/resource_importer_bitmask.h
@@ -47,8 +47,8 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
ResourceImporterBitMap();
~ResourceImporterBitMap();
diff --git a/editor/import/resource_importer_bmfont.cpp b/editor/import/resource_importer_bmfont.cpp
index 8a655fbc0c..8a40b113b9 100644
--- a/editor/import/resource_importer_bmfont.cpp
+++ b/editor/import/resource_importer_bmfont.cpp
@@ -55,7 +55,7 @@ String ResourceImporterBMFont::get_resource_type() const {
return "FontData";
}
-bool ResourceImporterBMFont::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterBMFont::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
return true;
}
@@ -63,7 +63,7 @@ void ResourceImporterBMFont::get_import_options(const String &p_path, List<Impor
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "compress"), true));
}
-Error ResourceImporterBMFont::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterBMFont::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
print_verbose("Importing BMFont font from: " + p_source_file);
Ref<FontData> font;
diff --git a/editor/import/resource_importer_bmfont.h b/editor/import/resource_importer_bmfont.h
index e5a96e2c40..0711302bd5 100644
--- a/editor/import/resource_importer_bmfont.h
+++ b/editor/import/resource_importer_bmfont.h
@@ -46,9 +46,9 @@ public:
virtual String get_resource_type() const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
ResourceImporterBMFont();
};
diff --git a/editor/import/resource_importer_csv_translation.cpp b/editor/import/resource_importer_csv_translation.cpp
index ee6500a643..0b3622e3c0 100644
--- a/editor/import/resource_importer_csv_translation.cpp
+++ b/editor/import/resource_importer_csv_translation.cpp
@@ -55,7 +55,7 @@ String ResourceImporterCSVTranslation::get_resource_type() const {
return "Translation";
}
-bool ResourceImporterCSVTranslation::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterCSVTranslation::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
return true;
}
@@ -72,7 +72,7 @@ void ResourceImporterCSVTranslation::get_import_options(const String &p_path, Li
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "delimiter", PROPERTY_HINT_ENUM, "Comma,Semicolon,Tab"), 0));
}
-Error ResourceImporterCSVTranslation::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterCSVTranslation::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
bool compress = p_options["compress"];
String delimiter;
diff --git a/editor/import/resource_importer_csv_translation.h b/editor/import/resource_importer_csv_translation.h
index 8f6cf94984..306aafa843 100644
--- a/editor/import/resource_importer_csv_translation.h
+++ b/editor/import/resource_importer_csv_translation.h
@@ -47,9 +47,9 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
ResourceImporterCSVTranslation();
};
diff --git a/editor/import/resource_importer_dynamic_font.cpp b/editor/import/resource_importer_dynamic_font.cpp
index 2dc24c9d44..04f6a0b7af 100644
--- a/editor/import/resource_importer_dynamic_font.cpp
+++ b/editor/import/resource_importer_dynamic_font.cpp
@@ -67,7 +67,7 @@ String ResourceImporterDynamicFont::get_resource_type() const {
return "FontData";
}
-bool ResourceImporterDynamicFont::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterDynamicFont::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
if (p_option == "msdf_pixel_range" && !bool(p_options["multichannel_signed_distance_field"])) {
return false;
}
@@ -176,7 +176,7 @@ void ResourceImporterDynamicFont::show_advanced_options(const String &p_path) {
DynamicFontImportSettings::get_singleton()->open_settings(p_path);
}
-Error ResourceImporterDynamicFont::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterDynamicFont::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
print_verbose("Importing dynamic font from: " + p_source_file);
bool antialiased = p_options["antialiased"];
diff --git a/editor/import/resource_importer_dynamic_font.h b/editor/import/resource_importer_dynamic_font.h
index 2761b418e1..c0b6c094b0 100644
--- a/editor/import/resource_importer_dynamic_font.h
+++ b/editor/import/resource_importer_dynamic_font.h
@@ -56,12 +56,12 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
bool has_advanced_options() const override;
void show_advanced_options(const String &p_path) override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
ResourceImporterDynamicFont();
};
diff --git a/editor/import/resource_importer_image.cpp b/editor/import/resource_importer_image.cpp
index 8514df76bb..fa7c4cd24f 100644
--- a/editor/import/resource_importer_image.cpp
+++ b/editor/import/resource_importer_image.cpp
@@ -55,7 +55,7 @@ String ResourceImporterImage::get_resource_type() const {
return "Image";
}
-bool ResourceImporterImage::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterImage::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
return true;
}
@@ -70,7 +70,7 @@ String ResourceImporterImage::get_preset_name(int p_idx) const {
void ResourceImporterImage::get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset) const {
}
-Error ResourceImporterImage::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterImage::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
Ref<FileAccess> f = FileAccess::open(p_source_file, FileAccess::READ);
ERR_FAIL_COND_V_MSG(f.is_null(), ERR_CANT_OPEN, "Cannot open file from path '" + p_source_file + "'.");
diff --git a/editor/import/resource_importer_image.h b/editor/import/resource_importer_image.h
index 81aedc91e8..a1a345287e 100644
--- a/editor/import/resource_importer_image.h
+++ b/editor/import/resource_importer_image.h
@@ -48,9 +48,9 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
ResourceImporterImage();
};
diff --git a/editor/import/resource_importer_imagefont.cpp b/editor/import/resource_importer_imagefont.cpp
index 2b67a171cc..bbcd336575 100644
--- a/editor/import/resource_importer_imagefont.cpp
+++ b/editor/import/resource_importer_imagefont.cpp
@@ -55,7 +55,7 @@ String ResourceImporterImageFont::get_resource_type() const {
return "FontData";
}
-bool ResourceImporterImageFont::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterImageFont::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
return true;
}
@@ -85,7 +85,7 @@ bool ResourceImporterImageFont::_decode_range(const String &p_token, int32_t &r_
}
}
-Error ResourceImporterImageFont::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterImageFont::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
print_verbose("Importing image font from: " + p_source_file);
int columns = p_options["columns"];
diff --git a/editor/import/resource_importer_imagefont.h b/editor/import/resource_importer_imagefont.h
index c1116d5a83..f46bc8c19b 100644
--- a/editor/import/resource_importer_imagefont.h
+++ b/editor/import/resource_importer_imagefont.h
@@ -48,9 +48,9 @@ public:
virtual String get_resource_type() const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
ResourceImporterImageFont();
};
diff --git a/editor/import/resource_importer_layered_texture.cpp b/editor/import/resource_importer_layered_texture.cpp
index 7c0c99cd29..bacd09592e 100644
--- a/editor/import/resource_importer_layered_texture.cpp
+++ b/editor/import/resource_importer_layered_texture.cpp
@@ -119,7 +119,7 @@ String ResourceImporterLayeredTexture::get_resource_type() const {
ERR_FAIL_V(String());
}
-bool ResourceImporterLayeredTexture::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterLayeredTexture::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
if (p_option == "compress/lossy_quality" && p_options.has("compress/mode")) {
return int(p_options["compress/mode"]) == COMPRESS_LOSSY;
}
@@ -282,7 +282,7 @@ void ResourceImporterLayeredTexture::_save_tex(Vector<Ref<Image>> p_images, cons
}
}
-Error ResourceImporterLayeredTexture::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterLayeredTexture::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
int compress_mode = p_options["compress/mode"];
float lossy = p_options["compress/lossy_quality"];
int hdr_compression = p_options["compress/hdr_compression"];
diff --git a/editor/import/resource_importer_layered_texture.h b/editor/import/resource_importer_layered_texture.h
index 5791914a9b..5a29010c3b 100644
--- a/editor/import/resource_importer_layered_texture.h
+++ b/editor/import/resource_importer_layered_texture.h
@@ -43,7 +43,7 @@ class LayeredTextureImport : public RefCounted {
public:
Image::CompressSource *csource = nullptr;
String save_path;
- Map<StringName, Variant> options;
+ HashMap<StringName, Variant> options;
List<String> *platform_variants = nullptr;
Ref<Image> image = nullptr;
Array formats_imported;
@@ -108,11 +108,11 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
void _save_tex(Vector<Ref<Image>> p_images, const String &p_to_path, int p_compress_mode, float p_lossy, Image::CompressMode p_vram_compression, Image::CompressSource p_csource, Image::UsedChannels used_channels, bool p_mipmaps, bool p_force_po2);
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
virtual bool are_import_settings_valid(const String &p_path) const override;
virtual String get_import_settings_string() const override;
diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp
index 88837d089a..6fbfecfdfa 100644
--- a/editor/import/resource_importer_obj.cpp
+++ b/editor/import/resource_importer_obj.cpp
@@ -43,7 +43,7 @@ uint32_t EditorOBJImporter::get_import_flags() const {
return IMPORT_SCENE;
}
-static Error _parse_material_library(const String &p_path, Map<String, Ref<StandardMaterial3D>> &material_map, List<String> *r_missing_deps) {
+static Error _parse_material_library(const String &p_path, HashMap<String, Ref<StandardMaterial3D>> &material_map, List<String> *r_missing_deps) {
Ref<FileAccess> f = FileAccess::open(p_path, FileAccess::READ);
ERR_FAIL_COND_V_MSG(f.is_null(), ERR_CANT_OPEN, vformat("Couldn't open MTL file '%s', it may not exist or not be readable.", p_path));
@@ -219,7 +219,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
Vector<Vector2> uvs;
String name;
- Map<String, Map<String, Ref<StandardMaterial3D>>> material_map;
+ HashMap<String, HashMap<String, Ref<StandardMaterial3D>>> material_map;
Ref<SurfaceTool> surf_tool = memnew(SurfaceTool);
surf_tool->begin(Mesh::PRIMITIVE_TRIANGLES);
@@ -402,7 +402,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
current_material_library = l.replace("mtllib", "").strip_edges();
if (!material_map.has(current_material_library)) {
- Map<String, Ref<StandardMaterial3D>> lib;
+ HashMap<String, Ref<StandardMaterial3D>> lib;
String lib_path = current_material_library;
if (lib_path.is_relative_path()) {
lib_path = p_path.get_base_dir().plus_file(current_material_library);
@@ -422,7 +422,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_
return OK;
}
-Node *EditorOBJImporter::import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) {
+Node *EditorOBJImporter::import_scene(const String &p_path, uint32_t p_flags, const HashMap<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) {
List<Ref<Mesh>> meshes;
Error err = _parse_obj(p_path, meshes, false, p_flags & IMPORT_GENERATE_TANGENT_ARRAYS, false, Vector3(1, 1, 1), Vector3(0, 0, 0), r_missing_deps);
@@ -505,11 +505,11 @@ void ResourceImporterOBJ::get_import_options(const String &p_path, List<ImportOp
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "optimize_mesh"), true));
}
-bool ResourceImporterOBJ::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterOBJ::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
return true;
}
-Error ResourceImporterOBJ::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterOBJ::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
List<Ref<Mesh>> meshes;
Error err = _parse_obj(p_source_file, meshes, true, p_options["generate_tangents"], p_options["optimize_mesh"], p_options["scale_mesh"], p_options["offset_mesh"], nullptr);
diff --git a/editor/import/resource_importer_obj.h b/editor/import/resource_importer_obj.h
index 1b5e8bbdc1..3da9f02adb 100644
--- a/editor/import/resource_importer_obj.h
+++ b/editor/import/resource_importer_obj.h
@@ -39,7 +39,7 @@ class EditorOBJImporter : public EditorSceneFormatImporter {
public:
virtual uint32_t get_import_flags() const override;
virtual void get_extensions(List<String> *r_extensions) const override;
- virtual Node *import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr) override;
+ virtual Node *import_scene(const String &p_path, uint32_t p_flags, const HashMap<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr) override;
EditorOBJImporter();
};
@@ -59,9 +59,9 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
// Threaded import can currently cause deadlocks, see GH-48265.
virtual bool can_import_threaded() const override { return false; }
diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp
index 43b52177c6..4f666730d5 100644
--- a/editor/import/resource_importer_scene.cpp
+++ b/editor/import/resource_importer_scene.cpp
@@ -74,7 +74,7 @@ void EditorSceneFormatImporter::get_extensions(List<String> *r_extensions) const
ERR_FAIL();
}
-Node *EditorSceneFormatImporter::import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) {
+Node *EditorSceneFormatImporter::import_scene(const String &p_path, uint32_t p_flags, const HashMap<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) {
Dictionary options_dict;
for (const KeyValue<StringName, Variant> &elem : p_options) {
options_dict[elem.key] = elem.value;
@@ -91,7 +91,7 @@ void EditorSceneFormatImporter::get_import_options(const String &p_path, List<Re
GDVIRTUAL_CALL(_get_import_options, p_path);
}
-Variant EditorSceneFormatImporter::get_option_visibility(const String &p_path, bool p_for_animation, const String &p_option, const Map<StringName, Variant> &p_options) {
+Variant EditorSceneFormatImporter::get_option_visibility(const String &p_path, bool p_for_animation, const String &p_option, const HashMap<StringName, Variant> &p_options) {
Variant ret;
GDVIRTUAL_CALL(_get_option_visibility, p_path, p_for_animation, p_option, ret);
return ret;
@@ -166,14 +166,14 @@ void EditorScenePostImportPlugin::get_internal_import_options(InternalImportCate
GDVIRTUAL_CALL(_get_internal_import_options, p_category);
current_option_list = nullptr;
}
-Variant EditorScenePostImportPlugin::get_internal_option_visibility(InternalImportCategory p_category, bool p_for_animation, const String &p_option, const Map<StringName, Variant> &p_options) const {
+Variant EditorScenePostImportPlugin::get_internal_option_visibility(InternalImportCategory p_category, bool p_for_animation, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
current_options = &p_options;
Variant ret;
GDVIRTUAL_CALL(_get_internal_option_visibility, p_category, p_for_animation, p_option, ret);
current_options = nullptr;
return ret;
}
-Variant EditorScenePostImportPlugin::get_internal_option_update_view_required(InternalImportCategory p_category, const String &p_option, const Map<StringName, Variant> &p_options) const {
+Variant EditorScenePostImportPlugin::get_internal_option_update_view_required(InternalImportCategory p_category, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
current_options = &p_options;
Variant ret;
GDVIRTUAL_CALL(_get_internal_option_update_view_required, p_category, p_option, ret);
@@ -192,7 +192,7 @@ void EditorScenePostImportPlugin::get_import_options(const String &p_path, List<
GDVIRTUAL_CALL(_get_import_options, p_path);
current_option_list = nullptr;
}
-Variant EditorScenePostImportPlugin::get_option_visibility(const String &p_path, bool p_for_animation, const String &p_option, const Map<StringName, Variant> &p_options) const {
+Variant EditorScenePostImportPlugin::get_option_visibility(const String &p_path, bool p_for_animation, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
current_options = &p_options;
Variant ret;
GDVIRTUAL_CALL(_get_option_visibility, p_path, p_for_animation, p_option, ret);
@@ -200,12 +200,12 @@ Variant EditorScenePostImportPlugin::get_option_visibility(const String &p_path,
return ret;
}
-void EditorScenePostImportPlugin::pre_process(Node *p_scene, const Map<StringName, Variant> &p_options) {
+void EditorScenePostImportPlugin::pre_process(Node *p_scene, const HashMap<StringName, Variant> &p_options) {
current_options = &p_options;
GDVIRTUAL_CALL(_pre_process, p_scene);
current_options = nullptr;
}
-void EditorScenePostImportPlugin::post_process(Node *p_scene, const Map<StringName, Variant> &p_options) {
+void EditorScenePostImportPlugin::post_process(Node *p_scene, const HashMap<StringName, Variant> &p_options) {
current_options = &p_options;
GDVIRTUAL_CALL(_post_process, p_scene);
current_options = nullptr;
@@ -263,7 +263,7 @@ int ResourceImporterScene::get_format_version() const {
return 1;
}
-bool ResourceImporterScene::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterScene::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
if (animation_importer) {
if (p_option == "animation/import") { // Option ignored, animation always imported.
return false;
@@ -367,7 +367,7 @@ static void _pre_gen_shape_list(Ref<ImporterMesh> &mesh, Vector<Ref<Shape3D>> &r
}
}
-Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &r_collision_map, Pair<PackedVector3Array, PackedInt32Array> *r_occluder_arrays, List<Pair<NodePath, Node *>> &r_node_renames) {
+Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &r_collision_map, Pair<PackedVector3Array, PackedInt32Array> *r_occluder_arrays, List<Pair<NodePath, Node *>> &r_node_renames) {
// Children first.
for (int i = 0; i < p_node->get_child_count(); i++) {
Node *r = _pre_fix_node(p_node->get_child(i), p_root, r_collision_map, r_occluder_arrays, r_node_renames);
@@ -466,7 +466,7 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<I
static const char *loop_strings[loop_string_count] = { "loop_mode", "loop", "cycle" };
for (int i = 0; i < loop_string_count; i++) {
if (_teststr(animname, loop_strings[i])) {
- anim->set_loop_mode(Animation::LoopMode::LOOP_LINEAR);
+ anim->set_loop_mode(Animation::LOOP_LINEAR);
animname = _fixstr(animname, loop_strings[i]);
Ref<AnimationLibrary> library = ap->get_animation_library(ap->find_animation_library(anim));
@@ -704,7 +704,7 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<I
return p_node;
}
-Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, Map<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &collision_map, Pair<PackedVector3Array, PackedInt32Array> &r_occluder_arrays, Set<Ref<ImporterMesh>> &r_scanned_meshes, const Dictionary &p_node_data, const Dictionary &p_material_data, const Dictionary &p_animation_data, float p_animation_fps) {
+Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &collision_map, Pair<PackedVector3Array, PackedInt32Array> &r_occluder_arrays, RBSet<Ref<ImporterMesh>> &r_scanned_meshes, const Dictionary &p_node_data, const Dictionary &p_material_data, const Dictionary &p_animation_data, float p_animation_fps) {
// children first
for (int i = 0; i < p_node->get_child_count(); i++) {
Node *r = _post_fix_node(p_node->get_child(i), p_root, collision_map, r_occluder_arrays, r_scanned_meshes, p_node_data, p_material_data, p_animation_data, p_animation_fps);
@@ -1356,7 +1356,7 @@ void ResourceImporterScene::get_internal_import_options(InternalImportCategory p
}
}
-bool ResourceImporterScene::get_internal_option_visibility(InternalImportCategory p_category, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterScene::get_internal_option_visibility(InternalImportCategory p_category, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
if (p_options.has("import/skip_import") && p_option != "import/skip_import" && bool(p_options["import/skip_import"])) {
return false; //if skip import
}
@@ -1475,7 +1475,7 @@ bool ResourceImporterScene::get_internal_option_visibility(InternalImportCategor
return true;
}
-bool ResourceImporterScene::get_internal_option_update_view_required(InternalImportCategory p_category, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterScene::get_internal_option_update_view_required(InternalImportCategory p_category, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
switch (p_category) {
case INTERNAL_IMPORT_CATEGORY_NODE: {
} break;
@@ -1909,19 +1909,19 @@ Node *ResourceImporterScene::pre_import(const String &p_source_file) {
ERR_FAIL_COND_V(!importer.is_valid(), nullptr);
Error err = OK;
- Node *scene = importer->import_scene(p_source_file, EditorSceneFormatImporter::IMPORT_ANIMATION | EditorSceneFormatImporter::IMPORT_GENERATE_TANGENT_ARRAYS, Map<StringName, Variant>(), 15, nullptr, &err);
+ Node *scene = importer->import_scene(p_source_file, EditorSceneFormatImporter::IMPORT_ANIMATION | EditorSceneFormatImporter::IMPORT_GENERATE_TANGENT_ARRAYS, HashMap<StringName, Variant>(), 15, nullptr, &err);
if (!scene || err != OK) {
return nullptr;
}
- Map<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> collision_map;
+ HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> collision_map;
List<Pair<NodePath, Node *>> node_renames;
_pre_fix_node(scene, scene, collision_map, nullptr, node_renames);
return scene;
}
-Error ResourceImporterScene::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterScene::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
const String &src_path = p_source_file;
Ref<EditorSceneFormatImporter> importer;
@@ -1994,8 +1994,8 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
animation_data = subresources["animations"];
}
- Set<Ref<ImporterMesh>> scanned_meshes;
- Map<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> collision_map;
+ RBSet<Ref<ImporterMesh>> scanned_meshes;
+ HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> collision_map;
Pair<PackedVector3Array, PackedInt32Array> occluder_arrays;
List<Pair<NodePath, Node *>> node_renames;
@@ -2223,7 +2223,7 @@ void EditorSceneFormatImporterESCN::get_extensions(List<String> *r_extensions) c
r_extensions->push_back("escn");
}
-Node *EditorSceneFormatImporterESCN::import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) {
+Node *EditorSceneFormatImporterESCN::import_scene(const String &p_path, uint32_t p_flags, const HashMap<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) {
Error error;
Ref<PackedScene> ps = ResourceFormatLoaderText::singleton->load(p_path, p_path, &error);
ERR_FAIL_COND_V_MSG(!ps.is_valid(), nullptr, "Cannot load scene as text resource from path '" + p_path + "'.");
diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h
index ac72a8f39d..92bd267216 100644
--- a/editor/import/resource_importer_scene.h
+++ b/editor/import/resource_importer_scene.h
@@ -71,9 +71,9 @@ public:
virtual uint32_t get_import_flags() const;
virtual void get_extensions(List<String> *r_extensions) const;
- virtual Node *import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr);
+ virtual Node *import_scene(const String &p_path, uint32_t p_flags, const HashMap<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr);
virtual void get_import_options(const String &p_path, List<ResourceImporter::ImportOption> *r_options);
- virtual Variant get_option_visibility(const String &p_path, bool p_for_animation, const String &p_option, const Map<StringName, Variant> &p_options);
+ virtual Variant get_option_visibility(const String &p_path, bool p_for_animation, const String &p_option, const HashMap<StringName, Variant> &p_options);
EditorSceneFormatImporter() {}
};
@@ -110,7 +110,7 @@ public:
};
private:
- mutable const Map<StringName, Variant> *current_options = nullptr;
+ mutable const HashMap<StringName, Variant> *current_options = nullptr;
mutable const Dictionary *current_options_dict = nullptr;
List<ResourceImporter::ImportOption> *current_option_list = nullptr;
InternalImportCategory current_category = INTERNAL_IMPORT_CATEGORY_MAX;
@@ -133,16 +133,16 @@ public:
void add_import_option_advanced(Variant::Type p_type, const String &p_name, Variant p_default_value, PropertyHint p_hint = PROPERTY_HINT_NONE, const String &p_hint_string = String(), int p_usage_flags = PROPERTY_USAGE_DEFAULT);
virtual void get_internal_import_options(InternalImportCategory p_category, List<ResourceImporter::ImportOption> *r_options);
- virtual Variant get_internal_option_visibility(InternalImportCategory p_category, bool p_for_animation, const String &p_option, const Map<StringName, Variant> &p_options) const;
- virtual Variant get_internal_option_update_view_required(InternalImportCategory p_category, const String &p_option, const Map<StringName, Variant> &p_options) const;
+ virtual Variant get_internal_option_visibility(InternalImportCategory p_category, bool p_for_animation, const String &p_option, const HashMap<StringName, Variant> &p_options) const;
+ virtual Variant get_internal_option_update_view_required(InternalImportCategory p_category, const String &p_option, const HashMap<StringName, Variant> &p_options) const;
virtual void internal_process(InternalImportCategory p_category, Node *p_base_scene, Node *p_node, Ref<Resource> p_resource, const Dictionary &p_options);
virtual void get_import_options(const String &p_path, List<ResourceImporter::ImportOption> *r_options);
- virtual Variant get_option_visibility(const String &p_path, bool p_for_animation, const String &p_option, const Map<StringName, Variant> &p_options) const;
+ virtual Variant get_option_visibility(const String &p_path, bool p_for_animation, const String &p_option, const HashMap<StringName, Variant> &p_options) const;
- virtual void pre_process(Node *p_scene, const Map<StringName, Variant> &p_options);
- virtual void post_process(Node *p_scene, const Map<StringName, Variant> &p_options);
+ virtual void pre_process(Node *p_scene, const HashMap<StringName, Variant> &p_options);
+ virtual void post_process(Node *p_scene, const HashMap<StringName, Variant> &p_options);
EditorScenePostImportPlugin() {}
};
@@ -263,16 +263,16 @@ public:
};
void get_internal_import_options(InternalImportCategory p_category, List<ImportOption> *r_options) const;
- bool get_internal_option_visibility(InternalImportCategory p_category, const String &p_option, const Map<StringName, Variant> &p_options) const;
- bool get_internal_option_update_view_required(InternalImportCategory p_category, const String &p_option, const Map<StringName, Variant> &p_options) const;
+ bool get_internal_option_visibility(InternalImportCategory p_category, const String &p_option, const HashMap<StringName, Variant> &p_options) const;
+ bool get_internal_option_update_view_required(InternalImportCategory p_category, const String &p_option, const HashMap<StringName, Variant> &p_options) const;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
// Import scenes *after* everything else (such as textures).
virtual int get_import_order() const override { return ResourceImporter::IMPORT_ORDER_SCENE; }
- Node *_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &r_collision_map, Pair<PackedVector3Array, PackedInt32Array> *r_occluder_arrays, List<Pair<NodePath, Node *>> &r_node_renames);
- Node *_post_fix_node(Node *p_node, Node *p_root, Map<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &collision_map, Pair<PackedVector3Array, PackedInt32Array> &r_occluder_arrays, Set<Ref<ImporterMesh>> &r_scanned_meshes, const Dictionary &p_node_data, const Dictionary &p_material_data, const Dictionary &p_animation_data, float p_animation_fps);
+ Node *_pre_fix_node(Node *p_node, Node *p_root, HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &r_collision_map, Pair<PackedVector3Array, PackedInt32Array> *r_occluder_arrays, List<Pair<NodePath, Node *>> &r_node_renames);
+ Node *_post_fix_node(Node *p_node, Node *p_root, HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &collision_map, Pair<PackedVector3Array, PackedInt32Array> &r_occluder_arrays, RBSet<Ref<ImporterMesh>> &r_scanned_meshes, const Dictionary &p_node_data, const Dictionary &p_material_data, const Dictionary &p_animation_data, float p_animation_fps);
Ref<Animation> _save_animation_to_file(Ref<Animation> anim, bool p_save_to_file, String p_save_to_path, bool p_keep_custom_tracks);
void _create_clips(AnimationPlayer *anim, const Array &p_clips, bool p_bake_all);
@@ -280,7 +280,7 @@ public:
void _compress_animations(AnimationPlayer *anim, int p_page_size_kb);
Node *pre_import(const String &p_source_file);
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
virtual bool has_advanced_options() const override;
virtual void show_advanced_options(const String &p_path) override;
@@ -302,7 +302,7 @@ class EditorSceneFormatImporterESCN : public EditorSceneFormatImporter {
public:
virtual uint32_t get_import_flags() const override;
virtual void get_extensions(List<String> *r_extensions) const override;
- virtual Node *import_scene(const String &p_path, uint32_t p_flags, const Map<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr) override;
+ virtual Node *import_scene(const String &p_path, uint32_t p_flags, const HashMap<StringName, Variant> &p_options, int p_bake_fps, List<String> *r_missing_deps, Error *r_err = nullptr) override;
};
#include "scene/resources/box_shape_3d.h"
diff --git a/editor/import/resource_importer_shader_file.cpp b/editor/import/resource_importer_shader_file.cpp
index 1d70a47daa..64839bf199 100644
--- a/editor/import/resource_importer_shader_file.cpp
+++ b/editor/import/resource_importer_shader_file.cpp
@@ -68,7 +68,7 @@ String ResourceImporterShaderFile::get_preset_name(int p_idx) const {
void ResourceImporterShaderFile::get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset) const {
}
-bool ResourceImporterShaderFile::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterShaderFile::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
return true;
}
@@ -89,7 +89,7 @@ static String _include_function(const String &p_path, void *userpointer) {
return file_inc->get_as_utf8_string();
}
-Error ResourceImporterShaderFile::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterShaderFile::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
/* STEP 1, Read shader code */
Error err;
diff --git a/editor/import/resource_importer_shader_file.h b/editor/import/resource_importer_shader_file.h
index 858c2e783c..9d0ef88b05 100644
--- a/editor/import/resource_importer_shader_file.h
+++ b/editor/import/resource_importer_shader_file.h
@@ -47,9 +47,9 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
ResourceImporterShaderFile();
};
diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp
index 6770eef543..5364b53b57 100644
--- a/editor/import/resource_importer_texture.cpp
+++ b/editor/import/resource_importer_texture.cpp
@@ -160,7 +160,7 @@ String ResourceImporterTexture::get_resource_type() const {
return "CompressedTexture2D";
}
-bool ResourceImporterTexture::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterTexture::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
if (p_option == "compress/lossy_quality") {
int compress_mode = int(p_options["compress/mode"]);
if (compress_mode != COMPRESS_LOSSY && compress_mode != COMPRESS_VRAM_COMPRESSED) {
@@ -402,7 +402,7 @@ void ResourceImporterTexture::_save_ctex(const Ref<Image> &p_image, const String
save_to_ctex_format(f, image, p_compress_mode, used_channels, p_vram_compression, p_lossy_quality);
}
-Error ResourceImporterTexture::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterTexture::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
CompressMode compress_mode = CompressMode(int(p_options["compress/mode"]));
const float lossy = p_options["compress/lossy_quality"];
const int pack_channels = p_options["compress/channel_pack"];
diff --git a/editor/import/resource_importer_texture.h b/editor/import/resource_importer_texture.h
index b932c598a2..7def2d4f77 100644
--- a/editor/import/resource_importer_texture.h
+++ b/editor/import/resource_importer_texture.h
@@ -65,7 +65,7 @@ protected:
RS::TextureDetectRoughnessChannel channel_for_roughness = RS::TEXTURE_DETECT_ROUGHNESS_R;
};
- Map<StringName, MakeInfo> make_flags;
+ HashMap<StringName, MakeInfo> make_flags;
static void _texture_reimport_roughness(const Ref<CompressedTexture2D> &p_tex, const String &p_normal_path, RenderingServer::TextureDetectRoughnessChannel p_channel);
static void _texture_reimport_3d(const Ref<CompressedTexture2D> &p_tex);
@@ -96,9 +96,9 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
void update_imports();
diff --git a/editor/import/resource_importer_texture_atlas.cpp b/editor/import/resource_importer_texture_atlas.cpp
index cd481e009e..aa338a6c0d 100644
--- a/editor/import/resource_importer_texture_atlas.cpp
+++ b/editor/import/resource_importer_texture_atlas.cpp
@@ -59,7 +59,7 @@ String ResourceImporterTextureAtlas::get_resource_type() const {
return "Texture2D";
}
-bool ResourceImporterTextureAtlas::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterTextureAtlas::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
return true;
}
@@ -82,7 +82,7 @@ String ResourceImporterTextureAtlas::get_option_group_file() const {
return "atlas_file";
}
-Error ResourceImporterTextureAtlas::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterTextureAtlas::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
/* If this happens, it's because the atlas_file field was not filled, so just import a broken texture */
//use an xpm because it's size independent, the editor images are vector and size dependent
@@ -188,7 +188,7 @@ static void _plot_triangle(Vector2i *vertices, const Vector2i &p_offset, bool p_
}
}
-Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file, const Map<String, Map<StringName, Variant>> &p_source_file_options, const Map<String, String> &p_base_paths) {
+Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file, const HashMap<String, HashMap<StringName, Variant>> &p_source_file_options, const HashMap<String, String> &p_base_paths) {
ERR_FAIL_COND_V(p_source_file_options.size() == 0, ERR_BUG); //should never happen
Vector<EditorAtlasPacker::Chart> charts;
@@ -197,10 +197,10 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
pack_data_files.resize(p_source_file_options.size());
int idx = 0;
- for (const Map<String, Map<StringName, Variant>>::Element *E = p_source_file_options.front(); E; E = E->next(), idx++) {
+ for (const KeyValue<String, HashMap<StringName, Variant>> &E : p_source_file_options) {
PackData &pack_data = pack_data_files.write[idx];
- const String &source = E->key();
- const Map<StringName, Variant> &options = E->get();
+ const String &source = E.key;
+ const HashMap<StringName, Variant> &options = E.value;
Ref<Image> image;
image.instantiate();
@@ -271,6 +271,7 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
pack_data.chart_vertices.push_back(polygons[j]);
}
}
+ idx++;
}
//pack the charts
@@ -318,7 +319,7 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
//save the images
idx = 0;
- for (const Map<String, Map<StringName, Variant>>::Element *E = p_source_file_options.front(); E; E = E->next(), idx++) {
+ for (const KeyValue<String, HashMap<StringName, Variant>> &E : p_source_file_options) {
PackData &pack_data = pack_data_files.write[idx];
Ref<Texture2D> texture;
@@ -394,8 +395,9 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
//mesh
}
- String save_path = p_base_paths[E->key()] + ".res";
+ String save_path = p_base_paths[E.key] + ".res";
ResourceSaver::save(save_path, texture);
+ idx++;
}
return OK;
diff --git a/editor/import/resource_importer_texture_atlas.h b/editor/import/resource_importer_texture_atlas.h
index a5e47dee99..971eb067df 100644
--- a/editor/import/resource_importer_texture_atlas.h
+++ b/editor/import/resource_importer_texture_atlas.h
@@ -61,11 +61,11 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
virtual String get_option_group_file() const override;
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
- virtual Error import_group_file(const String &p_group_file, const Map<String, Map<StringName, Variant>> &p_source_file_options, const Map<String, String> &p_base_paths) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import_group_file(const String &p_group_file, const HashMap<String, HashMap<StringName, Variant>> &p_source_file_options, const HashMap<String, String> &p_base_paths) override;
ResourceImporterTextureAtlas();
};
diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp
index 154970f7ed..362940dc17 100644
--- a/editor/import/resource_importer_wav.cpp
+++ b/editor/import/resource_importer_wav.cpp
@@ -58,7 +58,7 @@ String ResourceImporterWAV::get_resource_type() const {
return "AudioStreamSample";
}
-bool ResourceImporterWAV::get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const {
+bool ResourceImporterWAV::get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const {
if (p_option == "force/max_rate_hz" && !bool(p_options["force/max_rate"])) {
return false;
}
@@ -93,7 +93,7 @@ void ResourceImporterWAV::get_import_options(const String &p_path, List<ImportOp
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/mode", PROPERTY_HINT_ENUM, "Disabled,RAM (Ima-ADPCM)"), 0));
}
-Error ResourceImporterWAV::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
+Error ResourceImporterWAV::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) {
/* STEP 1, READ WAVE FILE */
Error err;
diff --git a/editor/import/resource_importer_wav.h b/editor/import/resource_importer_wav.h
index 2316ce80e5..739ec9b181 100644
--- a/editor/import/resource_importer_wav.h
+++ b/editor/import/resource_importer_wav.h
@@ -47,7 +47,7 @@ public:
virtual String get_preset_name(int p_idx) const override;
virtual void get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset = 0) const override;
- virtual bool get_option_visibility(const String &p_path, const String &p_option, const Map<StringName, Variant> &p_options) const override;
+ virtual bool get_option_visibility(const String &p_path, const String &p_option, const HashMap<StringName, Variant> &p_options) const override;
static void _compress_ima_adpcm(const Vector<float> &p_data, Vector<uint8_t> &dst_data) {
static const int16_t _ima_adpcm_step_table[89] = {
@@ -140,7 +140,7 @@ public:
}
}
- virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
+ virtual Error import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) override;
ResourceImporterWAV();
};
diff --git a/editor/import/scene_import_settings.cpp b/editor/import/scene_import_settings.cpp
index 8866794505..3c68477564 100644
--- a/editor/import/scene_import_settings.cpp
+++ b/editor/import/scene_import_settings.cpp
@@ -43,9 +43,9 @@
class SceneImportSettingsData : public Object {
GDCLASS(SceneImportSettingsData, Object)
friend class SceneImportSettings;
- Map<StringName, Variant> *settings = nullptr;
- Map<StringName, Variant> current;
- Map<StringName, Variant> defaults;
+ HashMap<StringName, Variant> *settings = nullptr;
+ HashMap<StringName, Variant> current;
+ HashMap<StringName, Variant> defaults;
List<ResourceImporter::ImportOption> options;
bool hide_options = false;
String path;
@@ -501,7 +501,7 @@ void SceneImportSettings::_update_camera() {
camera->set_transform(xf);
}
-void SceneImportSettings::_load_default_subresource_settings(Map<StringName, Variant> &settings, const String &p_type, const String &p_import_id, ResourceImporterScene::InternalImportCategory p_category) {
+void SceneImportSettings::_load_default_subresource_settings(HashMap<StringName, Variant> &settings, const String &p_type, const String &p_import_id, ResourceImporterScene::InternalImportCategory p_category) {
if (base_subresource_settings.has(p_type)) {
Dictionary d = base_subresource_settings[p_type];
if (d.has(p_import_id)) {
@@ -852,7 +852,7 @@ void SceneImportSettings::_viewport_input(const Ref<InputEvent> &p_input) {
}
void SceneImportSettings::_re_import() {
- Map<StringName, Variant> main_settings;
+ HashMap<StringName, Variant> main_settings;
main_settings = defaults;
main_settings.erase("_subresources");
diff --git a/editor/import/scene_import_settings.h b/editor/import/scene_import_settings.h
index ec24a8a5a5..cbd105045a 100644
--- a/editor/import/scene_import_settings.h
+++ b/editor/import/scene_import_settings.h
@@ -103,9 +103,9 @@ class SceneImportSettings : public ConfirmationDialog {
float cam_rot_y = -Math_PI / 4;
float cam_zoom = 1;
- Map<StringName, Variant> settings;
+ HashMap<StringName, Variant> settings;
};
- Map<String, MaterialData> material_map;
+ HashMap<String, MaterialData> material_map;
struct MeshData {
bool has_import_id;
@@ -116,31 +116,31 @@ class SceneImportSettings : public ConfirmationDialog {
float cam_rot_x = -Math_PI / 4;
float cam_rot_y = -Math_PI / 4;
float cam_zoom = 1;
- Map<StringName, Variant> settings;
+ HashMap<StringName, Variant> settings;
};
- Map<String, MeshData> mesh_map;
+ HashMap<String, MeshData> mesh_map;
struct AnimationData {
Ref<Animation> animation;
TreeItem *scene_node = nullptr;
- Map<StringName, Variant> settings;
+ HashMap<StringName, Variant> settings;
};
- Map<String, AnimationData> animation_map;
+ HashMap<String, AnimationData> animation_map;
struct NodeData {
Node *node = nullptr;
TreeItem *scene_node = nullptr;
- Map<StringName, Variant> settings;
+ HashMap<StringName, Variant> settings;
};
- Map<String, NodeData> node_map;
+ HashMap<String, NodeData> node_map;
void _fill_material(Tree *p_tree, const Ref<Material> &p_material, TreeItem *p_parent);
void _fill_mesh(Tree *p_tree, const Ref<Mesh> &p_mesh, TreeItem *p_parent);
void _fill_animation(Tree *p_tree, const Ref<Animation> &p_anim, const String &p_name, TreeItem *p_parent);
void _fill_scene(Node *p_node, TreeItem *p_parent_item);
- Set<Ref<Mesh>> mesh_set;
- Set<Ref<Material>> material_set;
+ RBSet<Ref<Mesh>> mesh_set;
+ RBSet<Ref<Material>> material_set;
String selected_type;
String selected_id;
@@ -156,7 +156,7 @@ class SceneImportSettings : public ConfirmationDialog {
void _viewport_input(const Ref<InputEvent> &p_input);
- Map<StringName, Variant> defaults;
+ HashMap<StringName, Variant> defaults;
SceneImportSettingsData *scene_import_settings_data = nullptr;
@@ -187,7 +187,7 @@ class SceneImportSettings : public ConfirmationDialog {
Dictionary base_subresource_settings;
- void _load_default_subresource_settings(Map<StringName, Variant> &settings, const String &p_type, const String &p_import_id, ResourceImporterScene::InternalImportCategory p_category);
+ void _load_default_subresource_settings(HashMap<StringName, Variant> &settings, const String &p_type, const String &p_import_id, ResourceImporterScene::InternalImportCategory p_category);
bool editing_animation = false;
diff --git a/editor/import_defaults_editor.cpp b/editor/import_defaults_editor.cpp
index ff6b34dd36..9d96822aef 100644
--- a/editor/import_defaults_editor.cpp
+++ b/editor/import_defaults_editor.cpp
@@ -44,8 +44,8 @@ class ImportDefaultsEditorSettings : public Object {
GDCLASS(ImportDefaultsEditorSettings, Object)
friend class ImportDefaultsEditor;
List<PropertyInfo> properties;
- Map<StringName, Variant> values;
- Map<StringName, Variant> default_values;
+ HashMap<StringName, Variant> values;
+ HashMap<StringName, Variant> default_values;
Ref<ResourceImporter> importer;
diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp
index 4df46f2348..56b15c3b1a 100644
--- a/editor/import_dock.cpp
+++ b/editor/import_dock.cpp
@@ -39,11 +39,11 @@ class ImportDockParameters : public Object {
GDCLASS(ImportDockParameters, Object);
public:
- Map<StringName, Variant> values;
+ HashMap<StringName, Variant> values;
List<PropertyInfo> properties;
Ref<ResourceImporter> importer;
Vector<String> paths;
- Set<StringName> checked;
+ RBSet<StringName> checked;
bool checking;
String base_options_path;
@@ -193,8 +193,8 @@ void ImportDock::set_edit_multiple_paths(const Vector<String> &p_paths) {
clear();
// Use the value that is repeated the most.
- Map<String, Dictionary> value_frequency;
- Set<String> extensions;
+ HashMap<String, Dictionary> value_frequency;
+ RBSet<String> extensions;
for (int i = 0; i < p_paths.size(); i++) {
Ref<ConfigFile> config;
diff --git a/editor/import_dock.h b/editor/import_dock.h
index f522b0bced..7f4aa1ddb3 100644
--- a/editor/import_dock.h
+++ b/editor/import_dock.h
@@ -51,7 +51,7 @@ class ImportDock : public VBoxContainer {
EditorInspector *import_opts = nullptr;
List<PropertyInfo> properties;
- Map<StringName, Variant> property_values;
+ HashMap<StringName, Variant> property_values;
ConfirmationDialog *reimport_confirm = nullptr;
Label *label_warning = nullptr;
diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp
index a62d1af477..c5dacd8d21 100644
--- a/editor/inspector_dock.cpp
+++ b/editor/inspector_dock.cpp
@@ -149,7 +149,7 @@ void InspectorDock::_menu_option_confirm(int p_option, bool p_confirmed) {
if (current) {
List<PropertyInfo> props;
current->get_property_list(&props);
- Map<Ref<Resource>, Ref<Resource>> duplicates;
+ HashMap<Ref<Resource>, Ref<Resource>> duplicates;
for (const PropertyInfo &prop_info : props) {
if (!(prop_info.usage & PROPERTY_USAGE_STORAGE)) {
continue;
@@ -307,7 +307,7 @@ void InspectorDock::_prepare_history() {
history_menu->get_popup()->clear();
Ref<Texture2D> base_icon = get_theme_icon(SNAME("Object"), SNAME("EditorIcons"));
- Set<ObjectID> already;
+ RBSet<ObjectID> already;
for (int i = editor_history->get_history_len() - 1; i >= history_to; i--) {
ObjectID id = editor_history->get_history_obj(i);
Object *obj = ObjectDB::get_instance(id);
diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp
index 0b3164aada..715b1725e0 100644
--- a/editor/plugins/animation_blend_tree_editor_plugin.cpp
+++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp
@@ -459,16 +459,22 @@ void AnimationNodeBlendTreeEditor::_delete_request(const String &p_which) {
undo_redo->commit_action();
}
-void AnimationNodeBlendTreeEditor::_delete_nodes_request() {
+void AnimationNodeBlendTreeEditor::_delete_nodes_request(const TypedArray<StringName> &p_nodes) {
List<StringName> to_erase;
- 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_erase.push_back(gn->get_name());
+ if (p_nodes.is_empty()) {
+ 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_erase.push_back(gn->get_name());
+ }
}
}
+ } else {
+ for (int i = 0; i < p_nodes.size(); i++) {
+ to_erase.push_back(p_nodes[i]);
+ }
}
if (to_erase.is_empty()) {
@@ -557,8 +563,8 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
updating = true;
- Set<String> paths;
- HashMap<String, Set<String>> types;
+ RBSet<String> paths;
+ HashMap<String, RBSet<String>> types;
{
List<StringName> animations;
player->get_animation_list(&animations);
@@ -595,10 +601,10 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
filters->clear();
TreeItem *root = filters->create_item();
- Map<String, TreeItem *> parenthood;
+ HashMap<String, TreeItem *> parenthood;
- for (Set<String>::Element *E = paths.front(); E; E = E->next()) {
- NodePath path = E->get();
+ for (const String &E : paths) {
+ NodePath path = E;
TreeItem *ti = nullptr;
String accum;
for (int i = 0; i < path.get_name_count(); i++) {
@@ -692,7 +698,7 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
//just a node, not a property track
String types_text = "[";
if (types.has(path)) {
- Set<String>::Element *F = types[path].front();
+ RBSet<String>::Element *F = types[path].front();
types_text += F->get();
while (F->next()) {
F = F->next();
@@ -903,8 +909,8 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima
}
//update animations
- for (Map<StringName, ProgressBar *>::Element *E = animations.front(); E; E = E->next()) {
- if (E->key() == prev_name) {
+ for (const KeyValue<StringName, ProgressBar *> &E : animations) {
+ if (E.key == prev_name) {
animations[new_name] = animations[prev_name];
animations.erase(prev_name);
break;
diff --git a/editor/plugins/animation_blend_tree_editor_plugin.h b/editor/plugins/animation_blend_tree_editor_plugin.h
index cacf8379f9..b5bf91a1da 100644
--- a/editor/plugins/animation_blend_tree_editor_plugin.h
+++ b/editor/plugins/animation_blend_tree_editor_plugin.h
@@ -61,7 +61,7 @@ class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin {
Tree *filters = nullptr;
CheckBox *filter_enabled = nullptr;
- Map<StringName, ProgressBar *> animations;
+ HashMap<StringName, ProgressBar *> animations;
Vector<EditorProperty *> visible_properties;
String to_node = "";
@@ -103,7 +103,7 @@ class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin {
void _open_in_editor(const String &p_which);
void _anim_selected(int p_index, Array p_options, const String &p_node);
void _delete_request(const String &p_which);
- void _delete_nodes_request();
+ void _delete_nodes_request(const TypedArray<StringName> &p_nodes);
bool _update_filters(const Ref<AnimationNode> &anode);
void _edit_filters(const String &p_which);
diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp
index 581dab84b4..57cf13d298 100644
--- a/editor/plugins/animation_player_editor_plugin.cpp
+++ b/editor/plugins/animation_player_editor_plugin.cpp
@@ -1338,7 +1338,7 @@ void AnimationPlayerEditor::_prepare_onion_layers_2() {
float pos = cpos + step_off * anim->get_step();
- bool valid = anim->get_loop_mode() != Animation::LoopMode::LOOP_NONE || (pos >= 0 && pos <= anim->get_length());
+ bool valid = anim->get_loop_mode() != Animation::LOOP_NONE || (pos >= 0 && pos <= anim->get_length());
onion.captures_valid.write[cidx] = valid;
if (valid) {
player->seek(pos, true);
diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp
index 920fe347ca..2b90b4cdd6 100644
--- a/editor/plugins/animation_state_machine_editor.cpp
+++ b/editor/plugins/animation_state_machine_editor.cpp
@@ -609,7 +609,7 @@ void AnimationNodeStateMachineEditor::_group_selected_nodes() {
void AnimationNodeStateMachineEditor::_ungroup_selected_nodes() {
bool find = false;
- Set<StringName> new_selected_nodes;
+ RBSet<StringName> new_selected_nodes;
for (const StringName &E : selected_nodes) {
Ref<AnimationNodeStateMachine> group_sm = state_machine->get_node(E);
diff --git a/editor/plugins/animation_state_machine_editor.h b/editor/plugins/animation_state_machine_editor.h
index 1247d99389..3db4d91367 100644
--- a/editor/plugins/animation_state_machine_editor.h
+++ b/editor/plugins/animation_state_machine_editor.h
@@ -64,7 +64,7 @@ class AnimationNodeStateMachineEditor : public AnimationTreeNodeEditorPlugin {
PanelContainer *panel = nullptr;
StringName selected_node;
- Set<StringName> selected_nodes;
+ RBSet<StringName> selected_nodes;
HScrollBar *h_scroll = nullptr;
VScrollBar *v_scroll = nullptr;
@@ -105,7 +105,7 @@ class AnimationNodeStateMachineEditor : public AnimationTreeNodeEditorPlugin {
Point2 box_selecting_from;
Point2 box_selecting_to;
Rect2 box_selecting_rect;
- Set<StringName> previous_selected;
+ RBSet<StringName> previous_selected;
bool dragging_selected_attempt = false;
bool dragging_selected = false;
diff --git a/editor/plugins/asset_library_editor_plugin.h b/editor/plugins/asset_library_editor_plugin.h
index 24d7c1d24c..af961e1403 100644
--- a/editor/plugins/asset_library_editor_plugin.h
+++ b/editor/plugins/asset_library_editor_plugin.h
@@ -252,7 +252,7 @@ class EditorAssetLibrary : public PanelContainer {
};
int last_queue_id;
- Map<int, ImageQueue> image_queue;
+ HashMap<int, ImageQueue> image_queue;
void _image_update(bool use_cache, bool final, const PackedByteArray &p_data, int p_queue_id);
void _image_request_completed(int p_status, int p_code, const PackedStringArray &headers, const PackedByteArray &p_data, int p_queue_id);
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index c129d705c9..a7e3d17fdc 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -562,7 +562,11 @@ void CanvasItemEditor::_expand_encompassing_rect_using_children(Rect2 &r_rect, c
}
if (canvas_item && canvas_item->is_visible_in_tree() && (include_locked_nodes || !_is_node_locked(canvas_item))) {
- Transform2D xform = p_parent_xform * p_canvas_xform * canvas_item->get_transform();
+ Transform2D xform = p_canvas_xform;
+ if (!canvas_item->is_set_as_top_level()) {
+ xform *= p_parent_xform;
+ }
+ xform *= canvas_item->get_transform();
Rect2 rect = canvas_item->_edit_get_rect();
if (r_first) {
r_rect = Rect2(xform.xform(rect.get_center()), Size2());
@@ -608,7 +612,11 @@ void CanvasItemEditor::_find_canvas_items_at_pos(const Point2 &p_pos, Node *p_no
}
if (canvas_item && canvas_item->is_visible_in_tree()) {
- Transform2D xform = (p_parent_xform * p_canvas_xform * canvas_item->get_transform()).affine_inverse();
+ Transform2D xform = p_canvas_xform;
+ if (!canvas_item->is_set_as_top_level()) {
+ xform *= p_parent_xform;
+ }
+ xform = (xform * canvas_item->get_transform()).affine_inverse();
const real_t local_grab_distance = xform.basis_xform(Vector2(grab_distance, 0)).length() / zoom;
if (canvas_item->_edit_is_selected_on_click(xform.xform(p_pos), local_grab_distance)) {
Node2D *node = Object::cast_to<Node2D>(canvas_item);
@@ -698,7 +706,11 @@ void CanvasItemEditor::_find_canvas_items_in_rect(const Rect2 &p_rect, Node *p_n
}
if (canvas_item && canvas_item->is_visible_in_tree() && !locked && editable) {
- Transform2D xform = p_parent_xform * p_canvas_xform * canvas_item->get_transform();
+ Transform2D xform = p_canvas_xform;
+ if (!canvas_item->is_set_as_top_level()) {
+ xform *= p_parent_xform;
+ }
+ xform *= canvas_item->get_transform();
if (canvas_item->_edit_use_rect()) {
Rect2 rect = canvas_item->_edit_get_rect();
@@ -4085,7 +4097,7 @@ void CanvasItemEditor::_button_tool_select(int p_index) {
}
void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation, bool p_scale, bool p_on_existing) {
- const Map<Node *, Object *> &selection = editor_selection->get_selection();
+ const HashMap<Node *, Object *> &selection = editor_selection->get_selection();
for (const KeyValue<Node *, Object *> &E : selection) {
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
@@ -4396,7 +4408,7 @@ void CanvasItemEditor::_popup_callback(int p_op) {
case ANIM_COPY_POSE: {
pose_clipboard.clear();
- const Map<Node *, Object *> &selection = editor_selection->get_selection();
+ const HashMap<Node *, Object *> &selection = editor_selection->get_selection();
for (const KeyValue<Node *, Object *> &E : selection) {
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
@@ -4442,7 +4454,7 @@ void CanvasItemEditor::_popup_callback(int p_op) {
} break;
case ANIM_CLEAR_POSE: {
- Map<Node *, Object *> &selection = editor_selection->get_selection();
+ HashMap<Node *, Object *> &selection = editor_selection->get_selection();
for (const KeyValue<Node *, Object *> &E : selection) {
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
@@ -4511,7 +4523,7 @@ void CanvasItemEditor::_popup_callback(int p_op) {
} break;
case SKELETON_MAKE_BONES: {
- Map<Node *, Object *> &selection = editor_selection->get_selection();
+ HashMap<Node *, Object *> &selection = editor_selection->get_selection();
Node *editor_root = EditorNode::get_singleton()->get_edited_scene()->get_tree()->get_edited_scene_root();
undo_redo->create_action(TTR("Create Custom Bone2D(s) from Node(s)"));
@@ -4559,7 +4571,7 @@ void CanvasItemEditor::_focus_selection(int p_op) {
Rect2 rect;
int count = 0;
- const Map<Node *, Object *> &selection = editor_selection->get_selection();
+ const HashMap<Node *, Object *> &selection = editor_selection->get_selection();
for (const KeyValue<Node *, Object *> &E : selection) {
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key);
if (!canvas_item) {
diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h
index 7a49041131..a4099079f3 100644
--- a/editor/plugins/canvas_item_editor_plugin.h
+++ b/editor/plugins/canvas_item_editor_plugin.h
@@ -283,7 +283,7 @@ private:
}
};
- Map<BoneKey, BoneList> bone_list;
+ HashMap<BoneKey, BoneList> bone_list;
struct PoseClipboard {
Vector2 pos;
diff --git a/editor/plugins/control_editor_plugin.cpp b/editor/plugins/control_editor_plugin.cpp
index 4ab03c123b..ebb0da1ad7 100644
--- a/editor/plugins/control_editor_plugin.cpp
+++ b/editor/plugins/control_editor_plugin.cpp
@@ -335,7 +335,7 @@ void EditorPropertySizeFlags::setup(const Vector<String> &p_options, bool p_vert
return;
}
- Map<int, String> flags;
+ HashMap<int, String> flags;
for (int i = 0, j = 0; i < p_options.size(); i++, j++) {
Vector<String> text_split = p_options[i].split(":");
int64_t current_val = text_split[1].to_int();
diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp
index 80fc1c64d0..0560365a58 100644
--- a/editor/plugins/editor_preview_plugins.cpp
+++ b/editor/plugins/editor_preview_plugins.cpp
@@ -481,8 +481,8 @@ Ref<Texture2D> EditorScriptPreviewPlugin::generate(const Ref<Resource> &p_from,
List<String> kwors;
scr->get_language()->get_reserved_words(&kwors);
- Set<String> control_flow_keywords;
- Set<String> keywords;
+ RBSet<String> control_flow_keywords;
+ RBSet<String> keywords;
for (const String &E : kwors) {
if (scr->get_language()->is_control_flow_keyword(E)) {
diff --git a/editor/plugins/gdextension_export_plugin.h b/editor/plugins/gdextension_export_plugin.h
index 8ed72b1c42..28c37fed52 100644
--- a/editor/plugins/gdextension_export_plugin.h
+++ b/editor/plugins/gdextension_export_plugin.h
@@ -35,10 +35,10 @@
class GDExtensionExportPlugin : public EditorExportPlugin {
protected:
- virtual void _export_file(const String &p_path, const String &p_type, const Set<String> &p_features);
+ virtual void _export_file(const String &p_path, const String &p_type, const RBSet<String> &p_features);
};
-void GDExtensionExportPlugin::_export_file(const String &p_path, const String &p_type, const Set<String> &p_features) {
+void GDExtensionExportPlugin::_export_file(const String &p_path, const String &p_type, const RBSet<String> &p_features) {
if (p_type != "NativeExtension") {
return;
}
diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.cpp b/editor/plugins/gpu_particles_3d_editor_plugin.cpp
index 4b1081ed92..b022fcc1c9 100644
--- a/editor/plugins/gpu_particles_3d_editor_plugin.cpp
+++ b/editor/plugins/gpu_particles_3d_editor_plugin.cpp
@@ -42,7 +42,7 @@ bool GPUParticles3DEditorBase::_generate(Vector<Vector3> &points, Vector<Vector3
if (emission_fill->get_selected() < 2) {
float area_accum = 0;
- Map<float, int> triangle_area_map;
+ RBMap<float, int> triangle_area_map;
for (int i = 0; i < geometry.size(); i++) {
float area = geometry[i].get_area();
@@ -63,9 +63,9 @@ bool GPUParticles3DEditorBase::_generate(Vector<Vector3> &points, Vector<Vector3
for (int i = 0; i < emissor_count; i++) {
float areapos = Math::random(0.0f, area_accum);
- Map<float, int>::Element *E = triangle_area_map.find_closest(areapos);
+ RBMap<float, int>::Iterator E = triangle_area_map.find_closest(areapos);
ERR_FAIL_COND_V(!E, false);
- int index = E->get();
+ int index = E->value;
ERR_FAIL_INDEX_V(index, geometry.size(), false);
// ok FINALLY get face
diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.cpp b/editor/plugins/mesh_instance_3d_editor_plugin.cpp
index 1c75591b34..3094e24659 100644
--- a/editor/plugins/mesh_instance_3d_editor_plugin.cpp
+++ b/editor/plugins/mesh_instance_3d_editor_plugin.cpp
@@ -373,7 +373,7 @@ void MeshInstance3DEditor::_create_uv_lines(int p_layer) {
Ref<Mesh> mesh = node->get_mesh();
ERR_FAIL_COND(!mesh.is_valid());
- Set<MeshInstance3DEditorEdgeSort> edges;
+ RBSet<MeshInstance3DEditorEdgeSort> edges;
uv_lines.clear();
for (int i = 0; i < mesh->get_surface_count(); i++) {
if (mesh->surface_get_primitive_type(i) != Mesh::PRIMITIVE_TRIANGLES) {
diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp
index 423ec5f4ed..914ccb54c1 100644
--- a/editor/plugins/mesh_library_editor_plugin.cpp
+++ b/editor/plugins/mesh_library_editor_plugin.cpp
@@ -71,7 +71,7 @@ void MeshLibraryEditor::_import_scene(Node *p_scene, Ref<MeshLibrary> p_library,
p_library->clear();
}
- Map<int, MeshInstance3D *> mesh_instances;
+ HashMap<int, MeshInstance3D *> mesh_instances;
for (int i = 0; i < p_scene->get_child_count(); i++) {
Node *child = p_scene->get_child(i);
diff --git a/editor/plugins/multimesh_editor_plugin.cpp b/editor/plugins/multimesh_editor_plugin.cpp
index b54fa41e88..0fab3aed0d 100644
--- a/editor/plugins/multimesh_editor_plugin.cpp
+++ b/editor/plugins/multimesh_editor_plugin.cpp
@@ -141,7 +141,7 @@ void MultiMeshEditor::_populate() {
const Face3 *r = faces.ptr();
float area_accum = 0;
- Map<float, int> triangle_area_map;
+ RBMap<float, int> triangle_area_map;
for (int i = 0; i < facecount; i++) {
float area = r[i].get_area();
if (area < CMP_EPSILON) {
@@ -180,9 +180,9 @@ void MultiMeshEditor::_populate() {
for (int i = 0; i < instance_count; i++) {
float areapos = Math::random(0.0f, area_accum);
- Map<float, int>::Element *E = triangle_area_map.find_closest(areapos);
+ RBMap<float, int>::Iterator E = triangle_area_map.find_closest(areapos);
ERR_FAIL_COND(!E);
- int index = E->get();
+ int index = E->value;
ERR_FAIL_INDEX(index, facecount);
// ok FINALLY get face
diff --git a/editor/plugins/node_3d_editor_gizmos.cpp b/editor/plugins/node_3d_editor_gizmos.cpp
index 6829e25ef3..58cdf3533c 100644
--- a/editor/plugins/node_3d_editor_gizmos.cpp
+++ b/editor/plugins/node_3d_editor_gizmos.cpp
@@ -2993,10 +2993,15 @@ void GPUParticles3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
////
GPUParticlesCollision3DGizmoPlugin::GPUParticlesCollision3DGizmoPlugin() {
- Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/particle_collision", Color(0.5, 0.7, 1));
- create_material("shape_material", gizmo_color);
- gizmo_color.a = 0.15;
- create_material("shape_material_internal", gizmo_color);
+ Color gizmo_color_attractor = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/particle_attractor", Color(1, 0.7, 0.5));
+ create_material("shape_material_attractor", gizmo_color_attractor);
+ gizmo_color_attractor.a = 0.15;
+ create_material("shape_material_attractor_internal", gizmo_color_attractor);
+
+ Color gizmo_color_collision = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/particle_collision", Color(0.5, 0.7, 1));
+ create_material("shape_material_collision", gizmo_color_collision);
+ gizmo_color_collision.a = 0.15;
+ create_material("shape_material_collision_internal", gizmo_color_collision);
create_handle_material("handles");
}
@@ -3122,12 +3127,17 @@ void GPUParticlesCollision3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
p_gizmo->clear();
- const Ref<Material> material =
- get_material("shape_material", p_gizmo);
- const Ref<Material> material_internal =
- get_material("shape_material_internal", p_gizmo);
+ Ref<Material> material;
+ Ref<Material> material_internal;
+ if (Object::cast_to<GPUParticlesAttractor3D>(cs)) {
+ material = get_material("shape_material_attractor", p_gizmo);
+ material_internal = get_material("shape_material_attractor_internal", p_gizmo);
+ } else {
+ material = get_material("shape_material_collision", p_gizmo);
+ material_internal = get_material("shape_material_collision_internal", p_gizmo);
+ }
- Ref<Material> handles_material = get_material("handles");
+ const Ref<Material> handles_material = get_material("handles");
if (Object::cast_to<GPUParticlesCollisionSphere3D>(cs) || Object::cast_to<GPUParticlesAttractorSphere3D>(cs)) {
float r = cs->call("get_radius");
@@ -3789,7 +3799,7 @@ void LightmapGIGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
p_gizmo->clear();
Vector<Vector3> lines;
- Set<Vector2i> lines_found;
+ RBSet<Vector2i> lines_found;
Vector<Vector3> points = data->get_capture_points();
if (points.size() == 0) {
@@ -4755,7 +4765,7 @@ void NavigationRegion3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
return;
}
- Map<_EdgeKey, bool> edge_map;
+ HashMap<_EdgeKey, bool, _EdgeKey> edge_map;
Vector<Vector3> tmeshfaces;
tmeshfaces.resize(faces.size() * 3);
@@ -4773,10 +4783,10 @@ void NavigationRegion3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
SWAP(ek.from, ek.to);
}
- Map<_EdgeKey, bool>::Element *F = edge_map.find(ek);
+ HashMap<_EdgeKey, bool, _EdgeKey>::Iterator F = edge_map.find(ek);
if (F) {
- F->get() = false;
+ F->value = false;
} else {
edge_map[ek] = true;
diff --git a/editor/plugins/node_3d_editor_gizmos.h b/editor/plugins/node_3d_editor_gizmos.h
index 4df329a2c5..a0d7715347 100644
--- a/editor/plugins/node_3d_editor_gizmos.h
+++ b/editor/plugins/node_3d_editor_gizmos.h
@@ -601,7 +601,13 @@ class NavigationRegion3DGizmoPlugin : public EditorNode3DGizmoPlugin {
Vector3 from;
Vector3 to;
- bool operator<(const _EdgeKey &p_with) const { return from == p_with.from ? to < p_with.to : from < p_with.from; }
+ static uint32_t hash(const _EdgeKey &p_key) {
+ return HashMapHasherDefault::hash(p_key.from) ^ HashMapHasherDefault::hash(p_key.to);
+ }
+
+ bool operator==(const _EdgeKey &p_with) const {
+ return HashMapComparatorDefault<Vector3>::compare(from, p_with.from) && HashMapComparatorDefault<Vector3>::compare(to, p_with.to);
+ }
};
public:
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index d2af13d7fa..10c63afa02 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -369,7 +369,7 @@ Transform3D Node3DEditorViewport::to_camera_transform(const Cursor &p_cursor) co
}
int Node3DEditorViewport::get_selected_count() const {
- const Map<Node *, Object *> &selection = editor_selection->get_selection();
+ const HashMap<Node *, Object *> &selection = editor_selection->get_selection();
int count = 0;
@@ -518,7 +518,7 @@ ObjectID Node3DEditorViewport::_select_ray(const Point2 &p_pos) {
}
Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, pos + ray * camera->get_far(), get_tree()->get_root()->get_world_3d()->get_scenario());
- Set<Ref<EditorNode3DGizmo>> found_gizmos;
+ RBSet<Ref<EditorNode3DGizmo>> found_gizmos;
Node *edited_scene = get_tree()->get_edited_scene_root();
ObjectID closest;
@@ -581,7 +581,7 @@ void Node3DEditorViewport::_find_items_at_pos(const Point2 &p_pos, Vector<_RayRe
Vector3 pos = _get_ray_pos(p_pos);
Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, pos + ray * camera->get_far(), get_tree()->get_root()->get_world_3d()->get_scenario());
- Set<Node3D *> found_nodes;
+ RBSet<Node3D *> found_nodes;
for (int i = 0; i < instances.size(); i++) {
Node3D *spat = Object::cast_to<Node3D>(ObjectDB::get_instance(instances[i]));
@@ -764,7 +764,7 @@ void Node3DEditorViewport::_select_region() {
}
Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_convex(frustum, get_tree()->get_root()->get_world_3d()->get_scenario());
- Set<Node3D *> found_nodes;
+ RBSet<Node3D *> found_nodes;
Vector<Node *> selected;
Node *edited_scene = get_tree()->get_edited_scene_root();
@@ -2465,7 +2465,7 @@ void Node3DEditorViewport::_notification(int p_what) {
_update_camera(delta);
- const Map<Node *, Object *> &selection = editor_selection->get_selection();
+ const HashMap<Node *, Object *> &selection = editor_selection->get_selection();
bool changed = false;
bool exist = false;
@@ -6685,8 +6685,8 @@ void Node3DEditor::_refresh_menu_icons() {
}
template <typename T>
-Set<T *> _get_child_nodes(Node *parent_node) {
- Set<T *> nodes = Set<T *>();
+RBSet<T *> _get_child_nodes(Node *parent_node) {
+ RBSet<T *> nodes = RBSet<T *>();
T *node = Node::cast_to<T>(parent_node);
if (node) {
nodes.insert(node);
@@ -6694,8 +6694,8 @@ Set<T *> _get_child_nodes(Node *parent_node) {
for (int i = 0; i < parent_node->get_child_count(); i++) {
Node *child_node = parent_node->get_child(i);
- Set<T *> child_nodes = _get_child_nodes<T>(child_node);
- for (typename Set<T *>::Element *I = child_nodes.front(); I; I = I->next()) {
+ RBSet<T *> child_nodes = _get_child_nodes<T>(child_node);
+ for (typename RBSet<T *>::Element *I = child_nodes.front(); I; I = I->next()) {
nodes.insert(I->get());
}
}
@@ -6703,15 +6703,15 @@ Set<T *> _get_child_nodes(Node *parent_node) {
return nodes;
}
-Set<RID> _get_physics_bodies_rid(Node *node) {
- Set<RID> rids = Set<RID>();
+RBSet<RID> _get_physics_bodies_rid(Node *node) {
+ RBSet<RID> rids = RBSet<RID>();
PhysicsBody3D *pb = Node::cast_to<PhysicsBody3D>(node);
if (pb) {
rids.insert(pb->get_rid());
}
- Set<PhysicsBody3D *> child_nodes = _get_child_nodes<PhysicsBody3D>(node);
- for (Set<PhysicsBody3D *>::Element *I = child_nodes.front(); I; I = I->next()) {
- rids.insert(I->get()->get_rid());
+ RBSet<PhysicsBody3D *> child_nodes = _get_child_nodes<PhysicsBody3D>(node);
+ for (const PhysicsBody3D *I : child_nodes) {
+ rids.insert(I->get_rid());
}
return rids;
@@ -6728,13 +6728,13 @@ void Node3DEditor::snap_selected_nodes_to_floor() {
Vector3 position_offset = Vector3();
// Priorities for snapping to floor are CollisionShapes, VisualInstances and then origin
- Set<VisualInstance3D *> vi = _get_child_nodes<VisualInstance3D>(sp);
- Set<CollisionShape3D *> cs = _get_child_nodes<CollisionShape3D>(sp);
+ RBSet<VisualInstance3D *> vi = _get_child_nodes<VisualInstance3D>(sp);
+ RBSet<CollisionShape3D *> cs = _get_child_nodes<CollisionShape3D>(sp);
bool found_valid_shape = false;
if (cs.size()) {
AABB aabb;
- Set<CollisionShape3D *>::Element *I = cs.front();
+ RBSet<CollisionShape3D *>::Element *I = cs.front();
if (I->get()->get_shape().is_valid()) {
CollisionShape3D *collision_shape = cs.front()->get();
aabb = collision_shape->get_global_transform().xform(collision_shape->get_shape()->get_debug_mesh()->get_aabb());
@@ -6755,8 +6755,8 @@ void Node3DEditor::snap_selected_nodes_to_floor() {
}
if (!found_valid_shape && vi.size()) {
AABB aabb = vi.front()->get()->get_transformed_aabb();
- for (Set<VisualInstance3D *>::Element *I = vi.front(); I; I = I->next()) {
- aabb.merge_with(I->get()->get_transformed_aabb());
+ for (const VisualInstance3D *I : vi) {
+ aabb.merge_with(I->get_transformed_aabb());
}
Vector3 size = aabb.size * Vector3(0.5, 0.0, 0.5);
from = aabb.position + size;
@@ -6798,7 +6798,7 @@ void Node3DEditor::snap_selected_nodes_to_floor() {
Dictionary d = snap_data[node];
Vector3 from = d["from"];
Vector3 to = from - Vector3(0.0, max_snap_height, 0.0);
- Set<RID> excluded = _get_physics_bodies_rid(sp);
+ RBSet<RID> excluded = _get_physics_bodies_rid(sp);
PhysicsDirectSpaceState3D::RayParameters ray_params;
ray_params.from = from;
@@ -6820,7 +6820,7 @@ void Node3DEditor::snap_selected_nodes_to_floor() {
Dictionary d = snap_data[node];
Vector3 from = d["from"];
Vector3 to = from - Vector3(0.0, max_snap_height, 0.0);
- Set<RID> excluded = _get_physics_bodies_rid(sp);
+ RBSet<RID> excluded = _get_physics_bodies_rid(sp);
PhysicsDirectSpaceState3D::RayParameters ray_params;
ray_params.from = from;
diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h
index 43efdeec72..511135a5f1 100644
--- a/editor/plugins/node_3d_editor_plugin.h
+++ b/editor/plugins/node_3d_editor_plugin.h
@@ -461,7 +461,7 @@ public:
RID sbox_instance_xray;
RID sbox_instance_xray_offset;
Ref<EditorNode3DGizmo> gizmo;
- Map<int, Transform3D> subgizmos; // map ID -> initial transform
+ HashMap<int, Transform3D> subgizmos; // map ID -> initial transform
Node3DEditorSelectedItem() {
sp = nullptr;
diff --git a/editor/plugins/ot_features_plugin.cpp b/editor/plugins/ot_features_plugin.cpp
index ffa74173be..f8526fb715 100644
--- a/editor/plugins/ot_features_plugin.cpp
+++ b/editor/plugins/ot_features_plugin.cpp
@@ -31,6 +31,7 @@
#include "ot_features_plugin.h"
#include "scene/3d/label_3d.h"
+#include "scene/resources/primitive_meshes.h"
void OpenTypeFeaturesEditor::_value_changed(double val) {
if (setting) {
@@ -124,11 +125,14 @@ void OpenTypeFeaturesAdd::setup(Object *p_object) {
Control *ctrl = Object::cast_to<Control>(edited_object);
if (ctrl != nullptr) {
font = ctrl->get_theme_font(SNAME("font"));
- } else {
- Label3D *l3d = Object::cast_to<Label3D>(edited_object);
- if (l3d != nullptr) {
- font = l3d->_get_font_or_default();
- }
+ }
+ Label3D *l3d = Object::cast_to<Label3D>(edited_object);
+ if (l3d != nullptr) {
+ font = l3d->_get_font_or_default();
+ }
+ TextMesh *tm = Object::cast_to<TextMesh>(edited_object);
+ if (tm != nullptr) {
+ font = tm->_get_font_or_default();
}
if (font.is_null()) {
@@ -205,7 +209,7 @@ OpenTypeFeaturesAdd::OpenTypeFeaturesAdd() {
/*************************************************************************/
bool EditorInspectorPluginOpenTypeFeatures::can_handle(Object *p_object) {
- return (Object::cast_to<Control>(p_object) != nullptr) || (Object::cast_to<Label3D>(p_object) != nullptr);
+ return (Object::cast_to<Control>(p_object) != nullptr) || (Object::cast_to<Label3D>(p_object) != nullptr) || (Object::cast_to<TextMesh>(p_object) != nullptr);
}
bool EditorInspectorPluginOpenTypeFeatures::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) {
diff --git a/editor/plugins/packed_scene_translation_parser_plugin.h b/editor/plugins/packed_scene_translation_parser_plugin.h
index ecd090b31b..9135498333 100644
--- a/editor/plugins/packed_scene_translation_parser_plugin.h
+++ b/editor/plugins/packed_scene_translation_parser_plugin.h
@@ -37,9 +37,9 @@ class PackedSceneEditorTranslationParserPlugin : public EditorTranslationParserP
GDCLASS(PackedSceneEditorTranslationParserPlugin, EditorTranslationParserPlugin);
// Scene Node's properties that contain translation strings.
- Set<String> lookup_properties;
+ RBSet<String> lookup_properties;
// Properties from specific Nodes that should be ignored.
- Map<String, Vector<String>> exception_list;
+ HashMap<String, Vector<String>> exception_list;
public:
virtual Error parse_file(const String &p_path, Vector<String> *r_ids, Vector<Vector<String>> *r_ids_ctx_plural) override;
diff --git a/editor/plugins/root_motion_editor_plugin.cpp b/editor/plugins/root_motion_editor_plugin.cpp
index bfb672d694..bebc0e9d54 100644
--- a/editor/plugins/root_motion_editor_plugin.cpp
+++ b/editor/plugins/root_motion_editor_plugin.cpp
@@ -65,7 +65,7 @@ void EditorPropertyRootMotion::_node_assign() {
return;
}
- Set<String> paths;
+ RBSet<String> paths;
{
List<StringName> animations;
player->get_animation_list(&animations);
@@ -81,10 +81,10 @@ void EditorPropertyRootMotion::_node_assign() {
filters->clear();
TreeItem *root = filters->create_item();
- Map<String, TreeItem *> parenthood;
+ HashMap<String, TreeItem *> parenthood;
- for (Set<String>::Element *E = paths.front(); E; E = E->next()) {
- NodePath path = E->get();
+ for (const String &E : paths) {
+ NodePath path = E;
TreeItem *ti = nullptr;
String accum;
for (int i = 0; i < path.get_name_count(); i++) {
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp
index 8d29e04eec..115c6f43dd 100644
--- a/editor/plugins/script_editor_plugin.cpp
+++ b/editor/plugins/script_editor_plugin.cpp
@@ -235,21 +235,21 @@ class EditorScriptCodeCompletionCache : public ScriptCodeCompletionCache {
Ref<Resource> cache;
};
- Map<String, Cache> cached;
+ HashMap<String, Cache> cached;
public:
uint64_t max_time_cache = 5 * 60 * 1000; //minutes, five
- int max_cache_size = 128;
+ uint32_t max_cache_size = 128;
void cleanup() {
- List<Map<String, Cache>::Element *> to_clean;
+ List<String> to_clean;
- Map<String, Cache>::Element *I = cached.front();
+ HashMap<String, Cache>::Iterator I = cached.begin();
while (I) {
- if ((OS::get_singleton()->get_ticks_msec() - I->get().time_loaded) > max_time_cache) {
- to_clean.push_back(I);
+ if ((OS::get_singleton()->get_ticks_msec() - I->value.time_loaded) > max_time_cache) {
+ to_clean.push_back(I->key);
}
- I = I->next();
+ ++I;
}
while (to_clean.front()) {
@@ -259,34 +259,34 @@ public:
}
virtual Ref<Resource> get_cached_resource(const String &p_path) {
- Map<String, Cache>::Element *E = cached.find(p_path);
+ HashMap<String, Cache>::Iterator E = cached.find(p_path);
if (!E) {
Cache c;
c.cache = ResourceLoader::load(p_path);
E = cached.insert(p_path, c);
}
- E->get().time_loaded = OS::get_singleton()->get_ticks_msec();
+ E->value.time_loaded = OS::get_singleton()->get_ticks_msec();
if (cached.size() > max_cache_size) {
uint64_t older;
- Map<String, Cache>::Element *O = cached.front();
- older = O->get().time_loaded;
- Map<String, Cache>::Element *I = O;
+ HashMap<String, Cache>::Iterator O = cached.begin();
+ older = O->value.time_loaded;
+ HashMap<String, Cache>::Iterator I = O;
while (I) {
- if (I->get().time_loaded < older) {
- older = I->get().time_loaded;
+ if (I->value.time_loaded < older) {
+ older = I->value.time_loaded;
O = I;
}
- I = I->next();
+ ++I;
}
if (O != E) { //should never happen..
- cached.erase(O);
+ cached.remove(O);
}
}
- return E->get().cache;
+ return E->value.cache;
}
virtual ~EditorScriptCodeCompletionCache() {}
@@ -966,7 +966,7 @@ void ScriptEditor::_reload_scripts() {
ERR_CONTINUE(!rel_script.is_valid());
script->set_source_code(rel_script->get_source_code());
script->set_last_modified_time(rel_script->get_last_modified_time());
- script->reload();
+ script->reload(true);
}
Ref<TextFile> text_file = edited_res;
@@ -1365,9 +1365,17 @@ void ScriptEditor::_menu_option(int p_option) {
}
} break;
- case FILE_TOOL_RELOAD:
case FILE_TOOL_RELOAD_SOFT: {
- current->reload(p_option == FILE_TOOL_RELOAD_SOFT);
+ Ref<Script> scr = current->get_edited_resource();
+ if (scr == nullptr || scr.is_null()) {
+ EditorNode::get_singleton()->show_warning(TTR("Can't obtain the script for reloading."));
+ break;
+ }
+ if (!scr->is_tool()) {
+ EditorNode::get_singleton()->show_warning(TTR("Reload only takes effect on tool scripts."));
+ return;
+ }
+ scr->reload(true);
} break;
case FILE_RUN: {
@@ -1376,6 +1384,10 @@ void ScriptEditor::_menu_option(int p_option) {
EditorNode::get_singleton()->show_warning(TTR("Can't obtain the script for running."));
break;
}
+ if (!scr->is_tool()) {
+ EditorNode::get_singleton()->show_warning(TTR("Script is not in tool mode, will not be able to run."));
+ return;
+ }
current->apply_code();
Error err = scr->reload(false); //hard reload script before running always
@@ -1384,10 +1396,6 @@ void ScriptEditor::_menu_option(int p_option) {
EditorNode::get_singleton()->show_warning(TTR("Script failed reloading, check console for errors."));
return;
}
- if (!scr->is_tool()) {
- EditorNode::get_singleton()->show_warning(TTR("Script is not in tool mode, will not be able to run."));
- return;
- }
if (!ClassDB::is_parent_class(scr->get_instance_base_type(), "EditorScript")) {
EditorNode::get_singleton()->show_warning(TTR("To run this script, it must inherit EditorScript and be set to tool mode."));
@@ -1707,7 +1715,7 @@ void ScriptEditor::notify_script_changed(const Ref<Script> &p_script) {
}
void ScriptEditor::get_breakpoints(List<String> *p_breakpoints) {
- Set<String> loaded_scripts;
+ RBSet<String> loaded_scripts;
for (int i = 0; i < tab_container->get_tab_count(); i++) {
ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_tab_control(i));
if (!se) {
@@ -1792,7 +1800,7 @@ void ScriptEditor::ensure_select_current() {
_update_selected_editor_menu();
}
-void ScriptEditor::_find_scripts(Node *p_base, Node *p_current, Set<Ref<Script>> &used) {
+void ScriptEditor::_find_scripts(Node *p_base, Node *p_current, RBSet<Ref<Script>> &used) {
if (p_current != p_base && p_current->get_owner() != p_base) {
return;
}
@@ -1972,7 +1980,7 @@ void ScriptEditor::_update_script_names() {
return;
}
- Set<Ref<Script>> used;
+ RBSet<Ref<Script>> used;
Node *edited = EditorNode::get_singleton()->get_edited_scene();
if (edited) {
_find_scripts(edited, edited, used);
@@ -3091,8 +3099,8 @@ void ScriptEditor::_make_script_list_context_menu() {
if (se) {
Ref<Script> scr = se->get_edited_resource();
if (scr != nullptr) {
- context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/reload_script_soft"), FILE_TOOL_RELOAD_SOFT);
if (!scr.is_null() && scr->is_tool()) {
+ context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/reload_script_soft"), FILE_TOOL_RELOAD_SOFT);
context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/run_file"), FILE_RUN);
context_menu->add_separator();
}
@@ -3135,7 +3143,7 @@ void ScriptEditor::set_window_layout(Ref<ConfigFile> p_layout) {
restoring_layout = true;
- Set<String> loaded_scripts;
+ RBSet<String> loaded_scripts;
List<String> extensions;
ResourceLoader::get_recognized_extensions_for_type("Script", &extensions);
@@ -3774,7 +3782,7 @@ ScriptEditor::ScriptEditor() {
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_as", TTR("Save As...")), FILE_SAVE_AS);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KeyModifierMask::SHIFT | KeyModifierMask::ALT | Key::S), FILE_SAVE_ALL);
file_menu->get_popup()->add_separator();
- file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Script"), KeyModifierMask::CMD | KeyModifierMask::ALT | Key::R), FILE_TOOL_RELOAD_SOFT);
+ file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Tool Script"), KeyModifierMask::CMD | KeyModifierMask::ALT | Key::R), FILE_TOOL_RELOAD_SOFT);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/copy_path", TTR("Copy Script Path")), FILE_COPY_PATH);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/show_in_file_system", TTR("Show in FileSystem")), SHOW_IN_FILE_SYSTEM);
file_menu->get_popup()->add_separator();
diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h
index 41b311f745..ff71c8b484 100644
--- a/editor/plugins/script_editor_plugin.h
+++ b/editor/plugins/script_editor_plugin.h
@@ -206,7 +206,6 @@ class ScriptEditor : public PanelContainer {
TOGGLE_SCRIPTS_PANEL,
SHOW_IN_FILE_SYSTEM,
FILE_COPY_PATH,
- FILE_TOOL_RELOAD,
FILE_TOOL_RELOAD_SOFT,
SEARCH_IN_FILES,
REPLACE_IN_FILES,
@@ -415,7 +414,7 @@ class ScriptEditor : public PanelContainer {
void _update_help_overview();
void _help_overview_selected(int p_idx);
- void _find_scripts(Node *p_base, Node *p_current, Set<Ref<Script>> &used);
+ void _find_scripts(Node *p_base, Node *p_current, RBSet<Ref<Script>> &used);
void _tree_changed();
@@ -455,7 +454,7 @@ class ScriptEditor : public PanelContainer {
Ref<Script> _get_current_script();
Array _get_open_scripts() const;
- Set<String> textfile_extensions;
+ RBSet<String> textfile_extensions;
Ref<TextFile> _load_text_file(const String &p_path, Error *r_error) const;
Error _save_text_file(Ref<TextFile> p_text_file, const String &p_path);
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index bed7739239..f666ac0649 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -664,7 +664,7 @@ static Node *_find_node_for_script(Node *p_base, Node *p_current, const Ref<Scri
return nullptr;
}
-static void _find_changed_scripts_for_external_editor(Node *p_base, Node *p_current, Set<Ref<Script>> &r_scripts) {
+static void _find_changed_scripts_for_external_editor(Node *p_base, Node *p_current, RBSet<Ref<Script>> &r_scripts) {
if (p_current->get_owner() != p_base && p_base != p_current) {
return;
}
@@ -686,15 +686,15 @@ void ScriptEditor::_update_modified_scripts_for_external_editor(Ref<Script> p_fo
ERR_FAIL_COND(!get_tree());
- Set<Ref<Script>> scripts;
+ RBSet<Ref<Script>> scripts;
Node *base = get_tree()->get_edited_scene_root();
if (base) {
_find_changed_scripts_for_external_editor(base, base, scripts);
}
- for (Set<Ref<Script>>::Element *E = scripts.front(); E; E = E->next()) {
- Ref<Script> script = E->get();
+ for (const Ref<Script> &E : scripts) {
+ Ref<Script> script = E;
if (p_for_script.is_valid() && p_for_script != script) {
continue;
@@ -970,7 +970,7 @@ void ScriptTextEditor::_update_connected_methods() {
}
Vector<Node *> nodes = _find_all_node_for_script(base, base, script);
- Set<StringName> methods_found;
+ RBSet<StringName> methods_found;
for (int i = 0; i < nodes.size(); i++) {
List<Connection> connections;
nodes[i]->get_signals_connected_to_this(&connections);
@@ -1371,11 +1371,11 @@ void ScriptTextEditor::add_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_hig
void ScriptTextEditor::set_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_highlighter) {
ERR_FAIL_COND(p_highlighter.is_null());
- Map<String, Ref<EditorSyntaxHighlighter>>::Element *el = highlighters.front();
- while (el != nullptr) {
- int highlighter_index = highlighter_menu->get_item_idx_from_text(el->key());
- highlighter_menu->set_item_checked(highlighter_index, el->value() == p_highlighter);
- el = el->next();
+ HashMap<String, Ref<EditorSyntaxHighlighter>>::Iterator el = highlighters.begin();
+ while (el) {
+ int highlighter_index = highlighter_menu->get_item_idx_from_text(el->key);
+ highlighter_menu->set_item_checked(highlighter_index, el->value == p_highlighter);
+ ++el;
}
CodeEdit *te = code_editor->get_text_editor();
@@ -1558,19 +1558,62 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
Array nodes = d["nodes"];
String text_to_drop;
- for (int i = 0; i < nodes.size(); i++) {
- if (i > 0) {
- text_to_drop += ",";
- }
- NodePath np = nodes[i];
- Node *node = get_node(np);
- if (!node) {
- continue;
+ if (Input::get_singleton()->is_key_pressed(Key::CTRL)) {
+ bool use_type = EDITOR_GET("text_editor/completion/add_type_hints");
+ for (int i = 0; i < nodes.size(); i++) {
+ NodePath np = nodes[i];
+ Node *node = get_node(np);
+ if (!node) {
+ continue;
+ }
+
+ String path;
+ if (node->is_unique_name_in_owner()) {
+ path = "%" + node->get_name();
+ } else {
+ path = sn->get_path_to(node);
+ }
+ for (const String &segment : path.split("/")) {
+ if (!segment.is_valid_identifier()) {
+ path = path.c_escape().quote(quote_style);
+ break;
+ }
+ }
+
+ String variable_name = String(node->get_name()).camelcase_to_underscore(true).validate_identifier();
+ if (use_type) {
+ text_to_drop += vformat("@onready var %s: %s = $%s\n", variable_name, node->get_class_name(), path);
+ } else {
+ text_to_drop += vformat("@onready var %s = $%s\n", variable_name, path);
+ }
}
+ } else {
+ for (int i = 0; i < nodes.size(); i++) {
+ if (i > 0) {
+ text_to_drop += ", ";
+ }
+
+ NodePath np = nodes[i];
+ Node *node = get_node(np);
+ if (!node) {
+ continue;
+ }
- String path = sn->get_path_to(node);
- text_to_drop += path.c_escape().quote(quote_style);
+ String path;
+ if (node->is_unique_name_in_owner()) {
+ path = "%" + node->get_name();
+ } else {
+ path = sn->get_path_to(node);
+ }
+ for (const String &segment : path.split("/")) {
+ if (!segment.is_valid_identifier()) {
+ path = path.c_escape().quote(quote_style);
+ break;
+ }
+ }
+ text_to_drop += "$" + path;
+ }
}
te->set_caret_line(row);
diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h
index b3e0c28bb1..ff13b38832 100644
--- a/editor/plugins/script_text_editor.h
+++ b/editor/plugins/script_text_editor.h
@@ -64,7 +64,7 @@ class ScriptTextEditor : public ScriptEditorBase {
Vector<String> functions;
List<ScriptLanguage::Warning> warnings;
List<ScriptLanguage::ScriptError> errors;
- Set<int> safe_lines;
+ RBSet<int> safe_lines;
List<Connection> missing_connections;
@@ -175,7 +175,7 @@ protected:
void _notification(int p_what);
static void _bind_methods();
- Map<String, Ref<EditorSyntaxHighlighter>> highlighters;
+ HashMap<String, Ref<EditorSyntaxHighlighter>> highlighters;
void _change_syntax_highlighter(int p_idx);
void _edit_option(int p_op);
diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp
index 1bf78cc107..c13d0dc197 100644
--- a/editor/plugins/shader_editor_plugin.cpp
+++ b/editor/plugins/shader_editor_plugin.cpp
@@ -47,7 +47,7 @@
static bool saved_warnings_enabled = false;
static bool saved_treat_warning_as_errors = false;
-static Map<ShaderWarning::Code, bool> saved_warnings;
+static HashMap<ShaderWarning::Code, bool> saved_warnings;
static uint32_t saved_warning_flags = 0U;
void ShaderTextEditor::_notification(int p_what) {
diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp
index 26a982a091..1ebdf466fe 100644
--- a/editor/plugins/skeleton_3d_editor_plugin.cpp
+++ b/editor/plugins/skeleton_3d_editor_plugin.cpp
@@ -588,7 +588,7 @@ void Skeleton3DEditor::update_joint_tree() {
TreeItem *root = joint_tree->create_item();
- Map<int, TreeItem *> items;
+ HashMap<int, TreeItem *> items;
items.insert(-1, root);
@@ -600,7 +600,7 @@ void Skeleton3DEditor::update_joint_tree() {
bones_to_process.erase(current_bone_idx);
const int parent_idx = skeleton->get_bone_parent(current_bone_idx);
- TreeItem *parent_item = items.find(parent_idx)->get();
+ TreeItem *parent_item = items.find(parent_idx)->value;
TreeItem *joint_item = joint_tree->create_item(parent_item);
items.insert(current_bone_idx, joint_item);
diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp
index 7b6aeb3679..8a40ffbe38 100644
--- a/editor/plugins/sprite_frames_editor_plugin.cpp
+++ b/editor/plugins/sprite_frames_editor_plugin.cpp
@@ -125,8 +125,8 @@ void SpriteFramesEditor::_sheet_preview_draw() {
Color accent = get_theme_color("accent_color", "Editor");
- for (Set<int>::Element *E = frames_selected.front(); E; E = E->next()) {
- const int idx = E->get();
+ for (const int &E : frames_selected) {
+ const int idx = E;
const int x = idx % frame_count.x;
const int y = idx / frame_count.x;
const Point2 pos = draw_offset + Point2(x, y) * (draw_frame_size + draw_sep);
@@ -248,8 +248,8 @@ void SpriteFramesEditor::_sheet_add_frames() {
int fc = frames->get_frame_count(edited_anim);
- for (Set<int>::Element *E = frames_selected.front(); E; E = E->next()) {
- int idx = E->get();
+ for (const int &E : frames_selected) {
+ int idx = E;
const Point2 frame_coords(idx % frame_count.x, idx / frame_count.x);
Ref<AtlasTexture> at;
diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h
index 3230228fdd..6f16ff2bd1 100644
--- a/editor/plugins/sprite_frames_editor_plugin.h
+++ b/editor/plugins/sprite_frames_editor_plugin.h
@@ -103,8 +103,8 @@ class SpriteFramesEditor : public HSplitContainer {
Button *split_sheet_zoom_reset = nullptr;
Button *split_sheet_zoom_in = nullptr;
EditorFileDialog *file_split_sheet = nullptr;
- Set<int> frames_selected;
- Set<int> frames_toggled_by_mouse_hover;
+ RBSet<int> frames_selected;
+ RBSet<int> frames_toggled_by_mouse_hover;
int last_frame_selected = 0;
float scale_ratio;
diff --git a/editor/plugins/text_control_editor_plugin.cpp b/editor/plugins/text_control_editor_plugin.cpp
index 4290888e94..2a5faba4a2 100644
--- a/editor/plugins/text_control_editor_plugin.cpp
+++ b/editor/plugins/text_control_editor_plugin.cpp
@@ -92,8 +92,8 @@ void TextControlEditor::_update_fonts_menu() {
}
int id = FONT_INFO_ID;
- for (Map<String, Map<String, String>>::Element *E = fonts.front(); E; E = E->next()) {
- font_list->add_item(E->key(), id++);
+ for (const KeyValue<String, HashMap<String, String>> &E : fonts) {
+ font_list->add_item(E.key, id++);
}
if (font_list->get_item_count() > 1) {
@@ -107,8 +107,8 @@ void TextControlEditor::_update_styles_menu() {
font_style_list->clear();
if ((font_list->get_selected_id() >= FONT_INFO_ID)) {
const String &name = font_list->get_item_text(font_list->get_selected());
- for (Map<String, String>::Element *E = fonts[name].front(); E; E = E->next()) {
- font_style_list->add_item(E->key());
+ for (KeyValue<String, String> &E : fonts[name]) {
+ font_style_list->add_item(E.key);
}
} else if (font_list->get_selected() >= 0) {
font_style_list->add_item("Default");
diff --git a/editor/plugins/text_control_editor_plugin.h b/editor/plugins/text_control_editor_plugin.h
index a475f6eba3..cf069338b6 100644
--- a/editor/plugins/text_control_editor_plugin.h
+++ b/editor/plugins/text_control_editor_plugin.h
@@ -52,7 +52,7 @@ class TextControlEditor : public HBoxContainer {
FONT_INFO_ID = 100,
};
- Map<String, Map<String, String>> fonts;
+ HashMap<String, HashMap<String, String>> fonts;
OptionButton *font_list = nullptr;
SpinBox *font_size_list = nullptr;
diff --git a/editor/plugins/text_editor.cpp b/editor/plugins/text_editor.cpp
index 97ecc234e6..7ca65c073d 100644
--- a/editor/plugins/text_editor.cpp
+++ b/editor/plugins/text_editor.cpp
@@ -43,11 +43,11 @@ void TextEditor::add_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_highlight
void TextEditor::set_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_highlighter) {
ERR_FAIL_COND(p_highlighter.is_null());
- Map<String, Ref<EditorSyntaxHighlighter>>::Element *el = highlighters.front();
- while (el != nullptr) {
- int highlighter_index = highlighter_menu->get_item_idx_from_text(el->key());
- highlighter_menu->set_item_checked(highlighter_index, el->value() == p_highlighter);
- el = el->next();
+ HashMap<String, Ref<EditorSyntaxHighlighter>>::Iterator el = highlighters.begin();
+ while (el) {
+ int highlighter_index = highlighter_menu->get_item_idx_from_text(el->key);
+ highlighter_menu->set_item_checked(highlighter_index, el->value == p_highlighter);
+ ++el;
}
CodeEdit *te = code_editor->get_text_editor();
diff --git a/editor/plugins/text_editor.h b/editor/plugins/text_editor.h
index 9b6d568382..4f0121da52 100644
--- a/editor/plugins/text_editor.h
+++ b/editor/plugins/text_editor.h
@@ -92,7 +92,7 @@ protected:
void _text_edit_gui_input(const Ref<InputEvent> &ev);
void _prepare_edit_menu();
- Map<String, Ref<EditorSyntaxHighlighter>> highlighters;
+ HashMap<String, Ref<EditorSyntaxHighlighter>> highlighters;
void _change_syntax_highlighter(int p_idx);
void _load_theme_settings();
diff --git a/editor/plugins/texture_region_editor_plugin.h b/editor/plugins/texture_region_editor_plugin.h
index 2493446303..2c4ab72743 100644
--- a/editor/plugins/texture_region_editor_plugin.h
+++ b/editor/plugins/texture_region_editor_plugin.h
@@ -89,7 +89,7 @@ class TextureRegionEditor : public VBoxContainer {
Rect2 rect_prev;
float prev_margin = 0.0f;
int edited_margin;
- Map<RID, List<Rect2>> cache_map;
+ HashMap<RID, List<Rect2>> cache_map;
List<Rect2> autoslice_cache;
bool autoslice_is_dirty;
diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp
index 41a599e933..7b2c7d2a82 100644
--- a/editor/plugins/theme_editor_plugin.cpp
+++ b/editor/plugins/theme_editor_plugin.cpp
@@ -3211,11 +3211,13 @@ void ThemeTypeEditor::_update_stylebox_from_leading() {
edited_theme->get_stylebox_list(edited_type, &names);
List<Ref<StyleBox>> styleboxes;
for (const StringName &E : names) {
- if (E == leading_stylebox.item_name) {
+ Ref<StyleBox> sb = edited_theme->get_stylebox(E, edited_type);
+
+ // Avoid itself, stylebox can be shared between items.
+ if (sb == leading_stylebox.stylebox) {
continue;
}
- Ref<StyleBox> sb = edited_theme->get_stylebox(E, edited_type);
if (sb->get_class() == leading_stylebox.stylebox->get_class()) {
styleboxes.push_back(sb);
}
diff --git a/editor/plugins/theme_editor_plugin.h b/editor/plugins/theme_editor_plugin.h
index 6debf00e90..323cfceb7e 100644
--- a/editor/plugins/theme_editor_plugin.h
+++ b/editor/plugins/theme_editor_plugin.h
@@ -73,7 +73,7 @@ class ThemeItemImportTree : public VBoxContainer {
SELECT_IMPORT_FULL,
};
- Map<ThemeItem, ItemCheckedState> selected_items;
+ RBMap<ThemeItem, ItemCheckedState> selected_items;
LineEdit *import_items_filter = nullptr;
diff --git a/editor/plugins/tiles/atlas_merging_dialog.cpp b/editor/plugins/tiles/atlas_merging_dialog.cpp
index 086588f5a5..e37878ff98 100644
--- a/editor/plugins/tiles/atlas_merging_dialog.cpp
+++ b/editor/plugins/tiles/atlas_merging_dialog.cpp
@@ -62,7 +62,7 @@ void AtlasMergingDialog::_generate_merged(Vector<Ref<TileSetAtlasSource>> p_atla
int line_height = 0;
for (int source_index = 0; source_index < p_atlas_sources.size(); source_index++) {
Ref<TileSetAtlasSource> atlas_source = p_atlas_sources[source_index];
- merged_mapping.push_back(Map<Vector2i, Vector2i>());
+ merged_mapping.push_back(HashMap<Vector2i, Vector2i>());
// Layout the tiles.
Vector2i atlas_size;
diff --git a/editor/plugins/tiles/atlas_merging_dialog.h b/editor/plugins/tiles/atlas_merging_dialog.h
index 9502d93f6b..c54e259594 100644
--- a/editor/plugins/tiles/atlas_merging_dialog.h
+++ b/editor/plugins/tiles/atlas_merging_dialog.h
@@ -46,7 +46,7 @@ private:
int commited_actions_count = 0;
bool delete_original_atlases = true;
Ref<TileSetAtlasSource> merged;
- LocalVector<Map<Vector2i, Vector2i>> merged_mapping;
+ LocalVector<HashMap<Vector2i, Vector2i>> merged_mapping;
Ref<TileSet> tile_set;
UndoRedo *undo_redo = nullptr;
diff --git a/editor/plugins/tiles/tile_atlas_view.cpp b/editor/plugins/tiles/tile_atlas_view.cpp
index 4de2f42fe0..3073c8a7f2 100644
--- a/editor/plugins/tiles/tile_atlas_view.cpp
+++ b/editor/plugins/tiles/tile_atlas_view.cpp
@@ -480,7 +480,7 @@ void TileAtlasView::_update_alternative_tiles_rect_cache() {
// Update the rect.
if (!alternative_tiles_rect_cache.has(tile_id)) {
- alternative_tiles_rect_cache[tile_id] = Map<int, Rect2i>();
+ alternative_tiles_rect_cache[tile_id] = HashMap<int, Rect2i>();
}
alternative_tiles_rect_cache[tile_id][alternative_id] = current;
@@ -494,7 +494,7 @@ void TileAtlasView::_update_alternative_tiles_rect_cache() {
}
Vector3i TileAtlasView::get_alternative_tile_at_pos(const Vector2 p_pos) const {
- for (const KeyValue<Vector2, Map<int, Rect2i>> &E_coords : alternative_tiles_rect_cache) {
+ for (const KeyValue<Vector2, HashMap<int, Rect2i>> &E_coords : alternative_tiles_rect_cache) {
for (const KeyValue<int, Rect2i> &E_alternative : E_coords.value) {
if (E_alternative.value.has_point(p_pos)) {
return Vector3i(E_coords.key.x, E_coords.key.y, E_alternative.key);
diff --git a/editor/plugins/tiles/tile_atlas_view.h b/editor/plugins/tiles/tile_atlas_view.h
index 6e74858b08..ff46b7871f 100644
--- a/editor/plugins/tiles/tile_atlas_view.h
+++ b/editor/plugins/tiles/tile_atlas_view.h
@@ -69,7 +69,7 @@ private:
void _pan_callback(Vector2 p_scroll_vec);
void _zoom_callback(Vector2 p_scroll_vec, Vector2 p_origin, bool p_alt);
- Map<Vector2, Map<int, Rect2i>> alternative_tiles_rect_cache;
+ HashMap<Vector2, HashMap<int, Rect2i>> alternative_tiles_rect_cache;
void _update_alternative_tiles_rect_cache();
MarginContainer *margin_container = nullptr;
diff --git a/editor/plugins/tiles/tile_data_editors.cpp b/editor/plugins/tiles/tile_data_editors.cpp
index 70bcd7e39a..244c718ebe 100644
--- a/editor/plugins/tiles/tile_data_editors.cpp
+++ b/editor/plugins/tiles/tile_data_editors.cpp
@@ -862,7 +862,7 @@ Variant TileDataDefaultEditor::_get_value(TileSetAtlasSource *p_tile_set_atlas_s
return tile_data->get(property);
}
-void TileDataDefaultEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, Map<TileMapCell, Variant> p_previous_values, Variant p_new_value) {
+void TileDataDefaultEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) {
for (const KeyValue<TileMapCell, Variant> &E : p_previous_values) {
Vector2i coords = E.key.get_atlas_coords();
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/%s", coords.x, coords.y, E.key.alternative_tile, property), E.value);
@@ -882,7 +882,7 @@ void TileDataDefaultEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas_
rect.set_end(p_tile_atlas_view->get_atlas_tile_coords_at_pos(p_transform.affine_inverse().xform(p_canvas_item->get_local_mouse_position())));
rect = rect.abs();
- Set<TileMapCell> edited;
+ RBSet<TileMapCell> edited;
for (int x = rect.get_position().x; x <= rect.get_end().x; x++) {
for (int y = rect.get_position().y; y <= rect.get_end().y; y++) {
Vector2i coords = Vector2i(x, y);
@@ -897,8 +897,8 @@ void TileDataDefaultEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas_
}
}
- for (Set<TileMapCell>::Element *E = edited.front(); E; E = E->next()) {
- Vector2i coords = E->get().get_atlas_coords();
+ for (const TileMapCell &E : edited) {
+ Vector2i coords = E.get_atlas_coords();
p_canvas_item->draw_rect(p_tile_set_atlas_source->get_tile_texture_region(coords), selection_color, false);
}
p_canvas_item->draw_set_transform_matrix(Transform2D());
@@ -1299,7 +1299,7 @@ Variant TileDataOcclusionShapeEditor::_get_value(TileSetAtlasSource *p_tile_set_
return tile_data->get_occluder(occlusion_layer);
}
-void TileDataOcclusionShapeEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, Map<TileMapCell, Variant> p_previous_values, Variant p_new_value) {
+void TileDataOcclusionShapeEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) {
for (const KeyValue<TileMapCell, Variant> &E : p_previous_values) {
Vector2i coords = E.key.get_atlas_coords();
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/occlusion_layer_%d/polygon", coords.x, coords.y, E.key.alternative_tile, occlusion_layer), E.value);
@@ -1479,7 +1479,7 @@ Variant TileDataCollisionEditor::_get_value(TileSetAtlasSource *p_tile_set_atlas
return dict;
}
-void TileDataCollisionEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, Map<TileMapCell, Variant> p_previous_values, Variant p_new_value) {
+void TileDataCollisionEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) {
Array new_array = p_new_value;
for (KeyValue<TileMapCell, Variant> &E : p_previous_values) {
Array old_array = E.value;
@@ -1740,7 +1740,7 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas
rect.set_end(p_tile_atlas_view->get_atlas_tile_coords_at_pos(p_transform.affine_inverse().xform(p_canvas_item->get_local_mouse_position())));
rect = rect.abs();
- Set<TileMapCell> edited;
+ RBSet<TileMapCell> edited;
for (int x = rect.get_position().x; x <= rect.get_end().x; x++) {
for (int y = rect.get_position().y; y <= rect.get_end().y; y++) {
Vector2i coords = Vector2i(x, y);
@@ -1755,8 +1755,8 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas
}
}
- for (Set<TileMapCell>::Element *E = edited.front(); E; E = E->next()) {
- Vector2i coords = E->get().get_atlas_coords();
+ for (const TileMapCell &E : edited) {
+ Vector2i coords = E.get_atlas_coords();
p_canvas_item->draw_rect(p_tile_set_atlas_source->get_tile_texture_region(coords), selection_color, false);
}
p_canvas_item->draw_set_transform_matrix(Transform2D());
@@ -1770,7 +1770,7 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas
rect.set_end(p_tile_atlas_view->get_atlas_tile_coords_at_pos(p_transform.affine_inverse().xform(p_canvas_item->get_local_mouse_position())));
rect = rect.abs();
- Set<TileMapCell> edited;
+ RBSet<TileMapCell> edited;
for (int x = rect.get_position().x; x <= rect.get_end().x; x++) {
for (int y = rect.get_position().y; y <= rect.get_end().y; y++) {
Vector2i coords = Vector2i(x, y);
@@ -1800,8 +1800,8 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas
p_canvas_item->draw_set_transform_matrix(p_transform);
- for (Set<TileMapCell>::Element *E = edited.front(); E; E = E->next()) {
- Vector2i coords = E->get().get_atlas_coords();
+ for (const TileMapCell &E : edited) {
+ Vector2i coords = E.get_atlas_coords();
Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords);
Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0);
@@ -2118,7 +2118,7 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
rect.set_end(p_tile_atlas_view->get_atlas_tile_coords_at_pos(mb->get_position()));
rect = rect.abs();
- Set<TileMapCell> edited;
+ RBSet<TileMapCell> edited;
for (int x = rect.get_position().x; x <= rect.get_end().x; x++) {
for (int y = rect.get_position().y; y <= rect.get_end().y; y++) {
Vector2i coords = Vector2i(x, y);
@@ -2133,15 +2133,15 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
}
}
undo_redo->create_action(TTR("Painting Terrain Set"));
- for (Set<TileMapCell>::Element *E = edited.front(); E; E = E->next()) {
- Vector2i coords = E->get().get_atlas_coords();
+ for (const TileMapCell &E : edited) {
+ Vector2i coords = E.get_atlas_coords();
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(coords, 0);
- undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E->get().alternative_tile), tile_data->get_terrain_set());
- undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E->get().alternative_tile), drag_painted_value);
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.alternative_tile), tile_data->get_terrain_set());
+ undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.alternative_tile), drag_painted_value);
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
if (tile_data->is_valid_peering_bit_terrain(bit)) {
- undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E->get().alternative_tile), tile_data->get_peering_bit_terrain(bit));
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_peering_bit_terrain(bit));
}
}
}
@@ -2195,7 +2195,7 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
rect.set_end(p_tile_atlas_view->get_atlas_tile_coords_at_pos(mb->get_position()));
rect = rect.abs();
- Set<TileMapCell> edited;
+ RBSet<TileMapCell> edited;
for (int x = rect.get_position().x; x <= rect.get_end().x; x++) {
for (int y = rect.get_position().y; y <= rect.get_end().y; y++) {
Vector2i coords = Vector2i(x, y);
@@ -2220,8 +2220,8 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
mouse_pos_rect_polygon.push_back(Vector2(drag_start_pos.x, mb->get_position().y));
undo_redo->create_action(TTR("Painting Terrain"));
- for (Set<TileMapCell>::Element *E = edited.front(); E; E = E->next()) {
- Vector2i coords = E->get().get_atlas_coords();
+ for (const TileMapCell &E : edited) {
+ Vector2i coords = E.get_atlas_coords();
TileData *tile_data = p_tile_set_atlas_source->get_tile_data(coords, 0);
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
@@ -2236,8 +2236,8 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t
}
if (!Geometry2D::intersect_polygons(polygon, mouse_pos_rect_polygon).is_empty()) {
// Draw bit.
- undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E->get().alternative_tile), terrain);
- undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E->get().alternative_tile), tile_data->get_peering_bit_terrain(bit));
+ undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), terrain);
+ undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_peering_bit_terrain(bit));
}
}
}
@@ -2571,7 +2571,7 @@ Variant TileDataNavigationEditor::_get_value(TileSetAtlasSource *p_tile_set_atla
return tile_data->get_navigation_polygon(navigation_layer);
}
-void TileDataNavigationEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, Map<TileMapCell, Variant> p_previous_values, Variant p_new_value) {
+void TileDataNavigationEditor::_setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) {
for (const KeyValue<TileMapCell, Variant> &E : p_previous_values) {
Vector2i coords = E.key.get_atlas_coords();
undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/navigation_layer_%d/polygon", coords.x, coords.y, E.key.alternative_tile, navigation_layer), E.value);
diff --git a/editor/plugins/tiles/tile_data_editors.h b/editor/plugins/tiles/tile_data_editors.h
index 2c849637f0..f9b8948d0a 100644
--- a/editor/plugins/tiles/tile_data_editors.h
+++ b/editor/plugins/tiles/tile_data_editors.h
@@ -71,7 +71,7 @@ public:
class DummyObject : public Object {
GDCLASS(DummyObject, Object)
private:
- Map<String, Variant> properties;
+ HashMap<String, Variant> properties;
protected:
bool _set(const StringName &p_name, const Variant &p_value);
@@ -206,7 +206,7 @@ private:
DragType drag_type = DRAG_TYPE_NONE;
Vector2 drag_start_pos;
Vector2 drag_last_pos;
- Map<TileMapCell, Variant> drag_modified;
+ HashMap<TileMapCell, Variant, TileMapCell> drag_modified;
Variant drag_painted_value;
void _property_value_changed(StringName p_property, Variant p_value, StringName p_field);
@@ -224,7 +224,7 @@ protected:
virtual void _set_painted_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile);
virtual void _set_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile, Variant p_value);
virtual Variant _get_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile);
- virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, Map<TileMapCell, Variant> p_previous_values, Variant p_new_value);
+ virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value);
public:
virtual Control *get_toolbar() override { return toolbar; };
@@ -276,7 +276,7 @@ private:
virtual void _set_painted_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) override;
virtual void _set_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile, Variant p_value) override;
virtual Variant _get_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) override;
- virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, Map<TileMapCell, Variant> p_previous_values, Variant p_new_value) override;
+ virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) override;
protected:
UndoRedo *undo_redo = nullptr;
@@ -301,7 +301,7 @@ class TileDataCollisionEditor : public TileDataDefaultEditor {
// UI
GenericTilePolygonEditor *polygon_editor = nullptr;
DummyObject *dummy_object = memnew(DummyObject);
- Map<StringName, EditorProperty *> property_editors;
+ HashMap<StringName, EditorProperty *> property_editors;
void _property_value_changed(StringName p_property, Variant p_value, StringName p_field);
void _property_selected(StringName p_path, int p_focusable);
@@ -311,7 +311,7 @@ class TileDataCollisionEditor : public TileDataDefaultEditor {
virtual void _set_painted_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) override;
virtual void _set_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile, Variant p_value) override;
virtual Variant _get_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) override;
- virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, Map<TileMapCell, Variant> p_previous_values, Variant p_new_value) override;
+ virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) override;
protected:
UndoRedo *undo_redo = nullptr;
@@ -348,7 +348,7 @@ private:
DragType drag_type = DRAG_TYPE_NONE;
Vector2 drag_start_pos;
Vector2 drag_last_pos;
- Map<TileMapCell, Variant> drag_modified;
+ HashMap<TileMapCell, Variant, TileMapCell> drag_modified;
Variant drag_painted_value;
// UI
@@ -396,7 +396,7 @@ private:
virtual void _set_painted_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) override;
virtual void _set_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile, Variant p_value) override;
virtual Variant _get_value(TileSetAtlasSource *p_tile_set_atlas_source, Vector2 p_coords, int p_alternative_tile) override;
- virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, Map<TileMapCell, Variant> p_previous_values, Variant p_new_value) override;
+ virtual void _setup_undo_redo_action(TileSetAtlasSource *p_tile_set_atlas_source, HashMap<TileMapCell, Variant, TileMapCell> p_previous_values, Variant p_new_value) override;
protected:
UndoRedo *undo_redo = nullptr;
diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp
index ac90333e1d..6c39244f80 100644
--- a/editor/plugins/tiles/tile_map_editor.cpp
+++ b/editor/plugins/tiles/tile_map_editor.cpp
@@ -501,8 +501,8 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
if (!tile_map_selection.is_empty()) {
tile_map_clipboard.instantiate();
TypedArray<Vector2i> coords_array;
- for (Set<Vector2i>::Element *E = tile_map_selection.front(); E; E = E->next()) {
- coords_array.push_back(E->get());
+ for (const Vector2i &E : tile_map_selection) {
+ coords_array.push_back(E);
}
tile_map_clipboard = tile_map->get_pattern(tile_map_layer, coords_array);
}
@@ -511,9 +511,9 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
// Delete selected tiles.
if (!tile_map_selection.is_empty()) {
undo_redo->create_action(TTR("Delete tiles"));
- for (Set<Vector2i>::Element *E = tile_map_selection.front(); E; E = E->next()) {
- undo_redo->add_do_method(tile_map, "set_cell", tile_map_layer, E->get(), TileSet::INVALID_SOURCE, TileSetSource::INVALID_ATLAS_COORDS, TileSetSource::INVALID_TILE_ALTERNATIVE);
- undo_redo->add_undo_method(tile_map, "set_cell", tile_map_layer, E->get(), tile_map->get_cell_source_id(tile_map_layer, E->get()), tile_map->get_cell_atlas_coords(tile_map_layer, E->get()), tile_map->get_cell_alternative_tile(tile_map_layer, E->get()));
+ for (const Vector2i &E : tile_map_selection) {
+ undo_redo->add_do_method(tile_map, "set_cell", tile_map_layer, E, TileSet::INVALID_SOURCE, TileSetSource::INVALID_ATLAS_COORDS, TileSetSource::INVALID_TILE_ALTERNATIVE);
+ undo_redo->add_undo_method(tile_map, "set_cell", tile_map_layer, E, tile_map->get_cell_source_id(tile_map_layer, E), tile_map->get_cell_atlas_coords(tile_map_layer, E), tile_map->get_cell_alternative_tile(tile_map_layer, E));
}
undo_redo->add_undo_method(this, "_set_tile_map_selection", _get_tile_map_selection());
tile_map_selection.clear();
@@ -542,9 +542,9 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
// Delete selected tiles.
if (!tile_map_selection.is_empty()) {
undo_redo->create_action(TTR("Delete tiles"));
- for (Set<Vector2i>::Element *E = tile_map_selection.front(); E; E = E->next()) {
- undo_redo->add_do_method(tile_map, "set_cell", tile_map_layer, E->get(), TileSet::INVALID_SOURCE, TileSetSource::INVALID_ATLAS_COORDS, TileSetSource::INVALID_TILE_ALTERNATIVE);
- undo_redo->add_undo_method(tile_map, "set_cell", tile_map_layer, E->get(), tile_map->get_cell_source_id(tile_map_layer, E->get()), tile_map->get_cell_atlas_coords(tile_map_layer, E->get()), tile_map->get_cell_alternative_tile(tile_map_layer, E->get()));
+ for (const Vector2i &E : tile_map_selection) {
+ undo_redo->add_do_method(tile_map, "set_cell", tile_map_layer, E, TileSet::INVALID_SOURCE, TileSetSource::INVALID_ATLAS_COORDS, TileSetSource::INVALID_TILE_ALTERNATIVE);
+ undo_redo->add_undo_method(tile_map, "set_cell", tile_map_layer, E, tile_map->get_cell_source_id(tile_map_layer, E), tile_map->get_cell_atlas_coords(tile_map_layer, E), tile_map->get_cell_alternative_tile(tile_map_layer, E));
}
undo_redo->add_undo_method(this, "_set_tile_map_selection", _get_tile_map_selection());
tile_map_selection.clear();
@@ -562,7 +562,7 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
switch (drag_type) {
case DRAG_TYPE_PAINT: {
- Map<Vector2i, TileMapCell> to_draw = _draw_line(drag_start_mouse_pos, drag_last_mouse_pos, mpos, drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_line(drag_start_mouse_pos, drag_last_mouse_pos, mpos, drag_erasing);
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
continue;
@@ -579,7 +579,7 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos));
for (int i = 0; i < line.size(); i++) {
if (!drag_modified.has(line[i])) {
- Map<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing);
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
continue;
@@ -628,8 +628,8 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
_update_selection_pattern_from_tilemap_selection(); // Make sure the pattern is up to date before moving.
drag_type = DRAG_TYPE_MOVE;
drag_modified.clear();
- for (Set<Vector2i>::Element *E = tile_map_selection.front(); E; E = E->next()) {
- Vector2i coords = E->get();
+ for (const Vector2i &E : tile_map_selection) {
+ Vector2i coords = E;
drag_modified.insert(coords, tile_map->get_cell(tile_map_layer, coords));
tile_map->set_cell(tile_map_layer, coords, TileSet::INVALID_SOURCE, TileSetSource::INVALID_ATLAS_COORDS, TileSetSource::INVALID_TILE_ALTERNATIVE);
}
@@ -648,7 +648,7 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
drag_type = DRAG_TYPE_PAINT;
drag_start_mouse_pos = mpos;
drag_modified.clear();
- Map<Vector2i, TileMapCell> to_draw = _draw_line(drag_start_mouse_pos, mpos, mpos, drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_line(drag_start_mouse_pos, mpos, mpos, drag_erasing);
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
continue;
@@ -675,7 +675,7 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p
Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos));
for (int i = 0; i < line.size(); i++) {
if (!drag_modified.has(line[i])) {
- Map<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing);
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
continue;
@@ -746,7 +746,7 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over
// Handle the preview of the tiles to be placed.
if ((tiles_bottom_panel->is_visible_in_tree() || patterns_bottom_panel->is_visible_in_tree()) && has_mouse) { // Only if the tilemap editor is opened and the viewport is hovered.
- Map<Vector2i, TileMapCell> preview;
+ HashMap<Vector2i, TileMapCell> preview;
Rect2i drawn_grid_rect;
if (drag_type == DRAG_TYPE_PICK) {
@@ -768,7 +768,7 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over
// Draw the area being selected.
Rect2i rect = Rect2i(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(drag_last_mouse_pos) - tile_map->world_to_map(drag_start_mouse_pos)).abs();
rect.size += Vector2i(1, 1);
- Set<Vector2i> to_draw;
+ RBSet<Vector2i> to_draw;
for (int x = rect.position.x; x < rect.get_end().x; x++) {
for (int y = rect.position.y; y < rect.get_end().y; y++) {
Vector2i coords = Vector2i(x, y);
@@ -785,8 +785,8 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over
if (!tile_map_selection.is_empty()) {
top_left = tile_map_selection.front()->get();
}
- for (Set<Vector2i>::Element *E = tile_map_selection.front(); E; E = E->next()) {
- top_left = top_left.min(E->get());
+ for (const Vector2i &E : tile_map_selection) {
+ top_left = top_left.min(E);
}
Vector2i offset = drag_start_mouse_pos - tile_map->map_to_world(top_left);
offset = tile_map->world_to_map(drag_last_mouse_pos - offset) - tile_map->world_to_map(drag_start_mouse_pos - offset);
@@ -832,7 +832,7 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over
// Expand the grid if needed
if (expand_grid && !preview.is_empty()) {
- drawn_grid_rect = Rect2i(preview.front()->key(), Vector2i(1, 1));
+ drawn_grid_rect = Rect2i(preview.begin()->key, Vector2i(1, 1));
for (const KeyValue<Vector2i, TileMapCell> &E : preview) {
drawn_grid_rect.expand_to(E.key);
}
@@ -986,15 +986,15 @@ TileMapCell TileMapEditorTilesPlugin::_pick_random_tile(Ref<TileMapPattern> p_pa
return TileMapCell();
}
-Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_line(Vector2 p_start_drag_mouse_pos, Vector2 p_from_mouse_pos, Vector2 p_to_mouse_pos, bool p_erase) {
+HashMap<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_line(Vector2 p_start_drag_mouse_pos, Vector2 p_from_mouse_pos, Vector2 p_to_mouse_pos, bool p_erase) {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
Ref<TileSet> tile_set = tile_map->get_tileset();
if (!tile_set.is_valid()) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
// Get or create the pattern.
@@ -1003,7 +1003,7 @@ Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_line(Vector2 p_start_
erase_pattern->set_cell(Vector2i(0, 0), TileSet::INVALID_SOURCE, TileSetSource::INVALID_ATLAS_COORDS, TileSetSource::INVALID_TILE_ALTERNATIVE);
Ref<TileMapPattern> pattern = p_erase ? erase_pattern : selection_pattern;
- Map<Vector2i, TileMapCell> output;
+ HashMap<Vector2i, TileMapCell> output;
if (!pattern->is_empty()) {
// Paint the tiles on the tile map.
if (!p_erase && random_tile_toggle->is_pressed()) {
@@ -1035,15 +1035,15 @@ Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_line(Vector2 p_start_
return output;
}
-Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase) {
+HashMap<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase) {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
Ref<TileSet> tile_set = tile_map->get_tileset();
if (!tile_set.is_valid()) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
// Create the rect to draw.
@@ -1056,7 +1056,7 @@ Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_rect(Vector2i p_start
erase_pattern->set_cell(Vector2i(0, 0), TileSet::INVALID_SOURCE, TileSetSource::INVALID_ATLAS_COORDS, TileSetSource::INVALID_TILE_ALTERNATIVE);
Ref<TileMapPattern> pattern = p_erase ? erase_pattern : selection_pattern;
- Map<Vector2i, TileMapCell> err_output;
+ HashMap<Vector2i, TileMapCell> err_output;
ERR_FAIL_COND_V(pattern->is_empty(), err_output);
// Compute the offset to align things to the bottom or right.
@@ -1064,7 +1064,7 @@ Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_rect(Vector2i p_start
bool valigned_bottom = p_end_cell.y < p_start_cell.y;
Vector2i offset = Vector2i(aligned_right ? -(pattern->get_size().x - (rect.get_size().x % pattern->get_size().x)) : 0, valigned_bottom ? -(pattern->get_size().y - (rect.get_size().y % pattern->get_size().y)) : 0);
- Map<Vector2i, TileMapCell> output;
+ HashMap<Vector2i, TileMapCell> output;
if (!pattern->is_empty()) {
if (!p_erase && random_tile_toggle->is_pressed()) {
// Paint a random tile.
@@ -1094,21 +1094,21 @@ Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_rect(Vector2i p_start
return output;
}
-Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase) {
+HashMap<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase) {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
if (tile_map_layer < 0) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
- Map<Vector2i, TileMapCell> output;
+ HashMap<Vector2i, TileMapCell> output;
ERR_FAIL_INDEX_V(tile_map_layer, tile_map->get_layers_count(), output);
Ref<TileSet> tile_set = tile_map->get_tileset();
if (!tile_set.is_valid()) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
// Get or create the pattern.
@@ -1128,7 +1128,7 @@ Map<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_bucket_fill(Vector2i
if (p_contiguous) {
// Replace continuous tiles like the source.
- Set<Vector2i> already_checked;
+ RBSet<Vector2i> already_checked;
List<Vector2i> to_check;
to_check.push_back(p_coords);
while (!to_check.is_empty()) {
@@ -1278,8 +1278,8 @@ void TileMapEditorTilesPlugin::_stop_dragging() {
if (!tile_map_selection.is_empty()) {
top_left = tile_map_selection.front()->get();
}
- for (Set<Vector2i>::Element *E = tile_map_selection.front(); E; E = E->next()) {
- top_left = top_left.min(E->get());
+ for (const Vector2i &E : tile_map_selection) {
+ top_left = top_left.min(E);
}
// Get the offset from the mouse.
@@ -1290,7 +1290,7 @@ void TileMapEditorTilesPlugin::_stop_dragging() {
// Build the list of cells to undo.
Vector2i coords;
- Map<Vector2i, TileMapCell> cells_undo;
+ HashMap<Vector2i, TileMapCell> cells_undo;
for (int i = 0; i < selection_used_cells.size(); i++) {
coords = tile_map->map_pattern(top_left, selection_used_cells[i], selection_pattern);
cells_undo[coords] = TileMapCell(drag_modified[coords].source_id, drag_modified[coords].get_atlas_coords(), drag_modified[coords].alternative_tile);
@@ -1299,7 +1299,7 @@ void TileMapEditorTilesPlugin::_stop_dragging() {
}
// Build the list of cells to do.
- Map<Vector2i, TileMapCell> cells_do;
+ HashMap<Vector2i, TileMapCell> cells_do;
for (int i = 0; i < selection_used_cells.size(); i++) {
coords = tile_map->map_pattern(top_left, selection_used_cells[i], selection_pattern);
cells_do[coords] = TileMapCell();
@@ -1311,11 +1311,11 @@ void TileMapEditorTilesPlugin::_stop_dragging() {
// Move the tiles.
undo_redo->create_action(TTR("Move tiles"));
- for (Map<Vector2i, TileMapCell>::Element *E = cells_do.front(); E; E = E->next()) {
- undo_redo->add_do_method(tile_map, "set_cell", tile_map_layer, E->key(), E->get().source_id, E->get().get_atlas_coords(), E->get().alternative_tile);
+ for (const KeyValue<Vector2i, TileMapCell> &E : cells_do) {
+ undo_redo->add_do_method(tile_map, "set_cell", tile_map_layer, E.key, E.value.source_id, E.value.get_atlas_coords(), E.value.alternative_tile);
}
- for (Map<Vector2i, TileMapCell>::Element *E = cells_undo.front(); E; E = E->next()) {
- undo_redo->add_undo_method(tile_map, "set_cell", tile_map_layer, E->key(), E->get().source_id, E->get().get_atlas_coords(), E->get().alternative_tile);
+ for (const KeyValue<Vector2i, TileMapCell> &E : cells_undo) {
+ undo_redo->add_undo_method(tile_map, "set_cell", tile_map_layer, E.key, E.value.source_id, E.value.get_atlas_coords(), E.value.alternative_tile);
}
// Update the selection.
@@ -1378,7 +1378,7 @@ void TileMapEditorTilesPlugin::_stop_dragging() {
undo_redo->commit_action(false);
} break;
case DRAG_TYPE_LINE: {
- Map<Vector2i, TileMapCell> to_draw = _draw_line(drag_start_mouse_pos, drag_start_mouse_pos, mpos, drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_line(drag_start_mouse_pos, drag_start_mouse_pos, mpos, drag_erasing);
undo_redo->create_action(TTR("Paint tiles"));
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
@@ -1390,7 +1390,7 @@ void TileMapEditorTilesPlugin::_stop_dragging() {
undo_redo->commit_action();
} break;
case DRAG_TYPE_RECT: {
- Map<Vector2i, TileMapCell> to_draw = _draw_rect(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_rect(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing);
undo_redo->create_action(TTR("Paint tiles"));
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
@@ -1476,7 +1476,7 @@ void TileMapEditorTilesPlugin::_update_fix_selected_and_hovered() {
}
// Selection if needed.
- for (Set<TileMapCell>::Element *E = tile_set_selection.front(); E; E = E->next()) {
+ for (RBSet<TileMapCell>::Element *E = tile_set_selection.front(); E; E = E->next()) {
const TileMapCell *selected = &(E->get());
if (!tile_set->has_source(selected->source_id) ||
!tile_set->get_source(selected->source_id)->has_tile(selected->get_atlas_coords()) ||
@@ -1500,7 +1500,7 @@ void TileMapEditorTilesPlugin::_fix_invalid_tiles_in_tile_map_selection() {
return;
}
- Set<Vector2i> to_remove;
+ RBSet<Vector2i> to_remove;
for (Vector2i selected : tile_map_selection) {
TileMapCell cell = tile_map->get_cell(tile_map_layer, selected);
if (cell.source_id == TileSet::INVALID_SOURCE && cell.get_atlas_coords() == TileSetSource::INVALID_ATLAS_COORDS && cell.alternative_tile == TileSetAtlasSource::INVALID_TILE_ALTERNATIVE) {
@@ -1534,8 +1534,8 @@ void TileMapEditorTilesPlugin::_update_selection_pattern_from_tilemap_selection(
selection_pattern.instantiate();
TypedArray<Vector2i> coords_array;
- for (Set<Vector2i>::Element *E = tile_map_selection.front(); E; E = E->next()) {
- coords_array.push_back(E->get());
+ for (const Vector2i &E : tile_map_selection) {
+ coords_array.push_back(E);
}
selection_pattern = tile_map->get_pattern(tile_map_layer, coords_array);
}
@@ -1558,9 +1558,9 @@ void TileMapEditorTilesPlugin::_update_selection_pattern_from_tileset_tiles_sele
selection_pattern.instantiate();
// Group per source.
- Map<int, List<const TileMapCell *>> per_source;
- for (Set<TileMapCell>::Element *E = tile_set_selection.front(); E; E = E->next()) {
- per_source[E->get().source_id].push_back(&(E->get()));
+ HashMap<int, List<const TileMapCell *>> per_source;
+ for (const TileMapCell &E : tile_set_selection) {
+ per_source[E.source_id].push_back(&(E));
}
int vertical_offset = 0;
@@ -1568,7 +1568,7 @@ void TileMapEditorTilesPlugin::_update_selection_pattern_from_tileset_tiles_sele
// Per source.
List<const TileMapCell *> unorganized;
Rect2i encompassing_rect_coords;
- Map<Vector2i, const TileMapCell *> organized_pattern;
+ HashMap<Vector2i, const TileMapCell *> organized_pattern;
TileSetSource *source = *tile_set->get_source(E_source.key);
TileSetAtlasSource *atlas_source = Object::cast_to<TileSetAtlasSource>(source);
@@ -1583,12 +1583,12 @@ void TileMapEditorTilesPlugin::_update_selection_pattern_from_tileset_tiles_sele
}
// Compute the encompassing rect for the organized pattern.
- Map<Vector2i, const TileMapCell *>::Element *E_cell = organized_pattern.front();
+ HashMap<Vector2i, const TileMapCell *>::Iterator E_cell = organized_pattern.begin();
if (E_cell) {
- encompassing_rect_coords = Rect2i(E_cell->key(), Vector2i(1, 1));
- for (; E_cell; E_cell = E_cell->next()) {
- encompassing_rect_coords.expand_to(E_cell->key() + Vector2i(1, 1));
- encompassing_rect_coords.expand_to(E_cell->key());
+ encompassing_rect_coords = Rect2i(E_cell->key, Vector2i(1, 1));
+ for (; E_cell; ++E_cell) {
+ encompassing_rect_coords.expand_to(E_cell->key + Vector2i(1, 1));
+ encompassing_rect_coords.expand_to(E_cell->key);
}
}
} else {
@@ -1680,14 +1680,14 @@ void TileMapEditorTilesPlugin::_tile_atlas_control_draw() {
// Draw the selection.
Color grid_color = EditorSettings::get_singleton()->get("editors/tiles_editor/grid_color");
Color selection_color = Color().from_hsv(Math::fposmod(grid_color.get_h() + 0.5, 1.0), grid_color.get_s(), grid_color.get_v(), 1.0);
- for (Set<TileMapCell>::Element *E = tile_set_selection.front(); E; E = E->next()) {
- if (E->get().source_id == source_id && E->get().alternative_tile == 0) {
- for (int frame = 0; frame < atlas->get_tile_animation_frames_count(E->get().get_atlas_coords()); frame++) {
+ for (const TileMapCell &E : tile_set_selection) {
+ if (E.source_id == source_id && E.alternative_tile == 0) {
+ for (int frame = 0; frame < atlas->get_tile_animation_frames_count(E.get_atlas_coords()); frame++) {
Color color = selection_color;
if (frame > 0) {
color.a *= 0.3;
}
- tile_atlas_control->draw_rect(atlas->get_tile_texture_region(E->get().get_atlas_coords(), frame), color, false);
+ tile_atlas_control->draw_rect(atlas->get_tile_texture_region(E.get_atlas_coords(), frame), color, false);
}
}
}
@@ -1711,7 +1711,7 @@ void TileMapEditorTilesPlugin::_tile_atlas_control_draw() {
Rect2i region = Rect2i(start_tile, end_tile - start_tile).abs();
region.size += Vector2i(1, 1);
- Set<Vector2i> to_draw;
+ RBSet<Vector2i> to_draw;
for (int x = region.position.x; x < region.get_end().x; x++) {
for (int y = region.position.y; y < region.get_end().y; y++) {
Vector2i tile = atlas->get_tile_at_coords(Vector2i(x, y));
@@ -1721,8 +1721,8 @@ void TileMapEditorTilesPlugin::_tile_atlas_control_draw() {
}
}
Color selection_rect_color = selection_color.lightened(0.2);
- for (Set<Vector2i>::Element *E = to_draw.front(); E; E = E->next()) {
- tile_atlas_control->draw_rect(atlas->get_tile_texture_region(E->get()), selection_rect_color, false);
+ for (const Vector2i &E : to_draw) {
+ tile_atlas_control->draw_rect(atlas->get_tile_texture_region(E), selection_rect_color, false);
}
}
}
@@ -1868,9 +1868,9 @@ void TileMapEditorTilesPlugin::_tile_alternatives_control_draw() {
}
// Draw the selection.
- for (Set<TileMapCell>::Element *E = tile_set_selection.front(); E; E = E->next()) {
- if (E->get().source_id == source_id && E->get().get_atlas_coords() != TileSetSource::INVALID_ATLAS_COORDS && E->get().alternative_tile > 0) {
- Rect2i rect = tile_atlas_view->get_alternative_tile_rect(E->get().get_atlas_coords(), E->get().alternative_tile);
+ for (const TileMapCell &E : tile_set_selection) {
+ if (E.source_id == source_id && E.get_atlas_coords() != TileSetSource::INVALID_ATLAS_COORDS && E.alternative_tile > 0) {
+ Rect2i rect = tile_atlas_view->get_alternative_tile_rect(E.get_atlas_coords(), E.alternative_tile);
if (rect != Rect2i()) {
alternative_tiles_control->draw_rect(rect, Color(0.2, 0.2, 1.0), false);
}
@@ -1972,8 +1972,8 @@ void TileMapEditorTilesPlugin::_set_tile_map_selection(const TypedArray<Vector2i
TypedArray<Vector2i> TileMapEditorTilesPlugin::_get_tile_map_selection() const {
TypedArray<Vector2i> output;
- for (Set<Vector2i>::Element *E = tile_map_selection.front(); E; E = E->next()) {
- output.push_back(E->get());
+ for (const Vector2i &E : tile_map_selection) {
+ output.push_back(E);
}
return output;
}
@@ -2321,33 +2321,33 @@ Vector<TileMapEditorPlugin::TabData> TileMapEditorTerrainsPlugin::get_tabs() con
return tabs;
}
-Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const Map<Vector2i, TileSet::TerrainsPattern> &p_to_paint, int p_terrain_set) const {
+HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const HashMap<Vector2i, TileSet::TerrainsPattern> &p_to_paint, int p_terrain_set) const {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
Ref<TileSet> tile_set = tile_map->get_tileset();
if (!tile_set.is_valid()) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
- Map<Vector2i, TileMapCell> output;
+ HashMap<Vector2i, TileMapCell> output;
// Add the constraints from the added tiles.
- Set<TileMap::TerrainConstraint> added_tiles_constraints_set;
+ RBSet<TileMap::TerrainConstraint> added_tiles_constraints_set;
for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
Vector2i coords = E_to_paint.key;
TileSet::TerrainsPattern terrains_pattern = E_to_paint.value;
- Set<TileMap::TerrainConstraint> cell_constraints = tile_map->get_terrain_constraints_from_added_tile(coords, p_terrain_set, terrains_pattern);
- for (Set<TileMap::TerrainConstraint>::Element *E = cell_constraints.front(); E; E = E->next()) {
- added_tiles_constraints_set.insert(E->get());
+ RBSet<TileMap::TerrainConstraint> cell_constraints = tile_map->get_terrain_constraints_from_added_tile(coords, p_terrain_set, terrains_pattern);
+ for (const TileMap::TerrainConstraint &E : cell_constraints) {
+ added_tiles_constraints_set.insert(E);
}
}
// Build the list of potential tiles to replace.
- Set<Vector2i> potential_to_replace;
+ RBSet<Vector2i> potential_to_replace;
for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
Vector2i coords = E_to_paint.key;
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
@@ -2361,7 +2361,7 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const Map
}
// Set of tiles to replace
- Set<Vector2i> to_replace;
+ RBSet<Vector2i> to_replace;
// Add the central tiles to the one to replace.
for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
@@ -2369,26 +2369,26 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const Map
}
// Add the constraints from the surroundings of the modified areas.
- Set<TileMap::TerrainConstraint> removed_cells_constraints_set;
+ RBSet<TileMap::TerrainConstraint> removed_cells_constraints_set;
bool to_replace_modified = true;
while (to_replace_modified) {
// Get the constraints from the removed cells.
removed_cells_constraints_set = tile_map->get_terrain_constraints_from_removed_cells_list(tile_map_layer, to_replace, p_terrain_set, false);
// Filter the sources to make sure they are in the potential_to_replace.
- Map<TileMap::TerrainConstraint, Set<Vector2i>> per_constraint_tiles;
- for (Set<TileMap::TerrainConstraint>::Element *E = removed_cells_constraints_set.front(); E; E = E->next()) {
- Map<Vector2i, TileSet::CellNeighbor> sources_of_constraint = E->get().get_overlapping_coords_and_peering_bits();
+ RBMap<TileMap::TerrainConstraint, RBSet<Vector2i>> per_constraint_tiles;
+ for (const TileMap::TerrainConstraint &E : removed_cells_constraints_set) {
+ HashMap<Vector2i, TileSet::CellNeighbor> sources_of_constraint = E.get_overlapping_coords_and_peering_bits();
for (const KeyValue<Vector2i, TileSet::CellNeighbor> &E_source_tile_of_constraint : sources_of_constraint) {
if (potential_to_replace.has(E_source_tile_of_constraint.key)) {
- per_constraint_tiles[E->get()].insert(E_source_tile_of_constraint.key);
+ per_constraint_tiles[E].insert(E_source_tile_of_constraint.key);
}
}
}
to_replace_modified = false;
- for (Set<TileMap::TerrainConstraint>::Element *E = added_tiles_constraints_set.front(); E; E = E->next()) {
- TileMap::TerrainConstraint c = E->get();
+ for (const TileMap::TerrainConstraint &E : added_tiles_constraints_set) {
+ TileMap::TerrainConstraint c = E;
// Check if we have a conflict in constraints.
if (removed_cells_constraints_set.has(c) && removed_cells_constraints_set.find(c)->get().get_terrain() != c.get_terrain()) {
// If we do, we search for a neighbor to remove.
@@ -2398,7 +2398,7 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const Map
potential_to_replace.erase(to_add_to_remove);
to_replace.insert(to_add_to_remove);
to_replace_modified = true;
- for (KeyValue<TileMap::TerrainConstraint, Set<Vector2i>> &E_source_tiles_of_constraint : per_constraint_tiles) {
+ for (KeyValue<TileMap::TerrainConstraint, RBSet<Vector2i>> &E_source_tiles_of_constraint : per_constraint_tiles) {
E_source_tiles_of_constraint.value.erase(to_add_to_remove);
}
break;
@@ -2408,9 +2408,9 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const Map
}
// Combine all constraints together.
- Set<TileMap::TerrainConstraint> constraints = removed_cells_constraints_set;
- for (Set<TileMap::TerrainConstraint>::Element *E = added_tiles_constraints_set.front(); E; E = E->next()) {
- constraints.insert(E->get());
+ RBSet<TileMap::TerrainConstraint> constraints = removed_cells_constraints_set;
+ for (const TileMap::TerrainConstraint &E : added_tiles_constraints_set) {
+ constraints.insert(E);
}
// Remove the central tiles from the ones to replace.
@@ -2419,7 +2419,7 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const Map
}
// Run WFC to fill the holes with the constraints.
- Map<Vector2i, TileSet::TerrainsPattern> wfc_output = tile_map->terrain_wave_function_collapse(to_replace, p_terrain_set, constraints);
+ HashMap<Vector2i, TileSet::TerrainsPattern> wfc_output = tile_map->terrain_wave_function_collapse(to_replace, p_terrain_set, constraints);
// Actually paint the tiles.
for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) {
@@ -2434,15 +2434,15 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const Map
return output;
}
-Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_line(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase) {
+HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_line(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase) {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
Ref<TileSet> tile_set = tile_map->get_tileset();
if (!tile_set.is_valid()) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
TileSet::TerrainsPattern terrains_pattern;
@@ -2453,22 +2453,22 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_line(Vector2i p_st
}
Vector<Vector2i> line = TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell);
- Map<Vector2i, TileSet::TerrainsPattern> to_draw;
+ HashMap<Vector2i, TileSet::TerrainsPattern> to_draw;
for (int i = 0; i < line.size(); i++) {
to_draw[line[i]] = terrains_pattern;
}
return _draw_terrains(to_draw, selected_terrain_set);
}
-Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase) {
+HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase) {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
Ref<TileSet> tile_set = tile_map->get_tileset();
if (!tile_set.is_valid()) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
TileSet::TerrainsPattern terrains_pattern;
@@ -2483,7 +2483,7 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_rect(Vector2i p_st
rect.set_end(p_end_cell);
rect = rect.abs();
- Map<Vector2i, TileSet::TerrainsPattern> to_draw;
+ HashMap<Vector2i, TileSet::TerrainsPattern> to_draw;
for (int x = rect.position.x; x <= rect.get_end().x; x++) {
for (int y = rect.position.y; y <= rect.get_end().y; y++) {
to_draw[Vector2i(x, y)] = terrains_pattern;
@@ -2492,15 +2492,15 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_rect(Vector2i p_st
return _draw_terrains(to_draw, selected_terrain_set);
}
-Set<Vector2i> TileMapEditorTerrainsPlugin::_get_cells_for_bucket_fill(Vector2i p_coords, bool p_contiguous) {
+RBSet<Vector2i> TileMapEditorTerrainsPlugin::_get_cells_for_bucket_fill(Vector2i p_coords, bool p_contiguous) {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
- return Set<Vector2i>();
+ return RBSet<Vector2i>();
}
Ref<TileSet> tile_set = tile_map->get_tileset();
if (!tile_set.is_valid()) {
- return Set<Vector2i>();
+ return RBSet<Vector2i>();
}
TileMapCell source_cell = tile_map->get_cell(tile_map_layer, p_coords);
@@ -2514,7 +2514,7 @@ Set<Vector2i> TileMapEditorTerrainsPlugin::_get_cells_for_bucket_fill(Vector2i p
tile_data = atlas_source->get_tile_data(source_cell.get_atlas_coords(), source_cell.alternative_tile);
}
if (!tile_data) {
- return Set<Vector2i>();
+ return RBSet<Vector2i>();
}
source_pattern = tile_data->get_terrains_pattern();
}
@@ -2525,10 +2525,10 @@ Set<Vector2i> TileMapEditorTerrainsPlugin::_get_cells_for_bucket_fill(Vector2i p
boundaries = tile_map->get_used_rect();
}
- Set<Vector2i> output;
+ RBSet<Vector2i> output;
if (p_contiguous) {
// Replace continuous tiles like the source.
- Set<Vector2i> already_checked;
+ RBSet<Vector2i> already_checked;
List<Vector2i> to_check;
to_check.push_back(p_coords);
while (!to_check.is_empty()) {
@@ -2603,15 +2603,15 @@ Set<Vector2i> TileMapEditorTerrainsPlugin::_get_cells_for_bucket_fill(Vector2i p
return output;
}
-Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase) {
+HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase) {
TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id));
if (!tile_map) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
Ref<TileSet> tile_set = tile_map->get_tileset();
if (!tile_set.is_valid()) {
- return Map<Vector2i, TileMapCell>();
+ return HashMap<Vector2i, TileMapCell>();
}
TileSet::TerrainsPattern terrains_pattern;
@@ -2621,8 +2621,8 @@ Map<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_bucket_fill(Vector
terrains_pattern = selected_terrains_pattern;
}
- Set<Vector2i> cells_to_draw = _get_cells_for_bucket_fill(p_coords, p_contiguous);
- Map<Vector2i, TileSet::TerrainsPattern> to_draw;
+ RBSet<Vector2i> cells_to_draw = _get_cells_for_bucket_fill(p_coords, p_contiguous);
+ HashMap<Vector2i, TileSet::TerrainsPattern> to_draw;
for (const Vector2i &coords : cells_to_draw) {
to_draw[coords] = terrains_pattern;
}
@@ -2718,7 +2718,7 @@ void TileMapEditorTerrainsPlugin::_stop_dragging() {
undo_redo->commit_action(false);
} break;
case DRAG_TYPE_LINE: {
- Map<Vector2i, TileMapCell> to_draw = _draw_line(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_line(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing);
undo_redo->create_action(TTR("Paint terrain"));
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
@@ -2730,7 +2730,7 @@ void TileMapEditorTerrainsPlugin::_stop_dragging() {
undo_redo->commit_action();
} break;
case DRAG_TYPE_RECT: {
- Map<Vector2i, TileMapCell> to_draw = _draw_rect(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_rect(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing);
undo_redo->create_action(TTR("Paint terrain"));
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
@@ -2829,7 +2829,7 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent>
switch (drag_type) {
case DRAG_TYPE_PAINT: {
if (selected_terrain_set >= 0) {
- Map<Vector2i, TileMapCell> to_draw = _draw_line(tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos), drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_line(tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos), drag_erasing);
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_modified.has(E.key)) {
drag_modified[E.key] = tile_map->get_cell(tile_map_layer, E.key);
@@ -2874,7 +2874,7 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent>
drag_modified.clear();
Vector2i cell = tile_map->world_to_map(mpos);
- Map<Vector2i, TileMapCell> to_draw = _draw_line(cell, cell, drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_line(cell, cell, drag_erasing);
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
drag_modified[E.key] = tile_map->get_cell(tile_map_layer, E.key);
tile_map->set_cell(tile_map_layer, E.key, E.value.source_id, E.value.get_atlas_coords(), E.value.alternative_tile);
@@ -2903,7 +2903,7 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent>
Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos));
for (int i = 0; i < line.size(); i++) {
if (!drag_modified.has(line[i])) {
- Map<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing);
+ HashMap<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing);
for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) {
if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) {
continue;
@@ -2959,7 +2959,7 @@ void TileMapEditorTerrainsPlugin::forward_canvas_draw_over_viewport(Control *p_o
// Handle the preview of the tiles to be placed.
if (main_vbox_container->is_visible_in_tree() && has_mouse) { // Only if the tilemap editor is opened and the viewport is hovered.
- Set<Vector2i> preview;
+ RBSet<Vector2i> preview;
Rect2i drawn_grid_rect;
if (drag_type == DRAG_TYPE_PICK) {
@@ -2996,7 +2996,7 @@ void TileMapEditorTerrainsPlugin::forward_canvas_draw_over_viewport(Control *p_o
rect.set_end(tile_map->world_to_map(drag_last_mouse_pos));
rect = rect.abs();
- Map<Vector2i, TileSet::TerrainsPattern> to_draw;
+ HashMap<Vector2i, TileSet::TerrainsPattern> to_draw;
for (int x = rect.position.x; x <= rect.get_end().x; x++) {
for (int y = rect.position.y; y <= rect.get_end().y; y++) {
preview.insert(Vector2i(x, y));
@@ -3192,24 +3192,24 @@ void TileMapEditorTerrainsPlugin::_update_tiles_list() {
ERR_FAIL_INDEX(selected_terrain_id, tile_set->get_terrains_count(selected_terrain_set));
// Sort the items in a map by the number of corresponding terrains.
- Map<int, Set<TileSet::TerrainsPattern>> sorted;
+ RBMap<int, RBSet<TileSet::TerrainsPattern>> sorted;
- for (Set<TileSet::TerrainsPattern>::Element *E = per_terrain_terrains_patterns[selected_terrain_set][selected_terrain_id].front(); E; E = E->next()) {
+ for (const TileSet::TerrainsPattern &E : per_terrain_terrains_patterns[selected_terrain_set][selected_terrain_id]) {
// Count the number of matching sides/terrains.
int count = 0;
for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) {
TileSet::CellNeighbor bit = TileSet::CellNeighbor(i);
- if (tile_set->is_valid_peering_bit_terrain(selected_terrain_set, bit) && E->get().get_terrain(bit) == selected_terrain_id) {
+ if (tile_set->is_valid_peering_bit_terrain(selected_terrain_set, bit) && E.get_terrain(bit) == selected_terrain_id) {
count++;
}
}
- sorted[count].insert(E->get());
+ sorted[count].insert(E);
}
- for (Map<int, Set<TileSet::TerrainsPattern>>::Element *E_set = sorted.back(); E_set; E_set = E_set->prev()) {
- for (Set<TileSet::TerrainsPattern>::Element *E = E_set->get().front(); E; E = E->next()) {
- TileSet::TerrainsPattern terrains_pattern = E->get();
+ for (RBMap<int, RBSet<TileSet::TerrainsPattern>>::Element *E_set = sorted.back(); E_set; E_set = E_set->prev()) {
+ for (const TileSet::TerrainsPattern &E : E_set->get()) {
+ TileSet::TerrainsPattern terrains_pattern = E;
// Get the icon.
Ref<Texture2D> icon;
diff --git a/editor/plugins/tiles/tile_map_editor.h b/editor/plugins/tiles/tile_map_editor.h
index f265052200..7158ebff59 100644
--- a/editor/plugins/tiles/tile_map_editor.h
+++ b/editor/plugins/tiles/tile_map_editor.h
@@ -120,22 +120,22 @@ private:
bool drag_erasing = false;
Vector2 drag_start_mouse_pos;
Vector2 drag_last_mouse_pos;
- Map<Vector2i, TileMapCell> drag_modified;
+ HashMap<Vector2i, TileMapCell> drag_modified;
TileMapCell _pick_random_tile(Ref<TileMapPattern> p_pattern);
- Map<Vector2i, TileMapCell> _draw_line(Vector2 p_start_drag_mouse_pos, Vector2 p_from_mouse_pos, Vector2 p_to_mouse_pos, bool p_erase);
- Map<Vector2i, TileMapCell> _draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase);
- Map<Vector2i, TileMapCell> _draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase);
+ HashMap<Vector2i, TileMapCell> _draw_line(Vector2 p_start_drag_mouse_pos, Vector2 p_from_mouse_pos, Vector2 p_to_mouse_pos, bool p_erase);
+ HashMap<Vector2i, TileMapCell> _draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase);
+ HashMap<Vector2i, TileMapCell> _draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase);
void _stop_dragging();
///// Selection system. /////
- Set<Vector2i> tile_map_selection;
+ RBSet<Vector2i> tile_map_selection;
Ref<TileMapPattern> tile_map_clipboard;
Ref<TileMapPattern> selection_pattern;
void _set_tile_map_selection(const TypedArray<Vector2i> &p_selection);
TypedArray<Vector2i> _get_tile_map_selection() const;
- Set<TileMapCell> tile_set_selection;
+ RBSet<TileMapCell> tile_set_selection;
void _update_selection_pattern_from_tilemap_selection();
void _update_selection_pattern_from_tileset_tiles_selection();
@@ -265,14 +265,14 @@ private:
bool drag_erasing = false;
Vector2 drag_start_mouse_pos;
Vector2 drag_last_mouse_pos;
- Map<Vector2i, TileMapCell> drag_modified;
+ HashMap<Vector2i, TileMapCell> drag_modified;
// Painting
- Map<Vector2i, TileMapCell> _draw_terrains(const Map<Vector2i, TileSet::TerrainsPattern> &p_to_paint, int p_terrain_set) const;
- Map<Vector2i, TileMapCell> _draw_line(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase);
- Map<Vector2i, TileMapCell> _draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase);
- Set<Vector2i> _get_cells_for_bucket_fill(Vector2i p_coords, bool p_contiguous);
- Map<Vector2i, TileMapCell> _draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase);
+ HashMap<Vector2i, TileMapCell> _draw_terrains(const HashMap<Vector2i, TileSet::TerrainsPattern> &p_to_paint, int p_terrain_set) const;
+ HashMap<Vector2i, TileMapCell> _draw_line(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase);
+ HashMap<Vector2i, TileMapCell> _draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase);
+ RBSet<Vector2i> _get_cells_for_bucket_fill(Vector2i p_coords, bool p_contiguous);
+ HashMap<Vector2i, TileMapCell> _draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase);
void _stop_dragging();
int selected_terrain_set = -1;
@@ -284,7 +284,7 @@ private:
ItemList *terrains_tile_list = nullptr;
// Cache.
- LocalVector<LocalVector<Set<TileSet::TerrainsPattern>>> per_terrain_terrains_patterns;
+ LocalVector<LocalVector<RBSet<TileSet::TerrainsPattern>>> per_terrain_terrains_patterns;
// Update functions.
void _update_terrains_cache();
diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
index 44b18f48fc..b87aedcf60 100644
--- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
+++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
@@ -270,9 +270,9 @@ bool TileSetAtlasSourceEditor::AtlasTileProxyObject::_set(const StringName &p_na
// Other properties.
bool any_valid = false;
- for (Set<TileSelection>::Element *E = tiles.front(); E; E = E->next()) {
- const Vector2i &coords = E->get().tile;
- const int &alternative = E->get().alternative;
+ for (const TileSelection &E : tiles) {
+ const Vector2i &coords = E.tile;
+ const int &alternative = E.alternative;
bool valid = false;
TileData *tile_data = tile_set_atlas_source->get_tile_data(coords, alternative);
@@ -354,11 +354,11 @@ bool TileSetAtlasSourceEditor::AtlasTileProxyObject::_get(const StringName &p_na
}
}
- for (Set<TileSelection>::Element *E = tiles.front(); E; E = E->next()) {
+ for (const TileSelection &E : tiles) {
// Return the first tile with a property matching the name.
// Note: It's a little bit annoying, but the behavior is the same the one in MultiNodeEdit.
- const Vector2i &coords = E->get().tile;
- const int &alternative = E->get().alternative;
+ const Vector2i &coords = E.tile;
+ const int &alternative = E.alternative;
TileData *tile_data = tile_set_atlas_source->get_tile_data(coords, alternative);
ERR_FAIL_COND_V(!tile_data, false);
@@ -426,12 +426,12 @@ void TileSetAtlasSourceEditor::AtlasTileProxyObject::_get_property_list(List<Pro
int uses = 0;
PropertyInfo property_info;
};
- Map<PropertyId, PLData> usage;
+ RBMap<PropertyId, PLData> usage;
List<PLData *> data_list;
- for (Set<TileSelection>::Element *E = tiles.front(); E; E = E->next()) {
- const Vector2i &coords = E->get().tile;
- const int &alternative = E->get().alternative;
+ for (const TileSelection &E : tiles) {
+ const Vector2i &coords = E.tile;
+ const int &alternative = E.alternative;
TileData *tile_data = tile_set_atlas_source->get_tile_data(coords, alternative);
ERR_FAIL_COND(!tile_data);
@@ -439,7 +439,7 @@ void TileSetAtlasSourceEditor::AtlasTileProxyObject::_get_property_list(List<Pro
List<PropertyInfo> list;
tile_data->get_property_list(&list);
- Map<String, int> counts; // Counts the number of time a property appears (useful for groups that may appear more than once)
+ HashMap<String, int> counts; // Counts the number of time a property appears (useful for groups that may appear more than once)
for (List<PropertyInfo>::Element *E_property = list.front(); E_property; E_property = E_property->next()) {
const String &property_string = E_property->get().name;
if (!tile_data->is_allowing_transform() && (property_string == "flip_h" || property_string == "flip_v" || property_string == "transpose")) {
@@ -473,18 +473,18 @@ void TileSetAtlasSourceEditor::AtlasTileProxyObject::_get_property_list(List<Pro
}
}
-void TileSetAtlasSourceEditor::AtlasTileProxyObject::edit(TileSetAtlasSource *p_tile_set_atlas_source, Set<TileSelection> p_tiles) {
+void TileSetAtlasSourceEditor::AtlasTileProxyObject::edit(TileSetAtlasSource *p_tile_set_atlas_source, RBSet<TileSelection> p_tiles) {
ERR_FAIL_COND(!p_tile_set_atlas_source);
ERR_FAIL_COND(p_tiles.is_empty());
- for (Set<TileSelection>::Element *E = p_tiles.front(); E; E = E->next()) {
- ERR_FAIL_COND(E->get().tile == TileSetSource::INVALID_ATLAS_COORDS);
- ERR_FAIL_COND(E->get().alternative < 0);
+ for (const TileSelection &E : p_tiles) {
+ ERR_FAIL_COND(E.tile == TileSetSource::INVALID_ATLAS_COORDS);
+ ERR_FAIL_COND(E.alternative < 0);
}
// Disconnect to changes.
- for (Set<TileSelection>::Element *E = tiles.front(); E; E = E->next()) {
- const Vector2i &coords = E->get().tile;
- const int &alternative = E->get().alternative;
+ for (const TileSelection &E : tiles) {
+ const Vector2i &coords = E.tile;
+ const int &alternative = E.alternative;
if (tile_set_atlas_source && tile_set_atlas_source->has_tile(coords) && tile_set_atlas_source->has_alternative_tile(coords, alternative)) {
TileData *tile_data = tile_set_atlas_source->get_tile_data(coords, alternative);
@@ -495,12 +495,12 @@ void TileSetAtlasSourceEditor::AtlasTileProxyObject::edit(TileSetAtlasSource *p_
}
tile_set_atlas_source = p_tile_set_atlas_source;
- tiles = Set<TileSelection>(p_tiles);
+ tiles = RBSet<TileSelection>(p_tiles);
// Connect to changes.
- for (Set<TileSelection>::Element *E = p_tiles.front(); E; E = E->next()) {
- const Vector2i &coords = E->get().tile;
- const int &alternative = E->get().alternative;
+ for (const TileSelection &E : p_tiles) {
+ const Vector2i &coords = E.tile;
+ const int &alternative = E.alternative;
if (tile_set_atlas_source->has_tile(coords) && tile_set_atlas_source->has_alternative_tile(coords, alternative)) {
TileData *tile_data = tile_set_atlas_source->get_tile_data(coords, alternative);
@@ -541,7 +541,7 @@ void TileSetAtlasSourceEditor::_update_source_inspector() {
void TileSetAtlasSourceEditor::_update_fix_selected_and_hovered_tiles() {
// Fix selected.
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
+ for (RBSet<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
TileSelection selected = E->get();
if (!tile_set_atlas_source->has_tile(selected.tile) || !tile_set_atlas_source->has_alternative_tile(selected.tile, selected.alternative)) {
selection.erase(E);
@@ -1313,9 +1313,9 @@ void TileSetAtlasSourceEditor::_end_dragging() {
switch (drag_type) {
case DRAG_TYPE_CREATE_TILES:
undo_redo->create_action(TTR("Create tiles"));
- for (Set<Vector2i>::Element *E = drag_modified_tiles.front(); E; E = E->next()) {
- undo_redo->add_do_method(tile_set_atlas_source, "create_tile", E->get());
- undo_redo->add_undo_method(tile_set_atlas_source, "remove_tile", E->get());
+ for (const Vector2i &E : drag_modified_tiles) {
+ undo_redo->add_do_method(tile_set_atlas_source, "create_tile", E);
+ undo_redo->add_undo_method(tile_set_atlas_source, "remove_tile", E);
}
undo_redo->commit_action(false);
break;
@@ -1328,10 +1328,10 @@ void TileSetAtlasSourceEditor::_end_dragging() {
case DRAG_TYPE_REMOVE_TILES: {
List<PropertyInfo> list;
tile_set_atlas_source->get_property_list(&list);
- Map<Vector2i, List<const PropertyInfo *>> per_tile = _group_properties_per_tiles(list, tile_set_atlas_source);
+ HashMap<Vector2i, List<const PropertyInfo *>> per_tile = _group_properties_per_tiles(list, tile_set_atlas_source);
undo_redo->create_action(TTR("Remove tiles"));
- for (Set<Vector2i>::Element *E = drag_modified_tiles.front(); E; E = E->next()) {
- Vector2i coords = E->get();
+ for (const Vector2i &E : drag_modified_tiles) {
+ Vector2i coords = E;
undo_redo->add_do_method(tile_set_atlas_source, "remove_tile", coords);
undo_redo->add_undo_method(tile_set_atlas_source, "create_tile", coords);
if (per_tile.has(coords)) {
@@ -1370,9 +1370,9 @@ void TileSetAtlasSourceEditor::_end_dragging() {
area.set_end((area.get_end() + Vector2i(1, 1)).min(tile_set_atlas_source->get_atlas_grid_size()));
List<PropertyInfo> list;
tile_set_atlas_source->get_property_list(&list);
- Map<Vector2i, List<const PropertyInfo *>> per_tile = _group_properties_per_tiles(list, tile_set_atlas_source);
+ HashMap<Vector2i, List<const PropertyInfo *>> per_tile = _group_properties_per_tiles(list, tile_set_atlas_source);
- Set<Vector2i> to_delete;
+ RBSet<Vector2i> to_delete;
for (int x = area.get_position().x; x < area.get_end().x; x++) {
for (int y = area.get_position().y; y < area.get_end().y; y++) {
Vector2i coords = tile_set_atlas_source->get_tile_at_coords(Vector2i(x, y));
@@ -1384,8 +1384,8 @@ void TileSetAtlasSourceEditor::_end_dragging() {
undo_redo->create_action(TTR("Remove tiles"));
undo_redo->add_do_method(this, "_set_selection_from_array", Array());
- for (Set<Vector2i>::Element *E = to_delete.front(); E; E = E->next()) {
- Vector2i coords = E->get();
+ for (const Vector2i &E : to_delete) {
+ Vector2i coords = E;
undo_redo->add_do_method(tile_set_atlas_source, "remove_tile", coords);
undo_redo->add_undo_method(tile_set_atlas_source, "create_tile", coords);
if (per_tile.has(coords)) {
@@ -1523,9 +1523,9 @@ void TileSetAtlasSourceEditor::_end_dragging() {
tile_atlas_control->set_default_cursor_shape(CURSOR_ARROW);
}
-Map<Vector2i, List<const PropertyInfo *>> TileSetAtlasSourceEditor::_group_properties_per_tiles(const List<PropertyInfo> &r_list, const TileSetAtlasSource *p_atlas) {
+HashMap<Vector2i, List<const PropertyInfo *>> TileSetAtlasSourceEditor::_group_properties_per_tiles(const List<PropertyInfo> &r_list, const TileSetAtlasSource *p_atlas) {
// Group properties per tile.
- Map<Vector2i, List<const PropertyInfo *>> per_tile;
+ HashMap<Vector2i, List<const PropertyInfo *>> per_tile;
for (const List<PropertyInfo>::Element *E_property = r_list.front(); E_property; E_property = E_property->next()) {
Vector<String> components = String(E_property->get().name).split("/", true, 1);
if (components.size() >= 1) {
@@ -1544,13 +1544,13 @@ void TileSetAtlasSourceEditor::_menu_option(int p_option) {
case TILE_DELETE: {
List<PropertyInfo> list;
tile_set_atlas_source->get_property_list(&list);
- Map<Vector2i, List<const PropertyInfo *>> per_tile = _group_properties_per_tiles(list, tile_set_atlas_source);
+ HashMap<Vector2i, List<const PropertyInfo *>> per_tile = _group_properties_per_tiles(list, tile_set_atlas_source);
undo_redo->create_action(TTR("Remove tile"));
// Remove tiles
- Set<Vector2i> removed;
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
- TileSelection selected = E->get();
+ RBSet<Vector2i> removed;
+ for (const TileSelection &E : selection) {
+ TileSelection selected = E;
if (selected.alternative == 0) {
// Remove a tile.
undo_redo->add_do_method(tile_set_atlas_source, "remove_tile", selected.tile);
@@ -1569,8 +1569,8 @@ void TileSetAtlasSourceEditor::_menu_option(int p_option) {
}
// Remove alternatives
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
- TileSelection selected = E->get();
+ for (const TileSelection &E : selection) {
+ TileSelection selected = E;
if (selected.alternative > 0 && !removed.has(selected.tile)) {
// Remove an alternative tile.
undo_redo->add_do_method(tile_set_atlas_source, "remove_alternative_tile", selected.tile, selected.alternative);
@@ -1608,13 +1608,13 @@ void TileSetAtlasSourceEditor::_menu_option(int p_option) {
case TILE_CREATE_ALTERNATIVE: {
undo_redo->create_action(TTR("Create tile alternatives"));
Array array;
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
- if (E->get().alternative == 0) {
- int next_id = tile_set_atlas_source->get_next_alternative_tile_id(E->get().tile);
- undo_redo->add_do_method(tile_set_atlas_source, "create_alternative_tile", E->get().tile, next_id);
- array.push_back(E->get().tile);
+ for (const TileSelection &E : selection) {
+ if (E.alternative == 0) {
+ int next_id = tile_set_atlas_source->get_next_alternative_tile_id(E.tile);
+ undo_redo->add_do_method(tile_set_atlas_source, "create_alternative_tile", E.tile, next_id);
+ array.push_back(E.tile);
array.push_back(next_id);
- undo_redo->add_undo_method(tile_set_atlas_source, "remove_alternative_tile", E->get().tile, next_id);
+ undo_redo->add_undo_method(tile_set_atlas_source, "remove_alternative_tile", E.tile, next_id);
}
}
undo_redo->add_do_method(this, "_set_selection_from_array", array);
@@ -1658,9 +1658,9 @@ void TileSetAtlasSourceEditor::_set_selection_from_array(Array p_selection) {
Array TileSetAtlasSourceEditor::_get_selection_as_array() {
Array output;
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
- output.push_back(E->get().tile);
- output.push_back(E->get().alternative);
+ for (const TileSelection &E : selection) {
+ output.push_back(E.tile);
+ output.push_back(E.alternative);
}
return output;
}
@@ -1672,8 +1672,8 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_draw() {
// Draw the selected tile.
if (tools_button_group->get_pressed_button() == tool_select_button) {
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
- TileSelection selected = E->get();
+ for (const TileSelection &E : selection) {
+ TileSelection selected = E;
if (selected.alternative == 0) {
// Draw the rect.
for (int frame = 0; frame < tile_set_atlas_source->get_tile_animation_frames_count(selected.tile); frame++) {
@@ -1722,9 +1722,9 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_draw() {
if (drag_type == DRAG_TYPE_REMOVE_TILES) {
// Draw the tiles to be removed.
- for (Set<Vector2i>::Element *E = drag_modified_tiles.front(); E; E = E->next()) {
- for (int frame = 0; frame < tile_set_atlas_source->get_tile_animation_frames_count(E->get()); frame++) {
- tile_atlas_control->draw_rect(tile_set_atlas_source->get_tile_texture_region(E->get(), frame), Color(0.0, 0.0, 0.0), false);
+ for (const Vector2i &E : drag_modified_tiles) {
+ for (int frame = 0; frame < tile_set_atlas_source->get_tile_animation_frames_count(E); frame++) {
+ tile_atlas_control->draw_rect(tile_set_atlas_source->get_tile_texture_region(E, frame), Color(0.0, 0.0, 0.0), false);
}
}
} else if (drag_type == DRAG_TYPE_RECT_SELECT || drag_type == DRAG_TYPE_REMOVE_TILES_USING_RECT) {
@@ -1739,7 +1739,7 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_draw() {
color = selection_color.lightened(0.2);
}
- Set<Vector2i> to_paint;
+ RBSet<Vector2i> to_paint;
for (int x = area.get_position().x; x < area.get_end().x; x++) {
for (int y = area.get_position().y; y < area.get_end().y; y++) {
Vector2i coords = tile_set_atlas_source->get_tile_at_coords(Vector2i(x, y));
@@ -1749,8 +1749,8 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_draw() {
}
}
- for (Set<Vector2i>::Element *E = to_paint.front(); E; E = E->next()) {
- Vector2i coords = E->get();
+ for (const Vector2i &E : to_paint) {
+ Vector2i coords = E;
tile_atlas_control->draw_rect(tile_set_atlas_source->get_tile_texture_region(coords), color, false);
}
} else if (drag_type == DRAG_TYPE_CREATE_TILES_USING_RECT) {
@@ -1837,19 +1837,19 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_unscaled_draw() {
// Draw the selection on top of other.
if (tools_button_group->get_pressed_button() == tool_select_button) {
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
- if (E->get().alternative != 0) {
+ for (const TileSelection &E : selection) {
+ if (E.alternative != 0) {
continue;
}
- Rect2i texture_region = tile_set_atlas_source->get_tile_texture_region(E->get().tile);
- Vector2i position = texture_region.get_center() + tile_set_atlas_source->get_tile_effective_texture_offset(E->get().tile, 0);
+ Rect2i texture_region = tile_set_atlas_source->get_tile_texture_region(E.tile);
+ Vector2i position = texture_region.get_center() + tile_set_atlas_source->get_tile_effective_texture_offset(E.tile, 0);
Transform2D xform = tile_atlas_control->get_parent_control()->get_transform();
xform.translate(position);
TileMapCell cell;
cell.source_id = tile_set_atlas_source_id;
- cell.set_atlas_coords(E->get().tile);
+ cell.set_atlas_coords(E.tile);
cell.alternative_tile = 0;
current_tile_data_editor->draw_over_tile(tile_atlas_control_unscaled, xform, cell, true);
}
@@ -1962,8 +1962,8 @@ void TileSetAtlasSourceEditor::_tile_alternatives_control_draw() {
}
// Draw selected tile.
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
- TileSelection selected = E->get();
+ for (const TileSelection &E : selection) {
+ TileSelection selected = E;
if (selected.alternative >= 1) {
Rect2i rect = tile_atlas_view->get_alternative_tile_rect(selected.tile, selected.alternative);
if (rect != Rect2i()) {
@@ -2005,11 +2005,11 @@ void TileSetAtlasSourceEditor::_tile_alternatives_control_unscaled_draw() {
// Draw the selection on top of other.
if (tools_button_group->get_pressed_button() == tool_select_button) {
- for (Set<TileSelection>::Element *E = selection.front(); E; E = E->next()) {
- if (E->get().alternative == 0) {
+ for (const TileSelection &E : selection) {
+ if (E.alternative == 0) {
continue;
}
- Rect2i rect = tile_atlas_view->get_alternative_tile_rect(E->get().tile, E->get().alternative);
+ Rect2i rect = tile_atlas_view->get_alternative_tile_rect(E.tile, E.alternative);
Vector2 position = rect.get_center();
Transform2D xform = alternative_tiles_control->get_parent_control()->get_transform();
@@ -2017,8 +2017,8 @@ void TileSetAtlasSourceEditor::_tile_alternatives_control_unscaled_draw() {
TileMapCell cell;
cell.source_id = tile_set_atlas_source_id;
- cell.set_atlas_coords(E->get().tile);
- cell.alternative_tile = E->get().alternative;
+ cell.set_atlas_coords(E.tile);
+ cell.alternative_tile = E.alternative;
current_tile_data_editor->draw_over_tile(alternative_tiles_control_unscaled, xform, cell, true);
}
}
@@ -2222,7 +2222,7 @@ void TileSetAtlasSourceEditor::_auto_remove_tiles() {
List<PropertyInfo> list;
tile_set_atlas_source->get_property_list(&list);
- Map<Vector2i, List<const PropertyInfo *>> per_tile = _group_properties_per_tiles(list, tile_set_atlas_source);
+ HashMap<Vector2i, List<const PropertyInfo *>> per_tile = _group_properties_per_tiles(list, tile_set_atlas_source);
for (int i = 0; i < tile_set_atlas_source->get_tiles_count(); i++) {
Vector2i coords = tile_set_atlas_source->get_tile_id(i);
diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.h b/editor/plugins/tiles/tile_set_atlas_source_editor.h
index b26b7edbfa..738fe1044d 100644
--- a/editor/plugins/tiles/tile_set_atlas_source_editor.h
+++ b/editor/plugins/tiles/tile_set_atlas_source_editor.h
@@ -88,7 +88,7 @@ public:
TileSetAtlasSourceEditor *tiles_set_atlas_source_editor = nullptr;
TileSetAtlasSource *tile_set_atlas_source = nullptr;
- Set<TileSelection> tiles = Set<TileSelection>();
+ RBSet<TileSelection> tiles = RBSet<TileSelection>();
protected:
bool _set(const StringName &p_name, const Variant &p_value);
@@ -99,10 +99,10 @@ public:
public:
TileSetAtlasSource *get_edited_tile_set_atlas_source() const { return tile_set_atlas_source; };
- Set<TileSelection> get_edited_tiles() const { return tiles; };
+ RBSet<TileSelection> get_edited_tiles() const { return tiles; };
// Update the proxyed object.
- void edit(TileSetAtlasSource *p_tile_set_atlas_source, Set<TileSelection> p_tiles = Set<TileSelection>());
+ void edit(TileSetAtlasSource *p_tile_set_atlas_source, RBSet<TileSelection> p_tiles = RBSet<TileSelection>());
AtlasTileProxyObject(TileSetAtlasSourceEditor *p_tiles_set_atlas_source_editor) {
tiles_set_atlas_source_editor = p_tiles_set_atlas_source_editor;
@@ -130,7 +130,7 @@ private:
// -- Tile data editors --
String current_property;
Control *current_tile_data_editor_toolbar = nullptr;
- Map<String, TileDataEditor *> tile_data_editors;
+ HashMap<String, TileDataEditor *> tile_data_editors;
TileDataEditor *current_tile_data_editor = nullptr;
void _tile_data_editors_tree_selected();
@@ -182,10 +182,10 @@ private:
Vector2i drag_current_tile;
Rect2i drag_start_tile_shape;
- Set<Vector2i> drag_modified_tiles;
+ RBSet<Vector2i> drag_modified_tiles;
void _end_dragging();
- Map<Vector2i, List<const PropertyInfo *>> _group_properties_per_tiles(const List<PropertyInfo> &r_list, const TileSetAtlasSource *p_atlas);
+ HashMap<Vector2i, List<const PropertyInfo *>> _group_properties_per_tiles(const List<PropertyInfo> &r_list, const TileSetAtlasSource *p_atlas);
// Popup functions.
enum MenuOptions {
@@ -215,7 +215,7 @@ private:
MenuButton *tool_advanced_menu_buttom = nullptr;
// Selection.
- Set<TileSelection> selection;
+ RBSet<TileSelection> selection;
void _set_selection_from_array(Array p_selection);
Array _get_selection_as_array();
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index ff35e3e6f3..0595357926 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -148,6 +148,7 @@ void VisualShaderGraphPlugin::show_port_preview(VisualShader::Type p_type, int p
if (links[p_node_id].preview_pos != -1) {
links[p_node_id].graph_node->move_child(vbox, links[p_node_id].preview_pos);
}
+ links[p_node_id].graph_node->set_slot_draw_stylebox(vbox->get_index(), false);
Control *offset = memnew(Control);
offset->set_custom_minimum_size(Size2(0, 5 * EDSCALE));
@@ -324,7 +325,7 @@ void VisualShaderGraphPlugin::make_dirty(bool p_enabled) {
}
void VisualShaderGraphPlugin::register_link(VisualShader::Type p_type, int p_id, VisualShaderNode *p_visual_node, GraphNode *p_graph_node) {
- links.insert(p_id, { p_type, p_visual_node, p_graph_node, p_visual_node->get_output_port_for_preview() != -1, -1, Map<int, InputPort>(), Map<int, Port>(), nullptr, nullptr, nullptr, { nullptr, nullptr, nullptr } });
+ links.insert(p_id, { p_type, p_visual_node, p_graph_node, p_visual_node->get_output_port_for_preview() != -1, -1, HashMap<int, InputPort>(), HashMap<int, Port>(), nullptr, nullptr, nullptr, { nullptr, nullptr, nullptr } });
}
void VisualShaderGraphPlugin::register_output_port(int p_node_id, int p_port, TextureButton *p_button) {
@@ -386,6 +387,14 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
"alpha"
};
+ // Visual shader specific theme for MSDF font.
+ Ref<Theme> vstheme;
+ vstheme.instantiate();
+ Ref<Font> label_font = EditorNode::get_singleton()->get_editor_theme()->get_font("main_msdf", "EditorFonts");
+ vstheme->set_font("font", "Label", label_font);
+ vstheme->set_font("font", "LineEdit", label_font);
+ vstheme->set_font("font", "Button", label_font);
+
Ref<VisualShaderNode> vsnode = visual_shader->get_node(p_type, p_id);
Ref<VisualShaderNodeResizableBase> resizable_node = Object::cast_to<VisualShaderNodeResizableBase>(vsnode.ptr());
@@ -406,8 +415,10 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
custom_node->_set_initialized(true);
}
+ // Create graph node.
GraphNode *node = memnew(GraphNode);
graph->add_child(node);
+ node->set_theme(vstheme);
editor->_update_created_node(node);
register_link(p_type, p_id, vsnode.ptr(), node);
@@ -942,12 +953,12 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) {
if (vsnode->get_output_port_for_preview() >= 0) {
show_port_preview(p_type, p_id, vsnode->get_output_port_for_preview());
+ } else {
+ offset = memnew(Control);
+ offset->set_custom_minimum_size(Size2(0, 4 * EDSCALE));
+ node->add_child(offset);
}
- offset = memnew(Control);
- offset->set_custom_minimum_size(Size2(0, 4 * EDSCALE));
- node->add_child(offset);
-
String error = vsnode->get_warning(mode, p_type);
if (!error.is_empty()) {
Label *error_label = memnew(Label);
@@ -1359,7 +1370,7 @@ void VisualShaderEditor::_update_options_menu() {
static bool low_driver = ProjectSettings::get_singleton()->get("rendering/driver/driver_name") == "opengl3";
- Map<String, TreeItem *> folders;
+ HashMap<String, TreeItem *> folders;
int current_func = -1;
@@ -1659,7 +1670,7 @@ void VisualShaderEditor::_update_uniforms(bool p_update_refs) {
}
}
-void VisualShaderEditor::_update_uniform_refs(Set<String> &p_deleted_names) {
+void VisualShaderEditor::_update_uniform_refs(RBSet<String> &p_deleted_names) {
for (int i = 0; i < VisualShader::TYPE_MAX; i++) {
VisualShader::Type type = VisualShader::Type(i);
@@ -2277,7 +2288,7 @@ void VisualShaderEditor::_uniform_line_edit_changed(const String &p_text, int p_
undo_redo->add_do_method(this, "_update_uniforms", true);
undo_redo->add_undo_method(this, "_update_uniforms", true);
- Set<String> changed_names;
+ RBSet<String> changed_names;
changed_names.insert(node->get_uniform_name());
_update_uniform_refs(changed_names);
@@ -3097,7 +3108,7 @@ void VisualShaderEditor::_delete_nodes(int p_type, const List<int> &p_nodes) {
}
}
- Set<String> uniform_names;
+ RBSet<String> uniform_names;
for (const int &F : p_nodes) {
Ref<VisualShaderNode> node = visual_shader->get_node(type, F);
@@ -3201,11 +3212,11 @@ void VisualShaderEditor::_convert_constants_to_uniforms(bool p_vice_versa) {
undo_redo->create_action(TTR("Convert Uniform Node(s) To Constant(s)"));
}
- const Set<int> &current_set = p_vice_versa ? selected_uniforms : selected_constants;
- Set<String> deleted_names;
+ const RBSet<int> &current_set = p_vice_versa ? selected_uniforms : selected_constants;
+ RBSet<String> deleted_names;
- for (Set<int>::Element *E = current_set.front(); E; E = E->next()) {
- int node_id = E->get();
+ for (const int &E : current_set) {
+ int node_id = E;
Ref<VisualShaderNode> node = visual_shader->get_node(type_id, node_id);
bool caught = false;
Variant var;
@@ -3398,16 +3409,23 @@ void VisualShaderEditor::_delete_node_request(int p_type, int p_node) {
undo_redo->commit_action();
}
-void VisualShaderEditor::_delete_nodes_request() {
+void VisualShaderEditor::_delete_nodes_request(const TypedArray<StringName> &p_nodes) {
List<int> to_erase;
- 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_erase.push_back(gn->get_name().operator String().to_int());
+ if (p_nodes.is_empty()) {
+ // Called from context menu.
+ 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_erase.push_back(gn->get_name().operator String().to_int());
+ }
}
}
+ } else {
+ for (int i = 0; i < p_nodes.size(); i++) {
+ to_erase.push_back(p_nodes[i].operator String().to_int());
+ }
}
if (to_erase.is_empty()) {
@@ -3771,7 +3789,7 @@ void VisualShaderEditor::_dup_copy_nodes(int p_type, List<CopyItem> &r_items, Li
selection_center.x = 0.0f;
selection_center.y = 0.0f;
- Set<int> nodes;
+ RBSet<int> nodes;
for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = Object::cast_to<GraphNode>(graph->get_child(i));
@@ -3850,9 +3868,9 @@ void VisualShaderEditor::_dup_paste_nodes(int p_type, List<CopyItem> &r_items, c
int base_id = visual_shader->get_valid_node_id(type);
int id_from = base_id;
- Map<int, int> connection_remap;
- Set<int> unsupported_set;
- Set<int> added_set;
+ HashMap<int, int> connection_remap;
+ RBSet<int> unsupported_set;
+ RBSet<int> added_set;
for (CopyItem &item : r_items) {
if (item.disabled) {
@@ -4400,7 +4418,7 @@ void VisualShaderEditor::_node_menu_id_pressed(int p_idx) {
_paste_nodes(true, menu_point);
break;
case NodeMenuOptions::DELETE:
- _delete_nodes_request();
+ _delete_nodes_request(TypedArray<StringName>());
break;
case NodeMenuOptions::DUPLICATE:
_duplicate_nodes();
@@ -4652,6 +4670,7 @@ VisualShaderEditor::VisualShaderEditor() {
graph->get_zoom_hbox()->set_h_size_flags(SIZE_EXPAND_FILL);
graph->set_v_size_flags(SIZE_EXPAND_FILL);
graph->set_h_size_flags(SIZE_EXPAND_FILL);
+ graph->set_show_zoom_label(true);
add_child(graph);
graph->set_drag_forwarding(this);
float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity");
@@ -5938,7 +5957,7 @@ public:
}
}
- void setup(Ref<Resource> p_parent_resource, Vector<EditorProperty *> p_properties, const Vector<StringName> &p_names, const Map<StringName, String> &p_overrided_names, Ref<VisualShaderNode> p_node) {
+ void setup(Ref<Resource> p_parent_resource, Vector<EditorProperty *> p_properties, const Vector<StringName> &p_names, const HashMap<StringName, String> &p_overrided_names, Ref<VisualShaderNode> p_node) {
parent_resource = p_parent_resource;
updating = false;
node = p_node;
@@ -6252,7 +6271,8 @@ void VisualShaderNodePortPreview::setup(const Ref<VisualShader> &p_shader, Visua
}
Size2 VisualShaderNodePortPreview::get_minimum_size() const {
- return Size2(100, 100) * EDSCALE;
+ int port_preview_size = EditorSettings::get_singleton()->get("editors/visual_editors/visualshader/port_preview_size");
+ return Size2(port_preview_size, port_preview_size) * EDSCALE;
}
void VisualShaderNodePortPreview::_notification(int p_what) {
diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h
index 540cb709b3..003c8b15a8 100644
--- a/editor/plugins/visual_shader_editor_plugin.h
+++ b/editor/plugins/visual_shader_editor_plugin.h
@@ -72,8 +72,8 @@ private:
GraphNode *graph_node = nullptr;
bool preview_visible = false;
int preview_pos = 0;
- Map<int, InputPort> input_ports;
- Map<int, Port> output_ports;
+ HashMap<int, InputPort> input_ports;
+ HashMap<int, Port> output_ports;
VBoxContainer *preview_box = nullptr;
LineEdit *uniform_name = nullptr;
CodeEdit *expression_edit = nullptr;
@@ -81,7 +81,7 @@ private:
};
Ref<VisualShader> visual_shader;
- Map<int, Link> links;
+ HashMap<int, Link> links;
List<VisualShader::Connection> connections;
bool dirty = false;
@@ -346,7 +346,7 @@ class VisualShaderEditor : public VBoxContainer {
void _delete_nodes(int p_type, const List<int> &p_nodes);
void _delete_node_request(int p_type, int p_node);
- void _delete_nodes_request();
+ void _delete_nodes_request(const TypedArray<StringName> &p_nodes);
void _node_changed(int p_id);
@@ -358,8 +358,8 @@ class VisualShaderEditor : public VBoxContainer {
int from_node = -1;
int from_slot = -1;
- Set<int> selected_constants;
- Set<int> selected_uniforms;
+ RBSet<int> selected_constants;
+ RBSet<int> selected_uniforms;
int selected_comment = -1;
int selected_float_constant = -1;
@@ -468,7 +468,7 @@ class VisualShaderEditor : public VBoxContainer {
bool _is_available(int p_mode);
void _update_created_node(GraphNode *node);
void _update_uniforms(bool p_update_refs);
- void _update_uniform_refs(Set<String> &p_names);
+ void _update_uniform_refs(RBSet<String> &p_names);
void _update_varyings();
void _visibility_changed();
diff --git a/editor/pot_generator.cpp b/editor/pot_generator.cpp
index e684d9a5e6..bfc58db2ad 100644
--- a/editor/pot_generator.cpp
+++ b/editor/pot_generator.cpp
@@ -46,8 +46,8 @@ void POTGenerator::_print_all_translation_strings() {
print_line("msgid: " + E.key());
print_line("context: " + v_md[i].ctx);
print_line("msgid_plural: " + v_md[i].plural);
- for (Set<String>::Element *F = v_md[i].locations.front(); F; F = F->next()) {
- print_line("location: " + F->get());
+ for (const String &F : v_md[i].locations) {
+ print_line("location: " + F);
}
}
}
@@ -127,14 +127,14 @@ void POTGenerator::_write_to_pot(const String &p_file) {
for (int i = 0; i < v_msgid_data.size(); i++) {
String context = v_msgid_data[i].ctx;
String plural = v_msgid_data[i].plural;
- const Set<String> &locations = v_msgid_data[i].locations;
+ const RBSet<String> &locations = v_msgid_data[i].locations;
// Put the blank line at the start, to avoid a double at the end when closing the file.
file->store_line("");
// Write file locations.
- for (Set<String>::Element *E = locations.front(); E; E = E->next()) {
- file->store_line("#: " + E->get().trim_prefix("res://"));
+ for (const String &E : locations) {
+ file->store_line("#: " + E.trim_prefix("res://"));
}
// Write context.
diff --git a/editor/pot_generator.h b/editor/pot_generator.h
index 05d1903dd6..b24eadfd95 100644
--- a/editor/pot_generator.h
+++ b/editor/pot_generator.h
@@ -33,7 +33,7 @@
#include "core/io/file_access.h"
#include "core/templates/hash_map.h"
-#include "core/templates/set.h"
+#include "core/templates/rb_set.h"
//#define DEBUG_POT
@@ -43,7 +43,7 @@ class POTGenerator {
struct MsgidData {
String ctx;
String plural;
- Set<String> locations;
+ RBSet<String> locations;
};
// Store msgid as key and the additional data around the msgid - if it's under a context, has plurals and its file locations.
HashMap<String, Vector<MsgidData>> all_translation_strings;
diff --git a/editor/progress_dialog.h b/editor/progress_dialog.h
index 23a77ea201..a29696cc0d 100644
--- a/editor/progress_dialog.h
+++ b/editor/progress_dialog.h
@@ -47,8 +47,8 @@ class BackgroundProgress : public HBoxContainer {
ProgressBar *progress = nullptr;
};
- Map<String, Task> tasks;
- Map<String, int> updates;
+ HashMap<String, Task> tasks;
+ HashMap<String, int> updates;
void _update();
protected:
@@ -77,7 +77,7 @@ class ProgressDialog : public PopupPanel {
HBoxContainer *cancel_hb = nullptr;
Button *cancel = nullptr;
- Map<String, Task> tasks;
+ HashMap<String, Task> tasks;
VBoxContainer *main = nullptr;
uint64_t last_progress_tick;
diff --git a/editor/project_export.cpp b/editor/project_export.cpp
index 1344afbd3a..839378dad2 100644
--- a/editor/project_export.cpp
+++ b/editor/project_export.cpp
@@ -346,7 +346,7 @@ void ProjectExportDialog::_update_feature_list() {
Ref<EditorExportPreset> current = get_current_preset();
ERR_FAIL_COND(current.is_null());
- Set<String> fset;
+ RBSet<String> fset;
List<String> features;
current->get_platform()->get_platform_features(&features);
@@ -366,7 +366,7 @@ void ProjectExportDialog::_update_feature_list() {
}
custom_feature_display->clear();
- for (Set<String>::Element *E = fset.front(); E; E = E->next()) {
+ for (RBSet<String>::Element *E = fset.front(); E; E = E->next()) {
String f = E->get();
if (E->next()) {
f += ", ";
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp
index b4cbb3b7f1..967cb5a932 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -1064,7 +1064,7 @@ public:
void select_first_visible_project();
void erase_selected_projects(bool p_delete_project_contents);
Vector<Item> get_selected_projects() const;
- const Set<String> &get_selected_project_keys() const;
+ const RBSet<String> &get_selected_project_keys() const;
void ensure_project_visible(int p_index);
int get_single_selected_index() const;
bool is_any_project_missing() const;
@@ -1090,7 +1090,7 @@ private:
String _search_term;
FilterOption _order_option;
- Set<String> _selected_project_keys;
+ RBSet<String> _selected_project_keys;
String _last_clicked; // Project key
VBoxContainer *_scroll_children;
int _icon_load_index;
@@ -1258,7 +1258,7 @@ void ProjectList::load_projects() {
List<PropertyInfo> properties;
EditorSettings::get_singleton()->get_property_list(&properties);
- Set<String> favorites;
+ RBSet<String> favorites;
// Find favourites...
for (const PropertyInfo &E : properties) {
String property_key = E.name;
@@ -1504,7 +1504,7 @@ void ProjectList::sort_projects() {
update_dock_menu();
}
-const Set<String> &ProjectList::get_selected_project_keys() const {
+const RBSet<String> &ProjectList::get_selected_project_keys() const {
// Faster if that's all you need
return _selected_project_keys;
}
@@ -2097,10 +2097,10 @@ void ProjectManager::_open_selected_projects() {
// This is especially important for the HTML5 project manager.
loading_label->set_modulate(Color(1, 1, 1));
- const Set<String> &selected_list = _project_list->get_selected_project_keys();
+ const RBSet<String> &selected_list = _project_list->get_selected_project_keys();
- for (const Set<String>::Element *E = selected_list.front(); E; E = E->next()) {
- const String &selected = E->get();
+ for (const String &E : selected_list) {
+ const String &selected = E;
String path = EditorSettings::get_singleton()->get("projects/" + selected);
String conf = path.plus_file("project.godot");
@@ -2146,7 +2146,7 @@ void ProjectManager::_open_selected_projects() {
}
void ProjectManager::_open_selected_projects_ask() {
- const Set<String> &selected_list = _project_list->get_selected_project_keys();
+ const RBSet<String> &selected_list = _project_list->get_selected_project_keys();
if (selected_list.size() < 1) {
return;
@@ -2261,7 +2261,7 @@ void ProjectManager::_run_project_confirm() {
}
void ProjectManager::_run_project() {
- const Set<String> &selected_list = _project_list->get_selected_project_keys();
+ const RBSet<String> &selected_list = _project_list->get_selected_project_keys();
if (selected_list.size() < 1) {
return;
@@ -2321,14 +2321,14 @@ void ProjectManager::_import_project() {
}
void ProjectManager::_rename_project() {
- const Set<String> &selected_list = _project_list->get_selected_project_keys();
+ const RBSet<String> &selected_list = _project_list->get_selected_project_keys();
if (selected_list.size() == 0) {
return;
}
- for (Set<String>::Element *E = selected_list.front(); E; E = E->next()) {
- const String &selected = E->get();
+ for (const String &E : selected_list) {
+ const String &selected = E;
String path = EditorSettings::get_singleton()->get("projects/" + selected);
npdialog->set_project_path(path);
npdialog->set_mode(ProjectDialog::MODE_RENAME);
@@ -2347,7 +2347,7 @@ void ProjectManager::_erase_missing_projects_confirm() {
}
void ProjectManager::_erase_project() {
- const Set<String> &selected_list = _project_list->get_selected_project_keys();
+ const RBSet<String> &selected_list = _project_list->get_selected_project_keys();
if (selected_list.size() == 0) {
return;
@@ -2404,7 +2404,7 @@ void ProjectManager::_files_dropped(PackedStringArray p_files) {
_install_project(p_files[0], file.substr(0, file.length() - 4).capitalize());
return;
}
- Set<String> folders_set;
+ RBSet<String> folders_set;
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
for (int i = 0; i < p_files.size(); i++) {
String file = p_files[i];
@@ -2412,8 +2412,8 @@ void ProjectManager::_files_dropped(PackedStringArray p_files) {
}
if (folders_set.size() > 0) {
PackedStringArray folders;
- for (Set<String>::Element *E = folders_set.front(); E; E = E->next()) {
- folders.push_back(E->get());
+ for (const String &E : folders_set) {
+ folders.push_back(E);
}
bool confirm = true;
diff --git a/editor/project_manager.h b/editor/project_manager.h
index a68cc4350c..93a6e1c405 100644
--- a/editor/project_manager.h
+++ b/editor/project_manager.h
@@ -50,7 +50,7 @@ enum FilterOption {
class ProjectManager : public Control {
GDCLASS(ProjectManager, Control);
- Map<String, Ref<Texture2D>> icon_type_cache;
+ HashMap<String, Ref<Texture2D>> icon_type_cache;
void _build_icon_type_cache(Ref<Theme> p_theme);
static ProjectManager *singleton;
diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp
index 48cd975715..5367306f1a 100644
--- a/editor/project_settings_editor.cpp
+++ b/editor/project_settings_editor.cpp
@@ -249,7 +249,7 @@ String ProjectSettingsEditor::_get_setting_name() const {
}
void ProjectSettingsEditor::_add_feature_overrides() {
- Set<String> presets;
+ RBSet<String> presets;
presets.insert("bptc");
presets.insert("s3tc");
@@ -292,8 +292,8 @@ void ProjectSettingsEditor::_add_feature_overrides() {
feature_box->clear();
feature_box->add_item(TTR("(All)"), 0); // So it is always on top.
int id = 1;
- for (Set<String>::Element *E = presets.front(); E; E = E->next()) {
- feature_box->add_item(E->get(), id++);
+ for (const String &E : presets) {
+ feature_box->add_item(E, id++);
}
}
diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp
index 5effdf0b36..d541b26cc9 100644
--- a/editor/property_editor.cpp
+++ b/editor/property_editor.cpp
@@ -137,14 +137,14 @@ void CustomPropertyEditor::_menu_option(int p_which) {
ResourceLoader::get_recognized_extensions_for_type(type.get_slice(",", i), &extensions);
}
- Set<String> valid_extensions;
+ RBSet<String> valid_extensions;
for (const String &E : extensions) {
valid_extensions.insert(E);
}
file->clear_filters();
- for (Set<String>::Element *E = valid_extensions.front(); E; E = E->next()) {
- file->add_filter("*." + E->get() + " ; " + E->get().to_upper());
+ for (const String &E : valid_extensions) {
+ file->add_filter("*." + E + " ; " + E.to_upper());
}
file->popup_file_dialog();
@@ -875,7 +875,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant::
for (int i = 0; i < hint_text.get_slice_count(","); i++) {
String base = hint_text.get_slice(",", i);
- Set<String> valid_inheritors;
+ RBSet<String> valid_inheritors;
valid_inheritors.insert(base);
List<StringName> inheritors;
ClassDB::get_inheriters_from_class(base.strip_edges(), &inheritors);
@@ -890,8 +890,8 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant::
E = E->next();
}
- for (Set<String>::Element *j = valid_inheritors.front(); j; j = j->next()) {
- const String &t = j->get();
+ for (const String &j : valid_inheritors) {
+ const String &t = j;
bool is_custom_resource = false;
Ref<Texture2D> icon;
diff --git a/editor/property_selector.cpp b/editor/property_selector.cpp
index 1ac15a0a9d..c136eae1bc 100644
--- a/editor/property_selector.cpp
+++ b/editor/property_selector.cpp
@@ -366,11 +366,11 @@ void PropertySelector::_item_selected() {
String text;
if (properties) {
while (!class_type.is_empty()) {
- Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(class_type);
+ HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(class_type);
if (E) {
- for (int i = 0; i < E->get().properties.size(); i++) {
- if (E->get().properties[i].name == name) {
- text = DTR(E->get().properties[i].description);
+ for (int i = 0; i < E->value.properties.size(); i++) {
+ if (E->value.properties[i].name == name) {
+ text = DTR(E->value.properties[i].description);
break;
}
}
@@ -385,11 +385,11 @@ void PropertySelector::_item_selected() {
}
} else {
while (!class_type.is_empty()) {
- Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(class_type);
+ HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(class_type);
if (E) {
- for (int i = 0; i < E->get().methods.size(); i++) {
- if (E->get().methods[i].name == name) {
- text = DTR(E->get().methods[i].description);
+ for (int i = 0; i < E->value.methods.size(); i++) {
+ if (E->value.methods[i].name == name) {
+ text = DTR(E->value.methods[i].description);
break;
}
}
diff --git a/editor/rename_dialog.cpp b/editor/rename_dialog.cpp
index 1d9e799a30..e47250fcf8 100644
--- a/editor/rename_dialog.cpp
+++ b/editor/rename_dialog.cpp
@@ -356,6 +356,8 @@ void RenameDialog::_update_substitute() {
}
void RenameDialog::_post_popup() {
+ ConfirmationDialog::_post_popup();
+
EditorSelection *editor_selection = EditorNode::get_singleton()->get_editor_selection();
preview_node = nullptr;
diff --git a/editor/reparent_dialog.cpp b/editor/reparent_dialog.cpp
index 8879085d86..38d909038f 100644
--- a/editor/reparent_dialog.cpp
+++ b/editor/reparent_dialog.cpp
@@ -57,7 +57,7 @@ void ReparentDialog::_reparent() {
}
}
-void ReparentDialog::set_current(const Set<Node *> &p_selection) {
+void ReparentDialog::set_current(const RBSet<Node *> &p_selection) {
tree->set_marked(p_selection, false, false);
//tree->set_selected(p_node->get_parent());
}
diff --git a/editor/reparent_dialog.h b/editor/reparent_dialog.h
index 121a86e9f0..a5a9818e7f 100644
--- a/editor/reparent_dialog.h
+++ b/editor/reparent_dialog.h
@@ -52,7 +52,7 @@ protected:
static void _bind_methods();
public:
- void set_current(const Set<Node *> &p_selection);
+ void set_current(const RBSet<Node *> &p_selection);
ReparentDialog();
~ReparentDialog();
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index b385460232..afb3ac7c15 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -460,7 +460,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
selection.sort_custom<Node::Comparator>();
for (Node *node : selection) {
- Map<const Node *, Node *> duplimap;
+ HashMap<const Node *, Node *> duplimap;
Node *dup = node->duplicate_from_editor(duplimap);
ERR_CONTINUE(!dup);
@@ -658,7 +658,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
List<Node *> owned;
node->get_owned_by(node->get_owner(), &owned);
- Map<const Node *, Node *> duplimap;
+ HashMap<const Node *, Node *> duplimap;
Node *dup = node->duplicate_from_editor(duplimap);
ERR_CONTINUE(!dup);
@@ -717,7 +717,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
}
List<Node *> nodes = editor_selection->get_selected_node_list();
- Set<Node *> nodeset;
+ RBSet<Node *> nodeset;
for (Node *E : nodes) {
nodeset.insert(E);
}
@@ -1402,7 +1402,7 @@ void SceneTreeDock::_set_owners(Node *p_owner, const Array &p_nodes) {
}
}
-void SceneTreeDock::_fill_path_renames(Vector<StringName> base_path, Vector<StringName> new_base_path, Node *p_node, Map<Node *, NodePath> *p_renames) {
+void SceneTreeDock::_fill_path_renames(Vector<StringName> base_path, Vector<StringName> new_base_path, Node *p_node, HashMap<Node *, NodePath> *p_renames) {
base_path.push_back(p_node->get_name());
if (new_base_path.size()) {
new_base_path.push_back(p_node->get_name());
@@ -1420,7 +1420,7 @@ void SceneTreeDock::_fill_path_renames(Vector<StringName> base_path, Vector<Stri
}
}
-void SceneTreeDock::fill_path_renames(Node *p_node, Node *p_new_parent, Map<Node *, NodePath> *p_renames) {
+void SceneTreeDock::fill_path_renames(Node *p_node, Node *p_new_parent, HashMap<Node *, NodePath> *p_renames) {
Vector<StringName> base_path;
Node *n = p_node->get_parent();
while (n) {
@@ -1443,24 +1443,24 @@ void SceneTreeDock::fill_path_renames(Node *p_node, Node *p_new_parent, Map<Node
_fill_path_renames(base_path, new_base_path, p_node, p_renames);
}
-bool SceneTreeDock::_update_node_path(Node *p_root_node, NodePath &r_node_path, Map<Node *, NodePath> *p_renames) const {
+bool SceneTreeDock::_update_node_path(Node *p_root_node, NodePath &r_node_path, HashMap<Node *, NodePath> *p_renames) const {
Node *target_node = p_root_node->get_node_or_null(r_node_path);
ERR_FAIL_NULL_V_MSG(target_node, false, "Found invalid node path '" + String(r_node_path) + "' on node '" + String(scene_root->get_path_to(p_root_node)) + "'");
// Try to find the target node in modified node paths.
- Map<Node *, NodePath>::Element *found_node_path = p_renames->find(target_node);
+ HashMap<Node *, NodePath>::Iterator found_node_path = p_renames->find(target_node);
if (found_node_path) {
- Map<Node *, NodePath>::Element *found_root_path = p_renames->find(p_root_node);
- NodePath root_path_new = found_root_path ? found_root_path->get() : p_root_node->get_path();
- r_node_path = root_path_new.rel_path_to(found_node_path->get());
+ HashMap<Node *, NodePath>::Iterator found_root_path = p_renames->find(p_root_node);
+ NodePath root_path_new = found_root_path ? found_root_path->value : p_root_node->get_path();
+ r_node_path = root_path_new.rel_path_to(found_node_path->value);
return true;
}
// Update the path if the base node has changed and has not been deleted.
- Map<Node *, NodePath>::Element *found_root_path = p_renames->find(p_root_node);
+ HashMap<Node *, NodePath>::Iterator found_root_path = p_renames->find(p_root_node);
if (found_root_path) {
- NodePath root_path_new = found_root_path->get();
+ NodePath root_path_new = found_root_path->value;
if (!root_path_new.is_empty()) {
NodePath old_abs_path = NodePath(String(p_root_node->get_path()).plus_file(r_node_path));
old_abs_path.simplify();
@@ -1473,7 +1473,7 @@ bool SceneTreeDock::_update_node_path(Node *p_root_node, NodePath &r_node_path,
return false;
}
-bool SceneTreeDock::_check_node_path_recursive(Node *p_root_node, Variant &r_variant, Map<Node *, NodePath> *p_renames) const {
+bool SceneTreeDock::_check_node_path_recursive(Node *p_root_node, Variant &r_variant, HashMap<Node *, NodePath> *p_renames) const {
switch (r_variant.get_type()) {
case Variant::NODE_PATH: {
NodePath node_path = r_variant;
@@ -1528,8 +1528,8 @@ bool SceneTreeDock::_check_node_path_recursive(Node *p_root_node, Variant &r_var
return false;
}
-void SceneTreeDock::perform_node_renames(Node *p_base, Map<Node *, NodePath> *p_renames, Map<Ref<Animation>, Set<int>> *r_rem_anims) {
- Map<Ref<Animation>, Set<int>> rem_anims;
+void SceneTreeDock::perform_node_renames(Node *p_base, HashMap<Node *, NodePath> *p_renames, HashMap<Ref<Animation>, RBSet<int>> *r_rem_anims) {
+ HashMap<Ref<Animation>, RBSet<int>> rem_anims;
if (!r_rem_anims) {
r_rem_anims = &rem_anims;
}
@@ -1543,8 +1543,8 @@ void SceneTreeDock::perform_node_renames(Node *p_base, Map<Node *, NodePath> *p_
}
// No renaming if base node is deleted.
- Map<Node *, NodePath>::Element *found_base_path = p_renames->find(p_base);
- if (found_base_path && found_base_path->get().is_empty()) {
+ HashMap<Node *, NodePath>::Iterator found_base_path = p_renames->find(p_base);
+ if (found_base_path && found_base_path->value.is_empty()) {
return;
}
@@ -1575,20 +1575,20 @@ void SceneTreeDock::perform_node_renames(Node *p_base, Map<Node *, NodePath> *p_
Node *root = ap->get_node(ap->get_root());
if (root) {
- Map<Node *, NodePath>::Element *found_root_path = p_renames->find(root);
- NodePath new_root_path = found_root_path ? found_root_path->get() : root->get_path();
+ HashMap<Node *, NodePath>::Iterator found_root_path = p_renames->find(root);
+ NodePath new_root_path = found_root_path ? found_root_path->value : root->get_path();
if (!new_root_path.is_empty()) { // No renaming if root node is deleted.
for (const StringName &E : anims) {
Ref<Animation> anim = ap->get_animation(E);
if (!r_rem_anims->has(anim)) {
- r_rem_anims->insert(anim, Set<int>());
- Set<int> &ran = r_rem_anims->find(anim)->get();
+ r_rem_anims->insert(anim, RBSet<int>());
+ RBSet<int> &ran = r_rem_anims->find(anim)->value;
for (int i = 0; i < anim->get_track_count(); i++) {
ran.insert(i);
}
}
- Set<int> &ran = r_rem_anims->find(anim)->get();
+ RBSet<int> &ran = r_rem_anims->find(anim)->value;
if (anim.is_null()) {
continue;
@@ -1605,13 +1605,13 @@ void SceneTreeDock::perform_node_renames(Node *p_base, Map<Node *, NodePath> *p_
continue; //channel was removed
}
- Map<Node *, NodePath>::Element *found_path = p_renames->find(n);
+ HashMap<Node *, NodePath>::Iterator found_path = p_renames->find(n);
if (found_path) {
- if (found_path->get() == NodePath()) {
+ if (found_path->value == NodePath()) {
//will be erased
int idx = 0;
- Set<int>::Element *EI = ran.front();
+ RBSet<int>::Element *EI = ran.front();
ERR_FAIL_COND(!EI); //bug
while (EI->get() != i) {
idx++;
@@ -1631,7 +1631,7 @@ void SceneTreeDock::perform_node_renames(Node *p_base, Map<Node *, NodePath> *p_
} else {
//will be renamed
- NodePath rel_path = new_root_path.rel_path_to(found_path->get());
+ NodePath rel_path = new_root_path.rel_path_to(found_path->value);
NodePath new_path = NodePath(rel_path.get_names(), track_np.get_subnames(), false);
if (new_path == track_np) {
@@ -1653,7 +1653,7 @@ void SceneTreeDock::perform_node_renames(Node *p_base, Map<Node *, NodePath> *p_
}
void SceneTreeDock::_node_prerenamed(Node *p_node, const String &p_new_name) {
- Map<Node *, NodePath> path_renames;
+ HashMap<Node *, NodePath> path_renames;
Vector<StringName> base_path;
Node *n = p_node->get_parent();
@@ -1774,7 +1774,7 @@ void SceneTreeDock::_do_reparent(Node *p_new_parent, int p_position_in_parent, V
editor_data->get_undo_redo().create_action(TTR("Reparent Node"));
- Map<Node *, NodePath> path_renames;
+ HashMap<Node *, NodePath> path_renames;
Vector<StringName> former_names;
int inc = 0;
@@ -1811,9 +1811,9 @@ void SceneTreeDock::_do_reparent(Node *p_new_parent, int p_position_in_parent, V
// Name was modified, fix the path renames.
if (old_name.casecmp_to(new_name) != 0) {
// Fix the to name to have the new name.
- Map<Node *, NodePath>::Element *found_path = path_renames.find(node);
+ HashMap<Node *, NodePath>::Iterator found_path = path_renames.find(node);
if (found_path) {
- NodePath old_new_name = found_path->get();
+ NodePath old_new_name = found_path->value;
Vector<StringName> unfixed_new_names = old_new_name.get_names();
Vector<StringName> fixed_new_names;
@@ -2058,7 +2058,7 @@ void SceneTreeDock::_delete_confirm(bool p_cut) {
} else {
remove_list.sort_custom<Node::Comparator>(); //sort nodes to keep positions
- Map<Node *, NodePath> path_renames;
+ HashMap<Node *, NodePath> path_renames;
//delete from animation
for (Node *n : remove_list) {
@@ -2148,7 +2148,7 @@ void SceneTreeDock::_selection_changed() {
//automatically turn on multi-edit
_tool_selected(TOOL_MULTI_EDIT);
} else if (selection_size == 1) {
- _push_item(editor_selection->get_selection().front()->key());
+ _push_item(editor_selection->get_selection().begin()->key);
} else if (selection_size == 0) {
_push_item(nullptr);
}
@@ -2407,7 +2407,7 @@ void SceneTreeDock::_new_scene_from(String p_file) {
Node *base = selection.front()->get();
- Map<const Node *, Node *> duplimap;
+ HashMap<const Node *, Node *> duplimap;
Node *copy = base->duplicate_from_editor(duplimap);
if (copy) {
@@ -3038,14 +3038,14 @@ List<Node *> SceneTreeDock::paste_nodes() {
ur.create_action(TTR("Paste Node(s)"));
ur.add_do_method(editor_selection, "clear");
- Map<Ref<Resource>, Ref<Resource>> resource_remap;
+ HashMap<Ref<Resource>, Ref<Resource>> resource_remap;
String target_scene;
if (edited_scene) {
target_scene = edited_scene->get_scene_file_path();
}
if (target_scene != clipboard_source_scene) {
if (!clipboard_resource_remap.has(target_scene)) {
- Map<Ref<Resource>, Ref<Resource>> remap;
+ HashMap<Ref<Resource>, Ref<Resource>> remap;
for (Node *E : node_clipboard) {
_create_remap_for_node(E, remap);
}
@@ -3055,7 +3055,7 @@ List<Node *> SceneTreeDock::paste_nodes() {
}
for (Node *node : node_clipboard) {
- Map<const Node *, Node *> duplimap;
+ HashMap<const Node *, Node *> duplimap;
Node *dup = node->duplicate_from_editor(duplimap, resource_remap);
ERR_CONTINUE(!dup);
@@ -3241,7 +3241,7 @@ void SceneTreeDock::_clear_clipboard() {
clipboard_resource_remap.clear();
}
-void SceneTreeDock::_create_remap_for_node(Node *p_node, Map<Ref<Resource>, Ref<Resource>> &r_remap) {
+void SceneTreeDock::_create_remap_for_node(Node *p_node, HashMap<Ref<Resource>, Ref<Resource>> &r_remap) {
List<PropertyInfo> props;
p_node->get_property_list(&props);
@@ -3280,7 +3280,7 @@ void SceneTreeDock::_create_remap_for_node(Node *p_node, Map<Ref<Resource>, Ref<
}
}
-void SceneTreeDock::_create_remap_for_resource(Ref<Resource> p_resource, Map<Ref<Resource>, Ref<Resource>> &r_remap) {
+void SceneTreeDock::_create_remap_for_resource(Ref<Resource> p_resource, HashMap<Ref<Resource>, Ref<Resource>> &r_remap) {
r_remap[p_resource] = p_resource->duplicate();
List<PropertyInfo> props;
diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h
index a1d300d3d6..1e58a7a66a 100644
--- a/editor/scene_tree_dock.h
+++ b/editor/scene_tree_dock.h
@@ -145,7 +145,7 @@ class SceneTreeDock : public VBoxContainer {
List<Node *> node_clipboard;
String clipboard_source_scene;
- HashMap<String, Map<Ref<Resource>, Ref<Resource>>> clipboard_resource_remap;
+ HashMap<String, HashMap<Ref<Resource>, Ref<Resource>>> clipboard_resource_remap;
ScriptCreateDialog *script_create_dialog = nullptr;
ShaderCreateDialog *shader_create_dialog = nullptr;
@@ -232,7 +232,7 @@ class SceneTreeDock : public VBoxContainer {
void _selection_changed();
void _update_script_button();
- void _fill_path_renames(Vector<StringName> base_path, Vector<StringName> new_base_path, Node *p_node, Map<Node *, NodePath> *p_renames);
+ void _fill_path_renames(Vector<StringName> base_path, Vector<StringName> new_base_path, Node *p_node, HashMap<Node *, NodePath> *p_renames);
void _normalize_drop(Node *&to_node, int &to_pos, int p_type);
@@ -258,16 +258,16 @@ class SceneTreeDock : public VBoxContainer {
void _feature_profile_changed();
void _clear_clipboard();
- void _create_remap_for_node(Node *p_node, Map<Ref<Resource>, Ref<Resource>> &r_remap);
- void _create_remap_for_resource(Ref<Resource> p_resource, Map<Ref<Resource>, Ref<Resource>> &r_remap);
+ void _create_remap_for_node(Node *p_node, HashMap<Ref<Resource>, Ref<Resource>> &r_remap);
+ void _create_remap_for_resource(Ref<Resource> p_resource, HashMap<Ref<Resource>, Ref<Resource>> &r_remap);
bool profile_allow_editing = true;
bool profile_allow_script_editing = true;
static void _update_configuration_warning();
- bool _update_node_path(Node *p_root_node, NodePath &r_node_path, Map<Node *, NodePath> *p_renames) const;
- bool _check_node_path_recursive(Node *p_root_node, Variant &r_variant, Map<Node *, NodePath> *p_renames) const;
+ bool _update_node_path(Node *p_root_node, NodePath &r_node_path, HashMap<Node *, NodePath> *p_renames) const;
+ bool _check_node_path_recursive(Node *p_root_node, Variant &r_variant, HashMap<Node *, NodePath> *p_renames) const;
private:
static SceneTreeDock *singleton;
@@ -292,8 +292,8 @@ public:
void instantiate(const String &p_file);
void instantiate_scenes(const Vector<String> &p_files, Node *p_parent = nullptr);
void set_selected(Node *p_node, bool p_emit_selected = false);
- void fill_path_renames(Node *p_node, Node *p_new_parent, Map<Node *, NodePath> *p_renames);
- void perform_node_renames(Node *p_base, Map<Node *, NodePath> *p_renames, Map<Ref<Animation>, Set<int>> *r_rem_anims = nullptr);
+ void fill_path_renames(Node *p_node, Node *p_new_parent, HashMap<Node *, NodePath> *p_renames);
+ void perform_node_renames(Node *p_base, HashMap<Node *, NodePath> *p_renames, HashMap<Ref<Animation>, RBSet<int>> *r_rem_anims = nullptr);
SceneTreeEditor *get_tree_editor() { return scene_tree; }
EditorData *get_editor_data() { return editor_data; }
@@ -317,7 +317,9 @@ public:
List<Node *> paste_nodes();
List<Node *> get_node_clipboard() const;
- ScriptCreateDialog *get_script_create_dialog() { return script_create_dialog; }
+ ScriptCreateDialog *get_script_create_dialog() {
+ return script_create_dialog;
+ }
SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selection, EditorData &p_editor_data);
~SceneTreeDock();
diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp
index 4efd22aa1e..afb42efa76 100644
--- a/editor/scene_tree_editor.cpp
+++ b/editor/scene_tree_editor.cpp
@@ -874,7 +874,7 @@ Node *SceneTreeEditor::get_selected() {
return selected;
}
-void SceneTreeEditor::set_marked(const Set<Node *> &p_marked, bool p_selectable, bool p_children_selectable) {
+void SceneTreeEditor::set_marked(const RBSet<Node *> &p_marked, bool p_selectable, bool p_children_selectable) {
if (tree_dirty) {
_update_tree();
}
@@ -885,7 +885,7 @@ void SceneTreeEditor::set_marked(const Set<Node *> &p_marked, bool p_selectable,
}
void SceneTreeEditor::set_marked(Node *p_marked, bool p_selectable, bool p_children_selectable) {
- Set<Node *> s;
+ RBSet<Node *> s;
if (p_marked) {
s.insert(p_marked);
}
diff --git a/editor/scene_tree_editor.h b/editor/scene_tree_editor.h
index 3d88081ab1..604d77cf76 100644
--- a/editor/scene_tree_editor.h
+++ b/editor/scene_tree_editor.h
@@ -99,7 +99,7 @@ class SceneTreeEditor : public Control {
void _renamed();
UndoRedo *undo_redo = nullptr;
- Set<Node *> marked;
+ RBSet<Node *> marked;
bool marked_selectable = false;
bool marked_children_selectable = false;
bool display_foreign = false;
@@ -140,7 +140,7 @@ public:
void set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; };
void set_display_foreign_nodes(bool p_display);
- void set_marked(const Set<Node *> &p_marked, bool p_selectable = false, bool p_children_selectable = true);
+ void set_marked(const RBSet<Node *> &p_marked, bool p_selectable = false, bool p_children_selectable = true);
void set_marked(Node *p_marked, bool p_selectable = false, bool p_children_selectable = true);
void set_selected(Node *p_node, bool p_emit_selected = true);
Node *get_selected();
diff --git a/editor/shader_create_dialog.cpp b/editor/shader_create_dialog.cpp
index 3a2c4fb17b..046e8fcdfc 100644
--- a/editor/shader_create_dialog.cpp
+++ b/editor/shader_create_dialog.cpp
@@ -382,7 +382,7 @@ String ShaderCreateDialog::_validate_path(const String &p_path) {
}
String extension = p.get_extension();
- Set<String> extensions;
+ RBSet<String> extensions;
for (int i = 0; i < SHADER_TYPE_MAX; i++) {
for (const String &ext : language_data[i].extensions) {
diff --git a/editor/translations/af.po b/editor/translations/af.po
index 679e80af7c..0e4d1e19ff 100644
--- a/editor/translations/af.po
+++ b/editor/translations/af.po
@@ -81,11 +81,12 @@ msgstr "Afhanklikheid Bewerker"
msgid "Screen Orientation"
msgstr "Opnoemings"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -93,7 +94,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -105,7 +106,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -119,10 +120,11 @@ msgstr ""
msgid "Position"
msgstr "Skep Nuwe"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -602,6 +604,41 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Vervang Alles"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Lineêr"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1197,7 +1234,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -6032,6 +6069,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Skep Intekening"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -16008,40 +16050,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Vervang Alles"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Lineêr"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20271,6 +20279,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21961,7 +21974,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24088,6 +24101,11 @@ msgstr "Wissel Modus"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Opnoemings"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Vervang Alles"
@@ -24119,11 +24137,6 @@ msgstr ""
msgid "Process Priority"
msgstr "Wissel Modus"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Opnoemings"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -24788,6 +24801,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Opnoemings:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Hernoem AutoLaai"
@@ -25571,6 +25589,10 @@ msgid "Distance Field"
msgstr "Installeer"
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index afb59d8ccc..19fb3809dd 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -139,12 +139,13 @@ msgstr "حجم الخطوط:"
msgid "Screen Orientation"
msgstr "مُشغل الشاشة."
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "نافذة جديدة"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "البكسلات المحيطية (الحدودية)"
@@ -153,7 +154,7 @@ msgstr "البكسلات المحيطية (الحدودية)"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "تفعيل/إلغاء وضع الشاشة الكاملة"
@@ -167,7 +168,7 @@ msgstr ""
msgid "Minimized"
msgstr "الشروع"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -181,10 +182,11 @@ msgstr ""
msgid "Position"
msgstr "مكان الرصيف"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -683,6 +685,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "إظهار الكل"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "ضوء"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "بالعرض يساراً"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "أختبار"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1293,7 +1332,7 @@ msgstr "تمكين/إيقاف هذا المسار."
msgid "Update Mode (How this property is set)"
msgstr "وضع التحديث (كيفية تعيين هذه الخاصية)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "وضعية الأستيفاء"
@@ -6174,6 +6213,11 @@ msgstr ""
msgid "Flat"
msgstr "السطح 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "وضع التصادم"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "إختيار عقدة(عقد) للإستيراد"
@@ -16130,42 +16174,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "إظهار الكل"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "ضوء"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "بالعرض يساراً"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "أختبار"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20607,6 +20615,11 @@ msgstr ""
"مضلع غير صالح. يتطلب الأمر على الأقل نقطتين في نمط البناء \"المتجزئ "
"Segments\"."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22476,7 +22489,7 @@ msgstr "اطبخ شبكة ملاحة"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24744,6 +24757,11 @@ msgstr "وضع السحب"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "وضعية الأستيفاء"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "عرض من غير ظلال"
@@ -24777,11 +24795,6 @@ msgstr "تحديد التكرار:"
msgid "Process Priority"
msgstr "تمكين الأولوية"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "وضعية الأستيفاء"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25488,6 +25501,11 @@ msgstr "فاصل مُسمّى"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "مُشغّل اللون."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "إعادة تسمية عنصر اللون"
@@ -26294,6 +26312,11 @@ msgstr "وضع خالي من الإلهاء"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "العمق"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "المُعادل:"
diff --git a/editor/translations/az.po b/editor/translations/az.po
index 6f223a4f1f..f0bf91bc54 100644
--- a/editor/translations/az.po
+++ b/editor/translations/az.po
@@ -73,11 +73,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -85,7 +86,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -97,7 +98,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -111,10 +112,11 @@ msgstr ""
msgid "Position"
msgstr "Animasiyanı Təmizləmə"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -586,6 +588,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1181,7 +1216,7 @@ msgstr "Bu izi açın / söndürün."
msgid "Update Mode (How this property is set)"
msgstr "Yeniləmə rejimi (bu xüsusiyyət necə qurulur)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "İnterpolasiya rejimi"
@@ -5855,6 +5890,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15404,38 +15443,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19490,6 +19497,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -21122,7 +21134,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23168,6 +23180,11 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "İnterpolasiya rejimi"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23197,11 +23214,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "İnterpolasiya rejimi"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23834,6 +23846,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "İzah:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Funksiyalar:"
@@ -24577,6 +24594,10 @@ msgid "Distance Field"
msgstr "Quraşdır"
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index 8aa5d76c71..3275a08135 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -91,11 +91,12 @@ msgstr "Размер на контура:"
msgid "Screen Orientation"
msgstr "Отваряне на документацията"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Прозорец"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Без граници"
@@ -103,7 +104,7 @@ msgstr "Без граници"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Цял екран"
@@ -116,7 +117,7 @@ msgstr ""
msgid "Minimized"
msgstr "Инициализиране"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -130,10 +131,11 @@ msgstr ""
msgid "Position"
msgstr "Създаване на функция"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -623,6 +625,41 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Показване на всичко"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Тестово"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1220,7 +1257,7 @@ msgstr "Включване/изключване на тази пътечка."
msgid "Update Mode (How this property is set)"
msgstr "Режим на обновяване (как се задава стойност на това свойство)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Режим на интерполация"
@@ -5972,6 +6009,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Режим на колизии"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15626,40 +15668,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Показване на всичко"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Тестово"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19944,6 +19952,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21718,7 +21731,7 @@ msgstr "Изпичане на NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23900,6 +23913,11 @@ msgstr "Панорамен режим"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Режим на интерполация"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Показване на всичко"
@@ -23931,11 +23949,6 @@ msgstr ""
msgid "Process Priority"
msgstr "Включване на приоритета"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Режим на интерполация"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -24625,6 +24638,11 @@ msgstr "Именуван разделител"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Разделение:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Преименуване на елемента – цвят"
@@ -25413,6 +25431,11 @@ msgstr "Инсталиране"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Дълбочина"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Отместване:"
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index 1180616c9e..5f0c0e8a9c 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -87,12 +87,13 @@ msgstr "প্রান্তরেখার আকার:"
msgid "Screen Orientation"
msgstr "রেফারেন্সের ডকুমেন্টেশনে খুঁজুন।"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "উইন্ডো"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -100,7 +101,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "পূর্ণ-পর্দা অদলবদল/টগল করুন"
@@ -114,7 +115,7 @@ msgstr ""
msgid "Minimized"
msgstr "বড় হাতের অক্ষরে পরিবর্তনে করুন"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -128,10 +129,11 @@ msgstr ""
msgid "Position"
msgstr "ড্ক পজিশন"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -628,6 +630,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Normal প্রদর্শন"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "ডান"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "বাম দর্শন"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "পরীক্ষামূলক উৎস"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1238,7 +1277,7 @@ msgstr "এই ট্র্যাকটি চালু / বন্ধ টগল
msgid "Update Mode (How this property is set)"
msgstr "আপডেট মোড (কীভাবে এই সম্পত্তি সেট করা আছে)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "ইন্টারপোলেশন মোড"
@@ -6313,6 +6352,11 @@ msgstr ""
msgid "Flat"
msgstr "ফ্ল্যাট0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "অ্যানিমেশনের নোড"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "ইম্পোর্টের জন্য নোড(সমূহ) নির্বাচন করুন"
@@ -16910,42 +16954,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Normal প্রদর্শন"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "ডান"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "বাম দর্শন"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "পরীক্ষামূলক উৎস"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -21419,6 +21427,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -23229,7 +23242,7 @@ msgstr "মেস"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -25464,6 +25477,11 @@ msgstr "প্যান মোড"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "ইন্টারপোলেশন মোড"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Shadeless প্রদর্শন"
@@ -25495,11 +25513,6 @@ msgstr ""
msgid "Process Priority"
msgstr "নোড ফিল্টারসমূহ সম্পাদন করুন"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "ইন্টারপোলেশন মোড"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -26199,6 +26212,11 @@ msgstr "বিচ্ছেদ:"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "বিচ্ছেদ:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "ক্লাসের আইটেম অপসারণ করুন"
@@ -27002,6 +27020,11 @@ msgstr "বিক্ষেপ-হীন মোড"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "গভীরতা"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "অফসেট/ভারসাম্য:"
diff --git a/editor/translations/br.po b/editor/translations/br.po
index b14561b9f6..5764fa64e2 100644
--- a/editor/translations/br.po
+++ b/editor/translations/br.po
@@ -75,11 +75,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -87,7 +88,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -99,7 +100,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -113,10 +114,11 @@ msgstr ""
msgid "Position"
msgstr "Tro Fiñvskeudenn"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -574,6 +576,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1152,7 +1187,7 @@ msgstr "Aktivañ/Diaktivañ ar roudenn-se."
msgid "Update Mode (How this property is set)"
msgstr "Mod Bremenadur (Penaos eo termenet ar perzh-se)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Mod Interpoladur"
@@ -5749,6 +5784,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15248,38 +15287,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19289,6 +19296,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20902,7 +20914,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22915,6 +22927,11 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Mod Interpoladur"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22943,11 +22960,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Mod Interpoladur"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23571,6 +23583,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Tro Fiñvskeudenn"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Fonksionoù :"
@@ -24290,6 +24307,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index 08e8de0da5..f6bf7acf1a 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -85,11 +85,12 @@ msgstr "Mida Màxima de la Finestra"
msgid "Screen Orientation"
msgstr "Orientació de la Pantalla"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Finestra"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Sense Vores"
@@ -98,7 +99,7 @@ msgstr "Sense Vores"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Pantalla Completa"
@@ -110,7 +111,7 @@ msgstr ""
msgid "Minimized"
msgstr "Minimitzat"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -123,10 +124,11 @@ msgstr ""
msgid "Position"
msgstr "Posició"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -596,6 +598,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Mostra-ho tot"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Llum"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Vista Esquerra"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Provant"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1194,7 +1233,7 @@ msgstr "Activa/Desactiva la Pista."
msgid "Update Mode (How this property is set)"
msgstr "Mode d'Actualització (Configuració d'aquesta propietat)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Mode d'Interpolació"
@@ -6156,6 +6195,11 @@ msgstr ""
msgid "Flat"
msgstr "Flat 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Mode Col·lisió"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecciona Node(s) per Importar"
@@ -16455,42 +16499,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Mostra-ho tot"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Llum"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Vista Esquerra"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Provant"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20957,6 +20965,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22805,7 +22818,7 @@ msgstr "Malla"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -25065,6 +25078,11 @@ msgstr "Mode d'Escombratge lateral"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Mode d'Interpolació"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Mostra sense Ombreig"
@@ -25098,11 +25116,6 @@ msgstr "Estableix Múltiples:"
msgid "Process Priority"
msgstr "Habilitar Prioritat"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Mode d'Interpolació"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25809,6 +25822,11 @@ msgstr "Separador amb Nom"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Operador Color."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Elimina Elements de Classe"
@@ -26615,6 +26633,11 @@ msgstr "Mode Lliure de Distraccions"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Profunditat"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "òfset:"
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index 7f59f12f45..6af60f7975 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -104,12 +104,13 @@ msgstr "Velikost obrysu:"
msgid "Screen Orientation"
msgstr "Operátor screen."
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Nové okno"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Hraniční pixely"
@@ -118,7 +119,7 @@ msgstr "Hraniční pixely"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Přepnout celou obrazovku"
@@ -132,7 +133,7 @@ msgstr ""
msgid "Minimized"
msgstr "Inicializovat"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -146,10 +147,11 @@ msgstr ""
msgid "Position"
msgstr "Pozice doku"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -647,6 +649,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Zobrazit všechny"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Světlo"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Vlevo po celé výšce"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testované"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1256,7 +1295,7 @@ msgstr "Aktivovat/Deaktivovat tuto stopu."
msgid "Update Mode (How this property is set)"
msgstr "Režim aktualizace (jak je tato vlastnost nastavena)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolační režim"
@@ -6160,6 +6199,11 @@ msgstr ""
msgid "Flat"
msgstr "Plocha 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Kolizní režim"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Vyberte uzly pro import"
@@ -16145,42 +16189,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Zobrazit všechny"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Světlo"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Vlevo po celé výšce"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testované"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20577,6 +20585,11 @@ msgstr "Chybný polygon. Alespoň 3 body jsou potřeba v 'Solids' build módu."
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr "Chybný polygon. Alespoň 2 body jsou potřeba v 'Segments' build módu."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22415,7 +22428,7 @@ msgstr "Zapéct NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24679,6 +24692,11 @@ msgstr "Režim posouvání"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolační režim"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Bezestínový pohled"
@@ -24712,11 +24730,6 @@ msgstr "Nastavit více:"
msgid "Process Priority"
msgstr "Zapnout priority"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolační režim"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25424,6 +25437,11 @@ msgstr "Nazvaný oddělovač"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Operátor barvy."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Odstranit položky třídy"
@@ -26230,6 +26248,11 @@ msgstr "Nerozptylující režitm"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Hloubka"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Offset(Posun):"
diff --git a/editor/translations/da.po b/editor/translations/da.po
index 763b0af614..80669d616a 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -86,11 +86,12 @@ msgstr "Max. Vinduesstørrelse"
msgid "Screen Orientation"
msgstr "Skærmorientering"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Vindue"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Rammeløs"
@@ -98,7 +99,7 @@ msgstr "Rammeløs"
msgid "Per Pixel Transparency Enabled"
msgstr "Per Piksel Gennemsigtighed Aktiveret"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Fuld skærm"
@@ -110,7 +111,7 @@ msgstr "Maksimeret"
msgid "Minimized"
msgstr "Minimeret"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -123,10 +124,11 @@ msgstr ""
msgid "Position"
msgstr "Position"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -614,6 +616,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Vis alle"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Lineær"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Tester"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1221,7 +1259,7 @@ msgstr "Slå spor til/fra."
msgid "Update Mode (How this property is set)"
msgstr "Opdateringstilstand (Hvordan denne egenskab er sat)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolationsmetode"
@@ -6190,6 +6228,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Interpolationsmetode"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Vælg Noder at Importere"
@@ -16385,41 +16428,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Vis alle"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Lineær"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Tester"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20761,6 +20769,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22513,7 +22526,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24695,6 +24708,11 @@ msgstr "Skifter Modus"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolationsmetode"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Vis alle"
@@ -24726,11 +24744,6 @@ msgstr ""
msgid "Process Priority"
msgstr "Rediger filtre"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolationsmetode"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25415,6 +25428,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Tællinger:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Fjern Alt"
@@ -26207,6 +26225,11 @@ msgid "Distance Field"
msgstr "Distraktions Fri Modus"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "Dybde"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/de.po b/editor/translations/de.po
index 15b04ff917..13e7b0eeea 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -80,13 +80,14 @@
# Andreas <self@andreasbresser.de>, 2022.
# ARez <dark.gaming@fantasymail.de>, 2022.
# Christian Packenius <christian@packenius.com>, 2022.
+# Sajeg <jfx@posteo.de>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-30 17:12+0000\n"
-"Last-Translator: Christian Packenius <christian@packenius.com>\n"
+"PO-Revision-Date: 2022-05-17 17:18+0000\n"
+"Last-Translator: Sajeg <jfx@posteo.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -94,7 +95,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -148,11 +149,12 @@ msgstr "Maximale Fenstergröße"
msgid "Screen Orientation"
msgstr "Bildschirmausrichtung"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Fenster"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Rahmenlos"
@@ -160,7 +162,7 @@ msgstr "Rahmenlos"
msgid "Per Pixel Transparency Enabled"
msgstr "Pixelweise Transparenz aktiviert"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Vollbildmodus"
@@ -172,7 +174,7 @@ msgstr "Maximiert"
msgid "Minimized"
msgstr "Minimiert"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Verstellbar"
@@ -185,10 +187,11 @@ msgstr "Verstellbar"
msgid "Position"
msgstr "Position"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -639,6 +642,39 @@ msgstr "Eigenes Nutzerverzeichnis verwenden"
msgid "Custom User Dir Name"
msgstr "Eigener Nutzerverzeichnisname"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr "Anzeige"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr "Breite"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr "Höhe"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr "Immer im Vordergrund"
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr "Testbreite"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr "Testhöhe"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1216,7 +1252,7 @@ msgstr "Diese Spur an-/abschalten."
msgid "Update Mode (How this property is set)"
msgstr "Aktualisierungs-Modus (wie Eigenschaften gesetzt werden)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolationsmodus"
@@ -6004,6 +6040,11 @@ msgstr ""
msgid "Flat"
msgstr "Flach"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Schieber"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selektiere Node(s) für den Import"
@@ -6704,7 +6745,6 @@ msgid "Delimiter"
msgstr "Trennzeichen"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "ColorCorrect"
msgstr "Farbkorrektur"
@@ -6995,14 +7035,12 @@ msgid "Saving..."
msgstr "Speichere..."
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D, Detect 3D"
-msgstr "3D erkennen"
+msgstr "2D, 3D erkennen"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "Festkörper-Pixel"
+msgstr "2D-Pixel"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
@@ -8336,7 +8374,7 @@ msgstr "Testphase"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "Die Repository-Konfiguration konnte nicht abgerufen werden."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -10070,8 +10108,9 @@ msgid "Sync Bones to Polygon"
msgstr "Knochen mit Polygon synchronisieren"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
+#, fuzzy
msgid "Set cast_to"
-msgstr ""
+msgstr "Setzte cast_to"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -15017,16 +15056,16 @@ msgstr "Lokal machen"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
msgstr ""
+"Ein anderes Node nutzt schon diesen einzigartigen Namen in dieser Szene."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name"
-msgstr "Eindeutiger Name"
+msgstr "Einzigartigen Namen der Szene aktivieren"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "Eindeutiger Name"
+msgstr "Szene eindeutiger Name deaktivieren"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15101,8 +15140,9 @@ msgid "Sub-Resources"
msgstr "Unter-Ressourcen"
#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "Zugrif als einzigartige Szene"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15900,38 +15940,6 @@ msgstr "Rückfall auf GLES2"
msgid "Use Nvidia Rect Flicker Workaround"
msgstr "Nvidia-Rechtecksflackern-Abhilfe verwenden"
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr "Anzeige"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr "Breite"
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr "Höhe"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr "Immer im Vordergrund"
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr "Testbreite"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr "Testhöhe"
-
#: main/main.cpp
msgid "DPI"
msgstr "DPI"
@@ -20046,6 +20054,11 @@ msgstr ""
"Ungültiges Polygon. Mindestens zwei Punkte werden im ‚Segment‘-Baumodus "
"benötigt."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr "Baumodus"
@@ -21715,9 +21728,10 @@ msgid "NavMesh"
msgstr "NavMesh backen"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"Der einzige Zweck eines NavigationObstacle ist es, Kollisionsvermeidung für "
"ein Spatial-Objekt bereitzustellen."
@@ -23754,6 +23768,11 @@ msgid "Pause Mode"
msgstr "Pausiermodus"
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Physikinterpolation"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr "Eingeklappt anzeigen"
@@ -23782,10 +23801,6 @@ msgstr "Mehrspieler benutzerdefiniert"
msgid "Process Priority"
msgstr "Prozesspriorität"
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr "Physikinterpoliert"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr "Zeit übrig"
@@ -24400,6 +24415,11 @@ msgid "Labeled Separator Right"
msgstr "Benannter Trenner Rechts"
#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
+msgid "Font Separator"
+msgstr "Schriftfarbe Trenner"
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr "Schriftfarbe-Beschleunigung"
@@ -25080,6 +25100,11 @@ msgid "Distance Field"
msgstr "Distanzfeld"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "Kartendaten"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr "Versätze"
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index 607787019b..e74983e7d3 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -66,11 +66,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -78,7 +79,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -90,7 +91,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -103,10 +104,11 @@ msgstr ""
msgid "Position"
msgstr ""
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -556,6 +558,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1133,7 +1168,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5693,6 +5728,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15157,38 +15196,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19149,6 +19156,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20730,7 +20742,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22677,6 +22689,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22704,10 +22720,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23309,6 +23321,10 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+msgid "Font Separator"
+msgstr ""
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -23989,6 +24005,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/el.po b/editor/translations/el.po
index 4209bc8935..c4c3529ab4 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -6,7 +6,7 @@
# Georgios Katsanakis <geo.elgeo@gmail.com>, 2019.
# Overloaded <manoschool@yahoo.gr>, 2019.
# Eternal Death <eternaldeath0001@gmail.com>, 2019.
-# Overloaded @ Orama Interactive http://orama-interactive.com/ <manoschool@yahoo.gr>, 2020.
+# Overloaded @ Orama Interactive http://orama-interactive.com/ <manoschool@yahoo.gr>, 2020, 2022.
# pandektis <pandektis@gmail.com>, 2020.
# KostasMSC <kargyris@athtech.gr>, 2020.
# lawfulRobot <czavantias@gmail.com>, 2020, 2021.
@@ -22,8 +22,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-05 10:10+0000\n"
-"Last-Translator: Anthony V. <batmanplayer123@gmail.com>\n"
+"PO-Revision-Date: 2022-05-07 05:11+0000\n"
+"Last-Translator: Overloaded @ Orama Interactive <manoschool@yahoo.gr>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/"
"el/>\n"
"Language: el\n"
@@ -88,11 +88,12 @@ msgstr "Μέγιστο Μέγεθος Παραθύρου"
msgid "Screen Orientation"
msgstr "Προσανατολισμός οθόνης"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Παράθυρο"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Xωρίς σύνορα"
@@ -100,7 +101,7 @@ msgstr "Xωρίς σύνορα"
msgid "Per Pixel Transparency Enabled"
msgstr "Διαφάνεια ανά εικονοστοιχείο Ενεργοποιημένη"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Πλήρης οθόνη"
@@ -112,7 +113,7 @@ msgstr "Μεγιστοποιημένη"
msgid "Minimized"
msgstr "Ελαχιστοποίηση"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Mεταβλητό Mέγεθος"
@@ -126,10 +127,11 @@ msgstr "Mεταβλητό Mέγεθος"
msgid "Position"
msgstr "Θέση"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -596,6 +598,43 @@ msgstr "Χρήση Προσαρμοσμένης Διεύθυνση Καταλό
msgid "Custom User Dir Name"
msgstr "Όνομα διεύθυνσης προσαρμοσμένου χρήστη"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Εμφάνιση όλων"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Φως"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Ευρεία Αριστερά"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Δοκιμαστικά"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1204,7 +1243,7 @@ msgstr "Εναλλαγή κομματιού on/off."
msgid "Update Mode (How this property is set)"
msgstr "Μέθοδος ανανέωσης (της ιδιότητας)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Μέθοδος παρεμβολής"
@@ -6170,6 +6209,11 @@ msgstr ""
msgid "Flat"
msgstr "Επίπεδο 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Λειτουργία Σύγκρουσης"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Επιλέξτε κόμβους για εισαγωγή"
@@ -14701,7 +14745,7 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Physical Key"
-msgstr ""
+msgstr "Φυσικό πλήκτρο"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -14749,7 +14793,7 @@ msgstr "Όλες οι Συσκευές"
#: editor/project_settings_editor.cpp
msgid " (Physical)"
-msgstr ""
+msgstr " (Φυσικό)"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Press a Key..."
@@ -16315,42 +16359,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Εμφάνιση όλων"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Φως"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Ευρεία Αριστερά"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Δοκιμαστικά"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20788,6 +20796,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22643,7 +22656,7 @@ msgstr "Ψήσιμο NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24911,6 +24924,11 @@ msgstr "Λειτουργία Μετακίνησης Κάμερας"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Μέθοδος παρεμβολής"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Εμφάνιση χωρίς σκιές"
@@ -24944,11 +24962,6 @@ msgstr "Ορισμός πολλών:"
msgid "Process Priority"
msgstr "Επεξεργασία Προτεραιότητας"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Μέθοδος παρεμβολής"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25657,6 +25670,11 @@ msgstr "Ονομασμένο Διαχωριστικό"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Τελεστής χρώματος."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Αφαίρεση στοιχείων κλάσης"
@@ -26463,6 +26481,11 @@ msgstr "Λειτουργία χωρίς διάσπαση προσοχής"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Βάθος"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Μετατόπιση:"
diff --git a/editor/translations/en_Shaw.po b/editor/translations/en_Shaw.po
index 585d053296..6ccc2bc4bc 100644
--- a/editor/translations/en_Shaw.po
+++ b/editor/translations/en_Shaw.po
@@ -71,11 +71,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -83,7 +84,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -95,7 +96,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -109,10 +110,11 @@ msgstr ""
msgid "Position"
msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -566,6 +568,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1144,7 +1179,7 @@ msgstr "𐑑𐑪𐑜𐑩𐑤 𐑞𐑦𐑕 𐑑𐑮𐑨𐑒 𐑪𐑯/𐑪𐑓."
msgid "Update Mode (How this property is set)"
msgstr "𐑳𐑐𐑛𐑱𐑑 𐑥𐑴𐑛 (𐑣𐑬 𐑞𐑦𐑕 𐑐𐑮𐑪𐑐𐑼𐑑𐑦 𐑦𐑟 𐑕𐑧𐑑)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
@@ -5712,6 +5747,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15197,38 +15236,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19218,6 +19225,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20821,7 +20833,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22823,6 +22835,11 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22851,11 +22868,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23475,6 +23487,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:"
@@ -24189,6 +24206,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/eo.po b/editor/translations/eo.po
index c9f39f29fd..a183ba025a 100644
--- a/editor/translations/eo.po
+++ b/editor/translations/eo.po
@@ -87,12 +87,13 @@ msgstr "Grando de konturo:"
msgid "Screen Orientation"
msgstr "Malfermi dokumentaron"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Nova Fenestro"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Rastumeroj de bordero"
@@ -101,7 +102,7 @@ msgstr "Rastumeroj de bordero"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Baskuli plenekranon"
@@ -115,7 +116,7 @@ msgstr ""
msgid "Minimized"
msgstr "Kapitaligi"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -129,10 +130,11 @@ msgstr ""
msgid "Position"
msgstr "Pozicio de doko"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -623,6 +625,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Vidigi tutan"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Maldekstre vaste"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testada"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1232,7 +1270,7 @@ msgstr "Ŝalti/malŝalti ĉi tiun trakon."
msgid "Update Mode (How this property is set)"
msgstr "Aktualigi Modon (Kiel tio ĉi atributo estas determinigis)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolado Modo"
@@ -6126,6 +6164,11 @@ msgstr ""
msgid "Flat"
msgstr "Konstanta 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Videblaj koliziaj formoj"
+
#: editor/editor_sub_scene.cpp
#, fuzzy
msgid "Select Node(s) to Import"
@@ -16040,41 +16083,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Vidigi tutan"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Maldekstre vaste"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testada"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20398,6 +20406,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22136,7 +22149,7 @@ msgstr "Maŝo"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24338,6 +24351,11 @@ msgstr "Panoramada reĝimo"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolado Modo"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Vidigi tutan"
@@ -24371,11 +24389,6 @@ msgstr "Agordi pluroblan:"
msgid "Process Priority"
msgstr "Movada reĝimo"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolado Modo"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25067,6 +25080,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Versio:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Renomi nodon"
@@ -25867,6 +25885,11 @@ msgstr "Sendistra reĝimo"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Profundo"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Krada deŝovo:"
diff --git a/editor/translations/es.po b/editor/translations/es.po
index de846418b6..529cc6351b 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -83,7 +83,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-03 07:13+0000\n"
+"PO-Revision-Date: 2022-05-17 21:38+0000\n"
"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
@@ -92,7 +92,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -146,11 +146,12 @@ msgstr "Tamaño Máximo de la Ventana"
msgid "Screen Orientation"
msgstr "Orientación de la Pantalla"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Ventana"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Sin bordes"
@@ -158,7 +159,7 @@ msgstr "Sin bordes"
msgid "Per Pixel Transparency Enabled"
msgstr "Transparencia Por Píxel Activada"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Pantalla Completa"
@@ -170,7 +171,7 @@ msgstr "Maximizada"
msgid "Minimized"
msgstr "Minimizada"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Redimensionable"
@@ -183,10 +184,11 @@ msgstr "Redimensionable"
msgid "Position"
msgstr "Posición"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -639,6 +641,43 @@ msgstr "Utilizar Directorio de Usuario Personalizado"
msgid "Custom User Dir Name"
msgstr "Nombre de Directorio de Usuario Personalizado"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Mostrar Todos"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Luz"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Ancho Izquierda"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Prueba"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1216,7 +1255,7 @@ msgstr "Act./Desact. esta pista."
msgid "Update Mode (How this property is set)"
msgstr "Modo de actualización (Cómo se establece)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Modo de Interpolación"
@@ -2748,7 +2787,7 @@ msgstr "ETC2"
#: editor/editor_export.cpp
#, fuzzy
msgid "No BPTC Fallbacks"
-msgstr "Forzar Shader Fallbacks"
+msgstr "No hay retroceso de BPTC"
#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -4199,7 +4238,7 @@ msgstr "Desactivar Plegado"
#: editor/editor_node.cpp
msgid "Auto Unfold Foreign Scenes"
-msgstr ""
+msgstr "Despliegue Automático de Escenas Externas"
#: editor/editor_node.cpp
msgid "Horizontal Vector2 Editing"
@@ -4207,7 +4246,7 @@ msgstr "Edición Horizontal De Vector2"
#: editor/editor_node.cpp
msgid "Horizontal Vector Types Editing"
-msgstr ""
+msgstr "Edición de Tipos de Vectores Horizontales"
#: editor/editor_node.cpp
msgid "Open Resources In Current Inspector"
@@ -5331,7 +5370,7 @@ msgstr "Ancho del Minimapa"
#: editor/editor_settings.cpp
msgid "Mouse Extra Buttons Navigate History"
-msgstr ""
+msgstr "Botones Extra del Ratón Navegar por el Historial"
#: editor/editor_settings.cpp
msgid "Appearance"
@@ -6027,6 +6066,11 @@ msgstr ""
msgid "Flat"
msgstr "Plano 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Modo de Colisión"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecciona nodo(s) a importar"
@@ -16008,42 +16052,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Mostrar Todos"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Luz"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Ancho Izquierda"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Prueba"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20449,6 +20457,11 @@ msgstr ""
"Polígono inválido. Se necesitan al menos 2 puntos en modo de construcción "
"'Segments'."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22273,9 +22286,10 @@ msgid "NavMesh"
msgstr "Calcular NavMesh"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"El NavigationObstacle sólo sirve para evitar la colisión de un objeto "
"spatial."
@@ -24521,6 +24535,11 @@ msgstr "Modo desplazamiento lateral"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Modo de Interpolación"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Mostrar Sin Sombreado"
@@ -24552,11 +24571,6 @@ msgstr "Multijugador Personalizado"
msgid "Process Priority"
msgstr "Activar Prioridad"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Modo de Interpolación"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25267,6 +25281,11 @@ msgstr "Separador con nombre"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Separador de Color de Fuentes"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Color Hueso 1"
@@ -26061,6 +26080,11 @@ msgstr "Modo Sin Distracciones"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Profundidad"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Offset:"
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index 622041b7bf..c7beccaa06 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -95,12 +95,13 @@ msgstr "Tamaño de Outline:"
msgid "Screen Orientation"
msgstr "Operador Screen(trama)."
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Nueva Ventana"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Píxeles del Borde"
@@ -109,7 +110,7 @@ msgstr "Píxeles del Borde"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Act./Desact. Pantalla Completa"
@@ -123,7 +124,7 @@ msgstr ""
msgid "Minimized"
msgstr "Inicializar"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -137,10 +138,11 @@ msgstr ""
msgid "Position"
msgstr "Posición del Panel"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -640,6 +642,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Mostrar Todo"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Luz"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Izquierda Ancha"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Prueba"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1249,7 +1288,7 @@ msgstr "Act./Desact. esta pista."
msgid "Update Mode (How this property is set)"
msgstr "Modo de Actualización (Como esta configurada esta propiedad)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Modo de Interpolación"
@@ -6188,6 +6227,11 @@ msgstr ""
msgid "Flat"
msgstr "Flat 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Modo Colisión"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Seleccionar Nodo(s) para Importar"
@@ -16183,42 +16227,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Mostrar Todo"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Luz"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Izquierda Ancha"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Prueba"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20650,6 +20658,11 @@ msgstr ""
"Polígono inválido. Se necesitan al menos 2 puntos en modo de construcción "
"\"Segmentos\"."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22505,7 +22518,7 @@ msgstr "Bake NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24797,6 +24810,11 @@ msgstr "Modo Paneo"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Modo de Interpolación"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Mostrar Sin Sombreado"
@@ -24830,11 +24848,6 @@ msgstr "Asignar Múltiples:"
msgid "Process Priority"
msgstr "Activar Prioridad"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Modo de Interpolación"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25548,6 +25561,11 @@ msgstr "Separador Nomenclado"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Operador Color."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Cambiar Nombre del Elemento Color"
@@ -26354,6 +26372,11 @@ msgstr "Modo Sin Distracciones"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Profundidad"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Offset:"
diff --git a/editor/translations/et.po b/editor/translations/et.po
index 327bceafe3..90a691dac9 100644
--- a/editor/translations/et.po
+++ b/editor/translations/et.po
@@ -79,12 +79,13 @@ msgstr "Suurus: "
msgid "Screen Orientation"
msgstr "Ava dokumentatsioon"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Uus aken"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -92,7 +93,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -104,7 +105,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -118,10 +119,11 @@ msgstr ""
msgid "Position"
msgstr "Doki asukoht"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -602,6 +604,41 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Kuva kõik"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testimine"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1197,7 +1234,7 @@ msgstr "Lülita see rada sisse/välja."
msgid "Update Mode (How this property is set)"
msgstr "Uuendusrežiim (kuidas see omadus on seatud)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolatsiooni režiim"
@@ -5935,6 +5972,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15604,40 +15645,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Kuva kõik"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testimine"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19868,6 +19875,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21564,7 +21576,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23697,6 +23709,11 @@ msgstr "Skaleerimisrežiim"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolatsiooni režiim"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Kuva varjutamata"
@@ -23729,11 +23746,6 @@ msgstr "Sea mitu:"
msgid "Process Priority"
msgstr "Liigutamisrežiim"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolatsiooni režiim"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -24397,6 +24409,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Versioon:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Funktsioonid"
@@ -25178,6 +25195,10 @@ msgid "Distance Field"
msgstr "Paigalda"
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/eu.po b/editor/translations/eu.po
index b316e1f11e..bee533c6c1 100644
--- a/editor/translations/eu.po
+++ b/editor/translations/eu.po
@@ -75,11 +75,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -87,7 +88,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Txandakatu pantaila osoa"
@@ -100,7 +101,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -114,10 +115,11 @@ msgstr ""
msgid "Position"
msgstr "Kargatu animazioa"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -588,6 +590,40 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Erakutsi guztiak"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1173,7 +1209,7 @@ msgstr "Pista hau aktibatu/desaktibatu."
msgid "Update Mode (How this property is set)"
msgstr "Eguneratze mota (Nola ezartzen da)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolazio mota"
@@ -5847,6 +5883,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Talka formak ikusgai"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Hautatu inportatu nahi dituzun nodoak"
@@ -15483,39 +15524,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Erakutsi guztiak"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19673,6 +19681,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -21346,7 +21359,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23425,6 +23438,11 @@ msgstr "Atxikitze modua:"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolazio mota"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Erakutsi guztiak"
@@ -23456,11 +23474,6 @@ msgstr ""
msgid "Process Priority"
msgstr "Txandakatu modua"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolazio mota"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -24116,6 +24129,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Enumerazioak"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Kendu elementu guztiak"
@@ -24881,6 +24899,10 @@ msgid "Distance Field"
msgstr "Instalatu"
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/extract.py b/editor/translations/extract.py
index bd32fc01c7..7f3da400e7 100755
--- a/editor/translations/extract.py
+++ b/editor/translations/extract.py
@@ -100,6 +100,7 @@ class ExtractType(enum.IntEnum):
TEXT = 1
PROPERTY_PATH = 2
GROUP = 3
+ SUBGROUP = 4
# Regex "(?P<name>([^"\\]|\\.)*)" creates a group named `name` that matches a string.
@@ -115,19 +116,23 @@ message_patterns = {
): ExtractType.TEXT,
re.compile(r'_initial_set\("(?P<message>[^"]+?)",'): ExtractType.PROPERTY_PATH,
re.compile(r'GLOBAL_DEF(_RST)?(_NOVAL)?(_BASIC)?\("(?P<message>[^"]+?)",'): ExtractType.PROPERTY_PATH,
- re.compile(r'GLOBAL_DEF_BASIC\(vformat\("(?P<message>layer_names/\w+)/layer_%d"'): ExtractType.PROPERTY_PATH,
re.compile(r'EDITOR_DEF(_RST)?\("(?P<message>[^"]+?)",'): ExtractType.PROPERTY_PATH,
re.compile(
r'EDITOR_SETTING(_USAGE)?\(Variant::[_A-Z0-9]+, [_A-Z0-9]+, "(?P<message>[^"]+?)",'
): ExtractType.PROPERTY_PATH,
re.compile(
- r'(ADD_PROPERTYI?|ImportOption|ExportOption)\(PropertyInfo\(Variant::[_A-Z0-9]+, "(?P<message>[^"]+?)"[,)]'
+ r"(ADD_PROPERTYI?|ImportOption|ExportOption)\(PropertyInfo\("
+ + r"Variant::[_A-Z0-9]+" # Name
+ + r', "(?P<message>[^"]+)"' # Type
+ + r'(, [_A-Z0-9]+(, "([^"\\]|\\.)*"(, (?P<usage>[_A-Z0-9]+))?)?|\))' # [, hint[, hint string[, usage]]].
): ExtractType.PROPERTY_PATH,
- re.compile(
- r"(?!#define )LIMPL_PROPERTY(_RANGE)?\(Variant::[_A-Z0-9]+, (?P<message>[^,]+?),"
- ): ExtractType.PROPERTY_PATH,
- re.compile(r'ADD_GROUP\("(?P<message>[^"]+?)", "(?P<prefix>[^"]*?)"\)'): ExtractType.GROUP,
- re.compile(r'#define WRTC_\w+ "(?P<message>[^"]+?)"'): ExtractType.PROPERTY_PATH,
+ re.compile(r'ADD_ARRAY\("(?P<message>[^"]+)", '): ExtractType.PROPERTY_PATH,
+ re.compile(r'ADD_ARRAY_COUNT(_WITH_USAGE_FLAGS)?\("(?P<message>[^"]+)", '): ExtractType.TEXT,
+ re.compile(r'(ADD_GROUP|GNAME)\("(?P<message>[^"]+)", "(?P<prefix>[^"]*)"\)'): ExtractType.GROUP,
+ re.compile(r'ADD_GROUP_INDENT\("(?P<message>[^"]+)", "(?P<prefix>[^"]*)", '): ExtractType.GROUP,
+ re.compile(r'ADD_SUBGROUP\("(?P<message>[^"]+)", "(?P<prefix>[^"]*)"\)'): ExtractType.SUBGROUP,
+ re.compile(r'ADD_SUBGROUP_INDENT\("(?P<message>[^"]+)", "(?P<prefix>[^"]*)", '): ExtractType.GROUP,
+ re.compile(r'PNAME\("(?P<message>[^"]+)"\)'): ExtractType.PROPERTY_PATH,
}
theme_property_patterns = {
re.compile(r'set_(constant|font|font_size|stylebox|color|icon)\("(?P<message>[^"]+)", '): ExtractType.PROPERTY_PATH,
@@ -203,6 +208,7 @@ def process_file(f, fname):
is_block_translator_comment = False
translator_comment = ""
current_group = ""
+ current_subgroup = ""
patterns = message_patterns
if os.path.basename(fname) == "default_theme.cpp":
@@ -239,11 +245,25 @@ def process_file(f, fname):
if extract_type == ExtractType.TEXT:
_add_message(msg, msg_plural, msgctx, location, translator_comment)
elif extract_type == ExtractType.PROPERTY_PATH:
- if current_group:
+ if captures.get("usage") == "PROPERTY_USAGE_NO_EDITOR":
+ continue
+
+ if current_subgroup:
+ if msg.startswith(current_subgroup):
+ msg = msg[len(current_subgroup) :]
+ elif current_subgroup.startswith(msg):
+ pass # Keep this as-is. See EditorInspector::update_tree().
+ else:
+ current_subgroup = ""
+ elif current_group:
if msg.startswith(current_group):
msg = msg[len(current_group) :]
+ elif current_group.startswith(msg):
+ pass # Keep this as-is. See EditorInspector::update_tree().
else:
current_group = ""
+ current_subgroup = ""
+
if "." in msg: # Strip feature tag.
msg = msg.split(".", 1)[0]
for part in msg.split("/"):
@@ -251,6 +271,10 @@ def process_file(f, fname):
elif extract_type == ExtractType.GROUP:
_add_message(msg, msg_plural, msgctx, location, translator_comment)
current_group = captures["prefix"]
+ current_subgroup = ""
+ elif extract_type == ExtractType.SUBGROUP:
+ _add_message(msg, msg_plural, msgctx, location, translator_comment)
+ current_subgroup = captures["prefix"]
translator_comment = ""
l = f.readline()
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index e4d1d422c5..e3ce955b19 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -100,12 +100,13 @@ msgstr "باز کردن و اجرای یک اسکریپت"
msgid "Screen Orientation"
msgstr "شمارش ها"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "چارچوب جدید"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -113,7 +114,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "حالت تمام صفحه"
@@ -126,7 +127,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -140,10 +141,11 @@ msgstr ""
msgid "Position"
msgstr "برداشتن موج"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -633,6 +635,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "نشان دادن همه"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "خطی"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "آزمودن"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1228,7 +1266,7 @@ msgstr "دِگرحالتِ روشن/خاموش این قطعه."
msgid "Update Mode (How this property is set)"
msgstr "حالت بروزرسانی (نحوه تنظیم این ویژگی)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "حالت درون یابی(درون‌یابی روشی است برای یافتن مقدار تابع درون یک بازه)"
@@ -6014,6 +6052,11 @@ msgstr ""
msgid "Flat"
msgstr "تخت 1"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "گره انیمیشن"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "انتخاب گره (ها) برای وارد شدن"
@@ -16225,41 +16268,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "نشان دادن همه"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "خطی"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "آزمودن"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20612,6 +20620,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22364,7 +22377,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24540,6 +24553,11 @@ msgstr "انتخاب حالت"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "حالت درون یابی(درون‌یابی روشی است برای یافتن مقدار تابع درون یک بازه)"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "نشان دادن همه"
@@ -24573,11 +24591,6 @@ msgstr "تعیین چندگانه:"
msgid "Process Priority"
msgstr "ویرایش صافی ها"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "حالت درون یابی(درون‌یابی روشی است برای یافتن مقدار تابع درون یک بازه)"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25260,6 +25273,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "شمارش ها:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "برداشتن انتخاب شده"
@@ -26049,6 +26067,11 @@ msgid "Distance Field"
msgstr "نصب کردن"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "صادکردن فایل کتابخانه ای"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index 00afd220af..f63f9f4cd6 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -88,12 +88,13 @@ msgstr "Ääriviivojen koko:"
msgid "Screen Orientation"
msgstr "Näyttöoperaattori."
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Uusi ikkuna"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Reunapikselit"
@@ -102,7 +103,7 @@ msgstr "Reunapikselit"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Siirry koko näytön tilaan"
@@ -116,7 +117,7 @@ msgstr ""
msgid "Minimized"
msgstr "Alusta"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -130,10 +131,11 @@ msgstr ""
msgid "Position"
msgstr "Telakan sijainti"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -632,6 +634,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Näytä kaikki"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Valo"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Laaja vasemmalla"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testaus"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1241,7 +1280,7 @@ msgstr "Kytke tämä raita päälle/pois."
msgid "Update Mode (How this property is set)"
msgstr "Päivitystila (Kuinka tämä ominaisuus on asetettu)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolaatiotila"
@@ -6157,6 +6196,11 @@ msgstr ""
msgid "Flat"
msgstr "Tasainen 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Törmäystila"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Valitse tuotavat solmut"
@@ -16120,42 +16164,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Näytä kaikki"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Valo"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Laaja vasemmalla"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testaus"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20581,6 +20589,11 @@ msgstr ""
"Virheellinen polygoni. 'Segments' luontitilassa tarvitaan ainakin kaksi "
"pistettä."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22438,9 +22451,10 @@ msgid "NavMesh"
msgstr "Kehitä NavMesh"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"NavigationObstacle on olemassa ainoastaan tarjotakseen Spatial objektille "
"törmäyksen välttämistä."
@@ -24734,6 +24748,11 @@ msgstr "Panorointitila"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolaatiotila"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Näytä sävyttämätön"
@@ -24767,11 +24786,6 @@ msgstr "Aseta useita:"
msgid "Process Priority"
msgstr "Ota prioriteetti käyttöön"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolaatiotila"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25485,6 +25499,11 @@ msgstr "Nimetty erotin"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Värioperaattori."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Nimeä väri uudelleen"
@@ -26291,6 +26310,11 @@ msgstr "Häiriötön tila"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Syvyys"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Siirtymä:"
diff --git a/editor/translations/fil.po b/editor/translations/fil.po
index e1ca820ec1..5966e53547 100644
--- a/editor/translations/fil.po
+++ b/editor/translations/fil.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-03-17 13:58+0000\n"
+"PO-Revision-Date: 2022-05-15 09:38+0000\n"
"Last-Translator: Marco Santos <enum.scima@gmail.com>\n"
"Language-Team: Filipino <https://hosted.weblate.org/projects/godot-engine/"
"godot/fil/>\n"
@@ -21,159 +21,157 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 "
"|| n % 10 == 6 || n % 10 == 9);\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "Tablet Driver"
#: core/bind/core_bind.cpp
msgid "Clipboard"
-msgstr ""
+msgstr "Clipboard"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "Property Track"
+msgstr "Kasalukuyang Screen"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "Umalis sa Code"
#: core/bind/core_bind.cpp
msgid "V-Sync Enabled"
-msgstr ""
+msgstr "Binuksan ang V-Sync"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync Via Compositor"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "Delta Smoothing"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
-msgstr ""
+msgstr "Mababang Paggamit sa Processor"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "Mababang Paggamit sa Processor Tulog (µsec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
-msgstr ""
+msgstr "Panatilihing Nakabukas ang Screen"
#: core/bind/core_bind.cpp
msgid "Min Window Size"
-msgstr ""
+msgstr "Min na Laki ng Window"
#: core/bind/core_bind.cpp
msgid "Max Window Size"
-msgstr ""
+msgstr "Max na Laki ng Window"
#: core/bind/core_bind.cpp
msgid "Screen Orientation"
-msgstr ""
+msgstr "Screen Orientation"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
-msgstr ""
+msgstr "Window"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "Walang border"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Nakabukas ang Kada Pixel na Transparency"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
-msgstr ""
+msgstr "Fullscreen"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Naka-maximize"
#: core/bind/core_bind.cpp
msgid "Minimized"
-msgstr ""
+msgstr "Naka-minimize"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "Nare-resize"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "Pagulit ng Animation"
+msgstr "Posisyon"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
msgid "Size"
-msgstr ""
+msgstr "Laki"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Endian Swap"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "I-edit"
+msgstr "Editor Hint"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "I-print mga Mensahe ng Error"
#: core/bind/core_bind.cpp
msgid "Iterations Per Second"
-msgstr ""
+msgstr "Ikot Kada Segundo"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr ""
+msgstr "Target na FPS"
#: core/bind/core_bind.cpp
msgid "Time Scale"
-msgstr ""
+msgstr "Iskala ng Oras"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Physics Jitter Fix"
-msgstr ""
+msgstr "Ayos sa Jitter ng Pisika"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr ""
+msgstr "Error"
#: core/bind/core_bind.cpp
msgid "Error String"
-msgstr ""
+msgstr "String ng Error"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "Salamin"
+msgstr "Linya ng Error"
#: core/bind/core_bind.cpp
msgid "Result"
-msgstr ""
+msgstr "Resulta"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Memory"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -184,23 +182,22 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Mga Limit"
#: core/command_queue_mt.cpp
msgid "Command Queue"
-msgstr ""
+msgstr "Pila ng Utos"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "Laki ng Pila sa Multithreading (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "Mga Functions:"
+msgstr "Function"
#: core/image.cpp core/packed_data_container.cpp
#: modules/minimp3/audio_stream_mp3.cpp
@@ -211,119 +208,114 @@ msgstr "Mga Functions:"
#: scene/resources/concave_polygon_shape.cpp scene/resources/curve.cpp
#: scene/resources/polygon_path_finder.cpp scene/resources/texture.cpp
msgid "Data"
-msgstr ""
+msgstr "Data"
#: core/io/file_access_network.cpp core/register_core_types.cpp
#: editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
msgid "Network"
-msgstr ""
+msgstr "Network"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Alisin"
+msgstr "Remote FS"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "Pahina: "
+msgstr "Laki ng Pahina"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "Page Read Ahead"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Binuksan ang Pagharang"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "Ikabit"
+msgstr "Koneksyon"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "Laki ng Read Chunk"
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr ""
+msgstr "Object ID"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
msgid "Allow Object Decoding"
-msgstr ""
+msgstr "Payagan ang Pag-decode sa Object"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Tanggihan ang mga Bagong Koneksyon sa Network"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Network Peer"
-msgstr ""
+msgstr "Network Peer"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
msgid "Root Node"
-msgstr ""
+msgstr "Root Node"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "Ikabit"
+msgstr "Tanggihan ang mga Bagong Koneksyon"
#: core/io/networked_multiplayer_peer.cpp
msgid "Transfer Mode"
-msgstr ""
+msgstr "Paglipat"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "Max na Laki ng Encode Buffer"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "Max na Laki ng Input Buffer"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "Max na Laki ng Output Buffer"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "Stream Peer"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "Big Endian"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "Data Array"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Hinaharang ang Handshake"
#: core/io/udp_server.cpp
msgid "Max Pending Connections"
-msgstr ""
+msgstr "Max na Nakabinbing Koneksyon"
#: 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 ""
-"Invalid na type argument para sa convert(), gamitin ang TYPE_* na constant."
+"Invalid na argumento ng type sa convert(), gumamit ng mga TYPE_* constant."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
-msgstr "Inaasahan ang isang string na may haba na 1 (isang karakter)."
+msgstr "Inaasahan ang isang string na may habang 1 (karakter)."
#: 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 ""
-"Kulang ang mga byte para sa pagde-decode, o di kaya'y invalid na format."
+msgstr "Kulang sa bytes para i-decode ang bytes, o invalid na format."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
@@ -335,7 +327,7 @@ msgstr "Di magagamit ang self dahil null ang instance (di pinasa)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "Mga invalid na operand sa operator na %s, %s at %s."
+msgstr "Mga invalid na operand sa operator %s, %s, at %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
@@ -343,11 +335,11 @@ msgstr "Invalid na index ng type na %s para sa base type na %s"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr "Invalid na pinangalanang index na '%s' para sa base type na %s"
+msgstr "Invalid na napangalanang index na '%s' para sa base type na %s"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
-msgstr "Mga invalid na argument para i-construct ang '%s'"
+msgstr "Mga invalid na argumento para i-construct ang '%s'"
#: core/math/expression.cpp
msgid "On call to '%s':"
@@ -356,182 +348,177 @@ msgstr "On call sa '%s':"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "Seed"
#: core/math/random_number_generator.cpp
msgid "State"
-msgstr ""
+msgstr "Estado"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "Pila ng Mensahe"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "Max na Laki (KB)"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
-msgstr ""
+msgstr "Device"
#: core/os/input_event.cpp
msgid "Alt"
-msgstr ""
+msgstr "Alt"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "Shift"
#: core/os/input_event.cpp
msgid "Control"
-msgstr ""
+msgstr "Control"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Meta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "Komunidad"
+msgstr "Command"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Pressed"
-msgstr ""
+msgstr "Pinindot"
#: core/os/input_event.cpp
msgid "Scancode"
-msgstr ""
+msgstr "Scancode"
#: core/os/input_event.cpp
msgid "Physical Scancode"
-msgstr ""
+msgstr "Pisikal na Scancode"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "Echo"
#: core/os/input_event.cpp scene/gui/base_button.cpp
msgid "Button Mask"
-msgstr ""
+msgstr "Mask ng Button"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Global Position"
-msgstr "Pagulit ng Animation"
+msgstr "Global na Posisyon"
#: core/os/input_event.cpp
msgid "Factor"
-msgstr ""
+msgstr "Factor"
#: core/os/input_event.cpp
msgid "Button Index"
-msgstr ""
+msgstr "Index ng Button"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "Dobleng pindot"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "Kiling"
#: core/os/input_event.cpp
msgid "Pressure"
-msgstr ""
+msgstr "Presyur"
#: core/os/input_event.cpp
msgid "Relative"
-msgstr ""
+msgstr "Relatibo"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
msgid "Speed"
-msgstr ""
+msgstr "Bilis"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
msgid "Axis"
-msgstr ""
+msgstr "Axis"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "Halaga:"
+msgstr "Value ng Axis"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
msgid "Index"
-msgstr ""
+msgstr "Index"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/2d/touch_screen_button.cpp
msgid "Action"
-msgstr ""
+msgstr "Gawain"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "Lakas"
#: core/os/input_event.cpp
msgid "Delta"
-msgstr ""
+msgstr "Delta"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "Baguhin"
+msgstr "Channel"
#: core/os/input_event.cpp main/main.cpp
msgid "Message"
-msgstr ""
+msgstr "Mensahe"
#: core/os/input_event.cpp
msgid "Pitch"
-msgstr ""
+msgstr "Tinis"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
msgid "Velocity"
-msgstr ""
+msgstr "Belosidad"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "Instrumento"
#: core/os/input_event.cpp
msgid "Controller Number"
-msgstr ""
+msgstr "Bilang ng Controller"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "Value ng Controller"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "Pagulit ng Animation"
+msgstr "Application"
#: core/project_settings.cpp main/main.cpp
msgid "Config"
-msgstr ""
+msgstr "Config"
#: core/project_settings.cpp
msgid "Project Settings Override"
-msgstr ""
+msgstr "Override sa Pagsasaayos ng Proyekto"
#: core/project_settings.cpp core/resource.cpp
#: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp
@@ -542,7 +529,7 @@ msgstr ""
#: platform/osx/export/export.cpp scene/2d/area_2d.cpp scene/3d/area.cpp
#: scene/main/node.cpp
msgid "Name"
-msgstr ""
+msgstr "Pangalan"
#: core/project_settings.cpp editor/editor_help.cpp
#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp
@@ -554,132 +541,163 @@ msgstr "Paglalarawan"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
#: main/main.cpp
msgid "Run"
-msgstr ""
+msgstr "Patakbuhin"
#: core/project_settings.cpp editor/editor_node.cpp
#: editor/run_settings_dialog.cpp main/main.cpp
msgid "Main Scene"
-msgstr ""
+msgstr "Pangunahing Eksena"
#: core/project_settings.cpp
msgid "Disable stdout"
-msgstr ""
+msgstr "Patayin ang stdout"
#: core/project_settings.cpp
msgid "Disable stderr"
-msgstr ""
+msgstr "Patayin ang stderr"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "Gamitin ang Hidden Project Data Directory"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "Gamitin ang Sariling User Dir"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
+msgstr "Pangalan ng Sariling User Dir"
+
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
msgstr ""
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
-msgstr ""
+msgstr "Tunog"
#: core/project_settings.cpp
msgid "Default Bus Layout"
-msgstr ""
+msgstr "Default na Bus Layout"
#: core/project_settings.cpp editor/editor_export.cpp
#: editor/editor_file_system.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/script_create_dialog.cpp
#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp
msgid "Editor"
-msgstr ""
+msgstr "Editor"
#: core/project_settings.cpp
msgid "Main Run Args"
-msgstr ""
+msgstr "Pangunahing Args sa Pagtakbo"
#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "Maghanap sa mga File Extension"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
+msgstr "Path ng mga Hahanaping Script Template"
#: core/project_settings.cpp editor/editor_node.cpp
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Version Control"
-msgstr ""
+msgstr "Version Control"
#: core/project_settings.cpp
msgid "Autoload On Startup"
-msgstr ""
+msgstr "Kusang i-load sa Simula"
#: core/project_settings.cpp
msgid "Plugin Name"
-msgstr ""
+msgstr "Pangalan ng Plugin"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
msgid "Input"
-msgstr ""
+msgstr "Input"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "UI Tanggapin"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
-msgstr "Burahin ang (mga) Napiling Key"
+msgstr "UI Pagpili"
#: core/project_settings.cpp
msgid "UI Cancel"
-msgstr ""
+msgstr "UI Ikansela"
#: core/project_settings.cpp
msgid "UI Focus Next"
-msgstr ""
+msgstr "UI Ipokus sa Susunod"
#: core/project_settings.cpp
msgid "UI Focus Prev"
-msgstr ""
+msgstr "UI Ipokus sa Huli"
#: core/project_settings.cpp
msgid "UI Left"
-msgstr ""
+msgstr "UI Kaliwa"
#: core/project_settings.cpp
msgid "UI Right"
-msgstr ""
+msgstr "UI Kanan"
#: core/project_settings.cpp
msgid "UI Up"
-msgstr ""
+msgstr "UI Taas"
#: core/project_settings.cpp
msgid "UI Down"
-msgstr ""
+msgstr "UI Baba"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Up"
-msgstr "Pahina: "
+msgstr "UI Page Up"
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "UI Page Down"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "UI Home"
#: core/project_settings.cpp
msgid "UI End"
-msgstr ""
+msgstr "UI End"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -689,7 +707,7 @@ msgstr ""
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp
msgid "Physics"
-msgstr ""
+msgstr "Pisika"
#: core/project_settings.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -699,11 +717,11 @@ msgstr ""
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp
msgid "3D"
-msgstr ""
+msgstr "3D"
#: core/project_settings.cpp
msgid "Smooth Trimesh Collision"
-msgstr ""
+msgstr "Smooth na Banggaan ng Trimesh"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -715,7 +733,7 @@ msgstr ""
#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Rendering"
-msgstr ""
+msgstr "Pagre-render"
#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
@@ -725,17 +743,17 @@ msgstr ""
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "Kalidad"
#: core/project_settings.cpp scene/animation/animation_tree.cpp
#: scene/gui/file_dialog.cpp scene/main/scene_tree.cpp
#: servers/visual_server.cpp
msgid "Filters"
-msgstr ""
+msgstr "Mga Filter"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "Tindi ng Tulis"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -747,123 +765,122 @@ msgstr ""
#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
#: servers/visual_server.cpp
msgid "Debug"
-msgstr ""
+msgstr "Debug"
#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
msgid "Settings"
-msgstr ""
+msgstr "Pagsasaayos"
#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Profiler"
-msgstr ""
+msgstr "Profiler"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "Mga Functions:"
+msgstr "Max na Function"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
msgid "Compression"
-msgstr ""
+msgstr "Compression"
#: core/project_settings.cpp
msgid "Formats"
-msgstr ""
+msgstr "Mga Format"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "Pagtugma sa Mahabang Layo"
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "Compression Level"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "Laki ng Log ng Window"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "Mga Module"
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
msgid "Connect Timeout Seconds"
-msgstr ""
+msgstr "Segundo ng Timeout sa Pagkonekta"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
-msgstr ""
+msgstr "Packet Peer Stream"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "Max na Buffer (Lakas ng 2)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
msgid "Certificates"
-msgstr ""
+msgstr "Mga Katibayan"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_resource_picker.cpp
#: modules/visual_script/visual_script_nodes.cpp
msgid "Resource"
-msgstr ""
+msgstr "Resource"
#: core/resource.cpp
msgid "Local To Scene"
-msgstr ""
+msgstr "Lokal sa Eksena"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/project_manager.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
msgid "Path"
-msgstr ""
+msgstr "Daan"
#: core/script_language.cpp
msgid "Source Code"
-msgstr ""
+msgstr "Source Code"
#: core/translation.cpp
msgid "Messages"
-msgstr ""
+msgstr "Mga Mensahe"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
-msgstr ""
+msgstr "Lokal"
#: core/translation.cpp
msgid "Test"
-msgstr ""
+msgstr "Subok"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "Fallback"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -899,17 +916,17 @@ msgstr "EiB"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
msgid "Buffers"
-msgstr ""
+msgstr "Mga Buffer"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "Laki ng Buffer ng Canvas Polygon (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "Index Buffer ng Canvas Polygon (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -920,52 +937,52 @@ msgstr ""
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Snapping"
-msgstr ""
+msgstr "Pag-snap"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Use GPU Pixel Snap"
-msgstr ""
+msgstr "Gamitin ang GPU Pixel Snap"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Agad na Laki ng Buffer (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Lightmapping"
-msgstr ""
+msgstr "Pagla-lightmap"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Gamitin ang Pag-sample na Bicubic"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "Max na Mare-render na Elemento"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Max na Mare-render na Ilaw"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Reflections"
-msgstr ""
+msgstr "Max na Mare-render na Repleksyon"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Max na Ilaw Kada Object"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "Subsurface Scattering"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: editor/import/resource_importer_texture.cpp
@@ -977,27 +994,27 @@ msgstr ""
#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/particles_material.cpp
msgid "Scale"
-msgstr ""
+msgstr "Iskala"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Follow Surface"
-msgstr ""
+msgstr "Sundan ang Surface"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "Mga Sample sa Bigat"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "Pagte-trace sa Voxel Cone"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "Mataas na Kalidad"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
+msgstr "Max na Laki ng Buffer ng Blend Shape (KB)"
#: editor/animation_bezier_editor.cpp
msgid "Free"
@@ -1017,7 +1034,7 @@ msgstr "Oras:"
#: editor/animation_bezier_editor.cpp
msgid "Value:"
-msgstr "Halaga:"
+msgstr "Value:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -1041,60 +1058,60 @@ msgstr "Maglipat ng (mga) Bezier Point"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr "I-animate ang mga Dinobleng Key"
+msgstr "Anim Duplicate Keys"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
-msgstr "I-animate ang mga Binurang Key"
+msgstr "Anim Delete Keys"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr "I-animate ang Pagbago sa Oras ng Keyframe"
+msgstr "Anim Change Keyframe Time"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "I-animate ang Pagbago sa Transition"
+msgstr "Anim Change Transition"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr "I-animate ang Pagbago sa Transform"
+msgstr "Anim Change Transform"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr "I-animate ang Pagbago sa Halaga ng Keyframe"
+msgstr "Anim Change Keyframe Value"
#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
-msgstr "Pagbago ng Pagtawag sa Animation"
+msgstr "Anim Change Call"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
-msgstr "Pagbago ng Time ng Maraming Keyframe ng Animation"
+msgstr "Anim Multi Change Keyframe Time"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Transition"
-msgstr "Pagbago ng Maraming Transition ng Animation"
+msgstr "Anim Multi Change Transition"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Transform"
-msgstr "Pagbago ng Maraming Transform ng Animation"
+msgstr "Anim Multi Change Transform"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Value"
-msgstr "Pagbago ng Nilalaman ng Maraming Keyframe ng Animation"
+msgstr "Anim Multi Change Keyframe Value"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Call"
-msgstr "Pagbago ng Maraming Pagtawag ng Animation"
+msgstr "Anim Multi Change Call"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
-msgstr "Pagbago ng Haba ng Animation"
+msgstr "Baguhin ang Haba ng Animation"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr "Pagbago ng Animation Loop"
+msgstr "Baguhin ang Animation Loop"
#: editor/animation_track_editor.cpp
msgid "Property Track"
@@ -1106,19 +1123,19 @@ msgstr "3D Transform Track"
#: editor/animation_track_editor.cpp
msgid "Call Method Track"
-msgstr ""
+msgstr "Call Method Track"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
-msgstr ""
+msgstr "Bezier Curve Track"
#: editor/animation_track_editor.cpp
msgid "Audio Playback Track"
-msgstr ""
+msgstr "Audio Playback Track"
#: editor/animation_track_editor.cpp
msgid "Animation Playback Track"
-msgstr ""
+msgstr "Animation Playback Track"
#: editor/animation_track_editor.cpp
msgid "Animation length (frames)"
@@ -1134,40 +1151,40 @@ msgstr "Magdagdag ng Track"
#: editor/animation_track_editor.cpp
msgid "Animation Looping"
-msgstr "Pagulit ng Animation"
+msgstr "Pag-loop sa Animation"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Functions:"
-msgstr "Mga Functions:"
+msgstr "Mga Function:"
#: editor/animation_track_editor.cpp
msgid "Audio Clips:"
-msgstr "Mga clip ng tunog:"
+msgstr "Mga Audio Clip:"
#: editor/animation_track_editor.cpp
msgid "Anim Clips:"
-msgstr "Mga clip ng Anim:"
+msgstr "Mga Anim Clip:"
#: editor/animation_track_editor.cpp
msgid "Change Track Path"
-msgstr "Ibahin ang landas ng Track"
+msgstr "Baguhin ang Track Path"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
-msgstr "Ilipat sa on/off ang track na ito."
+msgstr "Buksan/isara ang track na ito."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
-msgstr "Baguhin ang Mode (Kung paano na-set ang property)"
+msgstr "Update Mode (kung paano itinatakda ang property na ito)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
-msgstr ""
+msgstr "Interpolation Mode"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
+msgstr "Loop Wrap Mode (ini-interpolate ang dulo sa simula ng loop)"
#: editor/animation_track_editor.cpp
msgid "Remove this track."
@@ -1175,11 +1192,11 @@ msgstr "Tanggalin ang track na ito."
#: editor/animation_track_editor.cpp
msgid "Time (s): "
-msgstr "Oras (s): "
+msgstr "Oras (seg): "
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
-msgstr ""
+msgstr "Nakabukas ang Toggle Track"
#: editor/animation_track_editor.cpp
msgid "Continuous"
@@ -1187,15 +1204,15 @@ msgstr "Tuloy-tuloy"
#: editor/animation_track_editor.cpp
msgid "Discrete"
-msgstr ""
+msgstr "Diskreto"
#: editor/animation_track_editor.cpp
msgid "Trigger"
-msgstr ""
+msgstr "Trigger"
#: editor/animation_track_editor.cpp scene/3d/baked_lightmap.cpp
msgid "Capture"
-msgstr ""
+msgstr "I-capture"
#: editor/animation_track_editor.cpp
msgid "Nearest"
@@ -1205,52 +1222,52 @@ msgstr "Pinakamalapit"
#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp
#: scene/3d/physics_body.cpp
msgid "Linear"
-msgstr ""
+msgstr "Linear"
#: editor/animation_track_editor.cpp
msgid "Cubic"
-msgstr ""
+msgstr "Cubic"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
-msgstr ""
+msgstr "Clamp Loop Interp"
#: editor/animation_track_editor.cpp
msgid "Wrap Loop Interp"
-msgstr ""
+msgstr "Wrap Loop Interp"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr "Magpasok Ang Key"
+msgstr "Magpasok ng Key"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
-msgstr "Kopyahin Ang (Mga) Key(s)"
+msgstr "Doblehin ang (mga) Key"
#: editor/animation_track_editor.cpp
msgid "Add RESET Value(s)"
-msgstr ""
+msgstr "Magdagdag ng (mga) RESET value"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
-msgstr "Tanggalin Ang (Mga) Key(s)"
+msgstr "Burahin ang (mga) Key"
#: editor/animation_track_editor.cpp
msgid "Change Animation Update Mode"
-msgstr ""
+msgstr "Baguhin ang Animation Update Mode"
#: editor/animation_track_editor.cpp
msgid "Change Animation Interpolation Mode"
-msgstr ""
+msgstr "Baguhin ang Animation Interpolation Mode"
#: editor/animation_track_editor.cpp
msgid "Change Animation Loop Mode"
-msgstr ""
+msgstr "Baguhin ang Animation Loop Mode"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
-msgstr ""
+msgstr "Tanggalin ang Anim Track"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -1259,9 +1276,8 @@ msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editors"
-msgstr "I-edit"
+msgstr "Mga Editor"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1271,7 +1287,7 @@ msgstr "I-edit"
#: scene/animation/animation_blend_tree.cpp
#: scene/resources/particles_material.cpp
msgid "Animation"
-msgstr ""
+msgstr "Animation"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
msgid "Confirm Insert Track"
@@ -1413,7 +1429,7 @@ msgstr ""
#: editor/animation_track_editor.cpp editor/editor_help.cpp
msgid "Methods"
-msgstr ""
+msgstr "Mga Method"
#: editor/animation_track_editor.cpp
msgid "Bezier"
@@ -1865,7 +1881,7 @@ msgstr ""
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr ""
+msgstr "Mga Signal"
#: editor/connections_dialog.cpp
msgid "Filter signals"
@@ -3094,7 +3110,7 @@ msgstr ""
#: editor/editor_help.cpp editor/scene_tree_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Inherits:"
-msgstr ""
+msgstr "Minamana ang:"
#: editor/editor_help.cpp
msgid "Inherited by:"
@@ -3106,7 +3122,7 @@ msgstr ""
#: editor/editor_help.cpp
msgid "Properties"
-msgstr ""
+msgstr "Mga Property"
#: editor/editor_help.cpp
msgid "overrides %s:"
@@ -3118,7 +3134,7 @@ msgstr ""
#: editor/editor_help.cpp
msgid "Theme Properties"
-msgstr ""
+msgstr "Mga Property ng Tema"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
@@ -3128,7 +3144,7 @@ msgstr ""
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Constants"
-msgstr ""
+msgstr "Mga Constant"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Fonts"
@@ -3145,11 +3161,11 @@ msgstr ""
#: editor/editor_help.cpp
msgid "Enumerations"
-msgstr ""
+msgstr "Mga Enumeration"
#: editor/editor_help.cpp
msgid "Property Descriptions"
-msgstr ""
+msgstr "Mga Paglalarawan sa Property"
#: editor/editor_help.cpp
#, fuzzy
@@ -3164,7 +3180,7 @@ msgstr ""
#: editor/editor_help.cpp
msgid "Method Descriptions"
-msgstr ""
+msgstr "Mga Paglalarawan sa Method"
#: editor/editor_help.cpp
msgid ""
@@ -3855,7 +3871,7 @@ msgstr ""
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
msgid "Default"
-msgstr ""
+msgstr "Default"
#: editor/editor_node.cpp editor/editor_resource_picker.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
@@ -5760,6 +5776,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15297,38 +15317,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19370,6 +19358,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20991,7 +20984,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22987,6 +22980,11 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolation Mode"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23015,10 +23013,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23640,6 +23634,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Pagulit ng Animation"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Mga Functions:"
@@ -24358,6 +24357,11 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "Data"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index a06fe62bc4..8a5afd2499 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -94,13 +94,15 @@
# Maxim Lopez <maxim.lopez.02@gmail.com>, 2022.
# Simon Trahan <xxmoby@gmail.com>, 2022.
# Maxime Rigout <max.rigout@gmail.com>, 2022.
+# Zachary Dionne <zachary.dionne.01@gmail.com>, 2022.
+# Fares Setbel <fares.setbels@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-28 11:11+0000\n"
-"Last-Translator: Maxime Rigout <max.rigout@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 09:38+0000\n"
+"Last-Translator: Fares Setbel <fares.setbels@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -108,11 +110,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
+#, fuzzy
msgid "Tablet Driver"
-msgstr "Pilote Tablette"
+msgstr "Pilote De Tablette"
#: core/bind/core_bind.cpp
msgid "Clipboard"
@@ -135,12 +138,14 @@ msgid "V-Sync Via Compositor"
msgstr "V-Sync via le compositeur"
#: core/bind/core_bind.cpp main/main.cpp
+#, fuzzy
msgid "Delta Smoothing"
-msgstr "Lissage Delta"
+msgstr "Lissage de Delta"
#: core/bind/core_bind.cpp
+#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "Mode d'Utilisation Faible du Processeur"
+msgstr "Mode d'utilisation du processeur bas en ressources"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
@@ -148,7 +153,7 @@ msgstr "Mode d'Utilisation Faible du Processeur (µs)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
-msgstr "Garder l'Écran Allumé"
+msgstr "Garder l'écran actif"
#: core/bind/core_bind.cpp
msgid "Min Window Size"
@@ -162,11 +167,12 @@ msgstr "Taille Maximale de la Fenêtre"
msgid "Screen Orientation"
msgstr "Orientation de l'Écran"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Fenêtre"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Sans Bordure"
@@ -174,7 +180,7 @@ msgstr "Sans Bordure"
msgid "Per Pixel Transparency Enabled"
msgstr "Transparence Par Pixel Activé"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Plein Écran"
@@ -186,7 +192,7 @@ msgstr "Maximisé"
msgid "Minimized"
msgstr "Minimisé"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Redimensionnable"
@@ -199,10 +205,11 @@ msgstr "Redimensionnable"
msgid "Position"
msgstr "Position"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -212,16 +219,15 @@ msgstr "Taille"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Échange d'Endians"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "Éditeur"
+msgstr "Conseil(s) Éditeur"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr "Imprimer les messages d'erreur"
+msgstr "Afficher les messages d'erreur"
#: core/bind/core_bind.cpp
msgid "Iterations Per Second"
@@ -229,26 +235,24 @@ msgstr "Itérations Par Seconde"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr "FPS cible"
+msgstr "Cible de FPS"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "Nœud TimeScale"
+msgstr "Echelle de temps"
#: core/bind/core_bind.cpp main/main.cpp
#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "Image physique %"
+msgstr "Correction de la physique gigue"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
msgstr "Erreur"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "Erreur d'enregistrement"
+msgstr "Chaîne d'erreurs"
#: core/bind/core_bind.cpp
msgid "Error Line"
@@ -664,6 +668,43 @@ msgstr "Utiliser un Répertoire Utilisateur Personnalisé"
msgid "Custom User Dir Name"
msgstr "Nom du Répertoire Utilisateur Personnalisé"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Tout afficher"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Lumière"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Étendu à Gauche"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "En période de test"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1259,7 +1300,7 @@ msgstr "Activer/désactiver cette piste."
msgid "Update Mode (How this property is set)"
msgstr "Mode de mise à jour (comment cette propriété est définie)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Mode d’interpolation"
@@ -2992,7 +3033,7 @@ msgstr "Rendre actuel"
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "Import"
-msgstr "Importation"
+msgstr "Importer"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
#: platform/android/export/export.cpp platform/javascript/export/export.cpp
@@ -6171,6 +6212,11 @@ msgstr ""
msgid "Flat"
msgstr "Plat"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Mode collision"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Sélectionner les nœuds à importer"
@@ -16187,42 +16233,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Tout afficher"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Lumière"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Étendu à Gauche"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "En période de test"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -16310,7 +16320,7 @@ msgstr ""
#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
#: scene/main/viewport.cpp scene/register_scene_types.cpp
msgid "GUI"
-msgstr ""
+msgstr "GUI"
#: main/main.cpp
msgid "Drop Mouse On GUI Input Disabled"
@@ -20621,6 +20631,11 @@ msgstr ""
"Polygone non valide. Il doit y avoir au moins 2 points en mode de "
"construction 'Segments'."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22475,9 +22490,10 @@ msgid "NavMesh"
msgstr "Calculer le NavMesh"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"Un NavigationObstacle ne peut éviter les collisions qu'avec les nœuds "
"Spatial."
@@ -24750,6 +24766,11 @@ msgstr "Mode navigation"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Mode d’interpolation"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Afficher sans ombrage"
@@ -24781,11 +24802,6 @@ msgstr "Multijoueur Personnalisé"
msgid "Process Priority"
msgstr "Activer la priorité"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Mode d’interpolation"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25494,6 +25510,11 @@ msgstr "Séparateur nommé"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Opérateur de couleur."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Renommer l'item de couleur"
@@ -26286,6 +26307,11 @@ msgid "Distance Field"
msgstr "Mode Sans Distraction"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "Profondeur"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr "Décalages"
diff --git a/editor/translations/ga.po b/editor/translations/ga.po
index 57c8cf258a..1e786ca3e4 100644
--- a/editor/translations/ga.po
+++ b/editor/translations/ga.po
@@ -70,11 +70,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -82,7 +83,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -94,7 +95,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -108,10 +109,11 @@ msgstr ""
msgid "Position"
msgstr "Cruthaigh"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -572,6 +574,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1155,7 +1190,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5732,6 +5767,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15248,38 +15287,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19313,6 +19320,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20938,7 +20950,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22939,6 +22951,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22968,10 +22984,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23602,6 +23614,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Cuntas:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Cruthaigh"
@@ -24339,6 +24356,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/gl.po b/editor/translations/gl.po
index 66bf39e903..ff0aa989bd 100644
--- a/editor/translations/gl.po
+++ b/editor/translations/gl.po
@@ -79,12 +79,13 @@ msgstr "Tamaño: "
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Nova Xanela"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -92,7 +93,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Act./Desact. Pantalla Completa"
@@ -106,7 +107,7 @@ msgstr ""
msgid "Minimized"
msgstr "Inicializar"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -120,10 +121,11 @@ msgstr ""
msgid "Position"
msgstr "Posición do Panel"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -617,6 +619,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Amosar Todo"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Esquerdo Alto"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Probas"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1221,7 +1259,7 @@ msgstr "Act./Desact. esta pista."
msgid "Update Mode (How this property is set)"
msgstr "Modo de Actualización (cómo se establece esta propiedade)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Modo de Interpolación"
@@ -6127,6 +6165,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Colisión"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecciona o(s) Nodo(s) a Importar"
@@ -16038,41 +16081,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Amosar Todo"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Esquerdo Alto"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Probas"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20402,6 +20410,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22183,7 +22196,7 @@ msgstr "Malla"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24402,6 +24415,11 @@ msgstr "Modo Escalado"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Modo de Interpolación"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Mostrar Sen Sombreado"
@@ -24435,11 +24453,6 @@ msgstr "Establecer Varios:"
msgid "Process Priority"
msgstr "Prioridade"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Modo de Interpolación"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25132,6 +25145,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Escalar (Razón):"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Renomear Nodo"
@@ -25928,6 +25946,11 @@ msgstr "Modo Sen Distraccións"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Profundidad"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Offset:"
diff --git a/editor/translations/he.po b/editor/translations/he.po
index fb0f42e7dd..09ec6b6032 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -98,12 +98,13 @@ msgstr "מבט קדמי"
msgid "Screen Orientation"
msgstr "פתיחת התיעוד"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "חלון חדש"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -111,7 +112,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "הפעלת/ביטול מסך מלא"
@@ -125,7 +126,7 @@ msgstr ""
msgid "Minimized"
msgstr "הגדלת אות ראשונה"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -139,10 +140,11 @@ msgstr ""
msgid "Position"
msgstr "מיקום הפנל"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -638,6 +640,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "הצג הכל"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "ימין"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "מבט שמאלי"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "בבדיקה"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1242,7 +1281,7 @@ msgstr "הפעלת/כיבוי רצועה זו."
msgid "Update Mode (How this property is set)"
msgstr "עדכן מצב (איך המאפיין הזה נקבע)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "מצב אינטרפולציה"
@@ -6079,6 +6118,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "עריכת מצולע"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "נא לבחור מפרקים לייצוא"
@@ -16195,42 +16239,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "הצג הכל"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "ימין"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "מבט שמאלי"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "בבדיקה"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20593,6 +20601,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22393,7 +22406,7 @@ msgstr "אפיית NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24625,6 +24638,11 @@ msgstr "מצב שינוי קנה מידה (R)"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "מצב אינטרפולציה"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "הצג הכל"
@@ -24658,11 +24676,6 @@ msgstr "קביעה מרובה:"
msgid "Process Priority"
msgstr "ייצוא מיזם"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "מצב אינטרפולציה"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25356,6 +25369,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "מונים:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "שינוי שם מפרק"
@@ -26154,6 +26172,11 @@ msgstr "מצב ללא הסחות דעת"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "עומק"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "היסט רשת:"
diff --git a/editor/translations/hi.po b/editor/translations/hi.po
index a64e5ac8b1..b90ffb435d 100644
--- a/editor/translations/hi.po
+++ b/editor/translations/hi.po
@@ -88,12 +88,13 @@ msgstr "आकार: "
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "नया विंडो"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -101,7 +102,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "पूर्णस्क्रीन चालू करें"
@@ -114,7 +115,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -128,10 +129,11 @@ msgstr ""
msgid "Position"
msgstr "डॉक पोजीशन"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -611,6 +613,40 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "सब दिखाइए"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1207,7 +1243,7 @@ msgstr "इस ट्रैक को ऑन/ऑफ पर टॉगल कर
msgid "Update Mode (How this property is set)"
msgstr "अपडेट मोड (यह संपत्ति कैसे सेट की जाती है)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "इंटरपोलेशन मोड"
@@ -6052,6 +6088,11 @@ msgstr "पूर्णांक के लिए Ctrl दबाए रखें
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "सदस्यता बनाएं"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "आयात करने के लिए नोड (एस) का चयन करें"
@@ -15883,39 +15924,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "सब दिखाइए"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20164,6 +20172,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -21865,7 +21878,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24003,6 +24016,11 @@ msgstr "दृश्य रोकें"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "इंटरपोलेशन मोड"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "सब दिखाइए"
@@ -24036,11 +24054,6 @@ msgstr "अनेक सेट करे:"
msgid "Process Priority"
msgstr "मोड टॉगल कीजिये"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "इंटरपोलेशन मोड"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -24713,6 +24726,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "संस्करण:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "आइटम निकालें"
@@ -25498,6 +25516,10 @@ msgid "Distance Field"
msgstr "व्याकुलता मुक्त मोड"
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/hr.po b/editor/translations/hr.po
index 1efde7cc57..d9aaa4d5f9 100644
--- a/editor/translations/hr.po
+++ b/editor/translations/hr.po
@@ -77,11 +77,12 @@ msgstr "Glavna skripta:"
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -89,7 +90,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -101,7 +102,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -115,10 +116,11 @@ msgstr ""
msgid "Position"
msgstr "Stvori"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -588,6 +590,40 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Lijevo Široko"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1174,7 +1210,7 @@ msgstr "Upali/ugasi ovu stazu."
msgid "Update Mode (How this property is set)"
msgstr "Način ažuriranja (kako se ovo svojstvo postavlja)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Način Interpolacije"
@@ -5851,6 +5887,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Način Interpolacije"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15480,39 +15521,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Lijevo Široko"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19654,6 +19662,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21320,7 +21333,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23405,6 +23418,11 @@ msgid "Pause Mode"
msgstr "Način reprodukcije:"
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Način Interpolacije"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23435,11 +23453,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Način Interpolacije"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -24096,6 +24109,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Opis:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Preimenuj Autoload"
@@ -24866,6 +24884,11 @@ msgid "Distance Field"
msgstr "Instaliraj"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "Dubina"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index bb69c65e4e..3718ec5db6 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -98,12 +98,13 @@ msgstr "Körvonal Mérete:"
msgid "Screen Orientation"
msgstr "Dokumentáció megnyitása"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Új ablak"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -111,7 +112,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Teljes Képernyő"
@@ -125,7 +126,7 @@ msgstr ""
msgid "Minimized"
msgstr "Inicializálás"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -139,10 +140,11 @@ msgstr ""
msgid "Position"
msgstr "Dokk Pozíció"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -639,6 +641,41 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Az összes megjelenítése"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Tesztelés"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1246,7 +1283,7 @@ msgstr "Jelen sáv ki/be kapcsolása."
msgid "Update Mode (How this property is set)"
msgstr "Frissítés Módja (Hogyan van ez a tulajdonság beállítva)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolálás Módja"
@@ -6153,6 +6190,11 @@ msgstr ""
msgid "Flat"
msgstr "Lapos 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Ütközési mód"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Válassza ki az importálandó Node-okat"
@@ -15988,40 +16030,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Az összes megjelenítése"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Tesztelés"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20351,6 +20359,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22105,7 +22118,7 @@ msgstr "Mesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24305,6 +24318,11 @@ msgstr "Pásztázás Mód"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolálás Módja"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Az összes megjelenítése"
@@ -24338,11 +24356,6 @@ msgstr "Többszörös beállítása:"
msgid "Process Priority"
msgstr "Prioritás Engedélyezése"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolálás Módja"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25038,6 +25051,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Felsorolások:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Elem eltávolítása"
@@ -25836,6 +25854,11 @@ msgstr "Zavarmentes Mód"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Mélység"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Rács Eltolás:"
diff --git a/editor/translations/id.po b/editor/translations/id.po
index c9c98b1a7e..7082c3bf57 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -32,7 +32,7 @@
# Reza Almanda <rezaalmanda27@gmail.com>, 2021, 2022.
# Naufal Adriansyah <naufaladrn90@gmail.com>, 2021.
# undisputedgoose <diablodvorak@gmail.com>, 2021.
-# Tsaqib Fadhlurrahman Soka <sokatsaqib@gmail.com>, 2021.
+# Tsaqib Fadhlurrahman Soka <sokatsaqib@gmail.com>, 2021, 2022.
# Hilman Hazazi <hafizd.muhammad.kren.403@gmail.com>, 2021.
# Brian <brian@brianthe.dev>, 2021.
# Helmi Hibatullah <helmihibatullah393@gmail.com>, 2022.
@@ -44,8 +44,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-25 15:02+0000\n"
-"Last-Translator: ProgrammerIndonesia 44 <elo.jhy@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 09:38+0000\n"
+"Last-Translator: Tsaqib Fadhlurrahman Soka <sokatsaqib@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
"godot/id/>\n"
"Language: id\n"
@@ -53,11 +53,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr "Driver Tablet"
+msgstr "Tablet Driver"
#: core/bind/core_bind.cpp
msgid "Clipboard"
@@ -97,7 +97,7 @@ msgstr "Biarkan Layar Menyala"
#: core/bind/core_bind.cpp
msgid "Min Window Size"
-msgstr "Ukuran Jendela Minimum"
+msgstr "Ukuran Jendela Minim"
#: core/bind/core_bind.cpp
msgid "Max Window Size"
@@ -107,11 +107,12 @@ msgstr "Ukuran Jendela Maks"
msgid "Screen Orientation"
msgstr "Orientasi Layar"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Jendela"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Tanpa batas"
@@ -119,9 +120,9 @@ msgstr "Tanpa batas"
msgid "Per Pixel Transparency Enabled"
msgstr "Aktifkan Transparansi Per Piksel"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
-msgstr "Layar penuh"
+msgstr "Fullscreen"
#: core/bind/core_bind.cpp
msgid "Maximized"
@@ -131,7 +132,7 @@ msgstr "Dimaksimalkan"
msgid "Minimized"
msgstr "Diminimalkan"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Dapat diubah ukurannya"
@@ -144,10 +145,11 @@ msgstr "Dapat diubah ukurannya"
msgid "Position"
msgstr "Posisi"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -173,7 +175,7 @@ msgstr "Pengulangan Per Detik"
#: core/bind/core_bind.cpp
msgid "Target FPS"
-msgstr "FPS Sasaran"
+msgstr "Target FPS"
#: core/bind/core_bind.cpp
msgid "Time Scale"
@@ -185,7 +187,7 @@ msgstr "Perbaikan Fisika Jitter"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr "Galat"
+msgstr "Error"
#: core/bind/core_bind.cpp
msgid "Error String"
@@ -193,7 +195,7 @@ msgstr "String Error"
#: core/bind/core_bind.cpp
msgid "Error Line"
-msgstr "Baris Galat"
+msgstr "Baris Error"
#: core/bind/core_bind.cpp
msgid "Result"
@@ -257,7 +259,7 @@ msgstr "Ukuran Halaman"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "Halaman Baca Terlebih Dahulu"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
@@ -344,7 +346,7 @@ msgstr "String dengan panjang 1 (karakter) diharapkan."
#: 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 "Tidak cukup bita untuk mendekode bita, atau format tidak valid."
+msgstr "Tidak cukup byte untuk decoding byte, atau format tidak valid."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
@@ -365,7 +367,7 @@ msgstr "Index tidak valid dari tipe %s untuk tipe dasar %s"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr "index bernama '%s' untuk tipe dasar %s tidak sah"
+msgstr "Indeks bernama '%s' tidak valid untuk tipe dasar %s"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
@@ -433,7 +435,7 @@ msgstr "Kode Pindaian Fisik"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr "Unikode"
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
@@ -508,7 +510,7 @@ msgstr "Delta"
#: core/os/input_event.cpp
msgid "Channel"
-msgstr "Kanal"
+msgstr "Channel"
#: core/os/input_event.cpp main/main.cpp
msgid "Message"
@@ -548,7 +550,7 @@ msgstr "Konfigurasi"
#: core/project_settings.cpp
msgid "Project Settings Override"
-msgstr "Penimpaan Setelan Proyek"
+msgstr "Penggantian Pengaturan Proyek"
#: core/project_settings.cpp core/resource.cpp
#: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp
@@ -595,9 +597,44 @@ msgid "Use Custom User Dir"
msgstr "Gunakan Direktori Pengguna Kustom"
#: core/project_settings.cpp
-#, fuzzy
msgid "Custom User Dir Name"
-msgstr "Nama Direktori Pengguna Kustom"
+msgstr "Nama Dir Pengguna Kustom"
+
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr "Tampilan"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr "Lebar"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr "Tinggi"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Always On Top"
+msgstr "Selalu Di Depan"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Kiri Lebar"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Menguji"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -605,9 +642,8 @@ msgid "Audio"
msgstr "Suara"
#: core/project_settings.cpp
-#, fuzzy
msgid "Default Bus Layout"
-msgstr "Muat default Layout Bus."
+msgstr "Tata Letak Bus Default"
#: core/project_settings.cpp editor/editor_export.cpp
#: editor/editor_file_system.cpp editor/editor_node.cpp
@@ -617,9 +653,8 @@ msgid "Editor"
msgstr "Editor"
#: core/project_settings.cpp
-#, fuzzy
msgid "Main Run Args"
-msgstr "Argumen Skena Utama:"
+msgstr "Jalan Utama Argumen"
#: core/project_settings.cpp
msgid "Search In File Extensions"
@@ -627,7 +662,7 @@ msgstr "Cari dalam Ekstensi File"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
+msgstr "Jalur Pencarian Template Skrip"
#: core/project_settings.cpp editor/editor_node.cpp
#: editor/plugins/version_control_editor_plugin.cpp
@@ -874,7 +909,7 @@ msgstr "Pesan"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
-msgstr "Pelokalan"
+msgstr "Lokal"
#: core/translation.cpp
msgid "Test"
@@ -1182,7 +1217,7 @@ msgstr "Alihkan track ini ke nyala/mati."
msgid "Update Mode (How this property is set)"
msgstr "Mode Pembaruan (Bagaimana properti ini akan di terapkan)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Mode Interpolasi"
@@ -1440,7 +1475,7 @@ msgstr "Transformasi"
#: editor/animation_track_editor.cpp editor/editor_help.cpp
msgid "Methods"
-msgstr "Metode"
+msgstr "Method"
#: editor/animation_track_editor.cpp
msgid "Bezier"
@@ -1535,7 +1570,7 @@ msgstr "FPS"
#: editor/project_settings_editor.cpp editor/property_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Edit"
-msgstr "Sunting"
+msgstr "Edit"
#: editor/animation_track_editor.cpp
msgid "Animation properties."
@@ -1922,7 +1957,7 @@ msgstr "Putuskan Semuanya"
#: editor/connections_dialog.cpp
msgid "Edit..."
-msgstr "sunting..."
+msgstr "Edit..."
#: editor/connections_dialog.cpp
msgid "Go to Method"
@@ -2399,7 +2434,7 @@ msgstr "Berkas salah, tidak layout suara bus."
#: editor/editor_audio_buses.cpp
msgid "Error saving file: %s"
-msgstr "Galat menyimpan berkas: %s"
+msgstr "Error menyimpan berkas: %s"
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
@@ -2872,7 +2907,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid "Error saving profile to path: '%s'."
-msgstr "Galat saat menyimpan profil ke: '%s'."
+msgstr "Error saat menyimpan profil ke: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Reset to Default"
@@ -3221,7 +3256,7 @@ msgstr "Warna"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Constants"
-msgstr "Konstanta"
+msgstr "konstan"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -3539,7 +3574,7 @@ msgstr "Oke"
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Error saving resource!"
-msgstr "Galat saat menyimpan resource!"
+msgstr "Error saat menyimpan resource!"
#: editor/editor_node.cpp
msgid ""
@@ -3575,7 +3610,7 @@ msgstr "Kesalahan saat melakukan parsing '%s'."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr "akhir dari berkas tak terduga '%s'."
+msgstr "Akhir file '%s' yang tidak terduga."
#: editor/editor_node.cpp
msgid "Missing '%s' or its dependencies."
@@ -4074,7 +4109,7 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
-msgstr "Skena"
+msgstr "Scene"
#: editor/editor_node.cpp
msgid "Scene Naming"
@@ -4708,7 +4743,7 @@ msgstr "Turunan Baru"
#: editor/editor_node.cpp
msgid "Load Errors"
-msgstr "Muat Galat"
+msgstr "Muat Error"
#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -4733,7 +4768,7 @@ msgstr "Buka Editor Skrip"
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "Open Asset Library"
-msgstr "Buka Pustaka Aset"
+msgstr "Buka Aset Library"
#: editor/editor_node.cpp
msgid "Open the next Editor"
@@ -6069,6 +6104,11 @@ msgstr ""
msgid "Flat"
msgstr "Flat 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Penabrak"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Pilih node untuk diimpor"
@@ -6088,7 +6128,7 @@ msgstr "Impor dari Node:"
#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
#: editor/editor_vcs_interface.cpp
msgid "%s Error"
-msgstr "%s Galat"
+msgstr "%s Error"
#: editor/export_template_manager.cpp
msgid "Open the folder containing these templates."
@@ -6112,7 +6152,7 @@ msgstr "Memulai pengunduhan..."
#: editor/export_template_manager.cpp
msgid "Error requesting URL:"
-msgstr "Galat saat meminta URL:"
+msgstr "Error saat meminta URL:"
#: editor/export_template_manager.cpp
msgid "Connecting to the mirror..."
@@ -6161,7 +6201,7 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Error getting the list of mirrors."
-msgstr "Galat dalam mendapatkan daftar mirror."
+msgstr "Error dalam mendapatkan daftar mirror."
#: editor/export_template_manager.cpp
msgid "Error parsing JSON with the list of mirrors. Please report this issue!"
@@ -6391,11 +6431,11 @@ msgstr "Tidak dapat memindahkan folder ke dalam dirinya sendiri."
#: editor/filesystem_dock.cpp
msgid "Error moving:"
-msgstr "Galat saat memindahkan:"
+msgstr "Error saat memindahkan:"
#: editor/filesystem_dock.cpp
msgid "Error duplicating:"
-msgstr "Galat saat menggandakan berkas:"
+msgstr "Error saat menggandakan berkas:"
#: editor/filesystem_dock.cpp
msgid "Unable to update dependencies:"
@@ -6439,11 +6479,11 @@ msgid ""
"\n"
"Do you wish to overwrite them?"
msgstr ""
-"file dan/atau berkas-berkas berikut mempunyai konflik di '%s':\n"
+"File atau folder berikut ini bentrok dengan item di lokasi target '%s':\n"
"\n"
"%s\n"
"\n"
-"Apakah Anda ingin melanjutkan (overwrite)?"
+"Apakah Anda ingin menimpanya?"
#: editor/filesystem_dock.cpp
msgid "Renaming file:"
@@ -6811,7 +6851,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -8255,7 +8295,7 @@ msgstr "Tidak dapat menyimpan respons ke:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr "Galat saat menyimpan ke dalam berkas."
+msgstr "Error saat menyimpan ke dalam berkas."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
@@ -10267,7 +10307,7 @@ msgstr "Tutup dan simpan perubahan?"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error writing TextFile:"
-msgstr "Galat saat menulis TextFile:"
+msgstr "Error saat menulis TextFile:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Could not load file at:"
@@ -10275,23 +10315,23 @@ msgstr "Tidak dapat memuat berkas di:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving file!"
-msgstr "Galat saat menyimpan berkas!"
+msgstr "Error saat menyimpan berkas!"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme."
-msgstr "Galat saat menyimpan tema."
+msgstr "Error saat menyimpan tema."
#: editor/plugins/script_editor_plugin.cpp
msgid "Error Saving"
-msgstr "Galat Menyimpan"
+msgstr "Error Menyimpan"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error importing theme."
-msgstr "Galat saat mengimpor tema."
+msgstr "Error saat mengimpor tema."
#: editor/plugins/script_editor_plugin.cpp
msgid "Error Importing"
-msgstr "Galat saat mengimpor"
+msgstr "Error saat mengimpor"
#: editor/plugins/script_editor_plugin.cpp
msgid "New Text File..."
@@ -10827,7 +10867,7 @@ msgstr "Mainkan IK"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
-msgstr "Ortogonal"
+msgstr "Orthogonal"
#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp
msgid "Perspective"
@@ -12330,7 +12370,7 @@ msgstr "Cat Persegi Panjang"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Bucket Fill"
-msgstr "Ember Isian"
+msgstr "Bucket Fill"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase TileMap"
@@ -12883,9 +12923,8 @@ msgid "Select SSH private key path"
msgstr "Pilih jalur kunci pribadi SSH"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "SSH Passphrase"
-msgstr "Frasa Sandi SSH"
+msgstr "SSH Passphrase"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
@@ -14099,7 +14138,7 @@ msgstr "Lokasi yang ditentukan tidak ada."
#: editor/project_manager.cpp
msgid "Error opening package file (it's not in ZIP format)."
-msgstr "Galat saat membuka berkas paket (tidak dalam format ZIP)."
+msgstr "Error saat membuka berkas paket (tidak dalam format ZIP)."
#: editor/project_manager.cpp
msgid ""
@@ -14267,7 +14306,7 @@ msgstr "Proyek hilang"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr "Galat: Proyek ini tidak ditemukan dalam berkas sistem."
+msgstr "Error: Proyek ini tidak ditemukan dalam berkas sistem."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -14390,9 +14429,8 @@ msgid "Project Manager"
msgstr "Manajer Proyek"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Local Projects"
-msgstr "Proyek"
+msgstr "Proyek Lokal"
#: editor/project_manager.cpp
msgid "Loading, please wait..."
@@ -14427,7 +14465,7 @@ msgstr "Pilih Berkas untuk Dipindai"
#: editor/project_manager.cpp
msgid "New Project"
-msgstr "Projek Baru"
+msgstr "Proyek Baru"
#: editor/project_manager.cpp
#, fuzzy
@@ -14448,9 +14486,8 @@ msgid "About"
msgstr "Tentang"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Asset Library Projects"
-msgstr "Pustaka Aset"
+msgstr "Proyek Perpustakaan Aset"
#: editor/project_manager.cpp
msgid "Restart Now"
@@ -14473,13 +14510,12 @@ msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
-"Saat ini Anda tidak memiliki proyek.\n"
-"Apakah Anda ingin menjelajahi contoh proyek resmi di Pustaka Aset?"
+"Saat ini Anda tidak memiliki proyek apa pun.\n"
+"Apakah Anda ingin menjelajahi contoh proyek resmi di Perpustakaan Aset?"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Filter projects"
-msgstr "Filter properti"
+msgstr "Filter proyek"
#: editor/project_manager.cpp
#, fuzzy
@@ -14669,7 +14705,7 @@ msgstr "Tampah Aksi Input"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
-msgstr "Galat saat menyimpan pengaturan."
+msgstr "Error saat menyimpan pengaturan."
#: editor/project_settings_editor.cpp
msgid "Settings saved OK."
@@ -14848,7 +14884,7 @@ msgstr "Pilih Node"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
-msgstr "Galat saat memuat berkas: Bukan resource!"
+msgstr "Error saat memuat berkas: Bukan resource!"
#: editor/property_editor.cpp
msgid "Pick a Node"
@@ -15039,7 +15075,7 @@ msgstr "Tidak ada parent untuk menginstansi skena disana."
#: editor/scene_tree_dock.cpp
msgid "Error loading scene from %s"
-msgstr "Galat saat memuat skena dari %s"
+msgstr "Error saat memuat skena dari %s"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -15289,11 +15325,11 @@ msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Error saving scene."
-msgstr "Galat menyimpan skena."
+msgstr "Error menyimpan skena."
#: editor/scene_tree_dock.cpp
msgid "Error duplicating scene to save it."
-msgstr "Galat menduplikasi skena untuk menyimpannya."
+msgstr "Error menduplikasi skena untuk menyimpannya."
#: editor/scene_tree_dock.cpp
msgid "Sub-Resources"
@@ -15554,15 +15590,15 @@ msgstr "Ekstensi salah dipilih."
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
-msgstr "Galat saat memuat templat '%s'"
+msgstr "Error saat memuat templat '%s'"
#: editor/script_create_dialog.cpp
msgid "Error - Could not create script in filesystem."
-msgstr "Galat - Tidak dapat membuat skrip di berkas sistem."
+msgstr "Error - Tidak dapat membuat skrip di berkas sistem."
#: editor/script_create_dialog.cpp
msgid "Error loading script from %s"
-msgstr "Galat saat memuat skrip dari %s"
+msgstr "Error saat memuat skrip dari %s"
#: editor/script_create_dialog.cpp
msgid "Overrides"
@@ -15666,15 +15702,15 @@ msgstr "Peringatan:"
#: editor/script_editor_debugger.cpp
msgid "Error:"
-msgstr "Galat:"
+msgstr "Error:"
#: editor/script_editor_debugger.cpp
msgid "C++ Error"
-msgstr "Galat C++"
+msgstr "Error C++"
#: editor/script_editor_debugger.cpp
msgid "C++ Error:"
-msgstr "Galat C++ :"
+msgstr "Error C++ :"
#: editor/script_editor_debugger.cpp
msgid "C++ Source"
@@ -15694,7 +15730,7 @@ msgstr "Jejak Tumpukan"
#: editor/script_editor_debugger.cpp
msgid "Errors"
-msgstr "Galat"
+msgstr "Error"
#: editor/script_editor_debugger.cpp
msgid "Child process connected."
@@ -15702,7 +15738,7 @@ msgstr "Proses anak terhubung."
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
-msgstr "Salin Galat"
+msgstr "Salin Error"
#: editor/script_editor_debugger.cpp
msgid "Open C++ Source on GitHub"
@@ -16071,7 +16107,7 @@ msgstr "Maksimal Pesan Per Bingkai"
#: main/main.cpp
msgid "Max Errors Per Second"
-msgstr "Maksimal Galat Per Detik"
+msgstr "Maksimal Error Per Detik"
#: main/main.cpp
msgid "Max Warnings Per Second"
@@ -16120,41 +16156,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr "Tampilan"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr "Lebar"
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr "Tinggi"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Always On Top"
-msgstr "Selalu Di Depan"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Kiri Lebar"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Menguji"
-
#: main/main.cpp
msgid "DPI"
msgstr "DPI"
@@ -16350,7 +16351,7 @@ msgstr "Warna Latar Belakang"
#: main/main.cpp
msgid "macOS Native Icon"
-msgstr "Ikon macOS"
+msgstr "Ikon Asli macOS"
#: main/main.cpp
msgid "Windows Native Icon"
@@ -16788,7 +16789,7 @@ msgstr ""
#: modules/gdscript/gdscript.cpp
msgid "Treat Warnings As Errors"
-msgstr "Perlakukan Peringatan Sebagai Galat"
+msgstr "Perlakukan Peringatan Sebagai Error"
#: modules/gdscript/gdscript.cpp
msgid "Exclude Addons"
@@ -17988,7 +17989,7 @@ msgstr "if (kondisi) adalah:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "Ketika"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -20478,6 +20479,11 @@ msgstr ""
"Poligon tidak valid. Minimal 2 titik dibutuhkan untuk mode pembangunan "
"'Segmen\"."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21900,7 +21906,7 @@ msgstr "Proyeksi"
#: scene/3d/camera.cpp
msgid "FOV"
-msgstr "Bidang Pandang"
+msgstr "FOV"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22242,10 +22248,13 @@ msgid "NavMesh"
msgstr "Panggang NavMesh"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
+"NavigationObstacle2D hanya berfungsi untuk memberikan penghindaran tabrakan "
+"ke objek Node2D."
#: scene/3d/occluder.cpp
msgid "No shape is set."
@@ -24516,6 +24525,11 @@ msgstr "Mode Geser Pandangan"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Mode Interpolasi"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Tampilan Tak Berbayang"
@@ -24549,11 +24563,6 @@ msgstr "Terapkan Bersamaan:"
msgid "Process Priority"
msgstr "Aktifkan Prioritas"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Mode Interpolasi"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25262,6 +25271,11 @@ msgstr "Pemisah yang diberi nama"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Operator warna."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Warna Tulang 1"
@@ -25520,9 +25534,8 @@ msgid "Large"
msgstr "Sasaran"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folder"
-msgstr "Direktori:"
+msgstr "Folder"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26071,6 +26084,11 @@ msgstr "Mode Tanpa Gangguan"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Kedalaman"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Pengimbangan:"
@@ -26468,9 +26486,8 @@ msgid "Visible Instance Count"
msgstr ""
#: scene/resources/multimesh.cpp
-#, fuzzy
msgid "Transform Array"
-msgstr "Transformasi Dibatalkan."
+msgstr "Transformasi Array"
#: scene/resources/multimesh.cpp
#, fuzzy
@@ -26493,9 +26510,8 @@ msgid "Sample Partition Type"
msgstr "Atur Jenis variabel"
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Parsed Geometry Type"
-msgstr "Mengurai Geometri..."
+msgstr "Jenis Geometri yang Diuraikan"
#: scene/resources/navigation_mesh.cpp
msgid "Source Geometry Mode"
@@ -26537,9 +26553,8 @@ msgid "Verts Per Poly"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Sample Distance"
-msgstr "Pilih Jarak:"
+msgstr "Jarak sampel"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -26599,14 +26614,12 @@ msgid "Color Modifier"
msgstr "Pengubah Lambat Tampilan Bebas"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Point Texture"
-msgstr "Titik Emisi:"
+msgstr "Tekstur Titik"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Normal Texture"
-msgstr "Sumber Emisi: "
+msgstr "Texture Normal"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -26619,9 +26632,8 @@ msgid "Point Count"
msgstr "Tambah Port Masukan"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Scale Random"
-msgstr "Rasio Skala:"
+msgstr "Skala Acak"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -26637,9 +26649,8 @@ msgid "Absorbent"
msgstr ""
#: scene/resources/plane_shape.cpp
-#, fuzzy
msgid "Plane"
-msgstr "Dataran:"
+msgstr "Plane"
#: scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -26663,19 +26674,16 @@ msgid "Subdivide Depth"
msgstr ""
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Top Radius"
-msgstr "Radius:"
+msgstr "Radius Atas"
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Bottom Radius"
-msgstr "Kanan Bawah"
+msgstr "Radius Bawah"
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Left To Right"
-msgstr "Kanan Atas"
+msgstr "Kiri Ke Kanan"
#: scene/resources/primitive_meshes.cpp
msgid "Is Hemisphere"
@@ -26699,9 +26707,8 @@ msgid "Custom Solver Bias"
msgstr ""
#: scene/resources/sky.cpp
-#, fuzzy
msgid "Radiance Size"
-msgstr "Ukuran Garis Tepi:"
+msgstr "Ukuran Pancaran"
#: scene/resources/sky.cpp
msgid "Panorama"
@@ -26713,9 +26720,8 @@ msgid "Top Color"
msgstr "Floor Selanjutnya"
#: scene/resources/sky.cpp
-#, fuzzy
msgid "Horizon Color"
-msgstr "Menyimpan File:"
+msgstr "Warna Horizon"
#: scene/resources/sky.cpp
#, fuzzy
@@ -26799,9 +26805,8 @@ msgid "Base Texture"
msgstr "Hapus Tekstur"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Image Size"
-msgstr "Halaman: "
+msgstr "Ukuran Gambar"
#: scene/resources/texture.cpp
#, fuzzy
@@ -26814,14 +26819,12 @@ msgid "Lossy Storage Quality"
msgstr "Tangkap"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Fill From"
-msgstr "Mode Putar:"
+msgstr "Isi Dari"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Fill To"
-msgstr "Mode Putar:"
+msgstr "Isi Ke"
#: scene/resources/texture.cpp
#, fuzzy
@@ -26975,9 +26978,8 @@ msgid "Audio Stream"
msgstr "Item Radio"
#: servers/audio/audio_stream.cpp
-#, fuzzy
msgid "Random Pitch"
-msgstr "Kemiringan Acak:"
+msgstr "Pitch Acak"
#: servers/audio/effects/audio_effect_capture.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
@@ -27027,9 +27029,8 @@ msgstr ""
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
#: servers/audio/effects/audio_effect_panner.cpp
-#, fuzzy
msgid "Pan"
-msgstr "Dataran:"
+msgstr "Pan"
#: servers/audio/effects/audio_effect_compressor.cpp
#: servers/audio/effects/audio_effect_filter.cpp
@@ -27125,9 +27126,8 @@ msgstr ""
#: servers/audio/effects/audio_effect_pitch_shift.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-#, fuzzy
msgid "FFT Size"
-msgstr "Ukuran:"
+msgstr "Ukuran FFT"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Predelay"
@@ -27223,9 +27223,8 @@ msgid "Time Before Sleep"
msgstr ""
#: servers/physics_2d/physics_2d_server_sw.cpp
-#, fuzzy
msgid "BP Hash Table Size"
-msgstr "Ukuran:"
+msgstr "Ukuran Tabel Hash BP"
#: servers/physics_2d/physics_2d_server_sw.cpp
msgid "Large Object Surface Threshold In Cells"
@@ -27291,33 +27290,28 @@ msgid "Collision Normal"
msgstr "Mode Tabrakan"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Depth"
-msgstr "Mode Tabrakan"
+msgstr "Kedalaman Collision"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Safe Fraction"
-msgstr "Mode Tabrakan"
+msgstr "Fraksi Aman Collision"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Unsafe Fraction"
-msgstr "Mode Tabrakan"
+msgstr "Fraksi Tidak Aman Collision"
#: servers/physics_server.cpp
-#, fuzzy
msgid "Center Of Mass"
-msgstr "Kiri Tengah"
+msgstr "Pusat Massa"
#: servers/physics_server.cpp
msgid "Principal Inertia Axes"
msgstr ""
#: servers/visual/shader_language.cpp
-#, fuzzy
msgid "Varying may not be assigned in the '%s' function."
-msgstr "Variasi hanya bisa ditetapkan dalam fungsi vertex."
+msgstr "Memvariasikan mungkin tidak ditetapkan dalam fungsi '%s'."
#: servers/visual/shader_language.cpp
msgid ""
@@ -27344,53 +27338,44 @@ msgid "Constants cannot be modified."
msgstr "Konstanta tidak dapat dimodifikasi."
#: servers/visual/visual_server_scene.cpp
-#, fuzzy
msgid "Spatial Partitioning"
-msgstr "Mempartisi..."
+msgstr "Partisi Spatial"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Render Loop Enabled"
-msgstr "Filter sinyal"
+msgstr "Render Loop Diaktifkan"
#: servers/visual_server.cpp
-#, fuzzy
msgid "VRAM Compression"
-msgstr "Tetapkan ekspresi"
+msgstr "Kompresi VRAM"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import BPTC"
-msgstr "Impor"
+msgstr "Impor BPTC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import S3TC"
-msgstr "Impor"
+msgstr "Impor S3TC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import ETC"
-msgstr "Impor"
+msgstr "Impor ETC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import ETC2"
-msgstr "Impor"
+msgstr "Impor ETC2"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import PVRTC"
-msgstr "Impor Tema"
+msgstr "Impor PVRTC"
#: servers/visual_server.cpp
msgid "Lossless Compression"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Force PNG"
-msgstr "Sumber Mesh:"
+msgstr "Paksa PNG"
#: servers/visual_server.cpp
msgid "WebP Compression Level"
@@ -27401,9 +27386,8 @@ msgid "Time Rollover Secs"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Cubemap Size"
-msgstr "Ubah Ukuran Kamera"
+msgstr "Ukuran Cubemap"
#: servers/visual_server.cpp
msgid "Quadrant 0 Subdiv"
@@ -27422,19 +27406,16 @@ msgid "Quadrant 3 Subdiv"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shadows"
-msgstr "Shader"
+msgstr "Bayangan"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Filter Mode"
-msgstr "Filter node"
+msgstr "Mode Filter"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Texture Array Reflections"
-msgstr "Seleksi Tengah"
+msgstr "Refleksi Tekstur Array"
#: servers/visual_server.cpp
msgid "High Quality GGX"
@@ -27445,9 +27426,8 @@ msgid "Irradiance Max Size"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shading"
-msgstr "Lapisan"
+msgstr "Shading"
#: servers/visual_server.cpp
msgid "Force Vertex Shading"
@@ -27466,9 +27446,8 @@ msgid "Mesh Storage"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Split Stream"
-msgstr "Pisahkan Kurva"
+msgstr "Stream Terpisah"
#: servers/visual_server.cpp
msgid "Use Physical Light Attenuation"
@@ -27507,23 +27486,20 @@ msgid "Use Software Skinning"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Ninepatch Mode"
-msgstr "Mode Interpolasi"
+msgstr "Mode Ninepatch"
#: servers/visual_server.cpp
-#, fuzzy
msgid "OpenGL"
-msgstr "Buka"
+msgstr "OpenGL"
#: servers/visual_server.cpp
msgid "Batching Send Null"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Batching Stream"
-msgstr "Ubah Nama Massal"
+msgstr "Batching Stream"
#: servers/visual_server.cpp
msgid "Legacy Orphan Buffers"
@@ -27534,18 +27510,16 @@ msgid "Legacy Stream"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Batching"
-msgstr "Mencari..."
+msgstr "Batching"
#: servers/visual_server.cpp
msgid "Use Batching"
-msgstr ""
+msgstr "Gunakan Batching"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Use Batching In Editor"
-msgstr "Memperbarui editor"
+msgstr "Gunakan Batching Di Editor"
#: servers/visual_server.cpp
msgid "Single Rect Fallback"
@@ -27564,9 +27538,8 @@ msgid "Scissor Area Threshold"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Max Join Items"
-msgstr "Kelola Templat Ekspor…"
+msgstr "Item Gabung Maks"
#: servers/visual_server.cpp
msgid "Batch Buffer Size"
@@ -27581,13 +27554,12 @@ msgid "Flash Batching"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Diagnose Frame"
-msgstr "Rekat Frame"
+msgstr "Diagnosis Frame"
#: servers/visual_server.cpp
msgid "GLES2"
-msgstr ""
+msgstr "GLES2"
#: servers/visual_server.cpp
msgid "Compatibility"
@@ -27598,14 +27570,12 @@ msgid "Disable Half Float"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Enable High Float"
-msgstr "Aktifkan Prioritas"
+msgstr "Aktifkan Float Tinggi"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Precision"
-msgstr "Tetapkan ekspresi"
+msgstr "Presisi"
#: servers/visual_server.cpp
msgid "UV Contract"
@@ -27616,47 +27586,40 @@ msgid "UV Contract Amount"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Use Simple PVS"
-msgstr "Gunakan Pengancingan Skala"
+msgstr "Gunakan PVS Sederhana"
#: servers/visual_server.cpp
msgid "PVS Logging"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Use Signals"
-msgstr "Sinyal"
+msgstr "Gunakan Sinyal"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Remove Danglers"
-msgstr "Hapus Tile"
+msgstr "Hapus Danglers"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Flip Imported Portals"
-msgstr "Balikkan Portal"
+msgstr "Balik Portal Impor"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Occlusion Culling"
-msgstr "Pengaturan Viewport"
+msgstr "Pemusnahan Oklusi"
#: servers/visual_server.cpp
msgid "Max Active Spheres"
-msgstr ""
+msgstr "Bola Aktif Maks"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Max Active Polygons"
-msgstr "Geser Poligon"
+msgstr "Poligon Aktif Maks"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shader Compilation Mode"
-msgstr "Mode Interpolasi"
+msgstr "Mode Kompilasi Shader"
#: servers/visual_server.cpp
msgid "Max Simultaneous Compiles"
@@ -27667,6 +27630,5 @@ msgid "Log Active Async Compiles Count"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Shader Cache Size (MB)"
-msgstr "Ubah Ukuran Kamera"
+msgstr "Ukuran Cache Shader (MB)"
diff --git a/editor/translations/is.po b/editor/translations/is.po
index cc705e3310..f32c97384b 100644
--- a/editor/translations/is.po
+++ b/editor/translations/is.po
@@ -74,11 +74,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -86,7 +87,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -98,7 +99,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -112,10 +113,11 @@ msgstr ""
msgid "Position"
msgstr "Val á kvarða"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -583,6 +585,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1178,7 +1213,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5824,6 +5859,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Breyta Viðbót"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15464,38 +15504,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19575,6 +19583,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -21229,7 +21242,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23254,6 +23267,11 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Breytingar á Anim track"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23283,10 +23301,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23928,6 +23942,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Stillið breyting á:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Val á kvarða"
@@ -24685,6 +24704,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/it.po b/editor/translations/it.po
index 0ed67618f4..16a47de770 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -73,7 +73,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-30 23:27+0000\n"
+"PO-Revision-Date: 2022-05-15 20:00+0000\n"
"Last-Translator: Alessandro Casalino <alessandro.casalino93@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
@@ -82,7 +82,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -136,11 +136,12 @@ msgstr "Dimensione Massima Finestra"
msgid "Screen Orientation"
msgstr "Orientazione Schermo"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Finestra"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Senza contorno"
@@ -148,7 +149,7 @@ msgstr "Senza contorno"
msgid "Per Pixel Transparency Enabled"
msgstr "Trasparenza A Livello Di Pixel Abilitata"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Schermo intero"
@@ -160,7 +161,7 @@ msgstr "Massimizzata"
msgid "Minimized"
msgstr "Minimizzata"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Ridimensionabile"
@@ -173,10 +174,11 @@ msgstr "Ridimensionabile"
msgid "Position"
msgstr "Posizione"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -626,6 +628,41 @@ msgstr "Utilizza Percorso Utente Personalizzato"
msgid "Custom User Dir Name"
msgstr "Nome Personalizzato del Percorso Utente"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr "Display"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr "Larghezza"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr "Altezza"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr "Sempre In Primo Piano"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Larghezza Test"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Altezza Test"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1203,7 +1240,7 @@ msgstr "Abilita/Disabilita questa traccia."
msgid "Update Mode (How this property is set)"
msgstr "Modalità di aggiornamento (come viene impostata questa proprietà)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Modalità d'interpolazione"
@@ -4349,7 +4386,7 @@ msgstr "Explorer di risorse orfane…"
#: editor/editor_node.cpp
msgid "Reload Current Project"
-msgstr "Rinomina il progetto corrente"
+msgstr "Ricarica il Progetto Corrente"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -5996,6 +6033,11 @@ msgstr ""
msgid "Flat"
msgstr "Flat"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Modalità Collisioni"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Scegli Nodo(i) da Importare"
@@ -6992,14 +7034,12 @@ msgid "Saving..."
msgstr "Salvataggio..."
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D, Detect 3D"
-msgstr "Rileva 3D"
+msgstr "2D, Rileva 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "Pixel Solidi"
+msgstr "Pixel 2D"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
@@ -7769,9 +7809,8 @@ msgid "New"
msgstr "Nuovo"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Paste As Reference"
-msgstr "%s Riferimento di classe"
+msgstr "Incolla Come Reference"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
@@ -8334,7 +8373,7 @@ msgstr "Testing"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "Impossibile recuperare la configurazione del repository."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -9435,7 +9474,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
#, fuzzy
msgid "Create Simplified Convex Collision Sibling"
-msgstr "Crea Singolo Fratello di Collisione Convessa"
+msgstr "Crea Fratello di Collisione Convessa Semplificato"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -9466,17 +9505,16 @@ msgid "Create Outline Mesh..."
msgstr "Crea Mesh di Outline..."
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid ""
"Creates a static outline mesh. The outline mesh will have its normals "
"flipped automatically.\n"
"This can be used instead of the SpatialMaterial Grow property when using "
"that property isn't possible."
msgstr ""
-"Crea intorno una mesh statica. Questa mesh avrà le suoe normali invertite "
+"Crea una mesh di contorno statica. Questa mesh avrà le sue normali invertite "
"automaticamente.\n"
-"Questo puó essere usato come sostitutivo per la proprietà Grow (ingrandisci) "
-"delle SpatialMaterial quando questa non é disponibile."
+"Può essere utilizzata al posto della proprietà Grow (ingrandisci) delle "
+"SpatialMaterial quando questa non è disponibile."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "View UV1"
@@ -10075,7 +10113,7 @@ msgstr "Sincronizza Ossa a Poligono"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
msgid "Set cast_to"
-msgstr ""
+msgstr "Imposta cast_to"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -10128,9 +10166,8 @@ msgid "ResourcePreloader"
msgstr "ResourcePreloader"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Flip Portals"
-msgstr "Ribalta orizzontalmente"
+msgstr "Ribalta Portali"
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Room Generate Points"
@@ -10141,14 +10178,13 @@ msgid "Generate Points"
msgstr "Genera punti"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Flip Portal"
-msgstr "Ribalta orizzontalmente"
+msgstr "Ribalta Portale"
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
msgid "Occluder Set Transform"
-msgstr "Azzera la trasformazione"
+msgstr "Trasformazione dell'Insieme dell'Occlusore"
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Center Node"
@@ -10337,7 +10373,7 @@ msgstr "Importa tema..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
-msgstr "Ricarica tema"
+msgstr "Ricarica Tema"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme"
@@ -10438,9 +10474,8 @@ msgid "Exec Path"
msgstr "Percorso di Esecuzione"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script Temperature Enabled"
-msgstr "Seleziona File Modello"
+msgstr "Temperatura dello Script Abilitata"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
@@ -10448,7 +10483,7 @@ msgstr "Evidenzia Script Attuale"
#: editor/plugins/script_editor_plugin.cpp
msgid "Script Temperature History Size"
-msgstr ""
+msgstr "Dimensione Storico della Temperatura dello Script"
#: editor/plugins/script_editor_plugin.cpp
msgid "Current Script Background Color"
@@ -10705,9 +10740,8 @@ msgid "Reset to Rest Pose"
msgstr "Ripristina a Posizione di Riposo"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
-#, fuzzy
msgid "Overwrite Rest Pose"
-msgstr "Sovrascrivi Scena esistente"
+msgstr "Sovrascrivi Posa a Riposo"
#: editor/plugins/skeleton_editor_plugin.cpp
msgid "Create physical bones"
@@ -10790,7 +10824,6 @@ msgstr " [auto]"
#. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled.
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid " [portals active]"
msgstr " [portali attivi]"
@@ -10887,7 +10920,6 @@ msgid "Vertices:"
msgstr "Vertici:"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "FPS: %d (%s ms)"
msgstr "FPS: %d (%s ms)"
@@ -11095,8 +11127,9 @@ msgid "Use Snap"
msgstr "Usa Scatto"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Converts rooms for portal culling."
-msgstr ""
+msgstr "Converte stanze per culling del portale."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -11294,12 +11327,14 @@ msgid "Post"
msgstr "Post"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Manipulator Gizmo Size"
-msgstr ""
+msgstr "Dimensione Gizmo Di Controllo"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Manipulator Gizmo Opacity"
-msgstr ""
+msgstr "Opacità Gizmo Di Controllo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Show Viewport Rotation Gizmo"
@@ -11754,15 +11789,17 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Type"
-msgstr "Rimuovi Tile"
+msgstr "Rimuovi Tipo"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
"Select a theme type from the list to edit its items.\n"
"You can add a custom type or import a type with its items from another theme."
msgstr ""
+"Seleziona un tipo di tema dalla lista per editare i suoi elementi.\n"
+"Puoi aggiungere un tipo personalizzato o importare un tipo con i suoi "
+"elementi da un altro tema."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Color Items"
@@ -11797,14 +11834,12 @@ msgstr ""
"Aggiungici più elementi manualmente o importando da un altro tema."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Theme Type"
-msgstr "Aggiungi Tipo Elemento"
+msgstr "Aggiungi Tipo Di Tema"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Theme Type"
-msgstr "Rimuovi da Remoto"
+msgstr "Rimuovi Tipo Di Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Color Item"
@@ -12002,12 +12037,15 @@ msgstr "Sovrascrivi tutti gli elementi predefiniti."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select the variation base type from a list of available types."
msgstr ""
+"Seleziona la variazione del tipo base da una lista di tipi disponibili."
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
"A type associated with a built-in class cannot be marked as a variation of "
"another type."
msgstr ""
+"Un tipo associato ad una classe integrata non può essere indicato come "
+"variazione di un altro tipo."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -12034,10 +12072,13 @@ msgid "Select UI Scene:"
msgstr "Seleziona Scena UI:"
#: editor/plugins/theme_editor_preview.cpp
+#, fuzzy
msgid ""
"Toggle the control picker, allowing to visually select control types for "
"edit."
msgstr ""
+"Alterna il picker di controllo, permettendo di selezionare visualmente i "
+"tipi di controllo per la modifica."
#: editor/plugins/theme_editor_preview.cpp
msgid "Toggle Button"
@@ -15014,14 +15055,12 @@ msgid "Another node already uses this unique name in the scene."
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name"
-msgstr "Nome del Nodo:"
+msgstr "Abilita Nome Unico Scena"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "Nome del Nodo:"
+msgstr "Disabilita Nome Unico Scena"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15097,7 +15136,7 @@ msgstr "Sotto-Risorse"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "Accedi come Nome Unico Scena"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15204,8 +15243,9 @@ msgid "Show Scene Tree Root Selection"
msgstr "Mostra Selezione del Tree Root di Scena"
#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Derive Script Globals By Name"
-msgstr ""
+msgstr "Ricava Script Globali Dal Nome"
#: editor/scene_tree_dock.cpp
msgid "Use Favorites Root Selection"
@@ -15237,6 +15277,9 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"Si può accedere a questo nodo da qualcunque punto della scena facendolo "
+"precedere dal prefisso '%s' in un percorso di nodo.\n"
+"Clicca per disabilitarlo."
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15752,17 +15795,16 @@ msgid "Set Room Point Position"
msgstr "Imposta Posizione Punto Stanza"
#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Margin"
msgstr "Margine del Portale"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Edge"
-msgstr ""
+msgstr "Confine del Portale"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Arrow"
-msgstr ""
+msgstr "Freccia del Portale"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Portal Point Position"
@@ -15899,43 +15941,9 @@ msgstr "Ripiega Su GLES2"
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr "Display"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr "Larghezza"
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr "Altezza"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr "Sempre In Primo Piano"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Larghezza Test"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Altezza Test"
-
#: main/main.cpp
msgid "DPI"
-msgstr ""
+msgstr "DPI"
#: main/main.cpp
msgid "Allow hiDPI"
@@ -16035,9 +16043,8 @@ msgid "Physics Interpolation"
msgstr "Modalità d'interpolazione"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "Abilita filtraggio"
+msgstr "Abilita Avvertimenti"
#: main/main.cpp
msgid "Frame Delay Msec"
@@ -16057,7 +16064,7 @@ msgstr ""
#: main/main.cpp
msgid "Hide Home Indicator"
-msgstr ""
+msgstr "Nascondi Indicatore Home"
#: main/main.cpp
msgid "Input Devices"
@@ -16092,12 +16099,13 @@ msgid "Environment"
msgstr "Ambiente"
#: main/main.cpp
+#, fuzzy
msgid "Default Clear Color"
-msgstr ""
+msgstr "Colore Di Cancellamento Di Default"
#: main/main.cpp
msgid "Boot Splash"
-msgstr ""
+msgstr "Sfondo Di Avvio"
#: main/main.cpp
msgid "Show Image"
@@ -16156,9 +16164,8 @@ msgid "Custom Image Hotspot"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Tooltip Position Offset"
-msgstr "Scostamento della rotazione:"
+msgstr "Suggerimento Scostamento Posizione"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Debugger Agent"
@@ -16328,7 +16335,6 @@ msgid "Polygon"
msgstr "Poligono"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Spin Degrees"
msgstr "Gradi di Rotazione"
@@ -16337,9 +16343,8 @@ msgid "Spin Sides"
msgstr ""
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Node"
-msgstr "Incolla nodi"
+msgstr "Percorso Nodo"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16518,16 +16523,15 @@ msgstr "GDScript"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
-msgstr ""
+msgstr "Colore Definizione Funzione"
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Node Path Color"
-msgstr "Copia percorso del nodo"
+msgstr "Colore Percorso Nodo"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
-msgstr ""
+msgstr "Max Chiamate In Coda"
#: modules/gdscript/gdscript.cpp
msgid "Treat Warnings As Errors"
@@ -16539,7 +16543,7 @@ msgstr "Escludi Componenti Aggiuntivi"
#: modules/gdscript/gdscript.cpp
msgid "Autocomplete Setters And Getters"
-msgstr ""
+msgstr "Autocompleta Setters E Getters"
#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
@@ -16590,7 +16594,7 @@ msgstr "Abilita Risoluzione Intelligente"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Show Native Symbols In Editor"
-msgstr ""
+msgstr "Mostra Simboli Nativi Nell'Editor"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Use Thread"
@@ -16629,14 +16633,12 @@ msgid "Min"
msgstr "Min"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Max"
-msgstr "Mischia"
+msgstr "Max"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Count"
-msgstr "Istanza"
+msgstr "Conteggio Sparso"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
@@ -16659,18 +16661,16 @@ msgid "Sparse Values Byte Offset"
msgstr ""
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Buffer"
-msgstr "Vista dal retro"
+msgstr "Buffer"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Length"
-msgstr "Tema Predefinito"
+msgstr "Lunghezza Byte"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Byte Stride"
-msgstr ""
+msgstr "Stride Byte"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Indices"
@@ -16717,9 +16717,8 @@ msgid "Outer Cone Angle"
msgstr "Angolo Cono Esterno"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Blend Weights"
-msgstr "Preprocessa Lightmaps"
+msgstr "Sfuma Pesi"
#: modules/gltf/gltf_mesh.cpp
msgid "Instance Materials"
@@ -16745,32 +16744,28 @@ msgstr "Traslazione"
#: modules/gltf/gltf_node.cpp scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp
#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
#: scene/3d/spatial.cpp scene/gui/control.cpp scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "Passo di rotazione:"
+msgstr "Rotazione"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Children"
-msgstr "Figli Modificabili"
+msgstr "Figli"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints"
-msgstr "Punto"
+msgstr "Articolazioni"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
msgid "Roots"
-msgstr ""
+msgstr "Radici"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
msgid "Unique Names"
-msgstr ""
+msgstr "Nomi Unici"
#: modules/gltf/gltf_skeleton.cpp
-#, fuzzy
msgid "Godot Bone Node"
-msgstr "Nodo TimeScale"
+msgstr "Nodo Osso Godot"
#: modules/gltf/gltf_skin.cpp
#, fuzzy
@@ -16787,9 +16782,8 @@ msgid "Inverse Binds"
msgstr ""
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Non Joints"
-msgstr "Sposta Articolazione"
+msgstr "Non Articolazioni"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
@@ -16801,19 +16795,19 @@ msgstr ""
#: modules/gltf/gltf_skin.cpp
msgid "Godot Skin"
-msgstr ""
+msgstr "Skin Godot"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Img"
-msgstr ""
+msgstr "Immagine Diffuse"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Factor"
-msgstr ""
+msgstr "Coefficiente Diffuse"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Gloss Factor"
-msgstr ""
+msgstr "Coefficiente Gloss"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Specular Factor"
@@ -16821,26 +16815,23 @@ msgstr "Coefficiente Speculare"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Spec Gloss Img"
-msgstr ""
+msgstr "Immagine Gloss Speculare"
#: modules/gltf/gltf_state.cpp
msgid "Json"
msgstr ""
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Major Version"
-msgstr "Versione"
+msgstr "Versione Principale"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Minor Version"
-msgstr "Versione"
+msgstr "Versione Minore"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "GLB Data"
-msgstr "Con i Dati"
+msgstr "Dati GLB"
#: modules/gltf/gltf_state.cpp
msgid "Use Named Skin Binds"
@@ -16853,107 +16844,92 @@ msgstr "Vista dal retro"
#: modules/gltf/gltf_state.cpp
msgid "Accessors"
-msgstr ""
+msgstr "Accessori"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Scene Name"
-msgstr "Percorso Scena:"
+msgstr "Nome Scena"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Root Nodes"
-msgstr "Nome del nodo radice"
+msgstr "Nodi Radice"
#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
#: scene/resources/font.cpp
-#, fuzzy
msgid "Textures"
-msgstr "Funzionalità"
+msgstr "Textures"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
-msgstr ""
+msgstr "Immagini"
#: modules/gltf/gltf_state.cpp
msgid "Cameras"
-msgstr ""
+msgstr "Telecamere"
#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Lights"
-msgstr "Luce"
+msgstr "Luci"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Unique Animation Names"
-msgstr "Nuovo Nome Animazione:"
+msgstr "Nomi Unici Di Animazione"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeletons"
-msgstr "Scheletro"
+msgstr "Scheletri"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeleton To Node"
-msgstr "Scegli un Nodo"
+msgstr "Da Scheletro A Nodo"
#: modules/gltf/gltf_state.cpp scene/2d/animated_sprite.cpp
-#, fuzzy
msgid "Animations"
-msgstr "Animazioni:"
+msgstr "Animazioni"
#: modules/gltf/gltf_texture.cpp
-#, fuzzy
msgid "Src Image"
-msgstr "Mostra Ossa"
+msgstr "Risorsa Immagine"
#: modules/gridmap/grid_map.cpp
msgid "Mesh Library"
msgstr "Libreria Mesh"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Physics Material"
-msgstr "Fotogramma fisico %"
+msgstr "Materiale Fisico"
#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Use In Baked Light"
-msgstr "Preprocessa Lightmaps"
+msgstr "Utilizza in Luce Preprocessata"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
#: scene/resources/navigation_mesh.cpp
msgid "Cell"
-msgstr ""
+msgstr "Cella"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Octant Size"
-msgstr "Vista frontale"
+msgstr "Dimensione Ottante"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center X"
-msgstr "Centro"
+msgstr "Centra X"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Y"
-msgstr "Centro"
+msgstr "Centra Y"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Z"
-msgstr "Centro"
+msgstr "Centra Z"
#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
#: scene/resources/material.cpp
msgid "Mask"
-msgstr ""
+msgstr "Maschera"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
@@ -16997,9 +16973,8 @@ msgid "GridMap Paint"
msgstr "GridMap Riempi"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Selection"
-msgstr "GridMap Riempi Selezione"
+msgstr "Selezione GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Snap View"
@@ -17122,40 +17097,38 @@ msgstr "Preprocessa Lightmaps"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Low Quality Ray Count"
-msgstr ""
+msgstr "Contaggio Raggi Qualità Bassa"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Medium Quality Ray Count"
-msgstr ""
+msgstr "Conteggio Raggi Qualità Media"
#: modules/lightmapper_cpu/register_types.cpp
msgid "High Quality Ray Count"
-msgstr ""
+msgstr "Conteggio Raggi Qualità Alta"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Ultra Quality Ray Count"
-msgstr ""
+msgstr "Conteggio Raggi Qualità Ultra"
#: modules/minimp3/audio_stream_mp3.cpp
#: modules/minimp3/resource_importer_mp3.cpp
#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-#, fuzzy
msgid "Loop Offset"
-msgstr "Scostamento:"
+msgstr "Scostamento Loop"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Eye Height"
-msgstr ""
+msgstr "Altezza Occhio"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "IOD"
msgstr ""
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display Width"
-msgstr "Mostra Wireframe"
+msgstr "Larghezza Display"
#: modules/mobile_vr/mobile_vr_interface.cpp
#, fuzzy
@@ -17183,9 +17156,8 @@ msgid "Build Solution"
msgstr "Crea Soluzione"
#: modules/mono/editor/csharp_project.cpp
-#, fuzzy
msgid "Auto Update Project"
-msgstr "Progetto Senza Nome"
+msgstr "Auto-Aggiorna Progetto"
#: modules/mono/mono_gd/gd_mono_utils.cpp
#, fuzzy
@@ -17261,56 +17233,51 @@ msgstr "Fatto!"
#: modules/opensimplex/noise_texture.cpp
msgid "Seamless"
-msgstr ""
+msgstr "Senza cuciture"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "As Normal Map"
-msgstr "Scala Casuale:"
+msgstr "Come Normal Map"
#: modules/opensimplex/noise_texture.cpp
msgid "Bump Strength"
-msgstr ""
+msgstr "Intensità Bump"
#: modules/opensimplex/noise_texture.cpp
msgid "Noise"
-msgstr ""
+msgstr "Rumore"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "Noise Offset"
-msgstr "Scostamento della griglia:"
+msgstr "Scostamento Rumore"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Octaves"
-msgstr ""
+msgstr "Ottave"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Period"
-msgstr ""
+msgstr "Periodo"
#: modules/opensimplex/open_simplex_noise.cpp
-#, fuzzy
msgid "Persistence"
-msgstr "Prospettica"
+msgstr "Persistenza"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Lacunarity"
-msgstr ""
+msgstr "Lacunarietà"
#: modules/regex/regex.cpp
msgid "Subject"
-msgstr ""
+msgstr "Soggetto"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Names"
-msgstr "Nome"
+msgstr "Nomi"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Strings"
-msgstr "Impostazioni:"
+msgstr "Stringhe"
#: modules/upnp/upnp.cpp
msgid "Discover Multicast If"
@@ -17325,14 +17292,12 @@ msgid "Discover IPv6"
msgstr ""
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Description URL"
-msgstr "Descrizione"
+msgstr "Descrizione URL"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Service Type"
-msgstr "Imposta Tipo di Variabile"
+msgstr "Tipo Di Servizio"
#: modules/upnp/upnp_device.cpp
msgid "IGD Control URL"
@@ -17731,19 +17696,17 @@ msgid "Return Enabled"
msgstr "Eseguibile"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Type"
-msgstr "Tipo di membro"
+msgstr "Tipo di Ritorno"
#: modules/visual_script/visual_script_flow_control.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Condition"
msgstr "Condizione"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "if (cond) is:"
-msgstr ""
+msgstr "if (cond) is:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
@@ -17755,7 +17718,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator"
-msgstr ""
+msgstr "Iteratore"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "for (elem) in (input):"
@@ -17775,12 +17738,11 @@ msgstr "L'iteratore è diventato invalido: "
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
-msgstr ""
+msgstr "Sequenza"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "in order:"
-msgstr "Rinomina cartella:"
+msgstr "in ordine:"
#: modules/visual_script/visual_script_flow_control.cpp
#, fuzzy
@@ -17793,7 +17755,7 @@ msgstr "Inverti"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "'input' is:"
-msgstr ""
+msgstr "'input' è:"
#: modules/visual_script/visual_script_flow_control.cpp
#, fuzzy
@@ -17802,41 +17764,36 @@ msgstr "Tipo:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Is %s?"
-msgstr ""
+msgstr "È %s?"
#: modules/visual_script/visual_script_flow_control.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Base Script"
-msgstr "Nuovo script"
+msgstr "Script Base"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "On %s"
-msgstr ""
+msgstr "Su %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "On Self"
-msgstr "Proprio"
+msgstr "Su se stesso"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Call Mode"
-msgstr "Modalità scala"
+msgstr "Modalità Chiamata"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Basic Type"
-msgstr "Cambia Tipo di Base"
+msgstr "Tipo Base"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Node Path"
-msgstr "Copia percorso del nodo"
+msgstr "Percorso Nodo"
#: modules/visual_script/visual_script_func_nodes.cpp
#, fuzzy
@@ -17844,14 +17801,12 @@ msgid "Argument Cache"
msgstr "Cambia nome Argomento"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Use Default Args"
-msgstr "Ripristinare le impostazioni predefinite"
+msgstr "Utilizza Argomenti Predefiniti"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Validate"
-msgstr "Caratteri validi:"
+msgstr "Valida"
#: modules/visual_script/visual_script_func_nodes.cpp
#, fuzzy
@@ -17859,36 +17814,32 @@ msgid "RPC Call Mode"
msgstr "Modalità scala"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Subtract %s"
-msgstr "Al carattere %s"
+msgstr "Sottrai %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Multiply %s"
-msgstr ""
+msgstr "Moltiplica %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Divide %s"
-msgstr ""
+msgstr "Dividi %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Mod %s"
-msgstr "Aggiungi %s"
+msgstr "Modulo %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "ShiftLeft %s"
-msgstr "Imposta %s"
+msgstr "ShiftLeft %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "ShiftRight %s"
msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "BitAnd %s"
-msgstr "Aggiungi %s"
+msgstr "BitAnd %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "BitOr %s"
@@ -18100,12 +18051,11 @@ msgstr "Fotogramma Fisico Successivo"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "%s sec(s)"
-msgstr ""
+msgstr "%s secondi(s)"
#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-#, fuzzy
msgid "Wait Time"
-msgstr "Disegna tile"
+msgstr "Tempo Di Attesa"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
@@ -18138,11 +18088,11 @@ msgstr "Dimensione Index Buffer dei Poligoni nel Canvas (KB)"
#: modules/websocket/websocket_client.cpp
msgid "Verify SSL"
-msgstr ""
+msgstr "Verifica SSL"
#: modules/websocket/websocket_client.cpp
msgid "Trusted SSL Certificate"
-msgstr ""
+msgstr "Certificato SSL Fidato"
#: modules/websocket/websocket_macros.h
#, fuzzy
@@ -18177,13 +18127,12 @@ msgid "Bind IP"
msgstr ""
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "Private Key"
-msgstr "Tasto Fisico"
+msgstr "Chiave Privata"
#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
msgid "SSL Certificate"
-msgstr ""
+msgstr "Certificato SSL"
#: modules/websocket/websocket_server.cpp
#, fuzzy
@@ -18195,19 +18144,16 @@ msgid "Handshake Timeout"
msgstr "Timeout Handshake"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Session Mode"
-msgstr "Modalità Regione"
+msgstr "Modalità Sessione"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Required Features"
-msgstr "Funzionalità Principali:"
+msgstr "Funzionalità Richieste"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Optional Features"
-msgstr "Funzionalità Principali:"
+msgstr "Funzionalità Opzionali"
#: modules/webxr/webxr_interface.cpp
msgid "Requested Reference Space Types"
@@ -18218,14 +18164,12 @@ msgid "Reference Space Type"
msgstr ""
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Visibility State"
-msgstr "Commuta visibilità"
+msgstr "Stato Visibilità"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Bounds Geometry"
-msgstr "Riprova"
+msgstr "Confini Geometria"
#: modules/webxr/webxr_interface.cpp
#, fuzzy
@@ -18234,7 +18178,7 @@ msgstr "Agganciamento Intelligente"
#: platform/android/export/export.cpp
msgid "Android SDK Path"
-msgstr ""
+msgstr "Percorso SDK Android"
#: platform/android/export/export.cpp
#, fuzzy
@@ -18251,7 +18195,7 @@ msgstr ""
#: platform/android/export/export.cpp
msgid "Force System User"
-msgstr ""
+msgstr "Forza Utente System"
#: platform/android/export/export.cpp
msgid "Shutdown ADB On Exit"
@@ -18287,19 +18231,16 @@ msgid "The package must have at least one '.' separator."
msgstr "Il pacchetto deve avere almeno un \".\" separatore."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Use Custom Build"
-msgstr "Utilizza Percorso Utente Personalizzato"
+msgstr "Utilizza Build Personalizzata"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Export Format"
-msgstr "Percorso di Esportazione"
+msgstr "Formato Esportazione"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Keystore"
-msgstr "Debugger"
+msgstr "Archivio Chiavi"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18311,47 +18252,40 @@ msgid "Debug Password"
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release User"
-msgstr "Rilascio"
+msgstr "Utente Di Rilascio"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release Password"
-msgstr "Password"
+msgstr "Password Di Rilascio"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Clear Previous Install"
-msgstr "Ispeziona Istanza Precedente"
+msgstr "Elimina Installazione Precedente"
#: platform/android/export/export_plugin.cpp scene/resources/shader.cpp
msgid "Code"
-msgstr ""
+msgstr "Codice"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Min SDK"
-msgstr "Dimensione Outline:"
+msgstr "SDK Min"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Target SDK"
-msgstr "Target FPS"
+msgstr "Target SDK"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Package"
-msgstr "Impacchettando"
+msgstr "Pacchetto"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Unique Name"
-msgstr "Nome del Nodo:"
+msgstr "Nome Unico"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18359,38 +18293,32 @@ msgid "Signed"
msgstr "Segnale"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Classify As Game"
-msgstr "Nome Classe:"
+msgstr "Classifica Come Gioco"
#: platform/android/export/export_plugin.cpp
msgid "Retain Data On Uninstall"
-msgstr ""
+msgstr "Conserva Dati Dopo Disinstallazione"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Exclude From Recents"
-msgstr "Elimina Nodi"
+msgstr "Escludi Da Recenti"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Graphics"
-msgstr "Scostamento della griglia:"
+msgstr "Grafica"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "OpenGL Debug"
-msgstr "Apri"
+msgstr "Debug OpenGL"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "XR Features"
-msgstr "Funzionalità"
+msgstr "Funzionalità XR"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "XR Mode"
-msgstr "Modalità di Pan"
+msgstr "Modalità XR"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18407,9 +18335,8 @@ msgid "Passthrough"
msgstr "Passthrough"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Immersive Mode"
-msgstr "Modalità Priorità"
+msgstr "Modalità Immersiva"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18441,38 +18368,32 @@ msgid "Allow"
msgstr ""
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Command Line"
-msgstr "Comando"
+msgstr "Linea Di Comando"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Extra Args"
-msgstr "Argomenti di chiamata aggiuntivi:"
+msgstr "Argomenti Extra"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "APK Expansion"
-msgstr "Cambia espressione"
+msgstr "Espansione APK"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Public Key"
-msgstr "Percorso Chiave SSH Pubblica"
+msgstr "Chiave Pubblica"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Permissions"
-msgstr "Maschera Emissione"
+msgstr "Permessi"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Custom Permissions"
-msgstr "Avvia una scena personalizzata"
+msgstr "Permessi Personalizzati"
#: platform/android/export/export_plugin.cpp
msgid "Select device from the list"
@@ -20298,6 +20219,11 @@ msgstr ""
"Poligono non valido. Sono necessari almeno 2 punti nella modalità di "
"costruzione \"Segmenti\"."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -20376,9 +20302,8 @@ msgstr "Nodo OneShot"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Preprocess"
-msgstr "Post processing"
+msgstr "Preprocesso"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -22148,7 +22073,7 @@ msgstr "Prepara NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24414,6 +24339,11 @@ msgstr "Modalità di Pan"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Modalità d'interpolazione"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Mostra Unshaded"
@@ -24447,11 +24377,6 @@ msgstr "Imposta più valori:"
msgid "Process Priority"
msgstr "Abilita Priorità Tile"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Modalità d'interpolazione"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25165,6 +25090,11 @@ msgstr "Chiamato Separatore"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Operatore colore."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Colore Osso 1"
@@ -25972,6 +25902,11 @@ msgstr "Modalità senza distrazioni"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Profondità"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Scostamento:"
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index b85513357b..07463073a6 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -43,7 +43,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-25 15:02+0000\n"
+"PO-Revision-Date: 2022-05-10 13:14+0000\n"
"Last-Translator: nitenook <admin@alterbaum.net>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
@@ -52,7 +52,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.12.1\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -106,11 +106,12 @@ msgstr "ウィンドウの最大サイズ"
msgid "Screen Orientation"
msgstr "画面の向き"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "ウィンドウ"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "ボーダーレス"
@@ -118,7 +119,7 @@ msgstr "ボーダーレス"
msgid "Per Pixel Transparency Enabled"
msgstr "ピクセル単位の透明度を有効化"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "フルスクリーン"
@@ -130,7 +131,7 @@ msgstr "最大化"
msgid "Minimized"
msgstr "最小化"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "サイズを変更可能"
@@ -143,10 +144,11 @@ msgstr "サイズを変更可能"
msgid "Position"
msgstr "位置"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -602,6 +604,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "すべて表示"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "ライト"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr "常に最前面"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "左伸長"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "試験的"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1197,7 +1236,7 @@ msgstr "このトラックの オン/オフ を切り替え。"
msgid "Update Mode (How this property is set)"
msgstr "Update モード (このプロパティの設定方法)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "補間モード"
@@ -6007,6 +6046,11 @@ msgstr "%s を押したままで整数値に丸める。Shiftを押したまま
msgid "Flat"
msgstr "フラット"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "コリジョンモード"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "インポートするノードを選択"
@@ -15539,9 +15583,8 @@ msgid "Stack Frames"
msgstr "スタックフレーム"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Filter stack variables"
-msgstr "タイルを絞り込む"
+msgstr "スタック変数を絞り込む"
#: editor/script_editor_debugger.cpp
msgid "Auto Switch To Remote Scene Tree"
@@ -15919,42 +15962,6 @@ msgstr "GLES2にフォールバック"
msgid "Use Nvidia Rect Flicker Workaround"
msgstr "NvidiaでのRectちらつきの回避策を使用"
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "すべて表示"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "ライト"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr "常に最前面"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "左伸長"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "試験的"
-
#: main/main.cpp
msgid "DPI"
msgstr "DPI"
@@ -20288,6 +20295,11 @@ msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
"無効なポリゴンです。'Segments' ビルドモードでは最低2つのポイントが必要です。"
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22125,9 +22137,10 @@ msgid "NavMesh"
msgstr "NavMeshを焼き込む"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"NavigationObstacle はSpatialなオブジェクトにコリジョン回避を提供するためだけ"
"に機能します。"
@@ -24413,6 +24426,11 @@ msgstr "パンモード"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "補間モード"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "シェーディングなしで表示"
@@ -24446,11 +24464,6 @@ msgstr "複数設定:"
msgid "Process Priority"
msgstr "優先順位を有効化"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "補間モード"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25162,6 +25175,11 @@ msgstr "名前付きセパレーター"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Color演算子。"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "ボーンの色 1"
@@ -25970,6 +25988,11 @@ msgstr "集中モード"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Depth(深度/奥行)"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "オフセット:"
diff --git a/editor/translations/ka.po b/editor/translations/ka.po
index d31fd41fd2..80d946f0dc 100644
--- a/editor/translations/ka.po
+++ b/editor/translations/ka.po
@@ -78,11 +78,12 @@ msgstr "დამოკიდებულებების შემსწო
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -90,7 +91,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -102,7 +103,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -116,10 +117,11 @@ msgstr ""
msgid "Position"
msgstr "ახალი %s შექმნა"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -595,6 +597,41 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "ყველას ჩანაცვლება"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "წრფივი"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1201,7 +1238,7 @@ msgstr "ჩანაწერის ჩართვა / გამორთვ
msgid "Update Mode (How this property is set)"
msgstr "განახლების რეჟიმი (როგორაც ეს პარამეტრია დაყენებული)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
#, fuzzy
msgid "Interpolation Mode"
msgstr "ინტერპოლაციის რეჟიმი"
@@ -5969,6 +6006,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "ინტერპოლაციის რეჟიმი"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15831,40 +15873,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "ყველას ჩანაცვლება"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "წრფივი"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20046,6 +20054,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21731,7 +21744,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23835,6 +23848,11 @@ msgstr "მასშტაბის თანაფარდობა:"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "ინტერპოლაციის რეჟიმი"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "ყველას ჩანაცვლება"
@@ -23866,11 +23884,6 @@ msgstr ""
msgid "Process Priority"
msgstr "მასშტაბის თანაფარდობა:"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "ინტერპოლაციის რეჟიმი"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -24529,6 +24542,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "ფუნქციის შექმნა"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "ფუნქციები:"
@@ -25308,6 +25326,10 @@ msgid "Distance Field"
msgstr "დაყენება"
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/km.po b/editor/translations/km.po
index 4e33bd7ad3..366466c08d 100644
--- a/editor/translations/km.po
+++ b/editor/translations/km.po
@@ -70,11 +70,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -82,7 +83,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -94,7 +95,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -107,10 +108,11 @@ msgstr ""
msgid "Position"
msgstr ""
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -561,6 +563,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1139,7 +1174,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5704,6 +5739,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15186,38 +15225,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19189,6 +19196,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20777,7 +20789,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22732,6 +22744,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22760,10 +22776,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23371,6 +23383,11 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
+msgid "Font Separator"
+msgstr "Anim ផ្លាស់ប្តូរ Transition"
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -24062,6 +24079,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index 9141788988..3c3df766ce 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -30,13 +30,14 @@
# Kiroo <elusive1102@naver.com>, 2021.
# JumpJetAvocado <dwkng@jbnu.ac.kr>, 2021.
# Lee Minhak <minarihak@gmail.com>, 2022.
+# 한수현 <shh1473@ajou.ac.kr>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-03 07:13+0000\n"
-"Last-Translator: Lee Minhak <minarihak@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 09:38+0000\n"
+"Last-Translator: 한수현 <shh1473@ajou.ac.kr>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
"Language: ko\n"
@@ -44,174 +45,153 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "태블릿 드라이버"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "클립보드가 비었습니다!"
+msgstr "클립보드"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Current Screen"
-msgstr "현재 씬"
+msgstr "현재 화면"
#: core/bind/core_bind.cpp
msgid "Exit Code"
-msgstr ""
+msgstr "종료 코드"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "활성화"
+msgstr "V-Sync 활성화"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "컴포지터를 통한 V-Sync"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "델타 스무딩"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "이동 모드"
+msgstr "저사양 모드"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "저사양 모드 슬립 (마이크로초 단위)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Keep Screen On"
-msgstr "디버거 항상 열어놓기"
+msgstr "화면 항상 활성화"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "창의 최소 크기"
+msgstr "최소 창 크기"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "창의 최대 크기"
+msgstr "최대 창 크기"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "화면 연산자."
+msgstr "화면 방향"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
-msgstr "새 창"
+msgstr "창"
-#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr "테두리 픽셀"
+msgstr "테두리 없는"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "픽셀 당 투명도 활성화"
-#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
-msgstr "전체 화면 토글"
+msgstr "전체 화면"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "최대화"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Minimized"
-msgstr "초기화"
+msgstr "최소화"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
-#, fuzzy
msgid "Resizable"
-msgstr "크기 조정 가능"
+msgstr "크기 조절 가능한"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "독 위치"
+msgstr "위치"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "크기:"
+msgstr "크기"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Endian 스왑"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "에디터"
+msgstr "에디터 힌트"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "에러 메시지 출력"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "보간 모드"
+msgstr "초당 반복 수"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Target FPS"
-msgstr "Target(대상)"
+msgstr "목표 FPS"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "시간 스케일 노드"
+msgstr "시간 스케일"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "물리 프레임 %"
+msgstr "물리 흐트러짐 고정"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
msgstr "오류"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "저장 중 오류"
+msgstr "오류 문자열"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "저장 중 오류"
+msgstr "오류 줄"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Result"
-msgstr "검색 결과"
+msgstr "결과"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
@@ -226,24 +206,22 @@ msgstr "메모리"
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "제한"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "Command: 회전"
+msgstr "명령 대기열"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "멀티스레딩 대기열 크기 (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "함수(Function)"
+msgstr "함수"
#: core/image.cpp core/packed_data_container.cpp
#: modules/minimp3/audio_stream_mp3.cpp
@@ -253,113 +231,99 @@ msgstr "함수(Function)"
#: scene/resources/audio_stream_sample.cpp scene/resources/bit_map.cpp
#: scene/resources/concave_polygon_shape.cpp scene/resources/curve.cpp
#: scene/resources/polygon_path_finder.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Data"
-msgstr "데이터와 함께"
+msgstr "데이터"
#: core/io/file_access_network.cpp core/register_core_types.cpp
#: editor/editor_settings.cpp main/main.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Network"
-msgstr "네트워크 프로파일러"
+msgstr "네트워크"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "원격 "
+msgstr "원격 FS"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Size"
-msgstr "페이지: "
+msgstr "페이지 크기"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Page Read Ahead"
-msgstr "페이지 미리 읽기"
+msgstr "앞 페이지 읽기"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "Blocking 모드 활성화"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
msgstr "연결"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "청크 크기 읽기"
#: core/io/marshalls.cpp
-#, fuzzy
msgid "Object ID"
-msgstr "그려진 오브젝트:"
+msgstr "오브젝트 ID"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-#, fuzzy
msgid "Allow Object Decoding"
-msgstr "어니언 스키닝 활성화"
+msgstr "오브젝트 디코딩 허용"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "새로운 네트워크 연결 거부"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Network Peer"
-msgstr "네트워크 프로파일러"
+msgstr "네트워크 피어"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
-msgstr "루트 노드 이름"
+msgstr "루트 노드"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "연결"
+msgstr "새로운 연결 거부"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "변형 타입"
+msgstr "전송 모드"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "버퍼 최대 크기 인코딩"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "입력 버퍼 최대 크기"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "출력 버퍼 최대 크기"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "스트림 피어"
#: core/io/stream_peer.cpp
-#, fuzzy
msgid "Big Endian"
-msgstr "빅 엔디안"
+msgstr "Big Endian"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "데이터 배열"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "Handshake 차단"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "연결 변경:"
+msgstr "최대 대기 중인 연결 수"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -408,16 +372,15 @@ msgstr "'%s'을(를) 호출 시:"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "시드"
#: core/math/random_number_generator.cpp
-#, fuzzy
msgid "State"
msgstr "상태"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "메시지 대기열"
#: core/message_queue.cpp
msgid "Max Size (KB)"
@@ -437,35 +400,30 @@ msgid "Shift"
msgstr "Shift"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Control"
-msgstr "버전 컨트롤"
+msgstr "조작"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "메타"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "커뮤니티"
+msgstr "명령"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
-msgstr "프리셋"
+msgstr "눌림"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "스캔"
+msgstr "스캔코드"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Physical Scancode"
-msgstr "물리 키"
+msgstr "물리적 스캔코드"
#: core/os/input_event.cpp
msgid "Unicode"
@@ -473,27 +431,23 @@ msgstr "유니코드"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "반복"
#: core/os/input_event.cpp scene/gui/base_button.cpp
-#, fuzzy
msgid "Button Mask"
-msgstr "버튼"
+msgstr "버튼 마스크"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Global Position"
-msgstr "상수"
+msgstr "전역 위치"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
-msgstr "벡터"
+msgstr "공식"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Button Index"
-msgstr "마우스 버튼 인덱스:"
+msgstr "버튼 인덱스"
#: core/os/input_event.cpp
msgid "Doubleclick"
@@ -501,25 +455,22 @@ msgstr "더블 클릭"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "기울이기"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "프리셋"
+msgstr "압력"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Relative"
-msgstr "상대적인 스냅"
+msgstr "상대적"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed"
-msgstr "속도:"
+msgstr "속력"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
@@ -527,14 +478,12 @@ msgid "Axis"
msgstr "축"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "(값)"
+msgstr "축 값"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Index"
-msgstr "인덱스:"
+msgstr "인덱스"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -545,63 +494,55 @@ msgstr "액션"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "힘"
#: core/os/input_event.cpp
msgid "Delta"
-msgstr ""
+msgstr "델타"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "바꾸기"
+msgstr "채널"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "커밋 변경사항"
+msgstr "메시지"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pitch"
-msgstr "Pitch:"
+msgstr "피치"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity"
-msgstr "선회 뷰 오른쪽으로"
+msgstr "속도"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "장비"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "행 번호:"
+msgstr "컨트롤러 번호"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "컨트롤러 값"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "액션"
+msgstr "어플리케이션"
#: core/project_settings.cpp main/main.cpp
-#, fuzzy
msgid "Config"
-msgstr "스냅 구성"
+msgstr "구성"
#: core/project_settings.cpp
-#, fuzzy
msgid "Project Settings Override"
-msgstr "프로젝트 설정..."
+msgstr "프로젝트 설정 덮어쓰기"
#: core/project_settings.cpp core/resource.cpp
#: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp
@@ -618,7 +559,7 @@ msgstr "이름"
#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp
#: platform/windows/export/export.cpp
msgid "Description"
-msgstr "설명"
+msgstr "서술"
#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
@@ -632,36 +573,70 @@ msgid "Main Scene"
msgstr "메인 씬"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
-msgstr "오토타일 비활성화"
+msgstr "표준 출력 비활성화"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
-msgstr "비활성화된 항목"
+msgstr "표준 에러 비활성화"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "프로젝트의 숨겨진 데이터 디렉토리 사용"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "사용자 지정 디렉토리 사용"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
+msgstr "사용자 지정 디렉토리 이름"
+
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "모두 표시"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
msgstr ""
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "라이트"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "왼쪽 넓게"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "테스트"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
msgstr "오디오"
#: core/project_settings.cpp
-#, fuzzy
msgid "Default Bus Layout"
-msgstr "디폴트 버스 레이아웃을 불러옵니다."
+msgstr "기본 버스 레이아웃"
#: core/project_settings.cpp editor/editor_export.cpp
#: editor/editor_file_system.cpp editor/editor_node.cpp
@@ -671,17 +646,16 @@ msgid "Editor"
msgstr "에디터"
#: core/project_settings.cpp
-#, fuzzy
msgid "Main Run Args"
-msgstr "메인 씬 인수:"
+msgstr "메인 실행 인자"
#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "파일 확장자로 찾기"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
+msgstr "스크립트 템플릿 검색 경로"
#: core/project_settings.cpp editor/editor_node.cpp
#: editor/plugins/version_control_editor_plugin.cpp
@@ -690,22 +664,20 @@ msgstr "버전 컨트롤"
#: core/project_settings.cpp
msgid "Autoload On Startup"
-msgstr ""
+msgstr "스타트업으로 자동 로드"
#: core/project_settings.cpp
-#, fuzzy
msgid "Plugin Name"
-msgstr "플러그인 이름:"
+msgstr "플러그인 이름"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Input"
-msgstr "입력 추가"
+msgstr "입력"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "UI 적용"
#: core/project_settings.cpp
msgid "UI Select"
@@ -716,51 +688,44 @@ msgid "UI Cancel"
msgstr "UI 취소"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Next"
-msgstr "경로 포커스"
+msgstr "다음 UI 포커스"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Prev"
-msgstr "경로 포커스"
+msgstr "이전 UI 포커스"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Left"
-msgstr "UI 왼쪽"
+msgstr "왼쪽 UI"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Right"
-msgstr "UI 오른쪽"
+msgstr "오른쪽 UI"
#: core/project_settings.cpp
msgid "UI Up"
-msgstr ""
+msgstr "위쪽 UI"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
-msgstr "아래"
+msgstr "아래쪽 UI"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Up"
-msgstr "페이지: "
+msgstr "페이지 업 UI"
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "페이지 다운 UI"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "Home UI"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI End"
-msgstr "끝에서"
+msgstr "End UI"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -769,9 +734,8 @@ msgstr "끝에서"
#: servers/physics/space_sw.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp
-#, fuzzy
msgid "Physics"
-msgstr " (물리)"
+msgstr "물리"
#: core/project_settings.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -784,9 +748,8 @@ msgid "3D"
msgstr "3D"
#: core/project_settings.cpp
-#, fuzzy
msgid "Smooth Trimesh Collision"
-msgstr "Trimesh 콜리전 동기 만들기"
+msgstr "부드러운 삼각매쉬 충돌"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -808,18 +771,17 @@ msgstr "렌더링"
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "품질"
#: core/project_settings.cpp scene/animation/animation_tree.cpp
#: scene/gui/file_dialog.cpp scene/main/scene_tree.cpp
#: servers/visual_server.cpp
-#, fuzzy
msgid "Filters"
-msgstr "필터:"
+msgstr "필터"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "날카로운 강도"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -835,9 +797,8 @@ msgstr "디버그"
#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Settings"
-msgstr "설정:"
+msgstr "설정"
#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -845,39 +806,36 @@ msgid "Profiler"
msgstr "프로파일러"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "함수 만들기"
+msgstr "최대 함수 수"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Compression"
-msgstr "표현식 설정"
+msgstr "압축"
#: core/project_settings.cpp
-#, fuzzy
msgid "Formats"
msgstr "형식"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd 압축 알고리즘"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "장거리 매칭"
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "압축 레벨"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "창 로그 크기"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr "Zlib"
+msgstr "Zlib 압축 라이브러리"
#: core/project_settings.cpp
msgid "Gzip"
@@ -896,26 +854,24 @@ msgid "TCP"
msgstr "TCP (전송 제어 프로토콜)"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "메서드에 연결:"
+msgstr "연결 타임아웃 시간"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
-msgstr ""
+msgstr "패킷 피어 스트림"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "최대 버퍼 (2의 제곱수)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
-#, fuzzy
msgid "Certificates"
-msgstr "정점:"
+msgstr "인증"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_resource_picker.cpp
@@ -924,9 +880,8 @@ msgid "Resource"
msgstr "리소스"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "씬 닫기"
+msgstr "로컬에서 씬으로"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -945,16 +900,15 @@ msgstr "메시지"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
-msgstr "로케일"
+msgstr "위치"
#: core/translation.cpp
-#, fuzzy
msgid "Test"
msgstr "테스트"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "폴백"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -995,12 +949,12 @@ msgstr "버퍼"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "캔버스 폴리곤 버퍼 크기 (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "캔버스 폴리곤 인덱스 버퍼 크기 (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -1015,9 +969,8 @@ msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Snapping"
-msgstr "스마트 스냅"
+msgstr "스내핑"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -1027,39 +980,37 @@ msgstr "GPU 픽셀 스냅 사용"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "Immediate 버퍼 크기 (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
-#, fuzzy
msgid "Lightmapping"
-msgstr "라이트맵 굽기"
+msgstr "라이트 매핑"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Use Bicubic Sampling"
-msgstr ""
+msgstr "Bicubic 샘플링 사용"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Elements"
-msgstr ""
+msgstr "최대 렌더 요소 수"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "최대 렌더 광원 수"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Max Renderable Reflections"
-msgstr "선택 항목 중앙으로"
+msgstr "최대 렌더 반사 수"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "오브젝트당 최대 광원 수"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
-msgstr ""
+msgstr "서브서피스 산란"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1071,20 +1022,19 @@ msgstr ""
#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/particles_material.cpp
msgid "Scale"
-msgstr "스케일"
+msgstr "크기"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Follow Surface"
-msgstr "표면 채우기"
+msgstr "서피스 따르기"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
-msgstr ""
+msgstr "가중치 샘플"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Voxel Cone Tracing"
-msgstr ""
+msgstr "원뿔 추적"
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
@@ -1092,7 +1042,7 @@ msgstr "고품질"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
-msgstr ""
+msgstr "블렌드 도형 최대 버퍼 크기 (KB)"
#: editor/animation_bezier_editor.cpp
msgid "Free"
@@ -1201,7 +1151,7 @@ msgstr "3D 변형 트랙"
#: editor/animation_track_editor.cpp
msgid "Call Method Track"
-msgstr "호출 메서드 트랙"
+msgstr "메서드 호출 트랙"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
@@ -1256,7 +1206,7 @@ msgstr "이 트랙을 켜기/끄기를 토글합니다."
msgid "Update Mode (How this property is set)"
msgstr "업데이트 모드 (이 속성이 설정되는 방법)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "보간 모드"
@@ -1324,9 +1274,8 @@ msgid "Duplicate Key(s)"
msgstr "키 복제"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add RESET Value(s)"
-msgstr "프레임 %d개 추가"
+msgstr "초기화 값 추가"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
@@ -1355,7 +1304,6 @@ msgstr "애니메이션 트랙 제거"
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editors"
msgstr "에디터"
@@ -1370,9 +1318,8 @@ msgid "Animation"
msgstr "애니메이션"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Confirm Insert Track"
-msgstr "애니메이션 트랙 & 키 삽입"
+msgstr "트랙 삽입하기"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1519,7 +1466,7 @@ msgstr "메서드"
#: editor/animation_track_editor.cpp
msgid "Bezier"
-msgstr ""
+msgstr "베지어"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -1541,9 +1488,8 @@ msgstr ""
"이 설정은 단일 트랙에만 적용 가능하므로 베지어 편집에 사용할 수 없습니다."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Add RESET Keys"
-msgstr "애니메이션 키 스케일"
+msgstr "애니메이션 리셋 키 추가"
#: editor/animation_track_editor.cpp
msgid ""
@@ -1981,7 +1927,7 @@ msgstr "\"%s\" 시그널의 모든 연결을 제거하시겠습니까?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr "시그널"
+msgstr "신호"
#: editor/connections_dialog.cpp
msgid "Filter signals"
@@ -6140,6 +6086,11 @@ msgstr "%s를 눌러 정수로 반올림합니다. Shift를 눌러 좀 더 정
msgid "Flat"
msgstr "플랫 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "콜리전 모드"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "가져올 노드 선택"
@@ -6877,7 +6828,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -12878,7 +12829,7 @@ msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr ""
+msgstr "SSH Passphrase"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
@@ -16051,42 +16002,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "모두 표시"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "라이트"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "왼쪽 넓게"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "테스트"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -17959,7 +17874,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "While"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -20481,6 +20396,11 @@ msgstr "잘못된 폴리곤. 적어도 '솔리드' 빌드 모드에서 점 3개
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr "잘못된 폴리곤. 적어도 '세그먼트' 빌드 모드에서 점 2개가 필요합니다."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22320,7 +22240,7 @@ msgstr "NavMesh 굽기"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24599,6 +24519,11 @@ msgstr "팬 모드"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "보간 모드"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "셰이더 없음 표시"
@@ -24632,11 +24557,6 @@ msgstr "다수 설정:"
msgid "Process Priority"
msgstr "우선 순위 활성화"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "보간 모드"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25348,6 +25268,11 @@ msgstr "이름 있는 구분자"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "색상 연산자."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "색상 항목 이름 바꾸기"
@@ -26154,6 +26079,11 @@ msgstr "집중 모드"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "깊이"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "오프셋:"
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
index e2a4f225ca..4850f0b982 100644
--- a/editor/translations/lt.po
+++ b/editor/translations/lt.po
@@ -81,11 +81,12 @@ msgstr "Atidaryti Skriptų Editorių"
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -93,7 +94,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -105,7 +106,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -119,10 +120,11 @@ msgstr ""
msgid "Position"
msgstr "Sukurti Naują"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -603,6 +605,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1201,7 +1236,7 @@ msgstr "Įrašo koregavimas: įjungtas/ išjungtas."
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpoliacijos režimas"
@@ -5942,6 +5977,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Animacijos Nodas"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Pasirinkite Nodus, kuriuos norite importuoti"
@@ -15816,38 +15856,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20064,6 +20072,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21752,7 +21765,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23861,6 +23874,11 @@ msgid "Pause Mode"
msgstr "TimeScale Nodas"
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpoliacijos režimas"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23891,11 +23909,6 @@ msgstr ""
msgid "Process Priority"
msgstr "Redaguoti Filtrus"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpoliacijos režimas"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -24561,6 +24574,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Versija:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "(Esama)"
@@ -25339,6 +25357,10 @@ msgid "Distance Field"
msgstr "Diegti"
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/lv.po b/editor/translations/lv.po
index 3329f559f5..2d4a4d6eb7 100644
--- a/editor/translations/lv.po
+++ b/editor/translations/lv.po
@@ -9,13 +9,14 @@
# StiLins <aigars.skilins@gmail.com>, 2020.
# Rihards Kubilis <oldcar@inbox.lv>, 2020.
# M E <gruffy7932@gmail.com>, 2021, 2022.
+# D āvis <dlektauers@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-25 15:02+0000\n"
-"Last-Translator: M E <gruffy7932@gmail.com>\n"
+"PO-Revision-Date: 2022-05-07 16:08+0000\n"
+"Last-Translator: D āvis <dlektauers@gmail.com>\n"
"Language-Team: Latvian <https://hosted.weblate.org/projects/godot-engine/"
"godot/lv/>\n"
"Language: lv\n"
@@ -24,16 +25,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= "
"19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.12.1\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "Starpliktuve ir tukša!"
+msgstr "Starpliktuve"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -45,9 +45,8 @@ msgid "Exit Code"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "Iespējot"
+msgstr "V-Sync ieslēgts"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
@@ -72,34 +71,31 @@ msgid "Keep Screen On"
msgstr "Atstāt atkļūdotāju atvērtu"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "Galvenais Skripts:"
+msgstr "Mazākais loga izmērs"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "Galvenais Skripts:"
+msgstr "Lielākais loga izmērs"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "Atvērt dokumentāciju"
+msgstr "Ekrāna orientācija"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
-msgstr "Jauns logs"
+msgstr "Logs"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "Bez apmales"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Pārslēgt Pilnekrānu"
@@ -112,7 +108,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -126,10 +122,11 @@ msgstr ""
msgid "Position"
msgstr "Doka pozīcija"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -171,7 +168,7 @@ msgstr "Fizikas kadrs %"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
-msgstr ""
+msgstr "Kļūda"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -612,6 +609,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Parādīt Visu"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Pa Kreisi, Plašs"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testē"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1209,7 +1242,7 @@ msgstr "Pārslēgt šo celiņu ieslēgts/izslēgts."
msgid "Update Mode (How this property is set)"
msgstr "Atjaunošanas Režīms (Kā šis mainīgais tiek iestatīts)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolācijas režīms"
@@ -6025,6 +6058,11 @@ msgstr ""
msgid "Flat"
msgstr "Plakans 1"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Sadursmes režīms"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15607,41 +15645,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Parādīt Visu"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Pa Kreisi, Plašs"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testē"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19865,6 +19868,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21574,7 +21582,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23721,6 +23729,11 @@ msgstr "Mēroga Režīms"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolācijas režīms"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Parādīt Visu"
@@ -23754,11 +23767,6 @@ msgstr "Uzlikt vairākus:"
msgid "Process Priority"
msgstr "Mēroga Režīms"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolācijas režīms"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -24429,6 +24437,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Atdalījums:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Funkcijas"
@@ -25215,6 +25228,11 @@ msgid "Distance Field"
msgstr "Traucējumu brīvs režīms"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "Dziļums"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/mi.po b/editor/translations/mi.po
index ccf4d87a9c..c5fe6170e1 100644
--- a/editor/translations/mi.po
+++ b/editor/translations/mi.po
@@ -63,11 +63,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -75,7 +76,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -87,7 +88,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -100,10 +101,11 @@ msgstr ""
msgid "Position"
msgstr ""
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -553,6 +555,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1130,7 +1165,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5690,6 +5725,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15154,38 +15193,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19146,6 +19153,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20727,7 +20739,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22674,6 +22686,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22701,10 +22717,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23306,6 +23318,10 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+msgid "Font Separator"
+msgstr ""
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -23986,6 +24002,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/mk.po b/editor/translations/mk.po
index 8a470c73e4..43ff9e4c40 100644
--- a/editor/translations/mk.po
+++ b/editor/translations/mk.po
@@ -72,11 +72,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -84,7 +85,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -96,7 +97,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -109,10 +110,11 @@ msgstr ""
msgid "Position"
msgstr ""
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -567,6 +569,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1144,7 +1179,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5720,6 +5755,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15215,38 +15254,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19230,6 +19237,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20824,7 +20836,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22791,6 +22803,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22819,10 +22835,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23431,6 +23443,11 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
+msgid "Font Separator"
+msgstr "Својства на анимацијата."
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -24120,6 +24137,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/ml.po b/editor/translations/ml.po
index e5e378e680..138b1d6748 100644
--- a/editor/translations/ml.po
+++ b/editor/translations/ml.po
@@ -74,11 +74,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -86,7 +87,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -98,7 +99,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -112,10 +113,11 @@ msgstr ""
msgid "Position"
msgstr "ചലനം ചുറ്റൽ"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -571,6 +573,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1149,7 +1184,7 @@ msgstr "ഈ വഴി ഓ(ണോ/ഫോ) ആക്കുക."
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5733,6 +5768,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15230,38 +15269,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19261,6 +19268,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20867,7 +20879,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22844,6 +22856,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22872,10 +22888,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23496,6 +23508,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "ചലനം ചുറ്റൽ"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "പ്രവൃത്തികൾ:"
@@ -24206,6 +24223,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/mr.po b/editor/translations/mr.po
index d77bbd3c00..acc9653beb 100644
--- a/editor/translations/mr.po
+++ b/editor/translations/mr.po
@@ -71,11 +71,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -83,7 +84,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -95,7 +96,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -109,10 +110,11 @@ msgstr ""
msgid "Position"
msgstr "अ‍ॅनिमेशन ट्री"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -573,6 +575,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1152,7 +1187,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5726,6 +5761,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15228,38 +15267,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19269,6 +19276,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -20887,7 +20899,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22879,6 +22891,10 @@ msgid "Pause Mode"
msgstr "प्ले मोड:"
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22907,10 +22923,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23526,6 +23538,11 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
+msgid "Font Separator"
+msgstr "संक्रमण: "
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -24238,6 +24255,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/ms.po b/editor/translations/ms.po
index 754d3f8667..673ad0ff22 100644
--- a/editor/translations/ms.po
+++ b/editor/translations/ms.po
@@ -86,12 +86,13 @@ msgstr "Saiz:"
msgid "Screen Orientation"
msgstr "Buka Dokumentasi"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Tetingkap Baru"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Piksel Sempadan"
@@ -100,7 +101,7 @@ msgstr "Piksel Sempadan"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Togol Skrin Penuh"
@@ -113,7 +114,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -127,10 +128,11 @@ msgstr ""
msgid "Position"
msgstr "Kedudukan Dok"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -616,6 +618,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Paparkan Semua"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Kiri Lebar"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Menguji"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1218,7 +1256,7 @@ msgstr "Hidupkan / matikan trek ini."
msgid "Update Mode (How this property is set)"
msgstr "Kemas kini Mod (Bagaimana sifat ini ditetapkan)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Mod Interpolasi"
@@ -6103,6 +6141,11 @@ msgstr ""
msgid "Flat"
msgstr "Flat 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Bentuk Perlanggaran Yang Boleh Dilihat"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Pilih Nod(Nod-nod) untuk Diimport"
@@ -15850,41 +15893,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Paparkan Semua"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Kiri Lebar"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Menguji"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20150,6 +20158,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21877,7 +21890,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24049,6 +24062,11 @@ msgstr "Mod Pan"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Mod Interpolasi"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Paparkan Semua"
@@ -24082,11 +24100,6 @@ msgstr "Tetapkan Pelbagai:"
msgid "Process Priority"
msgstr "Mod Alih"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Mod Interpolasi"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -24768,6 +24781,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Versi:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Keluarkan Item"
@@ -25566,6 +25584,11 @@ msgstr "Mod Bebas Gangguan"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Kedalaman"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Grid Offset:"
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index ecbcf6d448..e6f25c2a6a 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -91,11 +91,12 @@ msgstr "Maks Vindustørrelse"
msgid "Screen Orientation"
msgstr "Skjermretning"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Vindu"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Rammeløs"
@@ -103,7 +104,7 @@ msgstr "Rammeløs"
msgid "Per Pixel Transparency Enabled"
msgstr "Per Piksel Gjennomsiktighet Aktivert"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Fullskjerm"
@@ -115,7 +116,7 @@ msgstr "Maksimert"
msgid "Minimized"
msgstr "Minimert"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
#, fuzzy
msgid "Resizable"
@@ -129,10 +130,11 @@ msgstr "Kan Endre Størrelse"
msgid "Position"
msgstr "Posisjon"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -600,6 +602,43 @@ msgstr "Bruk Tilpasset Brukerkatalog"
msgid "Custom User Dir Name"
msgstr "Tilpasset Brukerkatalognavn"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Vis alle"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Lys"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Venstrevisning"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Tester"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1211,7 +1250,7 @@ msgstr "Slå sporet av/på."
msgid "Update Mode (How this property is set)"
msgstr "Oppdateringsmodus (Hvordan denne egenskapen settes)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolasjonsmodus"
@@ -6199,6 +6238,11 @@ msgstr ""
msgid "Flat"
msgstr "Flat0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Kollisjon Modus"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Velg node(r) som skal importeres"
@@ -16448,42 +16492,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Vis alle"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Lys"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Venstrevisning"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Tester"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20893,6 +20901,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22661,7 +22674,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24870,6 +24883,11 @@ msgstr "Panorerings-Modus"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolasjonsmodus"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Vis alle"
@@ -24903,11 +24921,6 @@ msgstr "Sett mange:"
msgid "Process Priority"
msgstr "Rediger Filtre"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolasjonsmodus"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25603,6 +25616,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Nummereringer:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Fjern Gjenstand"
@@ -26406,6 +26424,11 @@ msgstr "Distraksjonsfri Modus"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Dybde"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Avstand:"
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index ca718216df..5fb29c5fcc 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -134,12 +134,13 @@ msgstr "Omlijningsgrootte:"
msgid "Screen Orientation"
msgstr "Scherm operator."
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Nieuw Venster"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Randpixels"
@@ -148,7 +149,7 @@ msgstr "Randpixels"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Volledig scherm"
@@ -162,7 +163,7 @@ msgstr ""
msgid "Minimized"
msgstr "Initialiseren"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -176,10 +177,11 @@ msgstr ""
msgid "Position"
msgstr "Tabbladpositie"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -678,6 +680,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Alles tonen"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Licht"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Linkerbreedte"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testen"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1288,7 +1327,7 @@ msgstr "Schakel deze track aan/uit."
msgid "Update Mode (How this property is set)"
msgstr "Bijwerkmodus (hoe de eigenschap ingesteld wordt)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolatiemodus"
@@ -6208,6 +6247,11 @@ msgstr ""
msgid "Flat"
msgstr "Plat 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Botsingsmodus"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecteer een of meer knopen om te importeren"
@@ -16324,42 +16368,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Alles tonen"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Licht"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Linkerbreedte"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testen"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20789,6 +20797,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22633,7 +22646,7 @@ msgstr "Bak NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24900,6 +24913,11 @@ msgstr "Verschuifmodus"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolatiemodus"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Weergave Zonder Shading"
@@ -24933,11 +24951,6 @@ msgstr "Zet Meerdere:"
msgid "Process Priority"
msgstr "Prioriteit Inschakelen"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolatiemodus"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25646,6 +25659,11 @@ msgstr "Genoemde Sep."
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Color operator."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Class Items Verwijderen"
@@ -26452,6 +26470,11 @@ msgstr "Afleidingsvrijemodus"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Diepte"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Afstand:"
diff --git a/editor/translations/or.po b/editor/translations/or.po
index d8832dfc66..0178876256 100644
--- a/editor/translations/or.po
+++ b/editor/translations/or.po
@@ -69,11 +69,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -81,7 +82,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -93,7 +94,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -106,10 +107,11 @@ msgstr ""
msgid "Position"
msgstr ""
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -559,6 +561,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1136,7 +1171,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5696,6 +5731,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15160,38 +15199,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19152,6 +19159,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20733,7 +20745,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22680,6 +22692,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22707,10 +22723,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23312,6 +23324,10 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+msgid "Font Separator"
+msgstr ""
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -23992,6 +24008,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index 9cb6e1441a..9f087146df 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -59,13 +59,15 @@
# Katarzyna Twardowska <katarina.twardowska@gmail.com>, 2022.
# Mateusz Zdrzałek <matjozohd@gmail.com>, 2022.
# Konrad <kobe-interactive@protonmail.com>, 2022.
+# Pixel Zone - Godot Engine Tutorials <karoltomaszewskimusic@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-04 13:05+0000\n"
-"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 20:00+0000\n"
+"Last-Translator: Pixel Zone - Godot Engine Tutorials "
+"<karoltomaszewskimusic@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
"Language: pl\n"
@@ -74,7 +76,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -128,11 +130,12 @@ msgstr "Maks. rozmiar okna"
msgid "Screen Orientation"
msgstr "Orientacja ekranu"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Okno"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Bez obramowania"
@@ -140,7 +143,7 @@ msgstr "Bez obramowania"
msgid "Per Pixel Transparency Enabled"
msgstr "Włączona przezroczystość na piksel"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Pełny ekran"
@@ -152,7 +155,7 @@ msgstr "Zmaksymalizowane"
msgid "Minimized"
msgstr "Zminimalizowane"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Zmienny rozmiar"
@@ -165,10 +168,11 @@ msgstr "Zmienny rozmiar"
msgid "Position"
msgstr "Pozycja"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -178,7 +182,7 @@ msgstr "Rozmiar"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Zamiana Endian"
#: core/bind/core_bind.cpp
msgid "Editor Hint"
@@ -278,7 +282,7 @@ msgstr "Rozmiar strony"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "Strona czytana z wyprzedzeniem"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
@@ -619,6 +623,43 @@ msgstr "Użyj niestandardowego katalogu użytkownika"
msgid "Custom User Dir Name"
msgstr "Własna nazwa katalogu użytkownika"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Pokaż wszystko"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr "Szerokość"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Światło"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr "Zawsze na wierzchu"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Rozciągnij po lewej"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testowanie"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1198,7 +1239,7 @@ msgstr "Włącz/wyłącz ścieżkę."
msgid "Update Mode (How this property is set)"
msgstr "Sposób odświeżania (jak ta właściwość jest ustawiana)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Sposób interpolacji"
@@ -6107,6 +6148,11 @@ msgstr ""
msgid "Flat"
msgstr "Płaskie 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Tryb kolizji"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Wybierz węzły do importu"
@@ -16069,42 +16115,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Pokaż wszystko"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr "Szerokość"
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Światło"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr "Zawsze na wierzchu"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Rozciągnij po lewej"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testowanie"
-
#: main/main.cpp
#, fuzzy
msgid "DPI"
@@ -20526,6 +20536,11 @@ msgstr ""
"Nieprawidłowy wielokąt. Co najmniej 3 punkty są potrzebne do trybu budowania "
"\"Segments\"."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22385,9 +22400,10 @@ msgid "NavMesh"
msgstr "Przygotuj NavMesh"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"NavigationObstacle służy jedynie do zapewnienia unikania kolizji dla obiektu "
"przestrzennego."
@@ -24680,6 +24696,11 @@ msgstr "Tryb przesuwania"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Sposób interpolacji"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Widok bezcieniowy"
@@ -24713,11 +24734,6 @@ msgstr "Ustaw wiele:"
msgid "Process Priority"
msgstr "Włącz priorytety"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Sposób interpolacji"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25430,6 +25446,11 @@ msgstr "Nazwany separator"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Operator koloru."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Zmień nazwę elementu koloru"
@@ -26239,6 +26260,11 @@ msgstr "Tryb bez rozproszeń"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Głębia"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Przesunięcie:"
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index 95fc632433..3b097a5b8b 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -80,11 +80,12 @@ msgstr "Edit"
msgid "Screen Orientation"
msgstr "Yer functions:"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -92,7 +93,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -104,7 +105,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -118,10 +119,11 @@ msgstr ""
msgid "Position"
msgstr "Discharge ye' Signal"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -598,6 +600,40 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1199,7 +1235,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5933,6 +5969,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Ye be fixin' Signal:"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15834,39 +15875,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Yar, Blow th' Selected Down!"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20103,6 +20111,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21778,7 +21791,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23872,6 +23885,11 @@ msgid "Pause Mode"
msgstr "Slit th' Node"
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Yer functions:"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23902,11 +23920,6 @@ msgstr ""
msgid "Process Priority"
msgstr "Edit yer Variable:"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Yer functions:"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -24569,6 +24582,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Yer functions:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Discharge ye' Variable"
@@ -25338,6 +25356,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/pt.po b/editor/translations/pt.po
index 7cdba4348c..0f00e31cfe 100644
--- a/editor/translations/pt.po
+++ b/editor/translations/pt.po
@@ -91,11 +91,12 @@ msgstr "Tamanho máximo da janela"
msgid "Screen Orientation"
msgstr "Orientação da tela"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Janela"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Sem bordas"
@@ -103,7 +104,7 @@ msgstr "Sem bordas"
msgid "Per Pixel Transparency Enabled"
msgstr "Transparência por pixel ativada"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Tela cheia"
@@ -115,7 +116,7 @@ msgstr "Maximizado"
msgid "Minimized"
msgstr "Minimizado"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Redimensionável"
@@ -128,10 +129,11 @@ msgstr "Redimensionável"
msgid "Position"
msgstr "Posição"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -603,6 +605,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Mostrar Tudo"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Luz"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Esquerda Wide"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Em teste"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1202,7 +1241,7 @@ msgstr "Alternar esta pista on/off."
msgid "Update Mode (How this property is set)"
msgstr "Modo Atualização (Como esta propriedade é definida)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Modo de Interpolação"
@@ -6086,6 +6125,11 @@ msgstr ""
msgid "Flat"
msgstr "Plano 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Modo Colisão"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecionar Nó(s) para Importar"
@@ -16012,42 +16056,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Mostrar Tudo"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Luz"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Esquerda Wide"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Em teste"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20428,6 +20436,11 @@ msgstr ""
"Polígono inválido. São precisos pelo menos 2 pontos no modo de construção "
"'Segmentos'."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22271,9 +22284,10 @@ msgid "NavMesh"
msgstr "Consolidar NavMesh"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"NavigationObstacle serve apenas para fornecer prevenção de colisão a um "
"objeto espacial."
@@ -24559,6 +24573,11 @@ msgstr "Modo deslocamento"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Modo de Interpolação"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Vista sem sombras"
@@ -24592,11 +24611,6 @@ msgstr "Definir Múltiplo:"
msgid "Process Priority"
msgstr "Ativar Prioridade"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Modo de Interpolação"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25310,6 +25324,11 @@ msgstr "Separador Nomeado"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Operador de Cor."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Renomear Item Cor"
@@ -26115,6 +26134,11 @@ msgstr "Modo Livre de Distrações"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Profundidade"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Compensação:"
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index ea8089b407..06f450b222 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -138,13 +138,14 @@
# Douglas S. Elias <douglassantoselias@gmail.com>, 2022.
# Daniel Abrante <danielabrante@protonmail.com>, 2022.
# blue wemes <bluewemes@gmail.com>, 2022.
+# José Miranda Neto <dodimi95@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2022-05-03 07:14+0000\n"
-"Last-Translator: Douglas Leão <djlsplays@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 09:38+0000\n"
+"Last-Translator: José Miranda Neto <dodimi95@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -152,7 +153,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -206,11 +207,12 @@ msgstr "Tamanho Máximo da Janela"
msgid "Screen Orientation"
msgstr "Orientação da Tela"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Janela"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Sem Bordas"
@@ -218,7 +220,7 @@ msgstr "Sem Bordas"
msgid "Per Pixel Transparency Enabled"
msgstr "Transparência Por Pixel Ativada"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Tela Cheia"
@@ -230,7 +232,7 @@ msgstr "Maximizado"
msgid "Minimized"
msgstr "Minimizado"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Redimensionável"
@@ -243,10 +245,11 @@ msgstr "Redimensionável"
msgid "Position"
msgstr "Posição"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -513,7 +516,7 @@ msgstr "Meta"
#: core/os/input_event.cpp
msgid "Command"
-msgstr "Command"
+msgstr "Comando"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
@@ -696,6 +699,43 @@ msgstr "Usar Diretório de Usuário Personalizado"
msgid "Custom User Dir Name"
msgstr "Nome do Diretório de Usuário Personalizado"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Exibir Tudo"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Luz"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Largura Esquerda"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testando"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1276,7 +1316,7 @@ msgstr "Ligar/desligar esta faixa."
msgid "Update Mode (How this property is set)"
msgstr "Modo de Atualização (Como esta propriedade é setada)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Modo de Interpolação"
@@ -6156,6 +6196,11 @@ msgstr ""
msgid "Flat"
msgstr "Plano 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Modo Colisão"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecione Nó(s) para Importar"
@@ -16109,42 +16154,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Exibir Tudo"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Luz"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Largura Esquerda"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testando"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20526,6 +20535,11 @@ msgstr ""
"Polígono inválido. Pelo menos 2 pontos são necessários no modo de construção "
"\"Segmentos\"."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22311,7 +22325,7 @@ msgstr "Bake NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24574,6 +24588,11 @@ msgstr "Modo Panorâmico"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Modo de Interpolação"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Exibir Sem Sombreamento"
@@ -24607,11 +24626,6 @@ msgstr "Definir Múltiplos:"
msgid "Process Priority"
msgstr "Ativar Prioridade"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Modo de Interpolação"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25325,6 +25339,11 @@ msgstr "Separador Nomeado"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Separador de Cor da Fonte"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Renomear Item de Cor"
@@ -26128,6 +26147,11 @@ msgstr "Modo Sem Distrações"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Profundidade"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Deslocamento:"
diff --git a/editor/translations/ro.po b/editor/translations/ro.po
index cce96e98c0..908a718dba 100644
--- a/editor/translations/ro.po
+++ b/editor/translations/ro.po
@@ -17,13 +17,14 @@
# R3ktGamerRO <bluegamermc1@gmail.com>, 2021.
# FlooferLand <yunaflarf@gmail.com>, 2021, 2022.
# N3mEee <n3mebusiness@gmail.com>, 2021.
+# Psynt <nichita@cadvegra.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-29 02:53+0000\n"
-"Last-Translator: FlooferLand <yunaflarf@gmail.com>\n"
+"PO-Revision-Date: 2022-05-15 09:38+0000\n"
+"Last-Translator: Psynt <nichita@cadvegra.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ro/>\n"
"Language: ro\n"
@@ -32,16 +33,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Clipboard"
-msgstr "Clipboardul este gol!"
+msgstr "Clipboard"
#: core/bind/core_bind.cpp
msgid "Current Screen"
@@ -77,47 +77,43 @@ msgid "Keep Screen On"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Min Window Size"
-msgstr "Dimensiunea Conturului:"
+msgstr "Dimensiune Minima"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Max Window Size"
-msgstr "Dimensiunea Conturului:"
+msgstr "Dimensiune Maxima"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "Deschide Recente"
+msgstr "Orientare Ecran"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
-msgstr "Fereastră Nouă"
+msgstr "Fereastră"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr ""
+msgstr "Fara margini"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "Transparenta per Pixel"
-#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
-msgstr "Comutare ecran complet"
+msgstr "Fullscreen"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Maximizat"
#: core/bind/core_bind.cpp
msgid "Minimized"
-msgstr ""
+msgstr "Minimizat"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -127,14 +123,14 @@ msgstr ""
#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp
#: scene/gui/control.cpp scene/gui/line_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Position"
-msgstr "Poziția Dock-ului"
+msgstr "Poziție"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -144,26 +140,23 @@ msgstr "Mărimea"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Inversiune Endian"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Editor Hint"
-msgstr "Editor"
+msgstr "Indiciu Editor"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Iterations Per Second"
-msgstr "Mod Intercalare"
+msgstr "Iteratii pe Secunda"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Target FPS"
-msgstr "Suprafață Țintă:"
+msgstr "Frecvență Țintă"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -221,9 +214,8 @@ msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "Funcții"
+msgstr "Funcție"
#: core/image.cpp core/packed_data_container.cpp
#: modules/minimp3/audio_stream_mp3.cpp
@@ -251,7 +243,7 @@ msgstr "Ștergeți"
#: core/io/file_access_network.cpp
msgid "Page Size"
-msgstr ""
+msgstr "Marime Pagina"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
@@ -262,9 +254,8 @@ msgid "Blocking Mode Enabled"
msgstr ""
#: core/io/http_client.cpp
-#, fuzzy
msgid "Connection"
-msgstr "Conectați"
+msgstr "Conexie"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
@@ -272,7 +263,7 @@ msgstr ""
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr ""
+msgstr "ID Obiect"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
#, fuzzy
@@ -281,7 +272,7 @@ msgstr "Activează Onion Skinning"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Refuza Conexiuni noi pe retea"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
#, fuzzy
@@ -289,19 +280,16 @@ msgid "Network Peer"
msgstr "Analizator Network"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
-msgstr "Redenumește"
+msgstr "Radacina"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "Conectați"
+msgstr "Refuza Conexiuni noi"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "Mod În Jur"
+msgstr "Mod Transfer"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
@@ -618,6 +606,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Afișează Tot"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Stânga liniară"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Se Testează"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1222,7 +1246,7 @@ msgstr "Comutează această pistă pornit/oprit."
msgid "Update Mode (How this property is set)"
msgstr "Modul Actualizare (Cum este setată această proprietate)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Mod Intercalare"
@@ -2188,10 +2212,9 @@ msgstr "Dezvoltator Principal"
#. TRANSLATORS: This refers to a job title.
#: editor/editor_about.cpp
-#, fuzzy
msgctxt "Job Title"
msgid "Project Manager"
-msgstr "Manager de Proiect "
+msgstr "Manager de Proiect"
#: editor/editor_about.cpp
msgid "Developers"
@@ -3234,7 +3257,7 @@ msgstr "Clasă:"
#: editor/editor_help.cpp editor/scene_tree_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Inherits:"
-msgstr "Moștenește:"
+msgstr "Mosteneste:"
#: editor/editor_help.cpp
msgid "Inherited by:"
@@ -6107,6 +6130,11 @@ msgstr ""
msgid "Flat"
msgstr "Plat0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Nod de Animație"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selectează Nodul(rile) pentru Importare"
@@ -14509,10 +14537,9 @@ msgstr ""
#. TRANSLATORS: This refers to the application where users manage their Godot projects.
#: editor/project_manager.cpp
-#, fuzzy
msgctxt "Application"
msgid "Project Manager"
-msgstr "Manager de Proiect "
+msgstr "Manager de Proiect"
#: editor/project_manager.cpp
#, fuzzy
@@ -16222,41 +16249,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Afișează Tot"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Stânga liniară"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Se Testează"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20598,6 +20590,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -20730,9 +20727,8 @@ msgstr "Mască de Emisie"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Sphere Radius"
-msgstr "Sursă de Emisie: "
+msgstr "Sursă de Emisie:"
#: scene/2d/cpu_particles_2d.cpp
msgid "Rect Extents"
@@ -22343,7 +22339,7 @@ msgstr "Mesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24532,6 +24528,11 @@ msgstr "Mod În Jur"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Mod Intercalare"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Afișează Tot"
@@ -24565,11 +24566,6 @@ msgstr "Seteaza Multiple:"
msgid "Process Priority"
msgstr "Editează Filtrele"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Mod Intercalare"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25256,6 +25252,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Enumerări:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Redenumiţi Autoload"
@@ -25945,9 +25946,8 @@ msgid "Distance"
msgstr "Instanță"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Transition"
-msgstr "Tranziție: "
+msgstr "Tranziție:"
#: scene/resources/environment.cpp
msgid "DOF Near Blur"
@@ -26055,6 +26055,11 @@ msgstr "Modul Fără Distrageri"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Adâncime"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Compensare Grilă:"
@@ -26232,9 +26237,8 @@ msgid "Metallic Specular"
msgstr ""
#: scene/resources/material.cpp
-#, fuzzy
msgid "Metallic Texture"
-msgstr "Sursă de Emisie: "
+msgstr "Textura Metalica"
#: scene/resources/material.cpp
msgid "Metallic Texture Channel"
@@ -26270,9 +26274,8 @@ msgid "Emission On UV2"
msgstr "Mască de Emisie"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Emission Texture"
-msgstr "Sursă de Emisie: "
+msgstr "Textura Emisiei"
#: scene/resources/material.cpp
msgid "NormalMap"
@@ -26356,14 +26359,12 @@ msgid "Subsurf Scatter"
msgstr ""
#: scene/resources/material.cpp
-#, fuzzy
msgid "Transmission"
-msgstr "Tranziție: "
+msgstr "Transmisie"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Transmission Texture"
-msgstr "Tranziție: "
+msgstr "Textura Transmisie"
#: scene/resources/material.cpp
#, fuzzy
@@ -26579,9 +26580,8 @@ msgid "Point Texture"
msgstr "Puncte de Emisie:"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Normal Texture"
-msgstr "Sursă de Emisie: "
+msgstr "Textura Normala"
#: scene/resources/particles_material.cpp
#, fuzzy
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index 457ae88277..66d8befc49 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -111,12 +111,13 @@
# Rish Alternative <ii4526668@gmail.com>, 2022.
# MRSEEO <mr.seeo@mail.ru>, 2022.
# Ortje <pappinenart@gmail.com>, 2022.
+# Павел <Humani.apparatus.1960@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-05-05 10:10+0000\n"
+"PO-Revision-Date: 2022-05-17 21:38+0000\n"
"Last-Translator: MRSEEO <mr.seeo@mail.ru>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
@@ -126,7 +127,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -180,11 +181,12 @@ msgstr "Максимальный размер окна"
msgid "Screen Orientation"
msgstr "Ориентация экрана"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Окно"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Без границ"
@@ -192,7 +194,7 @@ msgstr "Без границ"
msgid "Per Pixel Transparency Enabled"
msgstr "Попиксельная прозрачность включена"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Полноэкранный режим"
@@ -204,7 +206,7 @@ msgstr "Максимизировано"
msgid "Minimized"
msgstr "Свёрнуто"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Изменяемый размер"
@@ -217,10 +219,11 @@ msgstr "Изменяемый размер"
msgid "Position"
msgstr "Позиция"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -673,6 +676,39 @@ msgstr "Использовать собственную директорию д
msgid "Custom User Dir Name"
msgstr "Имя собственной директории данных пользователя"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr "Дисплей"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr "Ширина"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr "Высота"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr "Всегда сверху"
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr "Тестовая ширина"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr "Тестовая высота"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -879,7 +915,7 @@ msgstr "Размер журнала окна"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr "Zlib"
+msgstr "Зlib"
#: core/project_settings.cpp
msgid "Gzip"
@@ -1250,7 +1286,7 @@ msgstr "Включить/выключить этот трек."
msgid "Update Mode (How this property is set)"
msgstr "Режим обновления (как это свойство устанавливается)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Режим интерполяции"
@@ -2754,24 +2790,23 @@ msgstr "Формат текстур"
#: editor/editor_export.cpp
msgid "BPTC"
-msgstr ""
+msgstr "BPTC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "S3TC"
-msgstr ""
+msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC"
-msgstr ""
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC2"
-msgstr ""
+msgstr "ETC2"
#: editor/editor_export.cpp
-#, fuzzy
msgid "No BPTC Fallbacks"
-msgstr "Запасной вариант"
+msgstr "Запасной вариант BPTC"
#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -6010,6 +6045,11 @@ msgstr ""
msgid "Flat"
msgstr "Плоская"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Коллайдер"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Выберите узлы для импорта"
@@ -6681,16 +6721,15 @@ msgstr "Управление группами"
#: editor/import/editor_import_collada.cpp
msgid "Collada"
-msgstr "Collada"
+msgstr "ColladA"
#: editor/import/editor_import_collada.cpp
msgid "Use Ambient"
msgstr "Использовать Ambient"
#: editor/import/resource_importer_bitmask.cpp
-#, fuzzy
msgid "Create From"
-msgstr "Создать из"
+msgstr "Сотворить из"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
@@ -6710,9 +6749,8 @@ msgid "Delimiter"
msgstr "Разделитель"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "ColorCorrect"
-msgstr "Цветовая коррекция"
+msgstr "Цветокоррекция"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
@@ -6751,52 +6789,46 @@ msgstr "Анизотропный"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGВ"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "Slices"
-msgstr "Автоматически"
+msgstr "Нарезчик"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
#: scene/resources/style_box.cpp
msgid "Horizontal"
-msgstr "Горизонтальный"
+msgstr "Горизонталь"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp
#: scene/resources/style_box.cpp
msgid "Vertical"
-msgstr "Вертикальный"
+msgstr "Вертикаль"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Generate Tangents"
-msgstr "Генерировать точки"
+msgstr "Генерация касательной"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Scale Mesh"
-msgstr "Режим масштабирования"
+msgstr "Масштаб сетки"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Offset Mesh"
-msgstr "Отступы"
+msgstr "Смещение сетки"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Octahedral Compression"
-msgstr "Сжатие"
+msgstr "Октаэдральный сжатие"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Optimize Mesh Flags"
-msgstr "Флаги размера"
+msgstr "Наилучший флаг сетки"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -6844,24 +6876,20 @@ msgid "Nodes"
msgstr "Узлы"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Type"
-msgstr "Тип возвращаемого значения"
+msgstr "Тип ветви"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Name"
-msgstr "Название внешнего репозитория"
+msgstr "Имя ветви"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Scale"
-msgstr "Масштабировать"
+msgstr "Расширение ветки"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Custom Script"
-msgstr "Пользовательский узел"
+msgstr "Пользовательский Скрипт"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
msgid "Storage"
@@ -6876,64 +6904,54 @@ msgid "Materials"
msgstr "Материалы"
#: editor/import/resource_importer_scene.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "Локализация"
+msgstr "Расположение"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep On Reimport"
-msgstr "Переимпортировать"
+msgstr "Продолжить пересылку"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Meshes"
-msgstr "Меши"
+msgstr "Сетка"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Ensure Tangents"
-msgstr "Вычислить касательные"
+msgstr "Проверить соприкосновение"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Light Baking"
-msgstr "Карты освещения"
+msgstr "запекание света"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Lightmap Texel Size"
-msgstr "Запекание LightMap"
+msgstr "Запекание Lightmap"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Skins"
-msgstr "Скины"
+msgstr "Обложки"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Use Named Skins"
-msgstr "Использовать привязку масштабирования"
+msgstr "Использование заданной обложки"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "External Files"
-msgstr "Внешний"
+msgstr "Внесение файлов"
#: editor/import/resource_importer_scene.cpp
msgid "Store In Subdir"
msgstr "Хранить в поддиректории"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Filter Script"
-msgstr "Фильтр скриптов"
+msgstr "Фильтр сценариев"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep Custom Tracks"
-msgstr "Преобразование"
+msgstr "Использовать пользовательские дорожки"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Optimizer"
msgstr "Оптимизировать"
@@ -6960,19 +6978,16 @@ msgid "Max Angular Error"
msgstr "Максимальная угловая погрешность"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "Угол"
+msgstr "Максимальный Угол"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Remove Unused Tracks"
-msgstr "Удалить дорожку"
+msgstr "Удалить неиспользуемые дорожки"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Clips"
-msgstr "Анимационные клипы"
+msgstr "Клипы"
#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
@@ -7022,27 +7037,24 @@ msgid "Saving..."
msgstr "Сохранение..."
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D, Detect 3D"
-msgstr "Обнаружить 3D"
+msgstr "2D, Обнаружение 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "Залитые пиксели"
+msgstr "2D пиксели"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
msgstr "Качество с потерями"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "HDR Mode"
-msgstr "Режим выделения"
+msgstr "Режим HDR"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
@@ -7051,32 +7063,28 @@ msgid "Normal Map"
msgstr "Карта нормалей"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Process"
-msgstr "Предобработка"
+msgstr "Процесс"
#: editor/import/resource_importer_texture.cpp
msgid "Fix Alpha Border"
msgstr "Исправить альфа-границу"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Premult Alpha"
-msgstr "Редактировать полигон"
+msgstr "Предшествующая Альфа"
#: editor/import/resource_importer_texture.cpp
msgid "Hdr As Srgb"
msgstr "Hdr как Srgb"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Invert Color"
-msgstr "Вершины"
+msgstr "Обращенный цвет"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Normal Map Invert Y"
-msgstr "Карта нормалей"
+msgstr "Инвестирование карты нормалей по Y"
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
@@ -7085,18 +7093,16 @@ msgid "Stream"
msgstr "Поток"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Size Limit"
-msgstr "Лимит"
+msgstr "Размер лимита"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
msgstr "Обнаружить 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "SVG"
-msgstr "CSG"
+msgstr "SVG"
#: editor/import/resource_importer_texture.cpp
msgid ""
@@ -7104,21 +7110,19 @@ msgid ""
"texture will not display correctly on PC."
msgstr ""
"Внимание, в Настройках проекта не включено подходящее сжатие видеопамяти для "
-"ПК. Эта текстура не будет корректно отображаться на ПК."
+"ПК. Эта текстура не будет корректно отображаться."
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Atlas File"
-msgstr "Размер атласа"
+msgstr "Файл атласа"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Import Mode"
-msgstr "Режим импорта"
+msgstr "Режим импортирования"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Crop To Region"
-msgstr "Задать область тайла"
+msgstr "Обрезать края"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Trim Alpha Border From Region"
@@ -7138,41 +7142,35 @@ msgid "Mono"
msgstr "Моно"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate"
-msgstr "Mix узел"
+msgstr "максимальная частота"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate Hz"
-msgstr "Mix узел"
+msgstr "Максимальная частота Hz"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
msgstr "Обрезать"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Normalize"
-msgstr "Нормализованный"
+msgstr "Нормализация"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Mode"
-msgstr "Режим перемещения"
+msgstr "Режим цикла"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Begin"
-msgstr "Режим перемещения"
+msgstr "Начало цикла"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop End"
-msgstr "Режим перемещения"
+msgstr "Конец цикла"
#: editor/import_defaults_editor.cpp
msgid "Select Importer"
@@ -7259,22 +7257,20 @@ msgid "Raw"
msgstr "Без обработки"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Capitalized"
-msgstr "С Заглавных Букв"
+msgstr "Капитализированный"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Localized"
-msgstr "Локаль"
+msgstr "Локализация"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr "Локализация недоступна для текущего языка."
+msgstr "Локализация недоступна для данного языка."
#: editor/inspector_dock.cpp
msgid "Copy Properties"
-msgstr "Копировать свойства"
+msgstr "Копировать характеристики"
#: editor/inspector_dock.cpp
msgid "Paste Properties"
@@ -7811,9 +7807,8 @@ msgid "New"
msgstr "Новый"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Paste As Reference"
-msgstr "Справка по классу %s"
+msgstr "Вставить ссылку"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
@@ -8311,28 +8306,24 @@ msgid "Loading..."
msgstr "Загрузка..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "First"
-msgstr "Первая"
+msgstr "Начальная"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Previous"
-msgstr "Предыдущая"
+msgstr "Предшествующая"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Next"
-msgstr "Следующая"
+msgstr "Последующая"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Last"
-msgstr "Последняя"
+msgstr "крайняя"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "All"
@@ -8380,15 +8371,15 @@ msgstr "Тестируемые"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "Не удалось получить конфигурацию репозитория."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
-msgstr "ZIP файл ассетов"
+msgstr "ZIP файл набора"
#: editor/plugins/audio_stream_editor_plugin.cpp
msgid "Audio Preview Play/Pause"
-msgstr "Аудио превью Старт/Пауза"
+msgstr "Аудио пред прослушивание Старт/Пауза"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid ""
@@ -9309,9 +9300,8 @@ msgid "Swap Gradient Fill Points"
msgstr "Поменять местами точки градиентной заливки"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid Snap"
-msgstr "Переключить сетку"
+msgstr "Переключить привязки сетки"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9547,9 +9537,8 @@ msgstr ""
"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "MeshLibrary"
-msgstr "Библиотека полисеток"
+msgstr "Библиотека сеток"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Add Item"
@@ -10103,7 +10092,7 @@ msgstr "Синхронизация костей с полигоном"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
msgid "Set cast_to"
-msgstr ""
+msgstr "Задать cast_to"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -11774,9 +11763,8 @@ msgstr ""
"Всё равно закрыть?"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Type"
-msgstr "Удалить тайл"
+msgstr "Удалить тип"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
@@ -11820,14 +11808,12 @@ msgstr ""
"Добавьте в него элементы вручную или импортировав из другой темы."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Theme Type"
-msgstr "Добавить тип элемента"
+msgstr "Добавить тип Темы"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Theme Type"
-msgstr "Удалить внешний репозиторий"
+msgstr "Удалить тип Темы"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Color Item"
@@ -12282,9 +12268,8 @@ msgid "Palette Min Width"
msgstr "Минимальная ширина палитры"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Palette Item H Separation"
-msgstr "Горизонтальное разделение элементов палитры"
+msgstr "Разделение элементов в палитре H"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Show Tile Names"
@@ -14052,7 +14037,7 @@ msgstr "Отрисовщик:"
#: editor/project_manager.cpp
msgid "OpenGL ES 3.0"
-msgstr "OpenGL ES 3.0"
+msgstr "ОткрытыйGL ES 3.0"
#: editor/project_manager.cpp
msgid "Not supported by your GPU drivers."
@@ -14072,7 +14057,7 @@ msgstr ""
#: editor/project_manager.cpp
msgid "OpenGL ES 2.0"
-msgstr "OpenGL ES 2.0"
+msgstr "ОткрытыйGL ES 2.0"
#: editor/project_manager.cpp
msgid ""
@@ -15032,17 +15017,15 @@ msgstr "Сделать локальным"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr ""
+msgstr "Имя узла уже использовано в сцене"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name"
-msgstr "Уникальные имена"
+msgstr "Добавить уникальное имя сцене"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "Уникальные имена"
+msgstr "Убрать уникальное имя в сцене"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15118,7 +15101,7 @@ msgstr "Вложенные ресурсы"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "Доступ к уникальному имени сцены"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15259,6 +15242,8 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"Доступ к узлу можно получить из любой точки сцены, предшествовав ему с "
+"префиксом «%s» на пути узла. Нажмите, чтобы отключить"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15917,38 +15902,6 @@ msgstr "Откат к GLES2"
msgid "Use Nvidia Rect Flicker Workaround"
msgstr "Обходить проблему Nvidia Rect Flicker"
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr "Дисплей"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr "Ширина"
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr "Высота"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr "Всегда сверху"
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr "Тестовая ширина"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr "Тестовая высота"
-
#: main/main.cpp
msgid "DPI"
msgstr "DPI"
@@ -16031,7 +15984,7 @@ msgstr "GUI"
#: main/main.cpp
msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
+msgstr "Отключение курсора мыши в интерфейсе"
#: main/main.cpp
msgid "stdout"
@@ -16046,19 +15999,16 @@ msgid "Verbose stdout"
msgstr "Подробный стандартный вывод"
#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-#, fuzzy
msgid "Physics Interpolation"
-msgstr "Режим интерполяции"
+msgstr "физическая интерполяции"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "Включить фильтрацию"
+msgstr "Включить предупреждения"
#: main/main.cpp
-#, fuzzy
msgid "Frame Delay Msec"
-msgstr "Задержка кадра (мс)"
+msgstr "Задержка кадра в Мс"
#: main/main.cpp
msgid "Low Processor Mode"
@@ -16352,9 +16302,8 @@ msgid "Path Node"
msgstr "Узел пути"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Interval Type"
-msgstr "Создать внутреннюю вершину"
+msgstr "Путь типа интервала"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
@@ -16369,14 +16318,12 @@ msgid "Path Rotation"
msgstr "Вращение пути"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Local"
-msgstr "Сделать локальным"
+msgstr "Дополнить локально"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Continuous U"
-msgstr "Непрерывная"
+msgstr "Продолжать дополнть U"
#: modules/csg/csg_shape.cpp
msgid "Path U Distance"
@@ -16403,19 +16350,16 @@ msgid "Always Ordered"
msgstr "Всегда по порядку"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Server Relay"
-msgstr "Релей сервера"
+msgstr "Переключение сервера"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "DTLS Verify"
-msgstr "Проверка DTLS"
+msgstr "Уточнение DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "DTLS Hostname"
-msgstr "Имя хоста DTLS"
+msgstr "Хост имя DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Use DTLS"
@@ -16423,12 +16367,11 @@ msgstr "Использовать DTLS"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
-msgstr ""
+msgstr "ФБХ"
#: modules/fbx/editor_scene_importer_fbx.cpp
-#, fuzzy
msgid "Use FBX"
-msgstr "Использовать FXAA"
+msgstr "Использовать FBX"
#: modules/gdnative/gdnative.cpp
msgid "Config File"
@@ -16519,12 +16462,12 @@ msgstr "Путь иконки"
#: modules/gdnative/register_types.cpp
msgid "GDNative"
-msgstr ""
+msgstr "GDNative Базовый"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
msgid "GDScript"
-msgstr ""
+msgstr "GDScript код"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
@@ -16535,9 +16478,8 @@ msgid "Node Path Color"
msgstr "Цвет пути узла"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Max Call Stack"
-msgstr "Максимальный стек вызовов"
+msgstr "Максимальное чисто вызовов"
#: modules/gdscript/gdscript.cpp
msgid "Treat Warnings As Errors"
@@ -16597,9 +16539,8 @@ msgid "Enable Smart Resolve"
msgstr "Включить интеллектуальное разрешение"
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Show Native Symbols In Editor"
-msgstr "Показывать нативные символы в редакторе"
+msgstr "Показать базовые символы в редакторе"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Use Thread"
@@ -16618,9 +16559,8 @@ msgid "Buffer View"
msgstr "Просмотр буфера"
#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Offset"
-msgstr "Смещение байтов"
+msgstr "Смещение байта"
#: modules/gltf/gltf_accessor.cpp
msgid "Component Type"
@@ -16643,17 +16583,16 @@ msgid "Max"
msgstr "Максимум"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Count"
-msgstr "Добавить экземпляр"
+msgstr "разделенный подсчет"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
-msgstr ""
+msgstr "Посмотреть пересчет буфера"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Byte Offset"
-msgstr ""
+msgstr "Посмотреть пересчет индекс байта"
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -16678,25 +16617,23 @@ msgstr "Длина байта"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Byte Stride"
-msgstr ""
+msgstr "Шаг байта"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Indices"
msgstr "Индексы"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "FOV Size"
-msgstr "Размер FOV"
+msgstr "Область поля зрения"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
-msgstr ""
+msgstr "Отдаление по Z"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "Znear"
-msgstr "Линейный"
+msgstr "приближение по Z"
#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
@@ -20221,6 +20158,11 @@ msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
"Недопустимый полигон. В режиме «Segments» необходимо по крайней мере 2 точки."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22018,9 +21960,10 @@ msgid "NavMesh"
msgstr "Запечь NavMesh"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"NavigationObstacle служит только для предотвращения столкновений с объектом "
"Spatial."
@@ -24272,6 +24215,11 @@ msgstr "Режим осмотра"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "физическая интерполяции"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Режим без теней"
@@ -24304,11 +24252,6 @@ msgstr "Пользовательский мультиплеер"
msgid "Process Priority"
msgstr "Включить приоритет"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Режим интерполяции"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25007,6 +24950,11 @@ msgstr "Именованный разделитель"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Разделитель цветов шрифта"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Цвет кости 1"
@@ -25802,6 +25750,11 @@ msgstr "Режим без отвлечения"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Данные карты"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Отступы"
@@ -27198,7 +27151,7 @@ msgstr "Режим интерполяции"
#: servers/visual_server.cpp
msgid "OpenGL"
-msgstr ""
+msgstr "ОткрытыйGL"
#: servers/visual_server.cpp
msgid "Batching Send Null"
@@ -27218,9 +27171,8 @@ msgid "Legacy Stream"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Batching"
-msgstr "Пакетирование"
+msgstr "Сборка пакета"
#: servers/visual_server.cpp
msgid "Use Batching"
@@ -27264,13 +27216,12 @@ msgid "Flash Batching"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Diagnose Frame"
-msgstr "Вставить кадр"
+msgstr "Диагностика кадров"
#: servers/visual_server.cpp
msgid "GLES2"
-msgstr ""
+msgstr "GLES2"
#: servers/visual_server.cpp
msgid "Compatibility"
diff --git a/editor/translations/si.po b/editor/translations/si.po
index d2bfe44473..5738f29eb9 100644
--- a/editor/translations/si.po
+++ b/editor/translations/si.po
@@ -73,11 +73,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -85,7 +86,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -97,7 +98,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -111,10 +112,11 @@ msgstr ""
msgid "Position"
msgstr "ශ්‍රිත:"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -575,6 +577,40 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "රේඛීය"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1163,7 +1199,7 @@ msgstr "ලුහුබදින්නා සක්‍රිය/අක්‍ර
msgid "Update Mode (How this property is set)"
msgstr "මාදිලිය යාවත් කරන්න (මෙම ගුණාංගය සකසා ඇත්තේ කෙසේද)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "නිවේශන මාදිලිය"
@@ -5784,6 +5820,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "නිවේශන මාදිලිය"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15378,39 +15419,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "රේඛීය"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19477,6 +19485,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21112,7 +21125,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23151,6 +23164,11 @@ msgid "Pause Mode"
msgstr "නිවේශන මාදිලිය"
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "නිවේශන මාදිලිය"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23179,11 +23197,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "නිවේශන මාදිලිය"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23823,6 +23836,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "ශ්‍රිත:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "ශ්‍රිත:"
@@ -24567,6 +24585,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index 0494245043..e6faff29b1 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -86,12 +86,13 @@ msgstr "Veľkosť: "
msgid "Screen Orientation"
msgstr "Popis:"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Nové Okno"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Ohraničené Pixely"
@@ -100,7 +101,7 @@ msgstr "Ohraničené Pixely"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Prepnúť na Celú Obrazovku"
@@ -113,7 +114,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -127,10 +128,11 @@ msgstr ""
msgid "Position"
msgstr "Pozícia Dock-u"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -624,6 +626,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Zobraziť Všetko"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Ľavá Šírka"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Testovanie"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1229,7 +1267,7 @@ msgstr "Zapnúť/Vypnúť tento track."
msgid "Update Mode (How this property is set)"
msgstr "Update Mode (Tak ako je táto možnosť nastavená)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Režim Interpolácie"
@@ -6119,6 +6157,11 @@ msgstr ""
msgid "Flat"
msgstr "Plochý 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Režim Interpolácie"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Vyberte Node(y) pre Importovanie"
@@ -16135,41 +16178,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Zobraziť Všetko"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Ľavá Šírka"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Testovanie"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20501,6 +20509,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22255,7 +22268,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24442,6 +24455,11 @@ msgstr "Pohyb Mód"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Režim Interpolácie"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Zobraziť Všetko"
@@ -24475,11 +24493,6 @@ msgstr "Nastaviť Viac:"
msgid "Process Priority"
msgstr "Súbor:"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Režim Interpolácie"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25164,6 +25177,11 @@ msgstr "Popis:"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Popis:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Všetky vybrané"
@@ -25960,6 +25978,11 @@ msgstr "Režim bez rozptyľovania"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Hĺbka"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Odchýlka Mriežky:"
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index 9bace3e00e..0d6d15a5a2 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -88,11 +88,12 @@ msgstr "Zaženi Skripto"
msgid "Screen Orientation"
msgstr "Odpri Nedavne"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -100,7 +101,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Preklopi na Celozaslonski Način"
@@ -113,7 +114,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -127,10 +128,11 @@ msgstr ""
msgid "Position"
msgstr "Položaj Sidranja"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -624,6 +626,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Zamenjaj Vse"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Linearno"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Preskušanje"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1240,7 +1278,7 @@ msgstr "Preklop način pisanja brez motenj."
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
#, fuzzy
msgid "Interpolation Mode"
msgstr "Animacijski Gradnik"
@@ -6216,6 +6254,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Animacijski Gradnik"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Izberi Gradnik(e) za Uvoz"
@@ -16449,41 +16492,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Zamenjaj Vse"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Linearno"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Preskušanje"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20835,6 +20843,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22581,7 +22594,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24771,6 +24784,11 @@ msgstr "Način Plošče"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Animacijski Gradnik"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Zamenjaj Vse"
@@ -24802,11 +24820,6 @@ msgstr ""
msgid "Process Priority"
msgstr "Uredi Filtre"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Animacijski Gradnik"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25488,6 +25501,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Oštevilčenja:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Odstrani Vse Stvari"
@@ -26284,6 +26302,11 @@ msgstr "Način Brez Motenj"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Globina"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Mrežni Zamik:"
diff --git a/editor/translations/sq.po b/editor/translations/sq.po
index 52a657c799..bb92b3e21f 100644
--- a/editor/translations/sq.po
+++ b/editor/translations/sq.po
@@ -76,11 +76,12 @@ msgstr "Madhësia: "
msgid "Screen Orientation"
msgstr "Hap të Fundit"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -88,7 +89,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Ndrysho Ekranin e Plotë"
@@ -101,7 +102,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -115,10 +116,11 @@ msgstr ""
msgid "Position"
msgstr "Pozicioni i Dokut"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -603,6 +605,40 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Shfaqi të Gjitha"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1202,7 +1238,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -6109,6 +6145,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Format e Përplasjes të Dukshme"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Zgjidh Nyjet Për ti Importuar"
@@ -15985,39 +16026,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Shfaqi të Gjitha"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20268,6 +20276,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21951,7 +21964,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24067,6 +24080,11 @@ msgstr "Luaj Skenën"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Hapi i Fizikës %"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Shfaqi të Gjitha"
@@ -24100,11 +24118,6 @@ msgstr "Vendos të Shumëfishta:"
msgid "Process Priority"
msgstr "Ndrysho Mënyrën"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Hapi i Fizikës %"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -24775,6 +24788,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Enumeracionet:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Hiq Artikullin"
@@ -25555,6 +25573,10 @@ msgid "Distance Field"
msgstr "Metoda Pa Shpërqëndrime"
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po
index 0ffdd6452e..d41f434033 100644
--- a/editor/translations/sr_Cyrl.po
+++ b/editor/translations/sr_Cyrl.po
@@ -82,12 +82,13 @@ msgstr "Величина ивице:"
msgid "Screen Orientation"
msgstr "Заслон оператор."
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Нов Прозор"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Пиксели Оквира"
@@ -96,7 +97,7 @@ msgstr "Пиксели Оквира"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Укљ./Искљ. режим целог екрана"
@@ -110,7 +111,7 @@ msgstr ""
msgid "Minimized"
msgstr "Велика слова"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -124,10 +125,11 @@ msgstr ""
msgid "Position"
msgstr "Позиција панела"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -628,6 +630,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Прикажи нормалу"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "десно"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Поглед с лева"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Тестирање"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
#, fuzzy
@@ -1267,7 +1306,7 @@ msgstr "Укљ./Искљ. режим без сметње."
msgid "Update Mode (How this property is set)"
msgstr "Режим ажурирања (Како је постављена ова особина)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
#, fuzzy
msgid "Interpolation Mode"
msgstr "Анимациони чвор"
@@ -6459,6 +6498,11 @@ msgstr "Држи Ctrl да испустиш Узимача. Држи Shift да
msgid "Flat"
msgstr "Раван0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Анимациони чвор"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Одабери чвор/ове за увоз"
@@ -17649,42 +17693,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Прикажи нормалу"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "десно"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Поглед с лева"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Тестирање"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -22247,6 +22255,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -24130,7 +24143,7 @@ msgstr "Испеци НавМрежу"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -26424,6 +26437,11 @@ msgstr "Режим инспекције"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Анимациони чвор"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Прикажи неосенчен"
@@ -26457,11 +26475,6 @@ msgstr "Постави Више:"
msgid "Process Priority"
msgstr "Уреди филтере"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Анимациони чвор"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -27170,6 +27183,11 @@ msgstr "Иманован Сеп."
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Операције боје."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Обриши ставке класе"
@@ -27976,6 +27994,11 @@ msgstr "Режим без сметње"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Дубина"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Офсет:"
diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po
index 3a98b975bc..977a01df40 100644
--- a/editor/translations/sr_Latn.po
+++ b/editor/translations/sr_Latn.po
@@ -77,11 +77,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -89,7 +90,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -101,7 +102,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -115,10 +116,11 @@ msgstr ""
msgid "Position"
msgstr "Napravi"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -591,6 +593,40 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Leva Široka"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1176,7 +1212,7 @@ msgstr "Uključi/isključi ovu traku."
msgid "Update Mode (How this property is set)"
msgstr "Način Ažuriranja (Kako je ova osobina postavljena)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Način Interpolacije"
@@ -5816,6 +5852,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Napravi"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15409,39 +15450,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Leva Široka"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19559,6 +19567,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -21231,7 +21244,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23306,6 +23319,11 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Način Interpolacije"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23336,11 +23354,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Način Interpolacije"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23990,6 +24003,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Odvajanje:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Funkcija"
@@ -24759,6 +24777,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/sv.po b/editor/translations/sv.po
index 9aaeac846a..c02b1b32b2 100644
--- a/editor/translations/sv.po
+++ b/editor/translations/sv.po
@@ -100,12 +100,13 @@ msgstr "Storlek:"
msgid "Screen Orientation"
msgstr "Öppna Senaste"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Nytt Fönster"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -113,7 +114,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Växla Fullskärm"
@@ -126,7 +127,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -140,10 +141,11 @@ msgstr ""
msgid "Position"
msgstr "Dockposition"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -635,6 +637,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Ersätt Alla"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Höger"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Vy från vänster"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Höger"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1234,7 +1273,7 @@ msgstr "Ändra spårets läge till på/av."
msgid "Update Mode (How this property is set)"
msgstr "Uppdateringsläge (Hur denna egenskap sätts)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Interpolationsläge"
@@ -6139,6 +6178,11 @@ msgstr ""
msgid "Flat"
msgstr "Platt 1"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Animations-Node"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Välj Nod(er) att Importera"
@@ -16221,42 +16265,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Ersätt Alla"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Höger"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Vy från vänster"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Höger"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20572,6 +20580,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22332,7 +22345,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24516,6 +24529,11 @@ msgstr "Växla Läge"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Interpolationsläge"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Ersätt Alla"
@@ -24549,11 +24567,6 @@ msgstr "Sätt Flera:"
msgid "Process Priority"
msgstr "Redigera Filter"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Interpolationsläge"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25236,6 +25249,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Sektioner:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Byt namn på Node"
@@ -26029,6 +26047,11 @@ msgid "Distance Field"
msgstr "Distraktionsfritt Läge"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "Höger"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/ta.po b/editor/translations/ta.po
index dea2dbaa15..e51596cbfa 100644
--- a/editor/translations/ta.po
+++ b/editor/translations/ta.po
@@ -75,11 +75,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -87,7 +88,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -99,7 +100,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -113,10 +114,11 @@ msgstr ""
msgid "Position"
msgstr "மாற்றங்களை இதற்கு அமை:"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -582,6 +584,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1171,7 +1206,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5785,6 +5820,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "முடக்கப்பட்டது"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15364,38 +15404,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19451,6 +19459,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -21082,7 +21095,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23095,6 +23108,11 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "அசைவூட்டு பாதை [interpolation]யை மாற்று"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23124,10 +23142,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23766,6 +23780,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "மாற்றங்களை இதற்கு அமை:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "அனைத்து தேர்வுகள்"
@@ -24510,6 +24529,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/te.po b/editor/translations/te.po
index e4f9d88d87..8fbfa32f91 100644
--- a/editor/translations/te.po
+++ b/editor/translations/te.po
@@ -70,11 +70,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -82,7 +83,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -94,7 +95,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -107,10 +108,11 @@ msgstr ""
msgid "Position"
msgstr ""
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -566,6 +568,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1144,7 +1179,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5707,6 +5742,10 @@ msgstr ""
msgid "Flat"
msgstr "ఫ్లాట్ 1"
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15184,38 +15223,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19206,6 +19213,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20799,7 +20811,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22766,6 +22778,11 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "గణనలు"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22793,11 +22810,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "గణనలు"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23402,6 +23414,11 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
+msgid "Font Separator"
+msgstr "గణనలు"
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -24097,6 +24114,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/th.po b/editor/translations/th.po
index d9e7bddaf7..aafef8492b 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -89,12 +89,13 @@ msgstr "ขนาดเส้นรอบรูป:"
msgid "Screen Orientation"
msgstr "ดำเนินการ Screen"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "หน้าต่างใหม่"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "พิกเซลขอบ"
@@ -103,7 +104,7 @@ msgstr "พิกเซลขอบ"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "เปิด/ปิด โหมดเต็มหน้าจอ"
@@ -117,7 +118,7 @@ msgstr ""
msgid "Minimized"
msgstr "เริ่มต้น"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -131,10 +132,11 @@ msgstr ""
msgid "Position"
msgstr "ตำแหน่งแผง"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -632,6 +634,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "แสดงทั้งหมด"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "แสง"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "ความกว้างซ้าย"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "กำลังทดสอบ"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1247,7 +1286,7 @@ msgstr "เปิด/ปิดแทร็กนี้"
msgid "Update Mode (How this property is set)"
msgstr "โหมดอัพเดท (คุณสมบัตินี้ถูกตั้งค่าได้อย่างไร)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "โหมดการแก้ไข"
@@ -6132,6 +6171,11 @@ msgstr ""
msgid "Flat"
msgstr "Flat 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "โหมดขอบเขตการชน"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "เลือกโหนดเพื่อนำเข้า"
@@ -16136,42 +16180,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "แสดงทั้งหมด"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "แสง"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "ความกว้างซ้าย"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "กำลังทดสอบ"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20557,6 +20565,11 @@ msgstr "โพลีกอนไม่ถูกต้อง ต้องมี
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr "โพลีกอนไม่ถูกต้อง ต้องมีอย่างน้อย 2 จุด ในโหมดการสร้างแบบ 'Segments'"
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22370,7 +22383,7 @@ msgstr "Bake NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24621,6 +24634,11 @@ msgstr "โหมดมุมมอง"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "โหมดการแก้ไข"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "แสดงแบบไร้เงา"
@@ -24654,11 +24672,6 @@ msgstr "กำหนด หลายอย่าง:"
msgid "Process Priority"
msgstr "เปิดการจัดลำดับความสำคัญ"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "โหมดการแก้ไข"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25365,6 +25378,11 @@ msgstr "หมวดชื่อ"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "การดำเนินการสี"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "ลบไอเทมคลาส"
@@ -26171,6 +26189,11 @@ msgstr "โหมดไร้สิ่งรบกวน"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "ความลึก"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "เลื่อน:"
diff --git a/editor/translations/tl.po b/editor/translations/tl.po
index db596952bf..7aa93a5aff 100644
--- a/editor/translations/tl.po
+++ b/editor/translations/tl.po
@@ -73,11 +73,12 @@ msgstr "Pinakamalaking Laki ng Window"
msgid "Screen Orientation"
msgstr "Pagkakatayo ng Screen"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Walang Kuwadro"
@@ -85,7 +86,7 @@ msgstr "Walang Kuwadro"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Pumalit sa Buong Tabing"
@@ -99,7 +100,7 @@ msgstr ""
msgid "Minimized"
msgstr "Simulan"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -113,10 +114,11 @@ msgstr ""
msgid "Position"
msgstr "Idaong Ang Posisyon"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -604,6 +606,41 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Ipakita Lahat"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Sinusubukan"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1200,7 +1237,7 @@ msgstr "Ipalit sa on/off ang track na ito."
msgid "Update Mode (How this property is set)"
msgstr "Paraan ng Pag-update (Kung papano inayos ang katangian na ito)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Paraang Interpolasyon"
@@ -5933,6 +5970,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Nakikitang Collision Shapes"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Pumili ng (mga) Node na Iaangkat"
@@ -15547,40 +15589,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Ipakita Lahat"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Sinusubukan"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19804,6 +19812,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21523,7 +21536,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23683,6 +23696,11 @@ msgstr "Paraan ng Pag-pan"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Paraang Interpolasyon"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Ipakita Lahat"
@@ -23716,11 +23734,6 @@ msgstr "Magtakda ng Marami:"
msgid "Process Priority"
msgstr "Pagpapahalaga"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Paraang Interpolasyon"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -24397,6 +24410,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Animasyon"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Pumili ng Kulay"
@@ -25190,6 +25208,11 @@ msgstr "Instance:"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Lalim"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Usog:"
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index 3de35b0487..cd0beeeb00 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -146,12 +146,13 @@ msgstr "Maksimum Ekran Boyutu"
msgid "Screen Orientation"
msgstr "Ekran Oryantasyonu"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
#, fuzzy
msgid "Window"
msgstr "Yeni Pencere"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Borderless"
msgstr "Kenar Pikselleri"
@@ -160,7 +161,7 @@ msgstr "Kenar Pikselleri"
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "Tam Ekranı Aç/Kapat"
@@ -174,7 +175,7 @@ msgstr ""
msgid "Minimized"
msgstr "Etkinleştir"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -188,10 +189,11 @@ msgstr ""
msgid "Position"
msgstr "Dock Pozisyonu"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -689,6 +691,43 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Hepsini Görüntüle"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "Işık"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Soldan Görünüm"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Deneme"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1298,7 +1337,7 @@ msgstr "Bu parçayı Aç/Kapat."
msgid "Update Mode (How this property is set)"
msgstr "Güncelleme Kipi (Bu özellik nasıl belirlenir)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Ara Değerleme Kipi"
@@ -6220,6 +6259,11 @@ msgstr ""
msgid "Flat"
msgstr "Sade 0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Temas Kipi"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Düğüm(leri) içe Aktarmak için Seç"
@@ -16157,42 +16201,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Hepsini Görüntüle"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "Işık"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Soldan Görünüm"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Deneme"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20581,6 +20589,11 @@ msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
"Geçersiz çokgen. 'Segments' oluşturma modunda en az 2 nokta gereklidir."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22433,7 +22446,7 @@ msgstr "NavMesh'i Sabitle"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24722,6 +24735,11 @@ msgstr "Kaydırma Biçimi"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Ara Değerleme Kipi"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Gölgesiz Görüntüle"
@@ -24755,11 +24773,6 @@ msgstr "Çoklu Ayarla:"
msgid "Process Priority"
msgstr "Önceliklemeyi Etkinleştir"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Ara Değerleme Kipi"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25472,6 +25485,11 @@ msgstr "İsimli Ayraç"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Renk operatörü."
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Renk Öğesini Yeniden Adlandır"
@@ -26278,6 +26296,11 @@ msgstr "Dikkat Dağıtmayan Kip"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Derinlik"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Kaydırma:"
diff --git a/editor/translations/tt.po b/editor/translations/tt.po
index a7d9a7c15e..c880c08ace 100644
--- a/editor/translations/tt.po
+++ b/editor/translations/tt.po
@@ -70,11 +70,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -82,7 +83,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -94,7 +95,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -107,10 +108,11 @@ msgstr ""
msgid "Position"
msgstr ""
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -563,6 +565,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1140,7 +1175,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5701,6 +5736,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15168,38 +15207,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19162,6 +19169,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20744,7 +20756,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22692,6 +22704,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22719,10 +22735,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23325,6 +23337,10 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+msgid "Font Separator"
+msgstr ""
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -24006,6 +24022,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/tzm.po b/editor/translations/tzm.po
index 2139691a5f..46c5660298 100644
--- a/editor/translations/tzm.po
+++ b/editor/translations/tzm.po
@@ -70,11 +70,12 @@ msgstr ""
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -82,7 +83,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -94,7 +95,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -107,10 +108,11 @@ msgstr ""
msgid "Position"
msgstr ""
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -561,6 +563,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1138,7 +1173,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5699,6 +5734,10 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+msgid "Hide Slider"
+msgstr ""
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15166,38 +15205,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19160,6 +19167,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr ""
@@ -20742,7 +20754,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -22694,6 +22706,10 @@ msgid "Pause Mode"
msgstr ""
#: scene/main/node.cpp
+msgid "Physics Interpolation Mode"
+msgstr ""
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -22721,10 +22737,6 @@ msgstr ""
msgid "Process Priority"
msgstr ""
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr ""
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -23326,6 +23338,10 @@ msgid "Labeled Separator Right"
msgstr ""
#: scene/resources/default_theme/default_theme.cpp
+msgid "Font Separator"
+msgstr ""
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr ""
@@ -24008,6 +24024,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index 29dd720e91..6a1f0396e5 100644
--- a/editor/translations/uk.po
+++ b/editor/translations/uk.po
@@ -28,8 +28,8 @@ msgstr ""
"Project-Id-Version: Ukrainian (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-28 11:12+0000\n"
-"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"PO-Revision-Date: 2022-05-17 17:18+0000\n"
+"Last-Translator: Мирослав <hlopukmyroslav@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
"Language: uk\n"
@@ -38,7 +38,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.13-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -92,11 +92,12 @@ msgstr "Макс. розмір вікна"
msgid "Screen Orientation"
msgstr "Орієнтація екрана"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Вікно"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Без рамки"
@@ -104,7 +105,7 @@ msgstr "Без рамки"
msgid "Per Pixel Transparency Enabled"
msgstr "Увімкнено прозорість за пікселями"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "На весь екран"
@@ -116,7 +117,7 @@ msgstr "Максимізовано"
msgid "Minimized"
msgstr "Мінімізовано"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Зі зміною розміру"
@@ -129,10 +130,11 @@ msgstr "Зі зміною розміру"
msgid "Position"
msgstr "Розташування"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -586,6 +588,39 @@ msgstr "Нетиповий каталог користувача"
msgid "Custom User Dir Name"
msgstr "Нетипова назва каталогу користувача"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr "Показ"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr "Ширина"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr "Висота"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr "Завжди згори"
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr "Перевірити ширину"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr "Перевірити висоту"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1163,7 +1198,7 @@ msgstr "Увімкнути або вимкнути цю доріжку."
msgid "Update Mode (How this property is set)"
msgstr "Оновити режим (спосіб встановлення цієї властивості)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Режим інтерполяції"
@@ -5935,6 +5970,11 @@ msgstr ""
msgid "Flat"
msgstr "Плоска"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Повзунок"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Виберіть вузол(вузли) для імпорту"
@@ -6880,7 +6920,7 @@ msgstr "Кліпи"
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
#: scene/3d/particles.cpp scene/resources/environment.cpp
msgid "Amount"
-msgstr "Величина"
+msgstr "Кількість"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
@@ -15809,38 +15849,6 @@ msgstr "Резервний GLES2"
msgid "Use Nvidia Rect Flicker Workaround"
msgstr "Обхідний шлях для усування блимання прямокутників на Nvidia"
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr "Показ"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr "Ширина"
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr "Висота"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr "Завжди згори"
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr "Перевірити ширину"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr "Перевірити висоту"
-
#: main/main.cpp
msgid "DPI"
msgstr "Роздільність"
@@ -19957,6 +19965,11 @@ msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
"Некоректний полігон. У режимі збирання «Segments» потрібні принаймні 2 точки."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr "Режим вимірювання"
@@ -21435,7 +21448,7 @@ msgstr "Пласкість"
#: scene/3d/cull_instance.cpp servers/visual_server.cpp
msgid "Portals"
-msgstr "Віддзеркалити портали"
+msgstr "Портали"
#: scene/3d/cull_instance.cpp
msgid "Portal Mode"
@@ -21618,9 +21631,10 @@ msgid "NavMesh"
msgstr "Запекти NavMesh"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
"NavigationObstacle призначено лише для забезпечення засобів уникнення "
"зіткнення для просторового об'єкта."
@@ -23659,6 +23673,11 @@ msgid "Pause Mode"
msgstr "Режим панорамування"
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Режим інтерполяції"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr "Перегляд без тіней"
@@ -23687,10 +23706,6 @@ msgstr "Нетипові параметри гри з багатьма грав
msgid "Process Priority"
msgstr "Пріоритетність процесу"
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr "Інтерпольована фізика"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr "Залишилось часу"
@@ -24323,6 +24338,11 @@ msgstr "Іменований роздільник"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Колір шрифту роздільника"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Колір кісток 1"
@@ -24784,7 +24804,7 @@ msgstr "Ідентифікатор живлення камери"
#: scene/resources/environment.cpp
msgid "Ambient Light"
-msgstr "Збільшити відступ"
+msgstr "Навколишнє світло"
#: scene/resources/environment.cpp
msgid "Sky Contribution"
@@ -25027,6 +25047,11 @@ msgid "Distance Field"
msgstr "Поле відстані"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "Дані карти"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr "Зміщення"
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index 6eee3eac1b..45876f3cd6 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -77,11 +77,12 @@ msgstr "سب سکریپشن بنائیں"
msgid "Screen Orientation"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -89,7 +90,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr ""
@@ -101,7 +102,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -115,10 +116,11 @@ msgstr ""
msgid "Position"
msgstr ".تمام کا انتخاب"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -591,6 +593,39 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr ""
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1179,7 +1214,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr ""
@@ -5877,6 +5912,11 @@ msgstr ""
msgid "Flat"
msgstr "فلیٹ 1"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "سب سکریپشن بنائیں"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -15699,38 +15739,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr ""
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr ""
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -19904,6 +19912,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -21571,7 +21584,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -23638,6 +23651,11 @@ msgid "Pause Mode"
msgstr "ایکشن منتقل کریں"
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "گنتی"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr ""
@@ -23668,11 +23686,6 @@ msgstr ""
msgid "Process Priority"
msgstr "ایکشن منتقل کریں"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "گنتی"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr ""
@@ -24327,6 +24340,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr ".تمام کا انتخاب"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr ".تمام کا انتخاب"
@@ -25090,6 +25108,10 @@ msgid "Distance Field"
msgstr ""
#: scene/resources/gradient.cpp
+msgid "Raw Data"
+msgstr ""
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/vi.po b/editor/translations/vi.po
index 4ab12f669d..276dbc7b3a 100644
--- a/editor/translations/vi.po
+++ b/editor/translations/vi.po
@@ -20,13 +20,14 @@
# SyliawDeV <thanhlongstranger@gmail.com>, 2021.
# IoeCmcomc <hopdaigia2004@gmail.com>, 2021, 2022.
# Hung <hungthitkhia@gmail.com>, 2021.
+# Paweł Fertyk <pfertyk@pfertyk.me>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-25 15:02+0000\n"
-"Last-Translator: IoeCmcomc <hopdaigia2004@gmail.com>\n"
+"PO-Revision-Date: 2022-05-10 13:14+0000\n"
+"Last-Translator: Paweł Fertyk <pfertyk@pfertyk.me>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/"
"godot/vi/>\n"
"Language: vi\n"
@@ -34,7 +35,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.12.1\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -89,11 +90,12 @@ msgstr "Cỡ cửa sổ tối đa"
msgid "Screen Orientation"
msgstr "Hướng xoay màn hình"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "Cửa sổ"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "Tràn viền"
@@ -101,7 +103,7 @@ msgstr "Tràn viền"
msgid "Per Pixel Transparency Enabled"
msgstr "Bật độ trong suốt mỗi điểm ảnh"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "Toàn màn hình"
@@ -113,7 +115,7 @@ msgstr "Đã cực đại hoá"
msgid "Minimized"
msgstr "Đã cực tiểu hoá"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "Đổi kích cỡ được"
@@ -126,10 +128,11 @@ msgstr "Đổi kích cỡ được"
msgid "Position"
msgstr "Vị trí"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -588,6 +591,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "Hiển thị tất cả"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr "Chiều rộng"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr "Chiều cao"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "Rộng bên trái"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "Kiểm tra"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1174,7 +1213,7 @@ msgstr "Bật/tắt kênh này."
msgid "Update Mode (How this property is set)"
msgstr "Cập nhật chế độ (Cách thuộc tính được thiết lập)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "Nội suy"
@@ -1760,7 +1799,7 @@ msgid ""
"target node."
msgstr ""
"Phương thức không được tìm thấy. Chỉ định phương thức hợp lệ hoặc đính kèm "
-"tập lệnh vào nút."
+"tập lệnh vào nút mục tiêu."
#: editor/connections_dialog.cpp
msgid "Connect to Node:"
@@ -5967,6 +6006,11 @@ msgstr "Giữ Ctrl để làm tròn về số nguyên. Giữ Shift để sửa t
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "Chế độ va chạm"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Chọn Nút để Nhập"
@@ -14947,9 +14991,8 @@ msgid "Paste Node(s)"
msgstr "Dán các nút"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Detach Script"
-msgstr "Đính kèm Script"
+msgstr "Tách tập lệnh ra"
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
@@ -15122,7 +15165,7 @@ msgstr "Không thể thực hiện thao tác này trên Cảnh được khởi t
#: editor/scene_tree_dock.cpp
msgid "Attach Script"
-msgstr "Đính kèm Script"
+msgstr "Đính kèm tập lệnh"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -15178,8 +15221,8 @@ msgid ""
"This is probably because this editor was built with all language modules "
"disabled."
msgstr ""
-"Không thể đính kèm tệp lệnh: Không ghi nhận thấy ngôn ngữ nào.\n"
-"Vấn đề có thể là do các module ngôn ngữ bị vô hiệu hóa khi trình biên tập "
+"Không thể đính kèm tập lệnh: Không ghi nhận thấy ngôn ngữ nào.\n"
+"Vấn đề có thể là do các mô đun ngôn ngữ bị vô hiệu hóa khi trình chỉnh sửa "
"này được xây dựng."
#: editor/scene_tree_dock.cpp
@@ -15231,9 +15274,8 @@ msgstr ""
"Tệp tin cảnh giống như một nút. Tạo một cảnh kế thừa nếu nó không có nút gốc."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Attach a new or existing script to the selected node."
-msgstr "Đính kèm một tệp lệnh cho nút đã chọn."
+msgstr "Đính kèm một tập lệnh cho nút đã chọn."
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -15514,7 +15556,7 @@ msgstr "Tệp lệnh có sẵn:"
#: editor/script_create_dialog.cpp
msgid "Attach Node Script"
-msgstr "Đính kèm lệnh cho nút"
+msgstr "Đính kèm tập lệnh của nút"
#: editor/script_editor_debugger.cpp
msgid "Remote "
@@ -15995,41 +16037,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "Hiển thị tất cả"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr "Chiều rộng"
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr "Chiều cao"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "Rộng bên trái"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "Kiểm tra"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -17616,7 +17623,7 @@ msgstr "Tên không phải định danh hợp lệ:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Name already in use by another func/var/signal:"
-msgstr "Tên đã được sử dụng bởi func/var/singal khác:"
+msgstr "Tên đã được sử dụng bởi func/var/signal khác:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Function"
@@ -20419,6 +20426,11 @@ msgstr "Đa giác không hợp lệ. Cần ít nhất 3 điểm trong chế đ
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr "Đa giác không hợp lệ. Cần ít nhất 2 điểm trong chế độ dựng 'Segments'."
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22237,7 +22249,7 @@ msgstr "Lưới"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24456,6 +24468,11 @@ msgstr "Chế độ Xoay"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "Nội suy"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "Hiển thị tất cả"
@@ -24489,11 +24506,6 @@ msgstr "Gán nhiều:"
msgid "Process Priority"
msgstr "Chỉnh độ ưu tiên của ô"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "Nội suy"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25193,6 +25205,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "Thu phóng (theo tỉ lệ):"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "Xóa mục Lớp"
@@ -25993,6 +26010,11 @@ msgstr "Chế độ tập trung"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "Chiều sâu"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "Độ dời:"
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index e1ec7d79d6..71413f6120 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -89,7 +89,7 @@ msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2022-04-28 11:12+0000\n"
+"PO-Revision-Date: 2022-05-07 05:11+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
@@ -98,7 +98,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 4.12.1\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -152,11 +152,12 @@ msgstr "窗口最大大小"
msgid "Screen Orientation"
msgstr "窗口朝向"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "窗口"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "无边框"
@@ -164,7 +165,7 @@ msgstr "无边框"
msgid "Per Pixel Transparency Enabled"
msgstr "启用像素级透明"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "全屏"
@@ -176,7 +177,7 @@ msgstr "最大化"
msgid "Minimized"
msgstr "最小化"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "可调整大小"
@@ -189,10 +190,11 @@ msgstr "可调整大小"
msgid "Position"
msgstr "位置"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -642,6 +644,39 @@ msgstr "使用自定义用户目录"
msgid "Custom User Dir Name"
msgstr "自定义用户目录名称"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+msgid "Display"
+msgstr "显示"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr "宽度"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr "高度"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr "置顶"
+
+#: core/project_settings.cpp
+msgid "Test Width"
+msgstr "测试宽度"
+
+#: core/project_settings.cpp
+msgid "Test Height"
+msgstr "测试高度"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1219,7 +1254,7 @@ msgstr "切换该轨道的开关。"
msgid "Update Mode (How this property is set)"
msgstr "更新模式(设置属性的方式)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "插值模式"
@@ -5880,6 +5915,11 @@ msgstr "按住 %s 取整。 按住 Shift 获取更精确的变化。"
msgid "Flat"
msgstr "扁平"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "滑动条"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "选择要导入的节点"
@@ -6563,7 +6603,6 @@ msgid "Delimiter"
msgstr "分隔符"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "ColorCorrect"
msgstr "颜色校正"
@@ -6852,14 +6891,12 @@ msgid "Saving..."
msgstr "保存中..."
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D, Detect 3D"
-msgstr "检测 3D"
+msgstr "2D、检测 3D"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "实体像素"
+msgstr "2D 像素"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
@@ -8171,7 +8208,7 @@ msgstr "测试"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "获取仓库配置失败。"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -9866,7 +9903,7 @@ msgstr "同步骨骼到多边形"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
msgid "Set cast_to"
-msgstr ""
+msgstr "设置 cast_to"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -14683,17 +14720,15 @@ msgstr "转为本地"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr ""
+msgstr "该场景中已有使用该唯一名称的节点。"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name"
-msgstr "唯一名称"
+msgstr "启用场景唯一名称"
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "唯一名称"
+msgstr "禁用场景唯一名称"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -14767,7 +14802,7 @@ msgstr "子资源"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "作为场景唯一名称访问"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -14903,6 +14938,8 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"这个节点可以在场景中的任意位置通过在节点路径中为其加上“%s”前缀来访问。\n"
+"点击禁用。"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15556,38 +15593,6 @@ msgstr "回退至 GLES2"
msgid "Use Nvidia Rect Flicker Workaround"
msgstr "使用 Nvidia 矩形闪烁变通措施"
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-msgid "Display"
-msgstr "显示"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr "宽度"
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr "高度"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr "置顶"
-
-#: main/main.cpp
-msgid "Test Width"
-msgstr "测试宽度"
-
-#: main/main.cpp
-msgid "Test Height"
-msgstr "测试高度"
-
#: main/main.cpp
msgid "DPI"
msgstr "DPI"
@@ -15689,9 +15694,8 @@ msgid "Physics Interpolation"
msgstr "物理插值"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "启用筛选"
+msgstr "启用警告"
#: main/main.cpp
msgid "Frame Delay Msec"
@@ -19184,9 +19188,8 @@ msgid "Digest Algorithm"
msgstr "摘要算法"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Modify Resources"
-msgstr "复制资源"
+msgstr "修改资源"
#: platform/windows/export/export.cpp
msgid "File Version"
@@ -19593,6 +19596,11 @@ msgstr "多边形无效。“Solids”构建模式需要至少三个点。"
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr "多边形无效。“Segments”构建模式需要至少两个点。"
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
msgid "Build Mode"
msgstr "构建模式"
@@ -21208,14 +21216,14 @@ msgstr ""
"提供导航数据。"
#: scene/3d/navigation_mesh_instance.cpp
-#, fuzzy
msgid "NavMesh"
-msgstr "烘焙导航网格"
+msgstr "导航网格"
#: scene/3d/navigation_obstacle.cpp
+#, fuzzy
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr "NavigationObstacle 只能用于为 Spatial 对象避免碰撞。"
#: scene/3d/occluder.cpp
@@ -23191,6 +23199,8 @@ msgid ""
"Setting node name '%s' to be unique within scene for '%s', but it's already "
"claimed by '%s'. This node is no longer set unique."
msgstr ""
+"正在将场景中的唯一节点名称“%s”设给“%s”,但该名称已被“%s”占用。这个节点不再唯"
+"一。"
#: scene/main/node.cpp
msgid "Name Num Separator"
@@ -23213,13 +23223,17 @@ msgid "Pause Mode"
msgstr "暂停模式"
#: scene/main/node.cpp
+#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "物理插值"
+
+#: scene/main/node.cpp
msgid "Display Folded"
msgstr "显示折叠"
#: scene/main/node.cpp
-#, fuzzy
msgid "Unique Name In Owner"
-msgstr "唯一名称"
+msgstr "所有者唯一名称"
#: scene/main/node.cpp
msgid "Filename"
@@ -23241,10 +23255,6 @@ msgstr "自定义多人"
msgid "Process Priority"
msgstr "处理优先级"
-#: scene/main/node.cpp
-msgid "Physics Interpolated"
-msgstr "物理插值"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Time Left"
msgstr "剩余时间"
@@ -23852,6 +23862,11 @@ msgid "Labeled Separator Right"
msgstr "带名称分隔线右侧"
#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
+msgid "Font Separator"
+msgstr "分隔线字体颜色"
+
+#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Accel"
msgstr "快捷键字体颜色"
@@ -24532,6 +24547,11 @@ msgid "Distance Field"
msgstr "距离场"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "地图数据"
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr "偏移"
@@ -25133,7 +25153,7 @@ msgstr "扩展边距"
#: scene/resources/style_box.cpp
msgid "Skew"
-msgstr ""
+msgstr "偏斜"
#: scene/resources/style_box.cpp
msgid "Corner Radius"
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index da22ae2254..5d38b98427 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -79,11 +79,12 @@ msgstr "下一個腳本"
msgid "Screen Orientation"
msgstr "開啓最近的"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr ""
@@ -91,7 +92,7 @@ msgstr ""
msgid "Per Pixel Transparency Enabled"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
msgid "Fullscreen"
msgstr "全螢幕"
@@ -104,7 +105,7 @@ msgstr ""
msgid "Minimized"
msgstr ""
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr ""
@@ -118,10 +119,11 @@ msgstr ""
msgid "Position"
msgstr "只限選中"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -609,6 +611,42 @@ msgstr ""
msgid "Custom User Dir Name"
msgstr ""
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "全部取代"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+msgid "Height"
+msgstr ""
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "線性"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "測試"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1218,7 +1256,7 @@ msgstr ""
msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "模式"
@@ -6145,6 +6183,11 @@ msgstr ""
msgid "Flat"
msgstr ""
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "無干擾模式"
+
#: editor/editor_sub_scene.cpp
#, fuzzy
msgid "Select Node(s) to Import"
@@ -16368,41 +16411,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "全部取代"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-msgid "Height"
-msgstr ""
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "線性"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "測試"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20720,6 +20728,11 @@ msgstr ""
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr ""
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22435,7 +22448,7 @@ msgstr ""
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24592,6 +24605,11 @@ msgstr "選擇模式"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "模式"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "全部取代"
@@ -24622,11 +24640,6 @@ msgstr ""
msgid "Process Priority"
msgstr "檔案"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "模式"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25304,6 +25317,11 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "翻譯:"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "移除選項"
@@ -26094,6 +26112,11 @@ msgid "Distance Field"
msgstr "無干擾模式"
#: scene/resources/gradient.cpp
+#, fuzzy
+msgid "Raw Data"
+msgstr "MeshLibrary..."
+
+#: scene/resources/gradient.cpp
msgid "Offsets"
msgstr ""
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index e01991c1ec..703348c019 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -105,11 +105,12 @@ msgstr "最大視窗大小"
msgid "Screen Orientation"
msgstr "螢幕方向"
-#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
+#: platform/uwp/os_uwp.cpp
msgid "Window"
msgstr "視窗"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
msgstr "無邊框"
@@ -117,7 +118,7 @@ msgstr "無邊框"
msgid "Per Pixel Transparency Enabled"
msgstr "啟用單像素透明度"
-#: core/bind/core_bind.cpp main/main.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
msgstr "全螢幕"
@@ -129,7 +130,7 @@ msgstr "最大化"
msgid "Minimized"
msgstr "最小化"
-#: core/bind/core_bind.cpp main/main.cpp scene/gui/dialogs.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
msgstr "可調整大小的"
@@ -142,10 +143,11 @@ msgstr "可調整大小的"
msgid "Position"
msgstr "位置"
-#: core/bind/core_bind.cpp editor/editor_settings.cpp main/main.cpp
-#: modules/gridmap/grid_map.cpp modules/visual_script/visual_script_nodes.cpp
-#: scene/2d/tile_map.cpp scene/3d/camera.cpp scene/3d/light.cpp
-#: scene/gui/control.cpp scene/gui/graph_edit.cpp scene/main/viewport.cpp
+#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp
+#: main/main.cpp modules/gridmap/grid_map.cpp
+#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp
+#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp
+#: scene/gui/graph_edit.cpp scene/main/viewport.cpp
#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
@@ -617,6 +619,43 @@ msgstr "使用自訂使用者目錄"
msgid "Custom User Dir Name"
msgstr "自訂使用者目錄名稱"
+#: core/project_settings.cpp main/main.cpp
+#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
+#: platform/uwp/os_uwp.cpp
+#, fuzzy
+msgid "Display"
+msgstr "全部顯示"
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
+#: scene/gui/text_edit.cpp scene/resources/texture.cpp
+msgid "Width"
+msgstr ""
+
+#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
+#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
+#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp
+#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp
+#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
+#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
+#, fuzzy
+msgid "Height"
+msgstr "燈光"
+
+#: core/project_settings.cpp
+msgid "Always On Top"
+msgstr ""
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Width"
+msgstr "左延展"
+
+#: core/project_settings.cpp
+#, fuzzy
+msgid "Test Height"
+msgstr "測試"
+
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
msgid "Audio"
@@ -1221,7 +1260,7 @@ msgstr "打開/關閉此軌道。"
msgid "Update Mode (How this property is set)"
msgstr "更新模式(屬性設定方法)"
-#: editor/animation_track_editor.cpp
+#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
msgstr "插值模式"
@@ -6082,6 +6121,11 @@ msgstr "按住 %s 以取整數。按住 Shift 以進行更精確的更動。"
msgid "Flat"
msgstr "平面0"
+#: editor/editor_spin_slider.cpp
+#, fuzzy
+msgid "Hide Slider"
+msgstr "碰撞模式"
+
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "選擇要匯入的節點"
@@ -15905,42 +15949,6 @@ msgstr ""
msgid "Use Nvidia Rect Flicker Workaround"
msgstr ""
-#: main/main.cpp platform/javascript/export/export.cpp
-#: platform/osx/export/export.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
-msgid "Display"
-msgstr "全部顯示"
-
-#: main/main.cpp modules/csg/csg_shape.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
-#: scene/gui/text_edit.cpp scene/resources/texture.cpp
-msgid "Width"
-msgstr ""
-
-#: main/main.cpp modules/csg/csg_shape.cpp modules/gltf/gltf_node.cpp
-#: modules/opensimplex/noise_texture.cpp scene/2d/light_2d.cpp
-#: scene/resources/capsule_shape.cpp scene/resources/capsule_shape_2d.cpp
-#: scene/resources/cylinder_shape.cpp scene/resources/font.cpp
-#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
-#: scene/resources/texture.cpp
-#, fuzzy
-msgid "Height"
-msgstr "燈光"
-
-#: main/main.cpp
-msgid "Always On Top"
-msgstr ""
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Width"
-msgstr "左延展"
-
-#: main/main.cpp
-#, fuzzy
-msgid "Test Height"
-msgstr "測試"
-
#: main/main.cpp
msgid "DPI"
msgstr ""
@@ -20309,6 +20317,11 @@ msgstr "無效的多邊形。至少必須有三個點為「Solids」建構模式
msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
msgstr "無效的多邊形。至少必須有 2 個點為「Segments」建構模式。"
+#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
+msgid ""
+"The One Way Collision property will be ignored when the parent is an Area2D."
+msgstr ""
+
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
msgid "Build Mode"
@@ -22125,7 +22138,7 @@ msgstr "製作 NavMesh"
#: scene/3d/navigation_obstacle.cpp
msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
-"spatial object."
+"Spatial inheriting parent object."
msgstr ""
#: scene/3d/occluder.cpp
@@ -24395,6 +24408,11 @@ msgstr "平移模式"
#: scene/main/node.cpp
#, fuzzy
+msgid "Physics Interpolation Mode"
+msgstr "插值模式"
+
+#: scene/main/node.cpp
+#, fuzzy
msgid "Display Folded"
msgstr "顯示無陰影"
@@ -24428,11 +24446,6 @@ msgstr "設定多個:"
msgid "Process Priority"
msgstr "啟用優先級"
-#: scene/main/node.cpp
-#, fuzzy
-msgid "Physics Interpolated"
-msgstr "插值模式"
-
#: scene/main/scene_tree.cpp scene/main/timer.cpp
#, fuzzy
msgid "Time Left"
@@ -25141,6 +25154,11 @@ msgstr "帶名稱的分隔線"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
+msgid "Font Separator"
+msgstr "色彩運算子。"
+
+#: scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Font Color Accel"
msgstr "重新命名顏色項目"
@@ -25949,6 +25967,11 @@ msgstr "專注模式"
#: scene/resources/gradient.cpp
#, fuzzy
+msgid "Raw Data"
+msgstr "深度"
+
+#: scene/resources/gradient.cpp
+#, fuzzy
msgid "Offsets"
msgstr "偏移:"