public TranslationIOUnit(EditorInternalConfig config, DefaultLocalizationRepository defaultLocalizationRepository, EditorTranslationIORepository editorTranslationRepository) { if (defaultLocalizationRepository == null) { throw new ArgumentNullException(nameof(DefaultLocalizationRepository)); } if (editorTranslationRepository == null) { throw new ArgumentNullException(nameof(EditorTranslationIORepository)); } if (config == null) { throw new ArgumentNullException(nameof(EditorInternalConfig)); } this._defaultLocalizationRepository = defaultLocalizationRepository; this._editorTranslationRepository = editorTranslationRepository; var exporterType = ReflectionHelper .GetAllSubtypes(typeof(ITranslationExport)) .First(e => e.Name == config.TranslationExportProvider); this._translationExport = (ITranslationExport)Activator.CreateInstance(exporterType); var importerType = ReflectionHelper .GetAllSubtypes(typeof(ITranslationImport)) .First(e => e.Name == config.TranslationImportProvider); this._translationImport = (ITranslationImport)Activator.CreateInstance(importerType); }
public static void ShowTranslationsWindow() { var config = new EditorConfigRepository().GetInternalConfig(); var defaultLocalizationRepository = new DefaultLocalizationRepository(); var editorTranslationIORepository = new EditorTranslationIORepository(new TranslationStorageProvider()); var ioUnit = new TranslationIOUnit(config, defaultLocalizationRepository, editorTranslationIORepository); new TranslationInfoPresenter( new EditorTranslationInfoRepository(), ioUnit) .Run(); }