Ejemplo n.º 1
0
        public pp_Settings()
        {
            InitializeComponent();
            DataContext = this;

            __Assemblies = new AvailableAssembliesCollection();

            foreach (var assembly in Document.Assemblies)
            {
                var assemblyItem = new AvailableAssemblyForTranslation(__Assemblies, assembly.Assembly);
                __Assemblies.Add(assemblyItem);
            }

            FillAssembliesToRemove();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public async Task <object> SearchForLocalizableAssemblies(IProgress <string> progress, CancellationToken cancelToken)
        {
            List <LocalizableAssembly> localizableAssemblies = new List <LocalizableAssembly>();

            List <string> alreadyDefinedCultures = null;

            progress.Report(StringUtils.String("SearchingForAssemblies"));

            await Task.Run(() =>
            {
                using (var appDomain = new LocalizationAppDomain(Document.PathToBinaries))
                {
                    foreach (var fullFilePath in Directory.EnumerateFiles(Document.PathToBinaries, "*.exe"))
                    {
                        CheckAndAddAssembly(
                            localizableAssemblies,
                            System.IO.Path.GetFileName(fullFilePath),
                            Document.PathToBinaries,
                            appDomain);
                    }

                    foreach (var fullFilePath in Directory.EnumerateFiles(Document.PathToBinaries, "*.dll"))
                    {
                        CheckAndAddAssembly(
                            localizableAssemblies,
                            System.IO.Path.GetFileName(fullFilePath),
                            Document.PathToBinaries,
                            appDomain);
                    }

                    alreadyDefinedCultures = FindTranslationCultures(localizableAssemblies);
                }
            });

            __AvailableAssemblies.Clear();

            if (localizableAssemblies.Count > 0)
            {
                DefaultCulture = new Culture(localizableAssemblies[0].DefaultCulture);
            }

            foreach (var assembly in localizableAssemblies)
            {
                if (assembly.DefaultCulture == DefaultCulture.CultureCode)
                {
                    var selectedAssembly = new AvailableAssemblyForTranslation(__AvailableAssemblies, assembly);
                    selectedAssembly.IsSelected = true;
                    __AvailableAssemblies.Add(selectedAssembly);
                }
            }

            __TranslationCultures.Clear();

            if (AddRemoveAssembliesOnly)
            {
                return(null);
            }

            if (alreadyDefinedCultures != null)
            {
                FillTranslationCultures(alreadyDefinedCultures);
            }


            return(null);
        }