Use SimpleLexer escaped strings for localization

This commit is contained in:
Jan 2023-09-24 15:25:08 +02:00
parent 5ee5056c5d
commit cf711c3af7
8 changed files with 7 additions and 17 deletions

View File

@ -32,7 +32,7 @@ std::vector<LocalizeFileEntry> LocalizeFileReader::ReadLocalizeFile()
SimpleLexer::Config lexerConfig;
lexerConfig.m_emit_new_line_tokens = true;
lexerConfig.m_read_strings = true;
lexerConfig.m_string_escape_sequences = false; // Escape sequences are handled inside the Parser itself in the Sequence
lexerConfig.m_string_escape_sequences = true;
lexerConfig.m_read_integer_numbers = false;
lexerConfig.m_read_floating_point_numbers = false;
const auto lexer = std::make_unique<SimpleLexer>(m_stream, std::move(lexerConfig));

View File

@ -15,14 +15,6 @@ SequenceLocalizeFileLanguageValue::SequenceLocalizeFileLanguageValue()
});
}
std::string SequenceLocalizeFileLanguageValue::UnescapeValue(const std::string& value)
{
std::ostringstream str;
utils::UnescapeStringFromQuotationMarks(str, value);
return str.str();
}
void SequenceLocalizeFileLanguageValue::ProcessMatch(LocalizeFileParserState* state, SequenceResult<SimpleParserValue>& result) const
{
const auto& langToken = result.NextCapture(CAPTURE_LANGUAGE_NAME);
@ -39,5 +31,5 @@ void SequenceLocalizeFileLanguageValue::ProcessMatch(LocalizeFileParserState* st
state->m_current_reference_languages.emplace(langName);
if(langName == state->m_language_name_caps)
state->m_entries.emplace_back(state->m_current_reference, UnescapeValue(valueToken.StringValue()));
state->m_entries.emplace_back(state->m_current_reference, valueToken.StringValue());
}

View File

@ -7,8 +7,6 @@ class SequenceLocalizeFileLanguageValue final : public LocalizeFileParser::seque
static constexpr auto CAPTURE_LANGUAGE_NAME = 1;
static constexpr auto CAPTURE_ENTRY_VALUE = 2;
static std::string UnescapeValue(const std::string& value);
protected:
void ProcessMatch(LocalizeFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;

View File

@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
stringFileDumper.SetLanguageName(language);
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
stringFileDumper.SetConfigFile(R"(C:\trees\cod3\cod3\bin\StringEd.cfg)");
stringFileDumper.SetConfigFile(R"(C:/trees/cod3/cod3/bin/StringEd.cfg)");
stringFileDumper.SetNotes("");

View File

@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
stringFileDumper.SetLanguageName(language);
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
stringFileDumper.SetConfigFile(R"(C:\trees\cod3\cod3\bin\StringEd.cfg)");
stringFileDumper.SetConfigFile(R"(C:/trees/cod3/cod3/bin/StringEd.cfg)");
stringFileDumper.SetNotes("");

View File

@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
stringFileDumper.SetLanguageName(language);
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
stringFileDumper.SetConfigFile(R"(C:\trees\cod3\cod3\bin\StringEd.cfg)");
stringFileDumper.SetConfigFile(R"(C:/trees/cod3/cod3/bin/StringEd.cfg)");
stringFileDumper.SetNotes("");

View File

@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
stringFileDumper.SetLanguageName(language);
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
stringFileDumper.SetConfigFile(R"(C:\projects\cod\t5\bin\StringEd.cfg)");
stringFileDumper.SetConfigFile(R"(C:/projects/cod/t5/bin/StringEd.cfg)");
stringFileDumper.SetNotes("");

View File

@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
stringFileDumper.SetLanguageName(language);
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
stringFileDumper.SetConfigFile(R"(C:\projects\cod\t6\bin\StringEd.cfg)");
stringFileDumper.SetConfigFile(R"(C:/projects/cod/t6/bin/StringEd.cfg)");
stringFileDumper.SetNotes("");