2
0
Эх сурвалжийг харах

Change ".." punctuation for "..." in editor strings (#16507)

Hugo Locurcio 7 жил өмнө
parent
commit
1c419531a0
39 өөрчлөгдсөн 200 нэмэгдсэн , 200 устгасан
  1. 1 1
      core/bind/core_bind.cpp
  2. 1 1
      drivers/rtaudio/audio_driver_rtaudio.cpp
  3. 1 1
      drivers/unix/file_access_unix.cpp
  4. 1 1
      drivers/windows/file_access_windows.cpp
  5. 3 3
      editor/connections_dialog.cpp
  6. 2 2
      editor/editor_audio_buses.cpp
  7. 2 2
      editor/editor_data.cpp
  8. 1 1
      editor/editor_file_dialog.cpp
  9. 32 32
      editor/editor_node.cpp
  10. 1 1
      editor/editor_plugin.cpp
  11. 4 4
      editor/export_template_manager.cpp
  12. 11 11
      editor/filesystem_dock.cpp
  13. 1 1
      editor/import/editor_import_collada.cpp
  14. 4 4
      editor/import/resource_importer_scene.cpp
  15. 1 1
      editor/import_dock.cpp
  16. 1 1
      editor/plugins/animation_player_editor_plugin.cpp
  17. 4 4
      editor/plugins/animation_tree_editor_plugin.cpp
  18. 4 4
      editor/plugins/asset_library_editor_plugin.cpp
  19. 1 1
      editor/plugins/mesh_instance_editor_plugin.cpp
  20. 2 2
      editor/plugins/particles_2d_editor_plugin.cpp
  21. 1 1
      editor/plugins/particles_editor_plugin.cpp
  22. 3 3
      editor/plugins/script_editor_plugin.cpp
  23. 4 4
      editor/plugins/script_text_editor.cpp
  24. 4 4
      editor/plugins/shader_graph_editor_plugin.cpp
  25. 3 3
      editor/plugins/spatial_editor_plugin.cpp
  26. 1 1
      editor/plugins/theme_editor_plugin.cpp
  27. 3 3
      editor/project_export.cpp
  28. 6 6
      editor/project_settings_editor.cpp
  29. 3 3
      editor/property_editor.cpp
  30. 12 12
      editor/scene_tree_dock.cpp
  31. 2 2
      editor/settings_config_dialog.cpp
  32. 54 54
      editor/translations/editor.pot
  33. 3 3
      main/main.cpp
  34. 1 1
      modules/gdscript/gdscript_function.cpp
  35. 6 6
      modules/gdscript/gdscript_parser.cpp
  36. 3 3
      modules/visual_script/visual_script_expression.cpp
  37. 7 7
      platform/android/export/export.cpp
  38. 1 1
      scene/gui/text_edit.cpp
  39. 5 5
      servers/visual/shader_language.cpp

+ 1 - 1
core/bind/core_bind.cpp

@@ -2413,7 +2413,7 @@ _Thread::_Thread() {
 _Thread::~_Thread() {
 _Thread::~_Thread() {
 
 
 	if (active) {
 	if (active) {
-		ERR_EXPLAIN("Reference to a Thread object object was lost while the thread is still running..");
+		ERR_EXPLAIN("Reference to a Thread object object was lost while the thread is still running...");
 	}
 	}
 	ERR_FAIL_COND(active == true);
 	ERR_FAIL_COND(active == true);
 }
 }

+ 1 - 1
drivers/rtaudio/audio_driver_rtaudio.cpp

@@ -133,7 +133,7 @@ Error AudioDriverRtAudio::init() {
 			break;
 			break;
 		} catch (RtAudioError &e) {
 		} catch (RtAudioError &e) {
 			// try with less channels
 			// try with less channels
-			ERR_PRINT("Unable to open audio, retrying with fewer channels..");
+			ERR_PRINT("Unable to open audio, retrying with fewer channels...");
 
 
 			switch (speaker_mode) {
 			switch (speaker_mode) {
 				case SPEAKER_SURROUND_51: speaker_mode = SPEAKER_MODE_STEREO; break;
 				case SPEAKER_SURROUND_51: speaker_mode = SPEAKER_MODE_STEREO; break;

+ 1 - 1
drivers/unix/file_access_unix.cpp

@@ -136,7 +136,7 @@ void FileAccessUnix::close() {
 	if (save_path != "") {
 	if (save_path != "") {
 
 
 		//unlink(save_path.utf8().get_data());
 		//unlink(save_path.utf8().get_data());
-		//print_line("renaming..");
+		//print_line("renaming...");
 		int rename_error = rename((save_path + ".tmp").utf8().get_data(), save_path.utf8().get_data());
 		int rename_error = rename((save_path + ".tmp").utf8().get_data(), save_path.utf8().get_data());
 
 
 		if (rename_error && close_fail_notify) {
 		if (rename_error && close_fail_notify) {

+ 1 - 1
drivers/windows/file_access_windows.cpp

@@ -134,7 +134,7 @@ void FileAccessWindows::close() {
 	if (save_path != "") {
 	if (save_path != "") {
 
 
 		//unlink(save_path.utf8().get_data());
 		//unlink(save_path.utf8().get_data());
-		//print_line("renaming..");
+		//print_line("renaming...");
 		//_wunlink(save_path.c_str()); //unlink if exists
 		//_wunlink(save_path.c_str()); //unlink if exists
 		//int rename_error = _wrename((save_path+".tmp").c_str(),save_path.c_str());
 		//int rename_error = _wrename((save_path+".tmp").c_str(),save_path.c_str());
 
 

+ 3 - 3
editor/connections_dialog.cpp

@@ -319,7 +319,7 @@ ConnectDialog::ConnectDialog() {
 	dstm_hb->add_child(dst_method);
 	dstm_hb->add_child(dst_method);
 
 
 	/*dst_method_list = memnew( MenuButton );
 	/*dst_method_list = memnew( MenuButton );
-	dst_method_list->set_text("List..");
+	dst_method_list->set_text("List...");
 	dst_method_list->set_anchor( MARGIN_RIGHT, ANCHOR_END );
 	dst_method_list->set_anchor( MARGIN_RIGHT, ANCHOR_END );
 	dst_method_list->set_anchor( MARGIN_LEFT, ANCHOR_END );
 	dst_method_list->set_anchor( MARGIN_LEFT, ANCHOR_END );
 	dst_method_list->set_anchor( MARGIN_TOP, ANCHOR_END );
 	dst_method_list->set_anchor( MARGIN_TOP, ANCHOR_END );
@@ -621,12 +621,12 @@ void ConnectionsDock::_something_selected() {
 	TreeItem *item = tree->get_selected();
 	TreeItem *item = tree->get_selected();
 	if (!item) {
 	if (!item) {
 		//no idea how this happened, but disable
 		//no idea how this happened, but disable
-		connect_button->set_text(TTR("Connect.."));
+		connect_button->set_text(TTR("Connect..."));
 		connect_button->set_disabled(true);
 		connect_button->set_disabled(true);
 
 
 	} else if (item->get_parent() == tree->get_root() || item->get_parent()->get_parent() == tree->get_root()) {
 	} else if (item->get_parent() == tree->get_root() || item->get_parent()->get_parent() == tree->get_root()) {
 		//a signal - connect
 		//a signal - connect
-		connect_button->set_text(TTR("Connect.."));
+		connect_button->set_text(TTR("Connect..."));
 		connect_button->set_disabled(false);
 		connect_button->set_disabled(false);
 
 
 	} else {
 	} else {

+ 2 - 2
editor/editor_audio_buses.cpp

@@ -1021,7 +1021,7 @@ void EditorAudioBuses::_select_layout() {
 void EditorAudioBuses::_save_as_layout() {
 void EditorAudioBuses::_save_as_layout() {
 
 
 	file_dialog->set_mode(EditorFileDialog::MODE_SAVE_FILE);
 	file_dialog->set_mode(EditorFileDialog::MODE_SAVE_FILE);
-	file_dialog->set_title(TTR("Save Audio Bus Layout As.."));
+	file_dialog->set_title(TTR("Save Audio Bus Layout As..."));
 	file_dialog->set_current_path(edited_path);
 	file_dialog->set_current_path(edited_path);
 	file_dialog->popup_centered_ratio();
 	file_dialog->popup_centered_ratio();
 	new_layout = false;
 	new_layout = false;
@@ -1030,7 +1030,7 @@ void EditorAudioBuses::_save_as_layout() {
 void EditorAudioBuses::_new_layout() {
 void EditorAudioBuses::_new_layout() {
 
 
 	file_dialog->set_mode(EditorFileDialog::MODE_SAVE_FILE);
 	file_dialog->set_mode(EditorFileDialog::MODE_SAVE_FILE);
-	file_dialog->set_title(TTR("Location for New Layout.."));
+	file_dialog->set_title(TTR("Location for New Layout..."));
 	file_dialog->set_current_path(edited_path);
 	file_dialog->set_current_path(edited_path);
 	file_dialog->popup_centered_ratio();
 	file_dialog->popup_centered_ratio();
 	new_layout = true;
 	new_layout = true;

+ 2 - 2
editor/editor_data.cpp

@@ -595,11 +595,11 @@ bool EditorData::check_and_update_scene(int p_idx) {
 		pscene.instance();
 		pscene.instance();
 
 
 		EditorProgress ep("update_scene", TTR("Updating Scene"), 2);
 		EditorProgress ep("update_scene", TTR("Updating Scene"), 2);
-		ep.step(TTR("Storing local changes.."), 0);
+		ep.step(TTR("Storing local changes..."), 0);
 		//pack first, so it stores diffs to previous version of saved scene
 		//pack first, so it stores diffs to previous version of saved scene
 		Error err = pscene->pack(edited_scene[p_idx].root);
 		Error err = pscene->pack(edited_scene[p_idx].root);
 		ERR_FAIL_COND_V(err != OK, false);
 		ERR_FAIL_COND_V(err != OK, false);
-		ep.step(TTR("Updating scene.."), 1);
+		ep.step(TTR("Updating scene..."), 1);
 		Node *new_scene = pscene->instance(PackedScene::GEN_EDIT_STATE_MAIN);
 		Node *new_scene = pscene->instance(PackedScene::GEN_EDIT_STATE_MAIN);
 		ERR_FAIL_COND_V(!new_scene, false);
 		ERR_FAIL_COND_V(!new_scene, false);
 
 

+ 1 - 1
editor/editor_file_dialog.cpp

@@ -578,7 +578,7 @@ void EditorFileDialog::_item_list_rmb_clicked(const Vector2 &p_pos) {
 	item_menu->set_size(Size2(1, 1));
 	item_menu->set_size(Size2(1, 1));
 
 
 	if (can_create_dir) {
 	if (can_create_dir) {
-		item_menu->add_icon_item(get_icon("folder", "FileDialog"), TTR("New Folder.."), ITEM_MENU_NEW_FOLDER, KEY_MASK_CMD | KEY_N);
+		item_menu->add_icon_item(get_icon("folder", "FileDialog"), TTR("New Folder..."), ITEM_MENU_NEW_FOLDER, KEY_MASK_CMD | KEY_N);
 	}
 	}
 	item_menu->add_icon_item(get_icon("Reload", "EditorIcons"), TTR("Refresh"), ITEM_MENU_REFRESH, KEY_F5);
 	item_menu->add_icon_item(get_icon("Reload", "EditorIcons"), TTR("Refresh"), ITEM_MENU_REFRESH, KEY_F5);
 	item_menu->add_separator();
 	item_menu->add_separator();

+ 32 - 32
editor/editor_node.cpp

@@ -693,7 +693,7 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String
 		file->set_current_path(existing);
 		file->set_current_path(existing);
 	}
 	}
 	file->popup_centered_ratio();
 	file->popup_centered_ratio();
-	file->set_title(TTR("Save Resource As.."));
+	file->set_title(TTR("Save Resource As..."));
 }
 }
 
 
 void EditorNode::_menu_option(int p_option) {
 void EditorNode::_menu_option(int p_option) {
@@ -711,7 +711,7 @@ void EditorNode::_dialog_display_save_error(String p_file, Error p_error) {
 	if (p_error) {
 	if (p_error) {
 
 
 		current_option = -1;
 		current_option = -1;
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 
 
 		switch (p_error) {
 		switch (p_error) {
 
 
@@ -738,7 +738,7 @@ void EditorNode::_dialog_display_load_error(String p_file, Error p_error) {
 	if (p_error) {
 	if (p_error) {
 
 
 		current_option = -1;
 		current_option = -1;
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 
 
 		switch (p_error) {
 		switch (p_error) {
 
 
@@ -1026,7 +1026,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
 	if (!scene) {
 	if (!scene) {
 
 
 		current_option = -1;
 		current_option = -1;
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 		accept->set_text(TTR("This operation can't be done without a tree root."));
 		accept->set_text(TTR("This operation can't be done without a tree root."));
 		accept->popup_centered_minsize();
 		accept->popup_centered_minsize();
 		return;
 		return;
@@ -1057,7 +1057,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
 	if (err != OK) {
 	if (err != OK) {
 
 
 		current_option = -1;
 		current_option = -1;
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 		accept->set_text(TTR("Couldn't save scene. Likely dependencies (instances or inheritance) couldn't be satisfied."));
 		accept->set_text(TTR("Couldn't save scene. Likely dependencies (instances or inheritance) couldn't be satisfied."));
 		accept->popup_centered_minsize();
 		accept->popup_centered_minsize();
 		return;
 		return;
@@ -1068,7 +1068,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
 	Node *dummy_scene = sdata->instance(PackedScene::GEN_EDIT_STATE_INSTANCE);
 	Node *dummy_scene = sdata->instance(PackedScene::GEN_EDIT_STATE_INSTANCE);
 	if (!dummy_scene) {
 	if (!dummy_scene) {
 		current_option = -1;
 		current_option = -1;
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 		accept->set_text(TTR("Couldn't save scene. Likely dependencies (instances or inheritance) couldn't be satisfied."));
 		accept->set_text(TTR("Couldn't save scene. Likely dependencies (instances or inheritance) couldn't be satisfied."));
 		accept->popup_centered_minsize();
 		accept->popup_centered_minsize();
 		return;
 		return;
@@ -1208,7 +1208,7 @@ void EditorNode::_dialog_action(String p_file) {
 
 
 				if (ml.is_null()) {
 				if (ml.is_null()) {
 					current_option = -1;
 					current_option = -1;
-					accept->get_ok()->set_text(TTR("I see.."));
+					accept->get_ok()->set_text(TTR("I see..."));
 					accept->set_text(TTR("Can't load MeshLibrary for merging!"));
 					accept->set_text(TTR("Can't load MeshLibrary for merging!"));
 					accept->popup_centered_minsize();
 					accept->popup_centered_minsize();
 					return;
 					return;
@@ -1225,7 +1225,7 @@ void EditorNode::_dialog_action(String p_file) {
 			if (err) {
 			if (err) {
 
 
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("Error saving MeshLibrary!"));
 				accept->set_text(TTR("Error saving MeshLibrary!"));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				return;
 				return;
@@ -1240,7 +1240,7 @@ void EditorNode::_dialog_action(String p_file) {
 
 
 				if (tileset.is_null()) {
 				if (tileset.is_null()) {
 					current_option = -1;
 					current_option = -1;
-					accept->get_ok()->set_text(TTR("I see.."));
+					accept->get_ok()->set_text(TTR("I see..."));
 					accept->set_text(TTR("Can't load TileSet for merging!"));
 					accept->set_text(TTR("Can't load TileSet for merging!"));
 					accept->popup_centered_minsize();
 					accept->popup_centered_minsize();
 					return;
 					return;
@@ -1256,7 +1256,7 @@ void EditorNode::_dialog_action(String p_file) {
 			if (err) {
 			if (err) {
 
 
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("Error saving TileSet!"));
 				accept->set_text(TTR("Error saving TileSet!"));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				return;
 				return;
@@ -1746,7 +1746,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
 
 
 		if (!scene) {
 		if (!scene) {
 			current_option = -1;
 			current_option = -1;
-			accept->get_ok()->set_text(TTR("I see.."));
+			accept->get_ok()->set_text(TTR("I see..."));
 			accept->set_text(TTR("There is no defined scene to run."));
 			accept->set_text(TTR("There is no defined scene to run."));
 			accept->popup_centered_minsize();
 			accept->popup_centered_minsize();
 			return;
 			return;
@@ -1803,7 +1803,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
 				if (scene->get_filename() == "") {
 				if (scene->get_filename() == "") {
 
 
 					current_option = -1;
 					current_option = -1;
-					accept->get_ok()->set_text(TTR("I see.."));
+					accept->get_ok()->set_text(TTR("I see..."));
 					accept->set_text(TTR("Current scene was never saved, please save it prior to running."));
 					accept->set_text(TTR("Current scene was never saved, please save it prior to running."));
 					accept->popup_centered_minsize();
 					accept->popup_centered_minsize();
 					return;
 					return;
@@ -1837,7 +1837,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) {
 	if (error != OK) {
 	if (error != OK) {
 
 
 		current_option = -1;
 		current_option = -1;
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 		accept->set_text(TTR("Could not start subprocess!"));
 		accept->set_text(TTR("Could not start subprocess!"));
 		accept->popup_centered_minsize();
 		accept->popup_centered_minsize();
 		return;
 		return;
@@ -1897,13 +1897,13 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 		case FILE_QUICK_OPEN_SCENE: {
 		case FILE_QUICK_OPEN_SCENE: {
 
 
 			quick_open->popup("PackedScene", true);
 			quick_open->popup("PackedScene", true);
-			quick_open->set_title(TTR("Quick Open Scene.."));
+			quick_open->set_title(TTR("Quick Open Scene..."));
 
 
 		} break;
 		} break;
 		case FILE_QUICK_OPEN_SCRIPT: {
 		case FILE_QUICK_OPEN_SCRIPT: {
 
 
 			quick_open->popup("Script", true);
 			quick_open->popup("Script", true);
-			quick_open->set_title(TTR("Quick Open Script.."));
+			quick_open->set_title(TTR("Quick Open Script..."));
 
 
 		} break;
 		} break;
 		case FILE_OPEN_PREV: {
 		case FILE_OPEN_PREV: {
@@ -1958,7 +1958,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 			if (!scene) {
 			if (!scene) {
 
 
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done without a tree root."));
 				accept->set_text(TTR("This operation can't be done without a tree root."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -1993,7 +1993,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 				file->set_current_path(existing);
 				file->set_current_path(existing);
 			}
 			}
 			file->popup_centered_ratio();
 			file->popup_centered_ratio();
-			file->set_title(TTR("Save Scene As.."));
+			file->set_title(TTR("Save Scene As..."));
 
 
 		} break;
 		} break;
 
 
@@ -2024,7 +2024,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 			if (!editor_data.get_edited_scene_root()) {
 			if (!editor_data.get_edited_scene_root()) {
 
 
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done without a scene."));
 				accept->set_text(TTR("This operation can't be done without a scene."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -2047,7 +2047,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 			//Make sure that the scene has a root before trying to convert to tileset
 			//Make sure that the scene has a root before trying to convert to tileset
 			if (!editor_data.get_edited_scene_root()) {
 			if (!editor_data.get_edited_scene_root()) {
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done without a root node."));
 				accept->set_text(TTR("This operation can't be done without a root node."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -2075,7 +2075,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 			if (!editor_data.get_edited_scene_root()) {
 			if (!editor_data.get_edited_scene_root()) {
 
 
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done without a selected node."));
 				accept->set_text(TTR("This operation can't be done without a selected node."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -2298,7 +2298,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 			if (run_custom_filename.empty() || editor_run.get_status() == EditorRun::STATUS_STOP) {
 			if (run_custom_filename.empty() || editor_run.get_status() == EditorRun::STATUS_STOP) {
 				_menu_option_confirm(RUN_STOP, true);
 				_menu_option_confirm(RUN_STOP, true);
 				quick_run->popup("PackedScene", true);
 				quick_run->popup("PackedScene", true);
-				quick_run->set_title(TTR("Quick Run Scene.."));
+				quick_run->set_title(TTR("Quick Run Scene..."));
 				play_custom_scene_button->set_pressed(false);
 				play_custom_scene_button->set_pressed(false);
 			} else {
 			} else {
 				String last_custom_scene = run_custom_filename;
 				String last_custom_scene = run_custom_filename;
@@ -2477,7 +2477,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 			EditorSettings::get_singleton()->set_project_metadata("editor_options", "update_always", true);
 			EditorSettings::get_singleton()->set_project_metadata("editor_options", "update_always", true);
 
 
 			current_option = -1;
 			current_option = -1;
-			accept->get_ok()->set_text(TTR("I see.."));
+			accept->get_ok()->set_text(TTR("I see..."));
 			accept->set_text(TTR("This option is deprecated. Situations where refresh must be forced are now considered a bug. Please report."));
 			accept->set_text(TTR("This option is deprecated. Situations where refresh must be forced are now considered a bug. Please report."));
 			accept->popup_centered_minsize();
 			accept->popup_centered_minsize();
 		} break;
 		} break;
@@ -5319,32 +5319,32 @@ EditorNode::EditorNode() {
 
 
 	ED_SHORTCUT("editor/next_tab", TTR("Next tab"), KEY_MASK_CMD + KEY_TAB);
 	ED_SHORTCUT("editor/next_tab", TTR("Next tab"), KEY_MASK_CMD + KEY_TAB);
 	ED_SHORTCUT("editor/prev_tab", TTR("Previous tab"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_TAB);
 	ED_SHORTCUT("editor/prev_tab", TTR("Previous tab"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_TAB);
-	ED_SHORTCUT("editor/filter_files", TTR("Filter Files.."), KEY_MASK_ALT + KEY_MASK_CMD + KEY_P);
+	ED_SHORTCUT("editor/filter_files", TTR("Filter Files..."), KEY_MASK_ALT + KEY_MASK_CMD + KEY_P);
 	PopupMenu *p;
 	PopupMenu *p;
 
 
 	file_menu->set_tooltip(TTR("Operations with scene files."));
 	file_menu->set_tooltip(TTR("Operations with scene files."));
 	p = file_menu->get_popup();
 	p = file_menu->get_popup();
 	p->add_shortcut(ED_SHORTCUT("editor/new_scene", TTR("New Scene")), FILE_NEW_SCENE);
 	p->add_shortcut(ED_SHORTCUT("editor/new_scene", TTR("New Scene")), FILE_NEW_SCENE);
-	p->add_shortcut(ED_SHORTCUT("editor/new_inherited_scene", TTR("New Inherited Scene..")), FILE_NEW_INHERITED_SCENE);
-	p->add_shortcut(ED_SHORTCUT("editor/open_scene", TTR("Open Scene.."), KEY_MASK_CMD + KEY_O), FILE_OPEN_SCENE);
+	p->add_shortcut(ED_SHORTCUT("editor/new_inherited_scene", TTR("New Inherited Scene...")), FILE_NEW_INHERITED_SCENE);
+	p->add_shortcut(ED_SHORTCUT("editor/open_scene", TTR("Open Scene..."), KEY_MASK_CMD + KEY_O), FILE_OPEN_SCENE);
 	p->add_separator();
 	p->add_separator();
 	p->add_shortcut(ED_SHORTCUT("editor/save_scene", TTR("Save Scene"), KEY_MASK_CMD + KEY_S), FILE_SAVE_SCENE);
 	p->add_shortcut(ED_SHORTCUT("editor/save_scene", TTR("Save Scene"), KEY_MASK_CMD + KEY_S), FILE_SAVE_SCENE);
-	p->add_shortcut(ED_SHORTCUT("editor/save_scene_as", TTR("Save Scene As.."), KEY_MASK_SHIFT + KEY_MASK_CMD + KEY_S), FILE_SAVE_AS_SCENE);
+	p->add_shortcut(ED_SHORTCUT("editor/save_scene_as", TTR("Save Scene As..."), KEY_MASK_SHIFT + KEY_MASK_CMD + KEY_S), FILE_SAVE_AS_SCENE);
 	p->add_shortcut(ED_SHORTCUT("editor/save_all_scenes", TTR("Save all Scenes"), KEY_MASK_ALT + KEY_MASK_SHIFT + KEY_MASK_CMD + KEY_S), FILE_SAVE_ALL_SCENES);
 	p->add_shortcut(ED_SHORTCUT("editor/save_all_scenes", TTR("Save all Scenes"), KEY_MASK_ALT + KEY_MASK_SHIFT + KEY_MASK_CMD + KEY_S), FILE_SAVE_ALL_SCENES);
 	p->add_separator();
 	p->add_separator();
 	p->add_shortcut(ED_SHORTCUT("editor/close_scene", TTR("Close Scene"), KEY_MASK_SHIFT + KEY_MASK_CTRL + KEY_W), FILE_CLOSE);
 	p->add_shortcut(ED_SHORTCUT("editor/close_scene", TTR("Close Scene"), KEY_MASK_SHIFT + KEY_MASK_CTRL + KEY_W), FILE_CLOSE);
 	p->add_separator();
 	p->add_separator();
 	p->add_submenu_item(TTR("Open Recent"), "RecentScenes", FILE_OPEN_RECENT);
 	p->add_submenu_item(TTR("Open Recent"), "RecentScenes", FILE_OPEN_RECENT);
 	p->add_separator();
 	p->add_separator();
-	p->add_shortcut(ED_SHORTCUT("editor/quick_open_scene", TTR("Quick Open Scene.."), KEY_MASK_SHIFT + KEY_MASK_CMD + KEY_O), FILE_QUICK_OPEN_SCENE);
-	p->add_shortcut(ED_SHORTCUT("editor/quick_open_script", TTR("Quick Open Script.."), KEY_MASK_ALT + KEY_MASK_CMD + KEY_O), FILE_QUICK_OPEN_SCRIPT);
+	p->add_shortcut(ED_SHORTCUT("editor/quick_open_scene", TTR("Quick Open Scene..."), KEY_MASK_SHIFT + KEY_MASK_CMD + KEY_O), FILE_QUICK_OPEN_SCENE);
+	p->add_shortcut(ED_SHORTCUT("editor/quick_open_script", TTR("Quick Open Script..."), KEY_MASK_ALT + KEY_MASK_CMD + KEY_O), FILE_QUICK_OPEN_SCRIPT);
 	p->add_separator();
 	p->add_separator();
 	PopupMenu *pm_export = memnew(PopupMenu);
 	PopupMenu *pm_export = memnew(PopupMenu);
 	pm_export->set_name("Export");
 	pm_export->set_name("Export");
 	p->add_child(pm_export);
 	p->add_child(pm_export);
-	p->add_submenu_item(TTR("Convert To.."), "Export");
-	pm_export->add_shortcut(ED_SHORTCUT("editor/convert_to_MeshLibrary", TTR("MeshLibrary..")), FILE_EXPORT_MESH_LIBRARY);
-	pm_export->add_shortcut(ED_SHORTCUT("editor/convert_to_TileSet", TTR("TileSet..")), FILE_EXPORT_TILESET);
+	p->add_submenu_item(TTR("Convert To..."), "Export");
+	pm_export->add_shortcut(ED_SHORTCUT("editor/convert_to_MeshLibrary", TTR("MeshLibrary...")), FILE_EXPORT_MESH_LIBRARY);
+	pm_export->add_shortcut(ED_SHORTCUT("editor/convert_to_TileSet", TTR("TileSet...")), FILE_EXPORT_TILESET);
 	pm_export->connect("id_pressed", this, "_menu_option");
 	pm_export->connect("id_pressed", this, "_menu_option");
 
 
 	p->add_separator();
 	p->add_separator();
@@ -5583,7 +5583,7 @@ EditorNode::EditorNode() {
 	resource_save_button->set_icon(gui_base->get_icon("Save", "EditorIcons"));
 	resource_save_button->set_icon(gui_base->get_icon("Save", "EditorIcons"));
 	prop_editor_hb->add_child(resource_save_button);
 	prop_editor_hb->add_child(resource_save_button);
 	resource_save_button->get_popup()->add_item(TTR("Save"), RESOURCE_SAVE);
 	resource_save_button->get_popup()->add_item(TTR("Save"), RESOURCE_SAVE);
-	resource_save_button->get_popup()->add_item(TTR("Save As.."), RESOURCE_SAVE_AS);
+	resource_save_button->get_popup()->add_item(TTR("Save As..."), RESOURCE_SAVE_AS);
 	resource_save_button->get_popup()->connect("id_pressed", this, "_menu_option");
 	resource_save_button->get_popup()->connect("id_pressed", this, "_menu_option");
 	resource_save_button->set_focus_mode(Control::FOCUS_NONE);
 	resource_save_button->set_focus_mode(Control::FOCUS_NONE);
 	resource_save_button->set_disabled(true);
 	resource_save_button->set_disabled(true);

+ 1 - 1
editor/editor_plugin.cpp

@@ -125,7 +125,7 @@ Vector<Ref<Texture> > EditorInterface::make_mesh_previews(const Vector<Ref<Mesh>
 		xform.origin.z -= rot_aabb.size.z * 2;
 		xform.origin.z -= rot_aabb.size.z * 2;
 		RID inst = VS::get_singleton()->instance_create2(mesh->get_rid(), scenario);
 		RID inst = VS::get_singleton()->instance_create2(mesh->get_rid(), scenario);
 		VS::get_singleton()->instance_set_transform(inst, xform);
 		VS::get_singleton()->instance_set_transform(inst, xform);
-		ep.step(TTR("Thumbnail.."), i);
+		ep.step(TTR("Thumbnail..."), i);
 		Main::iteration();
 		Main::iteration();
 		Main::iteration();
 		Main::iteration();
 		Ref<Image> img = VS::get_singleton()->texture_get_data(viewport_texture);
 		Ref<Image> img = VS::get_singleton()->texture_get_data(viewport_texture);

+ 4 - 4
editor/export_template_manager.cpp

@@ -128,7 +128,7 @@ void ExportTemplateManager::_download_template(const String &p_version) {
 		memdelete(template_list->get_child(0));
 		memdelete(template_list->get_child(0));
 	}
 	}
 	template_downloader->popup_centered_minsize();
 	template_downloader->popup_centered_minsize();
-	template_list_state->set_text(TTR("Retrieving mirrors, please wait.."));
+	template_list_state->set_text(TTR("Retrieving mirrors, please wait..."));
 	template_download_progress->set_max(100);
 	template_download_progress->set_max(100);
 	template_download_progress->set_value(0);
 	template_download_progress->set_value(0);
 	request_mirror->request("https://godotengine.org/mirrorlist/" + p_version + ".json");
 	request_mirror->request("https://godotengine.org/mirrorlist/" + p_version + ".json");
@@ -433,7 +433,7 @@ void ExportTemplateManager::_begin_template_download(const String &p_url) {
 	template_download_progress->set_max(100);
 	template_download_progress->set_max(100);
 	template_download_progress->set_value(0);
 	template_download_progress->set_value(0);
 	template_download_progress->show();
 	template_download_progress->show();
-	template_list_state->set_text(TTR("Connecting to Mirror.."));
+	template_list_state->set_text(TTR("Connecting to Mirror..."));
 }
 }
 
 
 void ExportTemplateManager::_notification(int p_what) {
 void ExportTemplateManager::_notification(int p_what) {
@@ -459,13 +459,13 @@ void ExportTemplateManager::_notification(int p_what) {
 				status = TTR("Can't Resolve");
 				status = TTR("Can't Resolve");
 				errored = true;
 				errored = true;
 				break;
 				break;
-			case HTTPClient::STATUS_CONNECTING: status = TTR("Connecting.."); break;
+			case HTTPClient::STATUS_CONNECTING: status = TTR("Connecting..."); break;
 			case HTTPClient::STATUS_CANT_CONNECT:
 			case HTTPClient::STATUS_CANT_CONNECT:
 				status = TTR("Can't Connect");
 				status = TTR("Can't Connect");
 				errored = true;
 				errored = true;
 				break;
 				break;
 			case HTTPClient::STATUS_CONNECTED: status = TTR("Connected"); break;
 			case HTTPClient::STATUS_CONNECTED: status = TTR("Connected"); break;
-			case HTTPClient::STATUS_REQUESTING: status = TTR("Requesting.."); break;
+			case HTTPClient::STATUS_REQUESTING: status = TTR("Requesting..."); break;
 			case HTTPClient::STATUS_BODY:
 			case HTTPClient::STATUS_BODY:
 				status = TTR("Downloading");
 				status = TTR("Downloading");
 				if (download_templates->get_body_size() > 0) {
 				if (download_templates->get_body_size() > 0) {

+ 11 - 11
editor/filesystem_dock.cpp

@@ -1349,12 +1349,12 @@ void FileSystemDock::_dir_rmb_pressed(const Vector2 &p_pos) {
 		folder_options->add_separator();
 		folder_options->add_separator();
 		folder_options->add_item(TTR("Copy Path"), FOLDER_COPY_PATH);
 		folder_options->add_item(TTR("Copy Path"), FOLDER_COPY_PATH);
 		if (fpath != "res://") {
 		if (fpath != "res://") {
-			folder_options->add_item(TTR("Rename.."), FOLDER_RENAME);
-			folder_options->add_item(TTR("Move To.."), FOLDER_MOVE);
+			folder_options->add_item(TTR("Rename..."), FOLDER_RENAME);
+			folder_options->add_item(TTR("Move To..."), FOLDER_MOVE);
 			folder_options->add_item(TTR("Delete"), FOLDER_REMOVE);
 			folder_options->add_item(TTR("Delete"), FOLDER_REMOVE);
 		}
 		}
 		folder_options->add_separator();
 		folder_options->add_separator();
-		folder_options->add_item(TTR("New Folder.."), FOLDER_NEW_FOLDER);
+		folder_options->add_item(TTR("New Folder..."), FOLDER_NEW_FOLDER);
 		folder_options->add_item(TTR("Show In File Manager"), FOLDER_SHOW_IN_EXPLORER);
 		folder_options->add_item(TTR("Show In File Manager"), FOLDER_SHOW_IN_EXPLORER);
 	}
 	}
 	folder_options->set_position(tree->get_global_position() + p_pos);
 	folder_options->set_position(tree->get_global_position() + p_pos);
@@ -1639,8 +1639,8 @@ void FileSystemDock::_files_list_rmb_select(int p_item, const Vector2 &p_pos) {
 		}
 		}
 
 
 		if (filenames.size() == 1) {
 		if (filenames.size() == 1) {
-			file_options->add_item(TTR("Edit Dependencies.."), FILE_DEPENDENCIES);
-			file_options->add_item(TTR("View Owners.."), FILE_OWNERS);
+			file_options->add_item(TTR("Edit Dependencies..."), FILE_DEPENDENCIES);
+			file_options->add_item(TTR("View Owners..."), FILE_OWNERS);
 			file_options->add_separator();
 			file_options->add_separator();
 		}
 		}
 
 
@@ -1653,15 +1653,15 @@ void FileSystemDock::_files_list_rmb_select(int p_item, const Vector2 &p_pos) {
 	if (num_items >= 1) {
 	if (num_items >= 1) {
 		if (num_items == 1) {
 		if (num_items == 1) {
 			file_options->add_item(TTR("Copy Path"), FILE_COPY_PATH);
 			file_options->add_item(TTR("Copy Path"), FILE_COPY_PATH);
-			file_options->add_item(TTR("Rename.."), FILE_RENAME);
-			file_options->add_item(TTR("Duplicate.."), FILE_DUPLICATE);
+			file_options->add_item(TTR("Rename..."), FILE_RENAME);
+			file_options->add_item(TTR("Duplicate..."), FILE_DUPLICATE);
 		}
 		}
-		file_options->add_item(TTR("Move To.."), FILE_MOVE);
+		file_options->add_item(TTR("Move To..."), FILE_MOVE);
 		file_options->add_item(TTR("Delete"), FILE_REMOVE);
 		file_options->add_item(TTR("Delete"), FILE_REMOVE);
 		file_options->add_separator();
 		file_options->add_separator();
 	}
 	}
 
 
-	file_options->add_item(TTR("New Folder.."), FILE_NEW_FOLDER);
+	file_options->add_item(TTR("New Folder..."), FILE_NEW_FOLDER);
 	file_options->add_item(TTR("Show In File Manager"), FILE_SHOW_IN_EXPLORER);
 	file_options->add_item(TTR("Show In File Manager"), FILE_SHOW_IN_EXPLORER);
 
 
 	file_options->set_position(files->get_global_position() + p_pos);
 	file_options->set_position(files->get_global_position() + p_pos);
@@ -1672,7 +1672,7 @@ void FileSystemDock::_rmb_pressed(const Vector2 &p_pos) {
 	file_options->clear();
 	file_options->clear();
 	file_options->set_size(Size2(1, 1));
 	file_options->set_size(Size2(1, 1));
 
 
-	file_options->add_item(TTR("New Folder.."), FILE_NEW_FOLDER);
+	file_options->add_item(TTR("New Folder..."), FILE_NEW_FOLDER);
 	file_options->add_item(TTR("Show In File Manager"), FILE_SHOW_IN_EXPLORER);
 	file_options->add_item(TTR("Show In File Manager"), FILE_SHOW_IN_EXPLORER);
 	file_options->set_position(files->get_global_position() + p_pos);
 	file_options->set_position(files->get_global_position() + p_pos);
 	file_options->popup();
 	file_options->popup();
@@ -1934,7 +1934,7 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) {
 	add_child(scanning_vb);
 	add_child(scanning_vb);
 
 
 	Label *slabel = memnew(Label);
 	Label *slabel = memnew(Label);
-	slabel->set_text(TTR("Scanning Files,\nPlease Wait.."));
+	slabel->set_text(TTR("Scanning Files,\nPlease Wait..."));
 	slabel->set_align(Label::ALIGN_CENTER);
 	slabel->set_align(Label::ALIGN_CENTER);
 	scanning_vb->add_child(slabel);
 	scanning_vb->add_child(slabel);
 
 

+ 1 - 1
editor/import/editor_import_collada.cpp

@@ -138,7 +138,7 @@ Error ColladaImport::_populate_skeleton(Skeleton *p_skeleton, Collada::Node *p_n
 		//should map this bone to something for animation?
 		//should map this bone to something for animation?
 	} else {
 	} else {
 		print_line("no rest: " + joint->sid);
 		print_line("no rest: " + joint->sid);
-		WARN_PRINT("Joint has no rest..");
+		WARN_PRINT("Joint has no rest...");
 	}
 	}
 
 
 	int id = r_bone++;
 	int id = r_bone++;

+ 4 - 4
editor/import/resource_importer_scene.cpp

@@ -251,7 +251,7 @@ Node *ResourceImporterScene::_fix_node(Node *p_node, Node *p_root, Map<Ref<Array
 
 
 		Node *r = _fix_node(p_node->get_child(i), p_root, collision_map, p_light_bake_mode);
 		Node *r = _fix_node(p_node->get_child(i), p_root, collision_map, p_light_bake_mode);
 		if (!r) {
 		if (!r) {
-			print_line("was erased..");
+			print_line("was erased...");
 			i--; //was erased
 			i--; //was erased
 		}
 		}
 	}
 	}
@@ -1152,7 +1152,7 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
 	String ext = src_path.get_extension().to_lower();
 	String ext = src_path.get_extension().to_lower();
 
 
 	EditorProgress progress("import", TTR("Import Scene"), 104);
 	EditorProgress progress("import", TTR("Import Scene"), 104);
-	progress.step(TTR("Importing Scene.."), 0);
+	progress.step(TTR("Importing Scene..."), 0);
 
 
 	for (Set<Ref<EditorSceneImporter> >::Element *E = importers.front(); E; E = E->next()) {
 	for (Set<Ref<EditorSceneImporter> >::Element *E = importers.front(); E; E = E->next()) {
 
 
@@ -1324,7 +1324,7 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
 		_make_external_resources(scene, base_path, external_animations, keep_custom_tracks, external_materials, keep_materials, external_meshes, anim_map, mat_map, mesh_map);
 		_make_external_resources(scene, base_path, external_animations, keep_custom_tracks, external_materials, keep_materials, external_meshes, anim_map, mat_map, mesh_map);
 	}
 	}
 
 
-	progress.step(TTR("Running Custom Script.."), 2);
+	progress.step(TTR("Running Custom Script..."), 2);
 
 
 	String post_import_script_path = p_options["nodes/custom_script"];
 	String post_import_script_path = p_options["nodes/custom_script"];
 	Ref<EditorScenePostImport> post_import_script;
 	Ref<EditorScenePostImport> post_import_script;
@@ -1353,7 +1353,7 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
 		}
 		}
 	}
 	}
 
 
-	progress.step(TTR("Saving.."), 104);
+	progress.step(TTR("Saving..."), 104);
 
 
 	if (external_scenes) {
 	if (external_scenes) {
 		//save sub-scenes as instances!
 		//save sub-scenes as instances!

+ 1 - 1
editor/import_dock.cpp

@@ -415,7 +415,7 @@ ImportDock::ImportDock() {
 	hb->add_child(import_as);
 	hb->add_child(import_as);
 	import_as->set_h_size_flags(SIZE_EXPAND_FILL);
 	import_as->set_h_size_flags(SIZE_EXPAND_FILL);
 	preset = memnew(MenuButton);
 	preset = memnew(MenuButton);
-	preset->set_text(TTR("Preset.."));
+	preset->set_text(TTR("Preset..."));
 	preset->get_popup()->connect("index_pressed", this, "_preset_selected");
 	preset->get_popup()->connect("index_pressed", this, "_preset_selected");
 	hb->add_child(preset);
 	hb->add_child(preset);
 
 

+ 1 - 1
editor/plugins/animation_player_editor_plugin.cpp

@@ -440,7 +440,7 @@ void AnimationPlayerEditor::_animation_save_as(const Ref<Resource> &p_resource)
 		file->set_current_path(existing);
 		file->set_current_path(existing);
 	}
 	}
 	file->popup_centered_ratio();
 	file->popup_centered_ratio();
-	file->set_title(TTR("Save Resource As.."));
+	file->set_title(TTR("Save Resource As..."));
 	current_option = RESOURCE_SAVE;
 	current_option = RESOURCE_SAVE;
 }
 }
 
 

+ 4 - 4
editor/plugins/animation_tree_editor_plugin.cpp

@@ -578,7 +578,7 @@ void AnimationTreeEditor::_draw_node(const StringName &p_node) {
 			if (anim_tree->animation_node_get_master_animation(p_node) != "")
 			if (anim_tree->animation_node_get_master_animation(p_node) != "")
 				text = anim_tree->animation_node_get_master_animation(p_node);
 				text = anim_tree->animation_node_get_master_animation(p_node);
 			else if (anim.is_null())
 			else if (anim.is_null())
-				text = "load..";
+				text = "load...";
 			else
 			else
 				text = anim->get_name();
 				text = anim->get_name();
 
 
@@ -593,7 +593,7 @@ void AnimationTreeEditor::_draw_node(const StringName &p_node) {
 		case AnimationTreePlayer::NODE_TIMESCALE:
 		case AnimationTreePlayer::NODE_TIMESCALE:
 		case AnimationTreePlayer::NODE_TRANSITION: {
 		case AnimationTreePlayer::NODE_TRANSITION: {
 
 
-			font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, "edit..", font_color_title);
+			font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, "edit...", font_color_title);
 		} break;
 		} break;
 		default: editable = false;
 		default: editable = false;
 	}
 	}
@@ -1290,7 +1290,7 @@ AnimationTreeEditor::AnimationTreeEditor() {
 	p->add_item(TTR("TimeSeek Node"), AnimationTreePlayer::NODE_TIMESEEK);
 	p->add_item(TTR("TimeSeek Node"), AnimationTreePlayer::NODE_TIMESEEK);
 	p->add_item(TTR("Transition Node"), AnimationTreePlayer::NODE_TRANSITION);
 	p->add_item(TTR("Transition Node"), AnimationTreePlayer::NODE_TRANSITION);
 	p->add_separator();
 	p->add_separator();
-	p->add_item(TTR("Import Animations.."), MENU_IMPORT_ANIMATIONS); // wtf
+	p->add_item(TTR("Import Animations..."), MENU_IMPORT_ANIMATIONS); // wtf
 	p->add_separator();
 	p->add_separator();
 	p->add_item(TTR("Clear"), MENU_GRAPH_CLEAR);
 	p->add_item(TTR("Clear"), MENU_GRAPH_CLEAR);
 
 
@@ -1399,7 +1399,7 @@ AnimationTreeEditor::AnimationTreeEditor() {
 	filter_button->set_margin(MARGIN_RIGHT, -10);
 	filter_button->set_margin(MARGIN_RIGHT, -10);
 	edit_dialog->add_child(filter_button);
 	edit_dialog->add_child(filter_button);
 	filter_button->hide();
 	filter_button->hide();
-	filter_button->set_text(TTR("Filters.."));
+	filter_button->set_text(TTR("Filters..."));
 	filter_button->connect("pressed", this, "_edit_filters");
 	filter_button->connect("pressed", this, "_edit_filters");
 
 
 	set_clip_contents(true);
 	set_clip_contents(true);

+ 4 - 4
editor/plugins/asset_library_editor_plugin.cpp

@@ -407,13 +407,13 @@ void EditorAssetLibraryItemDownload::_notification(int p_what) {
 			switch (cstatus) {
 			switch (cstatus) {
 
 
 				case HTTPClient::STATUS_RESOLVING: {
 				case HTTPClient::STATUS_RESOLVING: {
-					status->set_text(TTR("Resolving.."));
+					status->set_text(TTR("Resolving..."));
 				} break;
 				} break;
 				case HTTPClient::STATUS_CONNECTING: {
 				case HTTPClient::STATUS_CONNECTING: {
-					status->set_text(TTR("Connecting.."));
+					status->set_text(TTR("Connecting..."));
 				} break;
 				} break;
 				case HTTPClient::STATUS_REQUESTING: {
 				case HTTPClient::STATUS_REQUESTING: {
-					status->set_text(TTR("Requesting.."));
+					status->set_text(TTR("Requesting..."));
 				} break;
 				} break;
 				default: {}
 				default: {}
 			}
 			}
@@ -1382,7 +1382,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) {
 
 
 	support = memnew(MenuButton);
 	support = memnew(MenuButton);
 	search_hb2->add_child(support);
 	search_hb2->add_child(support);
-	support->set_text(TTR("Support.."));
+	support->set_text(TTR("Support..."));
 	support->get_popup()->add_check_item(TTR("Official"), SUPPORT_OFFICIAL);
 	support->get_popup()->add_check_item(TTR("Official"), SUPPORT_OFFICIAL);
 	support->get_popup()->add_check_item(TTR("Community"), SUPPORT_COMMUNITY);
 	support->get_popup()->add_check_item(TTR("Community"), SUPPORT_COMMUNITY);
 	support->get_popup()->add_check_item(TTR("Testing"), SUPPORT_TESTING);
 	support->get_popup()->add_check_item(TTR("Testing"), SUPPORT_TESTING);

+ 1 - 1
editor/plugins/mesh_instance_editor_plugin.cpp

@@ -400,7 +400,7 @@ MeshInstanceEditor::MeshInstanceEditor() {
 	options->get_popup()->add_separator();
 	options->get_popup()->add_separator();
 	options->get_popup()->add_item(TTR("Create Navigation Mesh"), MENU_OPTION_CREATE_NAVMESH);
 	options->get_popup()->add_item(TTR("Create Navigation Mesh"), MENU_OPTION_CREATE_NAVMESH);
 	options->get_popup()->add_separator();
 	options->get_popup()->add_separator();
-	options->get_popup()->add_item(TTR("Create Outline Mesh.."), MENU_OPTION_CREATE_OUTLINE_MESH);
+	options->get_popup()->add_item(TTR("Create Outline Mesh..."), MENU_OPTION_CREATE_OUTLINE_MESH);
 	options->get_popup()->add_separator();
 	options->get_popup()->add_separator();
 	options->get_popup()->add_item(TTR("View UV1"), MENU_OPTION_DEBUG_UV1);
 	options->get_popup()->add_item(TTR("View UV1"), MENU_OPTION_DEBUG_UV1);
 	options->get_popup()->add_item(TTR("View UV2"), MENU_OPTION_DEBUG_UV2);
 	options->get_popup()->add_item(TTR("View UV2"), MENU_OPTION_DEBUG_UV2);

+ 2 - 2
editor/plugins/particles_2d_editor_plugin.cpp

@@ -94,7 +94,7 @@ void Particles2DEditorPlugin::_generate_visibility_rect() {
 	while (running < time) {
 	while (running < time) {
 
 
 		uint64_t ticks = OS::get_singleton()->get_ticks_usec();
 		uint64_t ticks = OS::get_singleton()->get_ticks_usec();
-		ep.step("Generating..", int(running), true);
+		ep.step("Generating...", int(running), true);
 		OS::get_singleton()->delay_usec(1000);
 		OS::get_singleton()->delay_usec(1000);
 
 
 		Rect2 capture = particles->capture_rect();
 		Rect2 capture = particles->capture_rect();
@@ -229,7 +229,7 @@ void Particles2DEditorPlugin::_generate_emission_mask() {
 		valid_normals.resize(vpc);
 		valid_normals.resize(vpc);
 	}
 	}
 
 
-	ERR_EXPLAIN(TTR("No pixels with transparency > 128 in image.."));
+	ERR_EXPLAIN(TTR("No pixels with transparency > 128 in image..."));
 	ERR_FAIL_COND(valid_positions.size() == 0);
 	ERR_FAIL_COND(valid_positions.size() == 0);
 
 
 	PoolVector<uint8_t> texdata;
 	PoolVector<uint8_t> texdata;

+ 1 - 1
editor/plugins/particles_editor_plugin.cpp

@@ -129,7 +129,7 @@ void ParticlesEditor::_generate_aabb() {
 	while (running < time) {
 	while (running < time) {
 
 
 		uint64_t ticks = OS::get_singleton()->get_ticks_usec();
 		uint64_t ticks = OS::get_singleton()->get_ticks_usec();
-		ep.step("Generating..", int(running), true);
+		ep.step("Generating...", int(running), true);
 		OS::get_singleton()->delay_usec(1000);
 		OS::get_singleton()->delay_usec(1000);
 
 
 		AABB capture = node->capture_aabb();
 		AABB capture = node->capture_aabb();

+ 3 - 3
editor/plugins/script_editor_plugin.cpp

@@ -884,7 +884,7 @@ void ScriptEditor::_menu_option(int p_option) {
 			file_dialog->add_filter("*.tet");
 			file_dialog->add_filter("*.tet");
 			file_dialog->set_current_path(EditorSettings::get_singleton()->get_text_editor_themes_dir().plus_file(EditorSettings::get_singleton()->get("text_editor/theme/color_theme")));
 			file_dialog->set_current_path(EditorSettings::get_singleton()->get_text_editor_themes_dir().plus_file(EditorSettings::get_singleton()->get("text_editor/theme/color_theme")));
 			file_dialog->popup_centered_ratio();
 			file_dialog->popup_centered_ratio();
-			file_dialog->set_title(TTR("Save Theme As.."));
+			file_dialog->set_title(TTR("Save Theme As..."));
 		} break;
 		} break;
 		case SEARCH_HELP: {
 		case SEARCH_HELP: {
 
 
@@ -2696,7 +2696,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
 
 
 	file_menu->get_popup()->add_separator();
 	file_menu->get_popup()->add_separator();
 	file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save", TTR("Save"), KEY_MASK_ALT | KEY_MASK_CMD | KEY_S), FILE_SAVE);
 	file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save", TTR("Save"), KEY_MASK_ALT | KEY_MASK_CMD | KEY_S), FILE_SAVE);
-	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_as", TTR("Save As...")), FILE_SAVE_AS);
 	file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_MASK_ALT | KEY_S), FILE_SAVE_ALL);
 	file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_MASK_ALT | KEY_S), FILE_SAVE_ALL);
 	file_menu->get_popup()->add_separator();
 	file_menu->get_popup()->add_separator();
 	file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Script"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_R), FILE_TOOL_RELOAD_SOFT);
 	file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Script"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_R), FILE_TOOL_RELOAD_SOFT);
@@ -2725,7 +2725,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
 	script_search_menu = memnew(MenuButton);
 	script_search_menu = memnew(MenuButton);
 	menu_hb->add_child(script_search_menu);
 	menu_hb->add_child(script_search_menu);
 	script_search_menu->set_text(TTR("Search"));
 	script_search_menu->set_text(TTR("Search"));
-	script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find", TTR("Find.."), KEY_MASK_CMD | KEY_F), HELP_SEARCH_FIND);
+	script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find", TTR("Find..."), KEY_MASK_CMD | KEY_F), HELP_SEARCH_FIND);
 	script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find_next", TTR("Find Next"), KEY_F3), HELP_SEARCH_FIND_NEXT);
 	script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find_next", TTR("Find Next"), KEY_F3), HELP_SEARCH_FIND_NEXT);
 	script_search_menu->get_popup()->connect("id_pressed", this, "_menu_option");
 	script_search_menu->get_popup()->connect("id_pressed", this, "_menu_option");
 	script_search_menu->hide();
 	script_search_menu->hide();

+ 4 - 4
editor/plugins/script_text_editor.cpp

@@ -1753,15 +1753,15 @@ void ScriptTextEditor::register_editor() {
 	ED_SHORTCUT("script_text_editor/convert_to_lowercase", TTR("Convert To Lowercase"), KEY_MASK_SHIFT | KEY_F3);
 	ED_SHORTCUT("script_text_editor/convert_to_lowercase", TTR("Convert To Lowercase"), KEY_MASK_SHIFT | KEY_F3);
 	ED_SHORTCUT("script_text_editor/capitalize", TTR("Capitalize"), KEY_MASK_SHIFT | KEY_F2);
 	ED_SHORTCUT("script_text_editor/capitalize", TTR("Capitalize"), KEY_MASK_SHIFT | KEY_F2);
 
 
-	ED_SHORTCUT("script_text_editor/find", TTR("Find.."), KEY_MASK_CMD | KEY_F);
+	ED_SHORTCUT("script_text_editor/find", TTR("Find..."), KEY_MASK_CMD | KEY_F);
 	ED_SHORTCUT("script_text_editor/find_next", TTR("Find Next"), KEY_F3);
 	ED_SHORTCUT("script_text_editor/find_next", TTR("Find Next"), KEY_F3);
 	ED_SHORTCUT("script_text_editor/find_previous", TTR("Find Previous"), KEY_MASK_SHIFT | KEY_F3);
 	ED_SHORTCUT("script_text_editor/find_previous", TTR("Find Previous"), KEY_MASK_SHIFT | KEY_F3);
-	ED_SHORTCUT("script_text_editor/replace", TTR("Replace.."), KEY_MASK_CMD | KEY_R);
+	ED_SHORTCUT("script_text_editor/replace", TTR("Replace..."), KEY_MASK_CMD | KEY_R);
 
 
 	ED_SHORTCUT("script_text_editor/find_in_files", TTR("Find in files..."), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F);
 	ED_SHORTCUT("script_text_editor/find_in_files", TTR("Find in files..."), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F);
 
 
-	ED_SHORTCUT("script_text_editor/goto_function", TTR("Goto Function.."), KEY_MASK_ALT | KEY_MASK_CMD | KEY_F);
-	ED_SHORTCUT("script_text_editor/goto_line", TTR("Goto Line.."), KEY_MASK_CMD | KEY_L);
+	ED_SHORTCUT("script_text_editor/goto_function", TTR("Goto Function..."), KEY_MASK_ALT | KEY_MASK_CMD | KEY_F);
+	ED_SHORTCUT("script_text_editor/goto_line", TTR("Goto Line..."), KEY_MASK_CMD | KEY_L);
 
 
 	ED_SHORTCUT("script_text_editor/contextual_help", TTR("Contextual Help"), KEY_MASK_SHIFT | KEY_F1);
 	ED_SHORTCUT("script_text_editor/contextual_help", TTR("Contextual Help"), KEY_MASK_SHIFT | KEY_F1);
 
 

+ 4 - 4
editor/plugins/shader_graph_editor_plugin.cpp

@@ -1478,7 +1478,7 @@ void ShaderGraphView::_create_node(int p_id) {
 	case ShaderGraph::NODE_XFORM_CONST: {
 	case ShaderGraph::NODE_XFORM_CONST: {
 		gn->set_title("XForm");
 		gn->set_title("XForm");
 		ToolButton *edit = memnew( ToolButton );
 		ToolButton *edit = memnew( ToolButton );
-		edit->set_text("edit..");
+		edit->set_text("edit...");
 		edit->connect("pressed",this,"_xform_const_changed",varray(p_id,edit));
 		edit->connect("pressed",this,"_xform_const_changed",varray(p_id,edit));
 		gn->add_child(edit);
 		gn->add_child(edit);
 		gn->set_slot(0,false,0,Color(),true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM]);
 		gn->set_slot(0,false,0,Color(),true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM]);
@@ -2289,7 +2289,7 @@ void ShaderGraphView::_create_node(int p_id) {
 		le->set_text(graph->input_node_get_name(type,p_id));
 		le->set_text(graph->input_node_get_name(type,p_id));
 		le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
 		le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
 		ToolButton *edit = memnew( ToolButton );
 		ToolButton *edit = memnew( ToolButton );
-		edit->set_text("edit..");
+		edit->set_text("edit...");
 		edit->connect("pressed",this,"_xform_input_changed",varray(p_id,edit));
 		edit->connect("pressed",this,"_xform_input_changed",varray(p_id,edit));
 		gn->add_child(edit);
 		gn->add_child(edit);
 		gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM]);
 		gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM]);
@@ -2310,7 +2310,7 @@ void ShaderGraphView::_create_node(int p_id) {
 		tex->set_mouse_filter(MOUSE_FILTER_PASS);
 		tex->set_mouse_filter(MOUSE_FILTER_PASS);
 		tex->set_texture(graph->texture_input_node_get_value(type,p_id));
 		tex->set_texture(graph->texture_input_node_get_value(type,p_id));
 		ToolButton *edit = memnew( ToolButton );
 		ToolButton *edit = memnew( ToolButton );
-		edit->set_text("edit..");
+		edit->set_text("edit...");
 		edit->connect("pressed",this,"_tex_edited",varray(p_id,edit));
 		edit->connect("pressed",this,"_tex_edited",varray(p_id,edit));
 		gn->add_child(edit);
 		gn->add_child(edit);
 
 
@@ -2345,7 +2345,7 @@ void ShaderGraphView::_create_node(int p_id) {
 		le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
 		le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
 
 
 		ToolButton *edit = memnew( ToolButton );
 		ToolButton *edit = memnew( ToolButton );
-		edit->set_text("edit..");
+		edit->set_text("edit...");
 		edit->connect("pressed",this,"_cube_edited",varray(p_id,edit));
 		edit->connect("pressed",this,"_cube_edited",varray(p_id,edit));
 		gn->add_child(edit);
 		gn->add_child(edit);
 
 

+ 3 - 3
editor/plugins/spatial_editor_plugin.cpp

@@ -3283,7 +3283,7 @@ void SpatialEditorViewport::drop_data_fw(const Point2 &p_point, const Variant &p
 		}
 		}
 	}
 	}
 	if (list.size() != 1) {
 	if (list.size() != 1) {
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 		accept->set_text(TTR("This operation requires a single selected node."));
 		accept->set_text(TTR("This operation requires a single selected node."));
 		accept->popup_centered_minsize();
 		accept->popup_centered_minsize();
 		_remove_preview();
 		_remove_preview();
@@ -5093,9 +5093,9 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) {
 	hbc_menu->add_child(transform_menu);
 	hbc_menu->add_child(transform_menu);
 
 
 	p = transform_menu->get_popup();
 	p = transform_menu->get_popup();
-	p->add_shortcut(ED_SHORTCUT("spatial_editor/configure_snap", TTR("Configure Snap..")), MENU_TRANSFORM_CONFIGURE_SNAP);
+	p->add_shortcut(ED_SHORTCUT("spatial_editor/configure_snap", TTR("Configure Snap...")), MENU_TRANSFORM_CONFIGURE_SNAP);
 	p->add_separator();
 	p->add_separator();
-	p->add_shortcut(ED_SHORTCUT("spatial_editor/transform_dialog", TTR("Transform Dialog..")), MENU_TRANSFORM_DIALOG);
+	p->add_shortcut(ED_SHORTCUT("spatial_editor/transform_dialog", TTR("Transform Dialog...")), MENU_TRANSFORM_DIALOG);
 
 
 	p->connect("id_pressed", this, "_menu_item_pressed");
 	p->connect("id_pressed", this, "_menu_item_pressed");
 
 

+ 1 - 1
editor/plugins/theme_editor_plugin.cpp

@@ -632,7 +632,7 @@ ThemeEditor::ThemeEditor() {
 	main_vb->add_child(hb_menu);
 	main_vb->add_child(hb_menu);
 
 
 	theme_menu = memnew(MenuButton);
 	theme_menu = memnew(MenuButton);
-	theme_menu->set_text(TTR("Edit theme.."));
+	theme_menu->set_text(TTR("Edit theme..."));
 	theme_menu->set_flat(false);
 	theme_menu->set_flat(false);
 	theme_menu->set_tooltip(TTR("Theme editing menu."));
 	theme_menu->set_tooltip(TTR("Theme editing menu."));
 	theme_menu->get_popup()->add_item(TTR("Add Item"), POPUP_ADD);
 	theme_menu->get_popup()->add_item(TTR("Add Item"), POPUP_ADD);

+ 3 - 3
editor/project_export.cpp

@@ -207,9 +207,9 @@ void ProjectExportDialog::_edit_preset(int p_index) {
 	TreeItem *patch_add = patches->create_item(patch_root);
 	TreeItem *patch_add = patches->create_item(patch_root);
 	patch_add->set_metadata(0, patchlist.size());
 	patch_add->set_metadata(0, patchlist.size());
 	if (patchlist.size() == 0)
 	if (patchlist.size() == 0)
-		patch_add->set_text(0, "Add initial export..");
+		patch_add->set_text(0, "Add initial export...");
 	else
 	else
-		patch_add->set_text(0, "Add previous patches..");
+		patch_add->set_text(0, "Add previous patches...");
 
 
 	patch_add->add_button(0, get_icon("folder", "FileDialog"), 1);
 	patch_add->add_button(0, get_icon("folder", "FileDialog"), 1);
 
 
@@ -803,7 +803,7 @@ ProjectExportDialog::ProjectExportDialog() {
 	preset_vb->add_child(preset_hb);
 	preset_vb->add_child(preset_hb);
 
 
 	add_preset = memnew(MenuButton);
 	add_preset = memnew(MenuButton);
-	add_preset->set_text(TTR("Add.."));
+	add_preset->set_text(TTR("Add..."));
 	add_preset->get_popup()->connect("index_pressed", this, "_add_preset");
 	add_preset->get_popup()->connect("index_pressed", this, "_add_preset");
 	preset_hb->add_child(add_preset);
 	preset_hb->add_child(add_preset);
 	MarginContainer *mc = memnew(MarginContainer);
 	MarginContainer *mc = memnew(MarginContainer);

+ 6 - 6
editor/project_settings_editor.cpp

@@ -425,7 +425,7 @@ void ProjectSettingsEditor::_add_item(int p_item, Ref<InputEvent> p_exiting_even
 
 
 		case INPUT_KEY: {
 		case INPUT_KEY: {
 
 
-			press_a_key_label->set_text(TTR("Press a Key.."));
+			press_a_key_label->set_text(TTR("Press a Key..."));
 			last_wait_for_key = Ref<InputEvent>();
 			last_wait_for_key = Ref<InputEvent>();
 			press_a_key->popup_centered(Size2(250, 80) * EDSCALE);
 			press_a_key->popup_centered(Size2(250, 80) * EDSCALE);
 			press_a_key->grab_focus();
 			press_a_key->grab_focus();
@@ -1732,7 +1732,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
 	add_prop_bar->add_child(memnew(VSeparator));
 	add_prop_bar->add_child(memnew(VSeparator));
 
 
 	popup_copy_to_feature = memnew(MenuButton);
 	popup_copy_to_feature = memnew(MenuButton);
-	popup_copy_to_feature->set_text(TTR("Override For.."));
+	popup_copy_to_feature->set_text(TTR("Override For..."));
 	popup_copy_to_feature->set_disabled(true);
 	popup_copy_to_feature->set_disabled(true);
 	add_prop_bar->add_child(popup_copy_to_feature);
 	add_prop_bar->add_child(popup_copy_to_feature);
 
 
@@ -1796,7 +1796,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
 	add_child(press_a_key);
 	add_child(press_a_key);
 
 
 	l = memnew(Label);
 	l = memnew(Label);
-	l->set_text(TTR("Press a Key.."));
+	l->set_text(TTR("Press a Key..."));
 	l->set_anchors_and_margins_preset(Control::PRESET_WIDE);
 	l->set_anchors_and_margins_preset(Control::PRESET_WIDE);
 	l->set_align(Label::ALIGN_CENTER);
 	l->set_align(Label::ALIGN_CENTER);
 	l->set_margin(MARGIN_TOP, 20);
 	l->set_margin(MARGIN_TOP, 20);
@@ -1867,7 +1867,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
 		tvb->add_child(thb);
 		tvb->add_child(thb);
 		thb->add_child(memnew(Label(TTR("Translations:"))));
 		thb->add_child(memnew(Label(TTR("Translations:"))));
 		thb->add_spacer();
 		thb->add_spacer();
-		Button *addtr = memnew(Button(TTR("Add..")));
+		Button *addtr = memnew(Button(TTR("Add...")));
 		addtr->connect("pressed", this, "_translation_file_open");
 		addtr->connect("pressed", this, "_translation_file_open");
 		thb->add_child(addtr);
 		thb->add_child(addtr);
 		VBoxContainer *tmc = memnew(VBoxContainer);
 		VBoxContainer *tmc = memnew(VBoxContainer);
@@ -1891,7 +1891,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
 		tvb->add_child(thb);
 		tvb->add_child(thb);
 		thb->add_child(memnew(Label(TTR("Resources:"))));
 		thb->add_child(memnew(Label(TTR("Resources:"))));
 		thb->add_spacer();
 		thb->add_spacer();
-		Button *addtr = memnew(Button(TTR("Add..")));
+		Button *addtr = memnew(Button(TTR("Add...")));
 		addtr->connect("pressed", this, "_translation_res_file_open");
 		addtr->connect("pressed", this, "_translation_res_file_open");
 		thb->add_child(addtr);
 		thb->add_child(addtr);
 		VBoxContainer *tmc = memnew(VBoxContainer);
 		VBoxContainer *tmc = memnew(VBoxContainer);
@@ -1912,7 +1912,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
 		tvb->add_child(thb);
 		tvb->add_child(thb);
 		thb->add_child(memnew(Label(TTR("Remaps by Locale:"))));
 		thb->add_child(memnew(Label(TTR("Remaps by Locale:"))));
 		thb->add_spacer();
 		thb->add_spacer();
-		addtr = memnew(Button(TTR("Add..")));
+		addtr = memnew(Button(TTR("Add...")));
 		addtr->connect("pressed", this, "_translation_res_option_file_open");
 		addtr->connect("pressed", this, "_translation_res_option_file_open");
 		translation_res_option_add_button = addtr;
 		translation_res_option_add_button = addtr;
 		thb->add_child(addtr);
 		thb->add_child(addtr);

+ 3 - 3
editor/property_editor.cpp

@@ -486,7 +486,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant::
 				type_button->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -3 * EDSCALE);
 				type_button->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -3 * EDSCALE);
 				type_button->set_anchor_and_margin(MARGIN_TOP, ANCHOR_END, -25 * EDSCALE);
 				type_button->set_anchor_and_margin(MARGIN_TOP, ANCHOR_END, -25 * EDSCALE);
 				type_button->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, -7 * EDSCALE);
 				type_button->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, -7 * EDSCALE);
-				type_button->set_text(TTR("Preset.."));
+				type_button->set_text(TTR("Preset..."));
 				type_button->get_popup()->clear();
 				type_button->get_popup()->clear();
 				type_button->get_popup()->add_item(TTR("Linear"), EASING_LINEAR);
 				type_button->get_popup()->add_item(TTR("Linear"), EASING_LINEAR);
 				type_button->get_popup()->add_item(TTR("Ease In"), EASING_EASE_IN);
 				type_button->get_popup()->add_item(TTR("Ease In"), EASING_EASE_IN);
@@ -530,14 +530,14 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant::
 			if (hint == PROPERTY_HINT_FILE || hint == PROPERTY_HINT_GLOBAL_FILE) {
 			if (hint == PROPERTY_HINT_FILE || hint == PROPERTY_HINT_GLOBAL_FILE) {
 
 
 				List<String> names;
 				List<String> names;
-				names.push_back(TTR("File.."));
+				names.push_back(TTR("File..."));
 				names.push_back(TTR("Clear"));
 				names.push_back(TTR("Clear"));
 				config_action_buttons(names);
 				config_action_buttons(names);
 
 
 			} else if (hint == PROPERTY_HINT_DIR || hint == PROPERTY_HINT_GLOBAL_DIR) {
 			} else if (hint == PROPERTY_HINT_DIR || hint == PROPERTY_HINT_GLOBAL_DIR) {
 
 
 				List<String> names;
 				List<String> names;
-				names.push_back(TTR("Dir.."));
+				names.push_back(TTR("Dir..."));
 				names.push_back(TTR("Clear"));
 				names.push_back(TTR("Clear"));
 				config_action_buttons(names);
 				config_action_buttons(names);
 			} else if (hint == PROPERTY_HINT_ENUM) {
 			} else if (hint == PROPERTY_HINT_ENUM) {

+ 12 - 12
editor/scene_tree_dock.cpp

@@ -379,7 +379,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
 			if (scene_tree->get_selected() == edited_scene) {
 			if (scene_tree->get_selected() == edited_scene) {
 
 
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done on the tree root."));
 				accept->set_text(TTR("This operation can't be done on the tree root."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -440,7 +440,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
 			if (editor_selection->is_selected(edited_scene)) {
 			if (editor_selection->is_selected(edited_scene)) {
 
 
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done on the tree root."));
 				accept->set_text(TTR("This operation can't be done on the tree root."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -510,7 +510,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
 			if (editor_selection->is_selected(edited_scene)) {
 			if (editor_selection->is_selected(edited_scene)) {
 
 
 				current_option = -1;
 				current_option = -1;
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done on the tree root."));
 				accept->set_text(TTR("This operation can't be done on the tree root."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -571,7 +571,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
 			Node *scene = editor_data->get_edited_scene_root();
 			Node *scene = editor_data->get_edited_scene_root();
 
 
 			if (!scene) {
 			if (!scene) {
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done without a scene."));
 				accept->set_text(TTR("This operation can't be done without a scene."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -580,7 +580,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
 			List<Node *> selection = editor_selection->get_selected_node_list();
 			List<Node *> selection = editor_selection->get_selected_node_list();
 
 
 			if (selection.size() != 1) {
 			if (selection.size() != 1) {
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation requires a single selected node."));
 				accept->set_text(TTR("This operation requires a single selected node."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -589,14 +589,14 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
 			Node *tocopy = selection.front()->get();
 			Node *tocopy = selection.front()->get();
 
 
 			if (tocopy == scene) {
 			if (tocopy == scene) {
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("Can not perform with the root node."));
 				accept->set_text(TTR("Can not perform with the root node."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
 			}
 			}
 
 
 			if (tocopy != editor_data->get_edited_scene_root() && tocopy->get_filename() != "") {
 			if (tocopy != editor_data->get_edited_scene_root() && tocopy->get_filename() != "") {
-				accept->get_ok()->set_text(TTR("I see.."));
+				accept->get_ok()->set_text(TTR("I see..."));
 				accept->set_text(TTR("This operation can't be done on instanced scenes."));
 				accept->set_text(TTR("This operation can't be done on instanced scenes."));
 				accept->popup_centered_minsize();
 				accept->popup_centered_minsize();
 				break;
 				break;
@@ -620,7 +620,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
 			new_scene_from_dialog->set_current_path(existing);
 			new_scene_from_dialog->set_current_path(existing);
 
 
 			new_scene_from_dialog->popup_centered_ratio();
 			new_scene_from_dialog->popup_centered_ratio();
-			new_scene_from_dialog->set_title(TTR("Save New Scene As.."));
+			new_scene_from_dialog->set_title(TTR("Save New Scene As..."));
 		} break;
 		} break;
 		case TOOL_COPY_NODE_PATH: {
 		case TOOL_COPY_NODE_PATH: {
 			List<Node *> selection = editor_selection->get_selected_node_list();
 			List<Node *> selection = editor_selection->get_selected_node_list();
@@ -1606,7 +1606,7 @@ void SceneTreeDock::_new_scene_from(String p_file) {
 	List<Node *> selection = editor_selection->get_selected_node_list();
 	List<Node *> selection = editor_selection->get_selected_node_list();
 
 
 	if (selection.size() != 1) {
 	if (selection.size() != 1) {
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 		accept->set_text(TTR("This operation requires a single selected node."));
 		accept->set_text(TTR("This operation requires a single selected node."));
 		accept->popup_centered_minsize();
 		accept->popup_centered_minsize();
 		return;
 		return;
@@ -1624,7 +1624,7 @@ void SceneTreeDock::_new_scene_from(String p_file) {
 		memdelete(copy);
 		memdelete(copy);
 
 
 		if (err != OK) {
 		if (err != OK) {
-			accept->get_ok()->set_text(TTR("I see.."));
+			accept->get_ok()->set_text(TTR("I see..."));
 			accept->set_text(TTR("Couldn't save new scene. Likely dependencies (instances) couldn't be satisfied."));
 			accept->set_text(TTR("Couldn't save new scene. Likely dependencies (instances) couldn't be satisfied."));
 			accept->popup_centered_minsize();
 			accept->popup_centered_minsize();
 			return;
 			return;
@@ -1636,14 +1636,14 @@ void SceneTreeDock::_new_scene_from(String p_file) {
 
 
 		err = ResourceSaver::save(p_file, sdata, flg);
 		err = ResourceSaver::save(p_file, sdata, flg);
 		if (err != OK) {
 		if (err != OK) {
-			accept->get_ok()->set_text(TTR("I see.."));
+			accept->get_ok()->set_text(TTR("I see..."));
 			accept->set_text(TTR("Error saving scene."));
 			accept->set_text(TTR("Error saving scene."));
 			accept->popup_centered_minsize();
 			accept->popup_centered_minsize();
 			return;
 			return;
 		}
 		}
 		_replace_with_branch_scene(p_file, base);
 		_replace_with_branch_scene(p_file, base);
 	} else {
 	} else {
-		accept->get_ok()->set_text(TTR("I see.."));
+		accept->get_ok()->set_text(TTR("I see..."));
 		accept->set_text(TTR("Error duplicating scene to save it."));
 		accept->set_text(TTR("Error duplicating scene to save it."));
 		accept->popup_centered_minsize();
 		accept->popup_centered_minsize();
 		return;
 		return;

+ 2 - 2
editor/settings_config_dialog.cpp

@@ -277,7 +277,7 @@ void EditorSettingsDialog::_shortcut_button_pressed(Object *p_item, int p_column
 	Ref<ShortCut> sc = EditorSettings::get_singleton()->get_shortcut(item);
 	Ref<ShortCut> sc = EditorSettings::get_singleton()->get_shortcut(item);
 
 
 	if (p_idx == 0) {
 	if (p_idx == 0) {
-		press_a_key_label->set_text(TTR("Press a Key.."));
+		press_a_key_label->set_text(TTR("Press a Key..."));
 		last_wait_for_key = Ref<InputEventKey>();
 		last_wait_for_key = Ref<InputEventKey>();
 		press_a_key->popup_centered(Size2(250, 80) * EDSCALE);
 		press_a_key->popup_centered(Size2(250, 80) * EDSCALE);
 		press_a_key->grab_focus();
 		press_a_key->grab_focus();
@@ -471,7 +471,7 @@ EditorSettingsDialog::EditorSettingsDialog() {
 	add_child(press_a_key);
 	add_child(press_a_key);
 
 
 	Label *l = memnew(Label);
 	Label *l = memnew(Label);
-	l->set_text(TTR("Press a Key.."));
+	l->set_text(TTR("Press a Key..."));
 	l->set_anchors_and_margins_preset(Control::PRESET_WIDE);
 	l->set_anchors_and_margins_preset(Control::PRESET_WIDE);
 	l->set_align(Label::ALIGN_CENTER);
 	l->set_align(Label::ALIGN_CENTER);
 	l->set_margin(MARGIN_TOP, 20);
 	l->set_margin(MARGIN_TOP, 20);

+ 54 - 54
editor/translations/editor.pot

@@ -488,7 +488,7 @@ msgid "Disconnect '%s' from '%s'"
 msgstr ""
 msgstr ""
 
 
 #: editor/connections_dialog.cpp
 #: editor/connections_dialog.cpp
-msgid "Connect.."
+msgid "Connect..."
 msgstr ""
 msgstr ""
 
 
 #: editor/connections_dialog.cpp
 #: editor/connections_dialog.cpp
@@ -898,11 +898,11 @@ msgid "Move Audio Bus"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_audio_buses.cpp
 #: editor/editor_audio_buses.cpp
-msgid "Save Audio Bus Layout As.."
+msgid "Save Audio Bus Layout As..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_audio_buses.cpp
 #: editor/editor_audio_buses.cpp
-msgid "Location for New Layout.."
+msgid "Location for New Layout..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_audio_buses.cpp
 #: editor/editor_audio_buses.cpp
@@ -1038,11 +1038,11 @@ msgid "Updating Scene"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_data.cpp
 #: editor/editor_data.cpp
-msgid "Storing local changes.."
+msgid "Storing local changes..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_data.cpp
 #: editor/editor_data.cpp
-msgid "Updating scene.."
+msgid "Updating scene..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_data.cpp
 #: editor/editor_data.cpp
@@ -1111,7 +1111,7 @@ msgid "Show In File Manager"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
 #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-msgid "New Folder.."
+msgid "New Folder..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_file_dialog.cpp
 #: editor/editor_file_dialog.cpp
@@ -1369,12 +1369,12 @@ msgid "Error saving resource!"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
 #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save Resource As.."
+msgid "Save Resource As..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
 #: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
 #: editor/scene_tree_dock.cpp
 #: editor/scene_tree_dock.cpp
-msgid "I see.."
+msgid "I see..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
@@ -1579,11 +1579,11 @@ msgid "Open Base Scene"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "Quick Open Scene.."
+msgid "Quick Open Scene..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "Quick Open Script.."
+msgid "Quick Open Script..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
@@ -1595,7 +1595,7 @@ msgid "Save changes to '%s' before closing?"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "Save Scene As.."
+msgid "Save Scene As..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
@@ -1647,7 +1647,7 @@ msgid "This action cannot be undone. Revert anyway?"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "Quick Run Scene.."
+msgid "Quick Run Scene..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
@@ -1792,7 +1792,7 @@ msgid "Previous tab"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "Filter Files.."
+msgid "Filter Files..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
@@ -1804,11 +1804,11 @@ msgid "New Scene"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "New Inherited Scene.."
+msgid "New Inherited Scene..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "Open Scene.."
+msgid "Open Scene..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
@@ -1828,15 +1828,15 @@ msgid "Open Recent"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "Convert To.."
+msgid "Convert To..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "MeshLibrary.."
+msgid "MeshLibrary..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
-msgid "TileSet.."
+msgid "TileSet..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
 #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
@@ -2081,7 +2081,7 @@ msgid "Save the currently edited resource."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
 #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As.."
+msgid "Save As..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_node.cpp
 #: editor/editor_node.cpp
@@ -2190,7 +2190,7 @@ msgid "Creating Mesh Previews"
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_plugin.cpp
 #: editor/editor_plugin.cpp
-msgid "Thumbnail.."
+msgid "Thumbnail..."
 msgstr ""
 msgstr ""
 
 
 #: editor/editor_plugin_settings.cpp
 #: editor/editor_plugin_settings.cpp
@@ -2341,7 +2341,7 @@ msgid "(Current)"
 msgstr ""
 msgstr ""
 
 
 #: editor/export_template_manager.cpp
 #: editor/export_template_manager.cpp
-msgid "Retrieving mirrors, please wait.."
+msgid "Retrieving mirrors, please wait..."
 msgstr ""
 msgstr ""
 
 
 #: editor/export_template_manager.cpp
 #: editor/export_template_manager.cpp
@@ -2417,7 +2417,7 @@ msgid "Error requesting url: "
 msgstr ""
 msgstr ""
 
 
 #: editor/export_template_manager.cpp
 #: editor/export_template_manager.cpp
-msgid "Connecting to Mirror.."
+msgid "Connecting to Mirror..."
 msgstr ""
 msgstr ""
 
 
 #: editor/export_template_manager.cpp
 #: editor/export_template_manager.cpp
@@ -2434,7 +2434,7 @@ msgstr ""
 
 
 #: editor/export_template_manager.cpp
 #: editor/export_template_manager.cpp
 #: editor/plugins/asset_library_editor_plugin.cpp
 #: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Connecting.."
+msgid "Connecting..."
 msgstr ""
 msgstr ""
 
 
 #: editor/export_template_manager.cpp
 #: editor/export_template_manager.cpp
@@ -2447,7 +2447,7 @@ msgstr ""
 
 
 #: editor/export_template_manager.cpp
 #: editor/export_template_manager.cpp
 #: editor/plugins/asset_library_editor_plugin.cpp
 #: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Requesting.."
+msgid "Requesting..."
 msgstr ""
 msgstr ""
 
 
 #: editor/export_template_manager.cpp
 #: editor/export_template_manager.cpp
@@ -2579,11 +2579,11 @@ msgid "Collapse all"
 msgstr ""
 msgstr ""
 
 
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
-msgid "Rename.."
+msgid "Rename..."
 msgstr ""
 msgstr ""
 
 
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
-msgid "Move To.."
+msgid "Move To..."
 msgstr ""
 msgstr ""
 
 
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
@@ -2595,15 +2595,15 @@ msgid "Instance"
 msgstr ""
 msgstr ""
 
 
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
-msgid "Edit Dependencies.."
+msgid "Edit Dependencies..."
 msgstr ""
 msgstr ""
 
 
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
-msgid "View Owners.."
+msgid "View Owners..."
 msgstr ""
 msgstr ""
 
 
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
-msgid "Duplicate.."
+msgid "Duplicate..."
 msgstr ""
 msgstr ""
 
 
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
@@ -2629,7 +2629,7 @@ msgstr ""
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
 msgid ""
 msgid ""
 "Scanning Files,\n"
 "Scanning Files,\n"
-"Please Wait.."
+"Please Wait..."
 msgstr ""
 msgstr ""
 
 
 #: editor/filesystem_dock.cpp
 #: editor/filesystem_dock.cpp
@@ -2695,7 +2695,7 @@ msgid "Import Scene"
 msgstr ""
 msgstr ""
 
 
 #: editor/import/resource_importer_scene.cpp
 #: editor/import/resource_importer_scene.cpp
-msgid "Importing Scene.."
+msgid "Importing Scene..."
 msgstr ""
 msgstr ""
 
 
 #: editor/import/resource_importer_scene.cpp
 #: editor/import/resource_importer_scene.cpp
@@ -2707,7 +2707,7 @@ msgid "Generating for Mesh: "
 msgstr ""
 msgstr ""
 
 
 #: editor/import/resource_importer_scene.cpp
 #: editor/import/resource_importer_scene.cpp
-msgid "Running Custom Script.."
+msgid "Running Custom Script..."
 msgstr ""
 msgstr ""
 
 
 #: editor/import/resource_importer_scene.cpp
 #: editor/import/resource_importer_scene.cpp
@@ -2723,7 +2723,7 @@ msgid "Error running post-import script:"
 msgstr ""
 msgstr ""
 
 
 #: editor/import/resource_importer_scene.cpp
 #: editor/import/resource_importer_scene.cpp
-msgid "Saving.."
+msgid "Saving..."
 msgstr ""
 msgstr ""
 
 
 #: editor/import_dock.cpp
 #: editor/import_dock.cpp
@@ -2743,7 +2743,7 @@ msgid "Import As:"
 msgstr ""
 msgstr ""
 
 
 #: editor/import_dock.cpp editor/property_editor.cpp
 #: editor/import_dock.cpp editor/property_editor.cpp
-msgid "Preset.."
+msgid "Preset..."
 msgstr ""
 msgstr ""
 
 
 #: editor/import_dock.cpp
 #: editor/import_dock.cpp
@@ -3157,7 +3157,7 @@ msgid "Transition Node"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/animation_tree_editor_plugin.cpp
 #: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Import Animations.."
+msgid "Import Animations..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/animation_tree_editor_plugin.cpp
 #: editor/plugins/animation_tree_editor_plugin.cpp
@@ -3165,7 +3165,7 @@ msgid "Edit Node Filters"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/animation_tree_editor_plugin.cpp
 #: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Filters.."
+msgid "Filters..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/animation_tree_editor_plugin.cpp
 #: editor/plugins/animation_tree_editor_plugin.cpp
@@ -3233,7 +3233,7 @@ msgid "Fetching:"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/asset_library_editor_plugin.cpp
 #: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Resolving.."
+msgid "Resolving..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/asset_library_editor_plugin.cpp
 #: editor/plugins/asset_library_editor_plugin.cpp
@@ -3300,7 +3300,7 @@ msgid "Site:"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/asset_library_editor_plugin.cpp
 #: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Support.."
+msgid "Support..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/asset_library_editor_plugin.cpp
 #: editor/plugins/asset_library_editor_plugin.cpp
@@ -3896,7 +3896,7 @@ msgid "Create Convex Collision Sibling"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/mesh_instance_editor_plugin.cpp
 #: editor/plugins/mesh_instance_editor_plugin.cpp
-msgid "Create Outline Mesh.."
+msgid "Create Outline Mesh..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/mesh_instance_editor_plugin.cpp
 #: editor/plugins/mesh_instance_editor_plugin.cpp
@@ -4101,7 +4101,7 @@ msgid "Error loading image:"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/particles_2d_editor_plugin.cpp
 #: editor/plugins/particles_2d_editor_plugin.cpp
-msgid "No pixels with transparency > 128 in image.."
+msgid "No pixels with transparency > 128 in image..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/particles_2d_editor_plugin.cpp
 #: editor/plugins/particles_2d_editor_plugin.cpp
@@ -4462,7 +4462,7 @@ msgid "Import Theme"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/script_editor_plugin.cpp
 #: editor/plugins/script_editor_plugin.cpp
-msgid "Save Theme As.."
+msgid "Save Theme As..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/script_editor_plugin.cpp
 #: editor/plugins/script_editor_plugin.cpp
@@ -4559,7 +4559,7 @@ msgstr ""
 
 
 #: editor/plugins/script_editor_plugin.cpp
 #: editor/plugins/script_editor_plugin.cpp
 #: editor/plugins/script_text_editor.cpp
 #: editor/plugins/script_text_editor.cpp
-msgid "Find.."
+msgid "Find..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/script_editor_plugin.cpp
 #: editor/plugins/script_editor_plugin.cpp
@@ -4765,15 +4765,15 @@ msgid "Find Previous"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/script_text_editor.cpp
 #: editor/plugins/script_text_editor.cpp
-msgid "Replace.."
+msgid "Replace..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/script_text_editor.cpp
 #: editor/plugins/script_text_editor.cpp
-msgid "Goto Function.."
+msgid "Goto Function..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/script_text_editor.cpp
 #: editor/plugins/script_text_editor.cpp
-msgid "Goto Line.."
+msgid "Goto Line..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/script_text_editor.cpp
 #: editor/plugins/script_text_editor.cpp
@@ -5224,11 +5224,11 @@ msgid "Transform"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/spatial_editor_plugin.cpp
 #: editor/plugins/spatial_editor_plugin.cpp
-msgid "Configure Snap.."
+msgid "Configure Snap..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/spatial_editor_plugin.cpp
 #: editor/plugins/spatial_editor_plugin.cpp
-msgid "Transform Dialog.."
+msgid "Transform Dialog..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/spatial_editor_plugin.cpp
 #: editor/plugins/spatial_editor_plugin.cpp
@@ -5481,7 +5481,7 @@ msgid "Remove All"
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/theme_editor_plugin.cpp
 #: editor/plugins/theme_editor_plugin.cpp
-msgid "Edit theme.."
+msgid "Edit theme..."
 msgstr ""
 msgstr ""
 
 
 #: editor/plugins/theme_editor_plugin.cpp
 #: editor/plugins/theme_editor_plugin.cpp
@@ -5729,7 +5729,7 @@ msgid "Presets"
 msgstr ""
 msgstr ""
 
 
 #: editor/project_export.cpp editor/project_settings_editor.cpp
 #: editor/project_export.cpp editor/project_settings_editor.cpp
-msgid "Add.."
+msgid "Add..."
 msgstr ""
 msgstr ""
 
 
 #: editor/project_export.cpp
 #: editor/project_export.cpp
@@ -6032,7 +6032,7 @@ msgid "Control+"
 msgstr ""
 msgstr ""
 
 
 #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
 #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-msgid "Press a Key.."
+msgid "Press a Key..."
 msgstr ""
 msgstr ""
 
 
 #: editor/project_settings_editor.cpp
 #: editor/project_settings_editor.cpp
@@ -6220,7 +6220,7 @@ msgid "Property:"
 msgstr ""
 msgstr ""
 
 
 #: editor/project_settings_editor.cpp
 #: editor/project_settings_editor.cpp
-msgid "Override For.."
+msgid "Override For..."
 msgstr ""
 msgstr ""
 
 
 #: editor/project_settings_editor.cpp
 #: editor/project_settings_editor.cpp
@@ -6316,11 +6316,11 @@ msgid "Easing Out-In"
 msgstr ""
 msgstr ""
 
 
 #: editor/property_editor.cpp
 #: editor/property_editor.cpp
-msgid "File.."
+msgid "File..."
 msgstr ""
 msgstr ""
 
 
 #: editor/property_editor.cpp
 #: editor/property_editor.cpp
-msgid "Dir.."
+msgid "Dir..."
 msgstr ""
 msgstr ""
 
 
 #: editor/property_editor.cpp
 #: editor/property_editor.cpp
@@ -6491,7 +6491,7 @@ msgid "This operation can't be done on instanced scenes."
 msgstr ""
 msgstr ""
 
 
 #: editor/scene_tree_dock.cpp
 #: editor/scene_tree_dock.cpp
-msgid "Save New Scene As.."
+msgid "Save New Scene As..."
 msgstr ""
 msgstr ""
 
 
 #: editor/scene_tree_dock.cpp
 #: editor/scene_tree_dock.cpp

+ 3 - 3
main/main.cpp

@@ -1312,7 +1312,7 @@ bool Main::start() {
 		DocData docsrc;
 		DocData docsrc;
 		Map<String, String> doc_data_classes;
 		Map<String, String> doc_data_classes;
 		Set<String> checked_paths;
 		Set<String> checked_paths;
-		print_line("Loading docs..");
+		print_line("Loading docs...");
 
 
 		for (int i = 0; i < _doc_data_class_path_count; i++) {
 		for (int i = 0; i < _doc_data_class_path_count; i++) {
 			String path = doc_tool.plus_file(_doc_data_class_paths[i].path);
 			String path = doc_tool.plus_file(_doc_data_class_paths[i].path);
@@ -1330,14 +1330,14 @@ bool Main::start() {
 		checked_paths.insert(index_path);
 		checked_paths.insert(index_path);
 		print_line("Loading docs from: " + index_path);
 		print_line("Loading docs from: " + index_path);
 
 
-		print_line("Merging docs..");
+		print_line("Merging docs...");
 		doc.merge_from(docsrc);
 		doc.merge_from(docsrc);
 		for (Set<String>::Element *E = checked_paths.front(); E; E = E->next()) {
 		for (Set<String>::Element *E = checked_paths.front(); E; E = E->next()) {
 			print_line("Erasing old docs at: " + E->get());
 			print_line("Erasing old docs at: " + E->get());
 			DocData::erase_classes(E->get());
 			DocData::erase_classes(E->get());
 		}
 		}
 
 
-		print_line("Generating new docs..");
+		print_line("Generating new docs...");
 		doc.save_classes(index_path, doc_data_classes);
 		doc.save_classes(index_path, doc_data_classes);
 
 
 		return false;
 		return false;

+ 1 - 1
modules/gdscript/gdscript_function.cpp

@@ -86,7 +86,7 @@ Variant *GDScriptFunction::_get_variant(int p_address, GDScriptInstance *p_insta
 				o = o->_owner;
 				o = o->_owner;
 			}
 			}
 
 
-			ERR_EXPLAIN("GDScriptCompiler bug..");
+			ERR_EXPLAIN("GDScriptCompiler bug...");
 			ERR_FAIL_V(NULL);
 			ERR_FAIL_V(NULL);
 		} break;
 		} break;
 		case ADDR_TYPE_LOCAL_CONSTANT: {
 		case ADDR_TYPE_LOCAL_CONSTANT: {

+ 6 - 6
modules/gdscript/gdscript_parser.cpp

@@ -970,7 +970,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
 		}
 		}
 
 
 		if (!expr) {
 		if (!expr) {
-			ERR_EXPLAIN("GDScriptParser bug, couldn't figure out what expression is..");
+			ERR_EXPLAIN("GDScriptParser bug, couldn't figure out what expression is...");
 			ERR_FAIL_COND_V(!expr, NULL);
 			ERR_FAIL_COND_V(!expr, NULL);
 		}
 		}
 
 
@@ -1305,7 +1305,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
 				expr_pos++;
 				expr_pos++;
 				if (expr_pos == expression.size()) {
 				if (expr_pos == expression.size()) {
 					//can happen..
 					//can happen..
-					_set_error("Unexpected end of expression..");
+					_set_error("Unexpected end of expression...");
 					return NULL;
 					return NULL;
 				}
 				}
 			}
 			}
@@ -1324,7 +1324,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
 
 
 		} else if (is_ternary) {
 		} else if (is_ternary) {
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 
@@ -1343,7 +1343,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
 
 
 			if (expression[next_op - 1].is_op) {
 			if (expression[next_op - 1].is_op) {
 
 
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 
@@ -1380,7 +1380,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
 		} else {
 		} else {
 
 
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 
@@ -1390,7 +1390,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
 
 
 			if (expression[next_op - 1].is_op) {
 			if (expression[next_op - 1].is_op) {
 
 
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 

+ 3 - 3
modules/visual_script/visual_script_expression.cpp

@@ -1146,7 +1146,7 @@ VisualScriptExpression::ENode *VisualScriptExpression::_parse_expression() {
 				expr_pos++;
 				expr_pos++;
 				if (expr_pos == expression.size()) {
 				if (expr_pos == expression.size()) {
 					//can happen..
 					//can happen..
-					_set_error("Unexpected end of expression..");
+					_set_error("Unexpected end of expression...");
 					return NULL;
 					return NULL;
 				}
 				}
 			}
 			}
@@ -1166,7 +1166,7 @@ VisualScriptExpression::ENode *VisualScriptExpression::_parse_expression() {
 		} else {
 		} else {
 
 
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 
@@ -1175,7 +1175,7 @@ VisualScriptExpression::ENode *VisualScriptExpression::_parse_expression() {
 
 
 			if (expression[next_op - 1].is_op) {
 			if (expression[next_op - 1].is_op) {
 
 
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 

+ 7 - 7
platform/android/export/export.cpp

@@ -1153,7 +1153,7 @@ public:
 		String package_name = p_preset->get("package/unique_name");
 		String package_name = p_preset->get("package/unique_name");
 
 
 		if (remove_prev) {
 		if (remove_prev) {
-			ep.step("Uninstalling..", 1);
+			ep.step("Uninstalling...", 1);
 
 
 			print_line("Uninstalling previous version: " + devices[p_device].name);
 			print_line("Uninstalling previous version: " + devices[p_device].name);
 
 
@@ -1232,7 +1232,7 @@ public:
 			}
 			}
 		}
 		}
 
 
-		ep.step("Running on Device..", 3);
+		ep.step("Running on Device...", 3);
 		args.clear();
 		args.clear();
 		args.push_back("-s");
 		args.push_back("-s");
 		args.push_back(devices[p_device].id);
 		args.push_back(devices[p_device].id);
@@ -1490,7 +1490,7 @@ public:
 			ret = unzGoToNextFile(pkg);
 			ret = unzGoToNextFile(pkg);
 		}
 		}
 
 
-		ep.step("Adding Files..", 1);
+		ep.step("Adding Files...", 1);
 		Error err = OK;
 		Error err = OK;
 		Vector<String> cl = cmdline.strip_edges().split(" ");
 		Vector<String> cl = cmdline.strip_edges().split(" ");
 		for (int i = 0; i < cl.size(); i++) {
 		for (int i = 0; i < cl.size(); i++) {
@@ -1624,14 +1624,14 @@ public:
 				password = EditorSettings::get_singleton()->get("export/android/debug_keystore_pass");
 				password = EditorSettings::get_singleton()->get("export/android/debug_keystore_pass");
 				user = EditorSettings::get_singleton()->get("export/android/debug_keystore_user");
 				user = EditorSettings::get_singleton()->get("export/android/debug_keystore_user");
 
 
-				ep.step("Signing Debug APK..", 103);
+				ep.step("Signing Debug APK...", 103);
 
 
 			} else {
 			} else {
 				keystore = release_keystore;
 				keystore = release_keystore;
 				password = release_password;
 				password = release_password;
 				user = release_username;
 				user = release_username;
 
 
-				ep.step("Signing Release APK..", 103);
+				ep.step("Signing Release APK...", 103);
 			}
 			}
 
 
 			if (!FileAccess::exists(keystore)) {
 			if (!FileAccess::exists(keystore)) {
@@ -1663,7 +1663,7 @@ public:
 				return ERR_CANT_CREATE;
 				return ERR_CANT_CREATE;
 			}
 			}
 
 
-			ep.step("Verifying APK..", 104);
+			ep.step("Verifying APK...", 104);
 
 
 			args.clear();
 			args.clear();
 			args.push_back("-verify");
 			args.push_back("-verify");
@@ -1683,7 +1683,7 @@ public:
 
 
 		static const int ZIP_ALIGNMENT = 4;
 		static const int ZIP_ALIGNMENT = 4;
 
 
-		ep.step("Aligning APK..", 105);
+		ep.step("Aligning APK...", 105);
 
 
 		unzFile tmp_unaligned = unzOpen2(unaligned_path.utf8().get_data(), &io);
 		unzFile tmp_unaligned = unzOpen2(unaligned_path.utf8().get_data(), &io);
 		if (!tmp_unaligned) {
 		if (!tmp_unaligned) {

+ 1 - 1
scene/gui/text_edit.cpp

@@ -5689,7 +5689,7 @@ TextEdit::TextEdit() {
 	indent_size = 4;
 	indent_size = 4;
 	text.set_indent_size(indent_size);
 	text.set_indent_size(indent_size);
 	text.clear();
 	text.clear();
-	//text.insert(1,"Mongolia..");
+	//text.insert(1,"Mongolia...");
 	//text.insert(2,"PAIS GENEROSO!!");
 	//text.insert(2,"PAIS GENEROSO!!");
 	text.set_color_regions(&color_regions);
 	text.set_color_regions(&color_regions);
 
 

+ 5 - 5
servers/visual/shader_language.cpp

@@ -2966,7 +2966,7 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
 				expr_pos++;
 				expr_pos++;
 				if (expr_pos == expression.size()) {
 				if (expr_pos == expression.size()) {
 					//can happen..
 					//can happen..
-					_set_error("Unexpected end of expression..");
+					_set_error("Unexpected end of expression...");
 					return NULL;
 					return NULL;
 				}
 				}
 			}
 			}
@@ -3003,7 +3003,7 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
 		} else if (is_ternary) {
 		} else if (is_ternary) {
 
 
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 
@@ -3039,7 +3039,7 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
 		} else {
 		} else {
 
 
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
 			if (next_op < 1 || next_op >= (expression.size() - 1)) {
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 
@@ -3048,7 +3048,7 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
 
 
 			if (expression[next_op - 1].is_op) {
 			if (expression[next_op - 1].is_op) {
 
 
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 				ERR_FAIL_V(NULL);
 				ERR_FAIL_V(NULL);
 			}
 			}
 
 
@@ -3064,7 +3064,7 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
 				// can be followed by a unary op in a valid combination,
 				// can be followed by a unary op in a valid combination,
 				// due to how precedence works, unaries will always disappear first
 				// due to how precedence works, unaries will always disappear first
 
 
-				_set_error("Parser bug..");
+				_set_error("Parser bug...");
 			}
 			}
 
 
 			op->arguments.push_back(expression[next_op - 1].node); //expression goes as left
 			op->arguments.push_back(expression[next_op - 1].node); //expression goes as left