private void LoadLocalization(ZipArchiveEntry entry, Match match) { string name = match.Groups["filename"].Value; string nameSpace = match.Groups["namespace"].Value; bool isJson = match.Groups["filetype"].Value.Equals("json", StringComparison.InvariantCultureIgnoreCase); using (var stream = entry.Open()) { var text = Encoding.UTF8.GetString(stream.ReadToSpan(entry.Length)); LanguageResource lang; if (isJson) { lang = MCJsonConvert.DeserializeObject <LanguageResource>(text); } else { lang = LanguageResource.ParseLangFile(text); } lang.CultureName = name; lang.Namespace = nameSpace; _languageCache[$"{nameSpace}:{name}"] = lang; } }