### Godot version

v4.1.stable.official [970459615]

### System information

Godot v4.1.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1050 (NVIDIA; 31.0.15.3667) - Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz (8 Threads)

### Issue description

When generating a POT file using Godot Editor, if the `String` contains double quotes, its entry in the POT file will be wrong (see below).

### Steps to reproduce

Create this script:
```
extends Control


func _ready():
	
	var a: String = tr("\"Problematic\" string")
	print(a)
```

And then generate a POT file from it. You will get something like:
```
# LANGUAGE translation for Bugs for the following files:
# res://main.gd
#
# FIRST AUTHOR < EMAIL @ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bugs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"

#: main.gd
msgid ""Problematic" string"
msgstr ""
```

The problem cames from the extra double quotes inside the string, they will raise an error when generating a PO file.

A possible solution would be to make:
```
extends Control


func _ready():
	
	TranslationServer.set_locale("fr")
	var a: String = tr("\\\"Problematic\\\" string")
	print(a)
```

Therefore, the POT file:
```
# LANGUAGE translation for Bugs for the following files:
# res://main.gd
#
# FIRST AUTHOR < EMAIL @ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bugs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"

#: main.gd
msgid "\"Problematic\" string"
msgstr ""
```

But then, the string is not recognized. This is the PO file with an extra entry added manually:
```
# LANGUAGE translation for Bugs for the following files:
# res://main.gd
#
# FIRST AUTHOR < EMAIL @ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: Bugs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#: main.gd
msgid "\"Problematic\" string"
msgstr "TEST0"

msgid "\\\"Problematic\\\" string"
msgstr "TEST1"
```
Then `print(a)` prints `TEST1` instead of `TEST0`.

### Minimal reproduction project

[project.zip](https://github.com/godotengine/godot/files/12207357/project.zip)

Error err;
	Ref<FileAccess> file = FileAccess::open(p_file, FileAccess::WRITE, &err);
	if (err != OK) {
		ERR_PRINT("Failed to open " + p_file);
		return;
	}
	String project_name = GLOBAL_GET("application/config/name");
	Vector<String> files = GLOBAL_GET("internationalization/locale/translations_pot_files");
	String extracted_files = "";
	for (int i = 0; i < files.size(); i++) {
		extracted_files += "# " + files[i] + "\n";
	}
	const String header =
			"# LANGUAGE translation for " + project_name + " for the following files:\n" + extracted_files +
			"#\n"
			"# FIRST AUTHOR < EMAIL @ADDRESS>, YEAR.\n"
			"#\n"
			"#, fuzzy\n"
			"msgid \"\"\n"
			"msgstr \"\"\n"
			"\"Project-Id-Version: " +
			project_name + "\\n\"\n"
						   "\"MIME-Version: 1.0\\n\"\n"
						   "\"Content-Type: text/plain; charset=UTF-8\\n\"\n"
						   "\"Content-Transfer-Encoding: 8-bit\\n\"\n";
	file->store_string(header);
	for (const KeyValue<String, Vector<MsgidData>> &E_pair : all_translation_strings) {