diff options
author | Eldor Zang <e.z.eldor.zang@gmail.com> | 2023-01-05 16:03:02 +0200 |
---|---|---|
committer | Eldor Zang <e.z.eldor.zang@gmail.com> | 2023-01-05 16:03:02 +0200 |
commit | 250d648d2aefdbf644275c7d0920473de7189e1b (patch) | |
tree | 611e730c2c777f1b820a5aa6517839c67fcd4e60 | |
parent | 5674fa04aeb44a0d9cf48073fe2be25d1b804acf (diff) |
Fixed issue #70617 : generating POT for multiline message
Fixed the issue and now each message's line is suceeded by a \n.
Fixes #70614
-rw-r--r-- | editor/pot_generator.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/editor/pot_generator.cpp b/editor/pot_generator.cpp index d6b69e10db..f63359b420 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<FileAccess> r_file, const String &p_id, bool p_plural) { // Split \\n and \n. - Vector<String> temp = p_id.split("\\n"); Vector<String> msg_lines; + Vector<String> 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<FileAccess> 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] + "\""); } |