From fe4bdaf5b591905d93b2fd1fbe7a8f3ac3613eef Mon Sep 17 00:00:00 2001 From: Michael Alexsander Date: Mon, 22 Jul 2024 10:00:09 -0300 Subject: [PATCH] Parse `auto_translate` when generating a POT file --- .../packed_scene_translation_parser_plugin.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/editor/plugins/packed_scene_translation_parser_plugin.cpp b/editor/plugins/packed_scene_translation_parser_plugin.cpp index 118cba53d25..e9ddaeb3fe6 100644 --- a/editor/plugins/packed_scene_translation_parser_plugin.cpp +++ b/editor/plugins/packed_scene_translation_parser_plugin.cpp @@ -71,7 +71,11 @@ Error PackedSceneEditorTranslationParserPlugin::parse_file(const String &p_path, bool auto_translating = true; bool auto_translate_mode_found = false; for (int j = 0; j < state->get_node_property_count(i); j++) { - if (state->get_node_property_name(i, j) != "auto_translate_mode") { + String property = state->get_node_property_name(i, j); + // If an old scene wasn't saved in the new version, the `auto_translate` property won't be converted into `auto_translate_mode`, + // so the deprecated property still needs to be checked as well. + // TODO: Remove the check for "auto_translate" once the property if fully removed. + if (property != "auto_translate_mode" && property != "auto_translate") { continue; } @@ -84,9 +88,14 @@ Error PackedSceneEditorTranslationParserPlugin::parse_file(const String &p_path, idx_last -= 1; } - int auto_translate_mode = (int)state->get_node_property_value(i, j); - if (auto_translate_mode == Node::AUTO_TRANSLATE_MODE_DISABLED) { - auto_translating = false; + if (property == "auto_translate_mode") { + int auto_translate_mode = (int)state->get_node_property_value(i, j); + if (auto_translate_mode == Node::AUTO_TRANSLATE_MODE_DISABLED) { + auto_translating = false; + } + } else { + // TODO: Remove this once `auto_translate` is fully removed. + auto_translating = (bool)state->get_node_property_value(i, j); } atr_owners.push_back(Pair(state->get_node_path(i), auto_translating));