From fdd2a87b8fe047240176cd0c405453b1c4f3caaf Mon Sep 17 00:00:00 2001 From: Poommetee Ketson Date: Wed, 12 Jul 2017 21:33:12 +0700 Subject: [PATCH] Ignore fuzzy translations --- core/io/translation_loader_po.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/core/io/translation_loader_po.cpp b/core/io/translation_loader_po.cpp index 6104608961d..1a670b0ab0e 100644 --- a/core/io/translation_loader_po.cpp +++ b/core/io/translation_loader_po.cpp @@ -51,6 +51,8 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error, const S Ref translation = Ref(memnew(Translation)); int line = 1; + bool skip_this; + bool skip_next; while (true) { @@ -60,9 +62,10 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error, const S if (status == STATUS_READING_STRING) { - if (msg_id != "") - translation->add_message(msg_id, msg_str); - else if (config == "") + if (msg_id != "") { + if (!skip_this) + translation->add_message(msg_id, msg_str); + } else if (config == "") config = msg_str; break; @@ -85,15 +88,18 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error, const S ERR_FAIL_V(RES()); } - if (msg_id != "") - translation->add_message(msg_id, msg_str); - else if (config == "") + if (msg_id != "") { + if (!skip_this) + translation->add_message(msg_id, msg_str); + } else if (config == "") config = msg_str; l = l.substr(5, l.length()).strip_edges(); status = STATUS_READING_ID; msg_id = ""; msg_str = ""; + skip_this = skip_next; + skip_next = false; } if (l.begins_with("msgstr")) { @@ -110,6 +116,9 @@ RES TranslationLoaderPO::load_translation(FileAccess *f, Error *r_error, const S } if (l == "" || l.begins_with("#")) { + if (l.find("fuzzy") != -1) { + skip_next = true; + } line++; continue; //nothing to read or comment }