Repository: godotengine/godot
File: editor/scene/3d/node_3d_editor_plugin.cpp (C++)

Code before:
		}
	}

	drop_pos = p_point;

	_perform_drop_data();
}

void Node3DEditorViewport::begin_transform(TransformMode p_mode, bool instant) {
	if (get_selected_count() > 0) {
		_edit.mode = p_mode;
		_compute_edit(_edit.mouse_pos);
		_edit.instant = instant;
		_edit.snap = spatial_editor->is_snap_enabled();
		_edit.initial_click_vector = Vector3();
		_edit.previous_rotation_vector = Vector3();
		_edit.accumulated_rotation_angle = 0.0;
		_edit.display_rotation_angle = 0.0;
		_edit.gizmo_initiated = false;
		switch (p_mode) {
			case TRANSFORM_ROTATE:
				_edit.show_rotation_line = true;
				set_message(vformat(TTR("Rotating %s degrees."), String::num(0, 0)));
				break;
			case TRANSFORM_TRANSLATE:
				set_message(vformat(TTR("Translating: (%s, %s, %s)"), "0", "0", "0"));
				break;
			case TRANSFORM_SCALE:
				set_message(vformat(TTR("Scaling: (%s, %s, %s)"), "0", "0", "0"));
				break;
			default:
				break;
		}
		update_transform_gizmo_view();
		set_process_input(instant);
		surface->queue_redraw();
	}
}

// Apply the current transform operation.
void Node3DEditorViewport::commit_transform() {
	ERR_FAIL_COND(_edit.mode == TRANSFORM_NONE);
	static const char *_transform_name[4] = {
		TTRC("None"),
		TTRC("Rotate"),
		// TRANSLATORS: This refers to the movement that changes the position of an object.
		TTRC("Translate"),
		TTRC("Scale"),
	};
	EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
	undo_redo->create_action(_transform_name[_edit.mode]);

Review comment (suggestion):
```suggestion
				set_message(vformat(TTR("Translating: %s"), vformat("%.0v", Vector3())));
```

Code after:
	_perform_drop_data();
}

void Node3DEditorViewport::begin_transform(TransformMode p_mode, bool instant) {
	if (get_selected_count() > 0) {
		_edit.mode = p_mode;
		_compute_edit(_edit.mouse_pos);
		_edit.instant = instant;
		_edit.snap = spatial_editor->is_snap_enabled();
		_edit.initial_click_vector = Vector3();
		_edit.previous_rotation_vector = Vector3();
		_edit.accumulated_rotation_angle = 0.0;
		_edit.display_rotation_angle = 0.0;
		_edit.gizmo_initiated = false;
		switch (p_mode) {
			case TRANSFORM_ROTATE:
				_edit.show_rotation_line = true;
				set_message(vformat(TTR("Rotating %s degrees."), String::num(0, 0)));
				break;
			case TRANSFORM_TRANSLATE:
				set_message(vformat(TTR("Translating: %s"), vformat("%.0v", Vector3())));
				break;
			case TRANSFORM_SCALE:
				set_message(vformat(TTR("Scaling: %s"), vformat("%.0v", Vector3())));
				break;
			default:
				break;
		}
		update_transform_gizmo_view();
		set_process_input(instant);
		surface->queue_redraw();
	}
}

// Apply the current transform operation.
void Node3DEditorViewport::commit_transform() {
	ERR_FAIL_COND(_edit.mode == TRANSFORM_NONE);
	static const char *_transform_name[4] = {
		TTRC("None"),
		TTRC("Rotate"),
		// TRANSLATORS: This refers to the movement that changes the position of an object.
		TTRC("Translate"),
		TTRC("Scale"),
	};
	EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
	undo_redo->create_action(_transform_name[_edit.mode]);

	const List<Node *> &selection = editor_selection->get_top_selected_node_list();

	for (Node *E : selection) {
		Node3D *sp = Object::cast_to<Node3D>(E);