diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-02-20 11:12:03 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-02-20 11:12:03 +0100 |
commit | c187d6522b651abedf24632b7219f15caba7d401 (patch) | |
tree | b3cb976ddc123e8bbeebc95499bb0e5b0564334b | |
parent | da057661070648d36b8ccd4e8e67790c16e7c8c2 (diff) | |
parent | 1b07b419b3f2d71b42099ad425982f2fc8f5acf0 (diff) | |
download | redot-engine-c187d6522b651abedf24632b7219f15caba7d401.tar.gz |
Merge pull request #84569 from jsjtxietian/Add-ignorable-columns-to-translation-CSVs
Add support for comment (ignorable) column in translation csv
-rw-r--r-- | editor/import/resource_importer_csv_translation.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/editor/import/resource_importer_csv_translation.cpp b/editor/import/resource_importer_csv_translation.cpp index 5d45292222..d56b426c86 100644 --- a/editor/import/resource_importer_csv_translation.cpp +++ b/editor/import/resource_importer_csv_translation.cpp @@ -101,9 +101,12 @@ Error ResourceImporterCSVTranslation::import(const String &p_source_file, const for (int i = 1; i < line.size(); i++) { String locale = TranslationServer::get_singleton()->standardize_locale(line[i]); - if (locale.is_empty()) { + if (line[i].left(1) == "_") { skipped_locales.insert(i); - ERR_CONTINUE_MSG(true, vformat("Error importing CSV translation: Invalid locale format '%s', should be 'language_Script_COUNTRY_VARIANT@extra'.", line[i])); + continue; + } else if (locale.is_empty()) { + skipped_locales.insert(i); + ERR_CONTINUE_MSG(true, vformat("Error importing CSV translation: Invalid locale format '%s', should be 'language_Script_COUNTRY_VARIANT@extra'. This column will be ignored.", line[i])); } locales.push_back(locale); @@ -117,7 +120,7 @@ Error ResourceImporterCSVTranslation::import(const String &p_source_file, const line = f->get_csv_line(delimiter); String key = line[0]; if (!key.is_empty()) { - ERR_CONTINUE_MSG(line.size() != locales.size() + 1, vformat("Error importing CSV translation: expected %d locale(s), but the '%s' key has %d locale(s).", locales.size(), key, line.size() - 1)); + ERR_CONTINUE_MSG(line.size() != locales.size() + (int)skipped_locales.size() + 1, vformat("Error importing CSV translation: expected %d locale(s), but the '%s' key has %d locale(s).", locales.size(), key, line.size() - 1)); for (int i = 1; i < line.size(); i++) { if (skipped_locales.has(i)) { |