Repository: godotengine/godot
File: editor/script/script_text_editor.cpp (C++)

Code before:
					String(d["type"]) == "obj_property" ||
					String(d["type"]) == "files_and_dirs")) {
		set_drop_info_text(d);
		return true;
	}

	return false;
}

void ScriptTextEditor::set_drop_info_text(const Dictionary &p_info) const {
	if (drag_info_label->is_visible() || !EDITOR_GET("text_editor/appearance/drag_&_drop_info/show_drag_&_drop_info")) {
		return;
	}

	String text;
	String c = keycode_get_string((Key)KeyModifierMask::CMD_OR_CTRL);
	bool drop_as_uid = bool(EDITOR_GET("text_editor/behavior/files/drop_preload_resources_as_uid"));
	String default_drop_option = drop_as_uid ? TTR("UID path") : TTR("file path");
	String alternate_drop_option = drop_as_uid ? TTR("file path") : TTR("UID path");

	const String type = p_info.get("type", "");

	if (type == "files" || type == "files_and_dirs" || type == "resource") {
		Array files = p_info.get("files", Array());
		text = TTRN("Drop file path.", "Drop file paths.", files.size()) +
				"\n" + vformat(TTRN("Hold %s: add const preload by %s.", "Hold %s: add const preloads by %s.", files.size()), c, default_drop_option) +
				"\n" + vformat(TTRN("Hold %s+Shift: add const preload by %s.", "Hold %s+Shift: add const preloads by %s.", files.size()), c, alternate_drop_option) +
				"\n" + TTRN("Hold Alt: add @export var pointing to the resource.", "Hold Alt: add @export vars pointing to the resources.", files.size());
	} else if (type == "nodes") {
		Array nodes = p_info["nodes"];
		text = TTRN("Drop node path.", "Drop node paths.", nodes.size()) +
				"\n" + vformat(TTRN("Hold %s: add @onready var pointing to the node path.", "Hold %s: add @onready vars pointing to the node paths.", nodes.size()), c) +
				"\n" + TTRN("Hold Alt: add @export var pointing to the node.", "Hold Alt: add @export vars pointing to the nodes.", nodes.size());
	} else if (type == "obj_property") {
		text = TTR("Drop property path.");
	}

	if (!text.is_empty()) {
		drag_info_label->show();
		drag_info_label->set_text(text);
		drag_info_label->set_anchors_and_offsets_preset(Control::PRESET_BOTTOM_RIGHT, Control::PRESET_MODE_MINSIZE, 20 * EDSCALE);
	}
}

static Node *_find_script_node(Node *p_current_node, const Ref<Script> &script) {
	if (p_current_node->get_script() == script) {
		return p_current_node;
	}

	for (int i = 0; i < p_current_node->get_child_count(); i++) {
		Node *n = _find_script_node(p_current_node->get_child(i), script);

Review comment (suggestion):
```suggestion
				"\n" + vformat(TTRN("Hold %s: Add const preload by %s.", "Hold %s: Add const preloads by %s.", files.size()), c, default_drop_option) +
```
We capitalize after colon in other cases, for all these 

Code after:
			}
		} else if (export_drop_modifier_pressed) {
			Vector<ObjectID> obj_ids = _get_objects_for_export_assignment();

			for (int i = 0; i < nodes.size(); i++) {
				NodePath np = nodes[i];
				Node *node = get_node(np);
				if (!node) {
					continue;
				}

				String variable_name = String(node->get_name()).to_snake_case().validate_unicode_identifier();
				StringName class_name = node->get_class_name();
				Ref<Script> node_script = node->get_script();
				if (node_script.is_valid()) {
					StringName global_node_script_name = node_script->get_global_name();
					if (!global_node_script_name.is_empty()) {
						class_name = global_node_script_name;
					}
				}

				text_to_drop += vformat("@export var %s: %s\n", variable_name, class_name);
				for (ObjectID obj_id : obj_ids) {
					pending_dragged_exports.push_back(DraggedExport{ obj_id, variable_name, node, class_name });
				}
			}
		} else {
			for (int i = 0; i < nodes.size(); i++) {
				if (i > 0) {
					text_to_drop += ", ";
				}

				NodePath np = nodes[i];
				Node *node = get_node(np);
				if (!node) {
					continue;
				}

				bool is_unique = node->is_unique_name_in_owner() && (node->get_owner() == sn || node->get_owner() == sn->get_owner());
				String path = is_unique ? String(node->get_name()) : String(sn->get_path_to(node));
				for (const String &segment : path.split("/")) {
					if (!segment.is_valid_ascii_identifier()) {
						path = _quote_drop_data(path);
						break;
					}
				}
				text_to_drop += (is_unique ? "%" : "$") + path;
			}
		}
	}