public ParserResult Parse(string input, int scope, IReadOnlyTextTranslationCache cache) { if (cache.TryGetTranslationSplitter(input, scope, out var match, out var splitter)) { return(new ParserResult(ParserResultOrigin.RegexTextParser, input, splitter.Translation, true, true, Settings.CacheRegexPatternResults, true, splitter.CompiledRegex, match)); } return(null); }
public bool TryGetTranslationSplitter(string text, int scope, out Match match, out RegexTranslationSplitter splitter) { return(_first.TryGetTranslationSplitter(text, scope, out match, out splitter) || (_first.AllowFallback && _second.TryGetTranslationSplitter(text, scope, out match, out splitter))); }