mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-05-09 22:14:56 +00:00
Use SimpleLexer escaped strings for localization
This commit is contained in:
parent
5ee5056c5d
commit
cf711c3af7
@ -32,7 +32,7 @@ std::vector<LocalizeFileEntry> LocalizeFileReader::ReadLocalizeFile()
|
|||||||
SimpleLexer::Config lexerConfig;
|
SimpleLexer::Config lexerConfig;
|
||||||
lexerConfig.m_emit_new_line_tokens = true;
|
lexerConfig.m_emit_new_line_tokens = true;
|
||||||
lexerConfig.m_read_strings = 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_integer_numbers = false;
|
||||||
lexerConfig.m_read_floating_point_numbers = false;
|
lexerConfig.m_read_floating_point_numbers = false;
|
||||||
const auto lexer = std::make_unique<SimpleLexer>(m_stream, std::move(lexerConfig));
|
const auto lexer = std::make_unique<SimpleLexer>(m_stream, std::move(lexerConfig));
|
||||||
|
@ -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
|
void SequenceLocalizeFileLanguageValue::ProcessMatch(LocalizeFileParserState* state, SequenceResult<SimpleParserValue>& result) const
|
||||||
{
|
{
|
||||||
const auto& langToken = result.NextCapture(CAPTURE_LANGUAGE_NAME);
|
const auto& langToken = result.NextCapture(CAPTURE_LANGUAGE_NAME);
|
||||||
@ -39,5 +31,5 @@ void SequenceLocalizeFileLanguageValue::ProcessMatch(LocalizeFileParserState* st
|
|||||||
state->m_current_reference_languages.emplace(langName);
|
state->m_current_reference_languages.emplace(langName);
|
||||||
|
|
||||||
if(langName == state->m_language_name_caps)
|
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());
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,6 @@ class SequenceLocalizeFileLanguageValue final : public LocalizeFileParser::seque
|
|||||||
static constexpr auto CAPTURE_LANGUAGE_NAME = 1;
|
static constexpr auto CAPTURE_LANGUAGE_NAME = 1;
|
||||||
static constexpr auto CAPTURE_ENTRY_VALUE = 2;
|
static constexpr auto CAPTURE_ENTRY_VALUE = 2;
|
||||||
|
|
||||||
static std::string UnescapeValue(const std::string& value);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ProcessMatch(LocalizeFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
void ProcessMatch(LocalizeFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
|
|||||||
stringFileDumper.SetLanguageName(language);
|
stringFileDumper.SetLanguageName(language);
|
||||||
|
|
||||||
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
|
// 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("");
|
stringFileDumper.SetNotes("");
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
|
|||||||
stringFileDumper.SetLanguageName(language);
|
stringFileDumper.SetLanguageName(language);
|
||||||
|
|
||||||
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
|
// 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("");
|
stringFileDumper.SetNotes("");
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
|
|||||||
stringFileDumper.SetLanguageName(language);
|
stringFileDumper.SetLanguageName(language);
|
||||||
|
|
||||||
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
|
// 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("");
|
stringFileDumper.SetNotes("");
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
|
|||||||
stringFileDumper.SetLanguageName(language);
|
stringFileDumper.SetLanguageName(language);
|
||||||
|
|
||||||
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
|
// 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("");
|
stringFileDumper.SetNotes("");
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ void AssetDumperLocalizeEntry::DumpPool(AssetDumpingContext& context, AssetPool<
|
|||||||
stringFileDumper.SetLanguageName(language);
|
stringFileDumper.SetLanguageName(language);
|
||||||
|
|
||||||
// Magic string. Original string files do have this config file. The purpose of the config file is unknown though.
|
// 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("");
|
stringFileDumper.SetNotes("");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user