public override void Initialize() { Files.Clear(); foreach (var assembly in Assemblies.Keys) { var prefix = Assemblies[assembly]; var compare = !string.IsNullOrEmpty(prefix) ? f => f.StartsWith(prefix) && f.EndsWith(FileExtension) : (Func <string, bool>)(f => f.EndsWith(FileExtension)); var files = assembly.GetManifestResourceNames().Where(compare).ToList(); var available = files.Select(s => s.Replace(FileExtension, string.Empty).Split('.').Where(st => st.Length == 2).LastOrDefault()).Distinct(); var list = AvailableLanguages.Union(available); _languages = list.ToList(); Files.Add(assembly, files); } }