private void FindAndCheck(TranslatedAssembly documentAssembly) { foreach (var assembly in __AvailableAssemblies) { if (assembly.Assembly.AssemblyFile == documentAssembly.Assembly.AssemblyFile) { assembly.IsSelected = true; return; } } var newAssembly = new AvailableAssemblyForTranslation(__AvailableAssemblies, documentAssembly.Assembly); newAssembly.IsMissing = true; newAssembly.IsSelected = true; __AvailableAssemblies.Add(newAssembly); }
private void SearchForLocalizableAssemblies() { List <LocalizableAssembly> localizableAssemblies = new List <LocalizableAssembly>(); using (var appDomain = new LocalizationAppDomain(__PathToBinaries)) { foreach (var fullFilePath in Directory.EnumerateFiles(__PathToBinaries, "*.exe")) { CheckAndAddAssembly( localizableAssemblies, System.IO.Path.GetFileName(fullFilePath), __PathToBinaries, appDomain); } foreach (var fullFilePath in Directory.EnumerateFiles(__PathToBinaries, "*.dll")) { CheckAndAddAssembly( localizableAssemblies, System.IO.Path.GetFileName(fullFilePath), __PathToBinaries, appDomain); } } SetDefaultCulture(); __AvailableAssemblies.Clear(); if (localizableAssemblies.Count > 0) { DefaultCulture = localizableAssemblies[0].DefaultCulture; } foreach (var assembly in localizableAssemblies) { if (assembly.DefaultCulture == DefaultCulture) { var selectedAssembly = new AvailableAssemblyForTranslation(__AvailableAssemblies, assembly); selectedAssembly.IsSelected = true; __AvailableAssemblies.Add(selectedAssembly); } } DoPropertyChange("DefaultCulture"); }