From 250d648d2aefdbf644275c7d0920473de7189e1b Mon Sep 17 00:00:00 2001 From: Eldor Zang Date: Thu, 5 Jan 2023 16:03:02 +0200 Subject: [PATCH] Fixed issue #70617 : generating POT for multiline message Fixed the issue and now each message's line is suceeded by a \n. Fixes #70614 --- editor/pot_generator.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/editor/pot_generator.cpp b/editor/pot_generator.cpp index d6b69e10dbe..f63359b4202 100644 --- a/editor/pot_generator.cpp +++ b/editor/pot_generator.cpp @@ -159,14 +159,15 @@ void POTGenerator::_write_to_pot(const String &p_file) { void POTGenerator::_write_msgid(Ref r_file, const String &p_id, bool p_plural) { // Split \\n and \n. - Vector temp = p_id.split("\\n"); Vector msg_lines; + Vector temp = p_id.split("\\n"); for (int i = 0; i < temp.size(); i++) { msg_lines.append_array(temp[i].split("\n")); - if (i < temp.size() - 1) { - // Add \n. - msg_lines.set(msg_lines.size() - 1, msg_lines[msg_lines.size() - 1] + "\\n"); - } + } + + // Add \n. + for (int i = 0; i < msg_lines.size() - 1; i++) { + msg_lines.set(i, msg_lines[i] + "\\n"); } if (p_plural) { @@ -175,6 +176,10 @@ void POTGenerator::_write_msgid(Ref r_file, const String &p_id, bool r_file->store_string("msgid "); } + if (msg_lines.size() > 1) { + r_file->store_line("\"\""); + } + for (int i = 0; i < msg_lines.size(); i++) { r_file->store_line("\"" + msg_lines[i] + "\""); }