Fix locale resource remapping with binary conversion on export

This commit is contained in:
David Snopek 2022-07-29 09:30:29 -05:00
parent 572629d4ee
commit 6bbc126c34

View File

@ -794,6 +794,8 @@ String ResourceLoader::_path_remap(const String &p_path, bool *r_translation_rem
// To find the path of the remapped resource, we extract the locale name after
// the last ':' to match the project locale.
// An extra remap may still be necessary afterwards due to the text -> binary converter on export.
String locale = TranslationServer::get_singleton()->get_locale();
ERR_FAIL_COND_V_MSG(locale.length() < 2, p_path, "Could not remap path '" + p_path + "' for translation as configured locale '" + locale + "' is invalid.");
@ -823,12 +825,10 @@ String ResourceLoader::_path_remap(const String &p_path, bool *r_translation_rem
if (path_remaps.has(new_path)) {
new_path = path_remaps[new_path];
}
if (new_path == p_path) { // Did not remap.
} else {
// Try file remap.
Error err;
Ref<FileAccess> f = FileAccess::open(p_path + ".remap", FileAccess::READ, &err);
Ref<FileAccess> f = FileAccess::open(new_path + ".remap", FileAccess::READ, &err);
if (f.is_valid()) {
VariantParser::StreamFile stream;
stream.f = f;