/// <summary> /// Instantiates the variables and fills the list file content into /// a Dictionary collection object. /// </summary> /// <param name="provider"></param> /// <param name="languages"></param> #region "ListTranslationProviderLanguageDirection" public FiskmoProviderLanguageDirection(FiskmoProvider provider, LanguagePair languages) { #region "Instantiate" // UT.LogMessageToFile("Init ListTranslationProviderLanguageDirection"); _provider = provider; _languageDirection = languages; _options = _provider.Options; if (Boolean.Parse(_options.pregenerateMt)) { EditorController editorController = SdlTradosStudio.Application.GetController <EditorController>(); editorController.ActiveDocumentChanged += DocChanged; } _visitor = new FiskmoProviderElementVisitor(_options); var sourceCode = this._languageDirection.SourceCulture.TwoLetterISOLanguageName; var targetCode = this._languageDirection.TargetCulture.TwoLetterISOLanguageName; this.langpair = $"{sourceCode}-{targetCode}"; if (!FiskmoProviderLanguageDirection.processedDocuments.ContainsKey(this.langpair)) { FiskmoProviderLanguageDirection.processedDocuments[this.langpair] = new ConcurrentBag <Document>(); } var modelManager = new ModelManager(); //Start a marian instance if one has not been started or the previous one has exited //for some reason. if (!FiskmoProviderLanguageDirection._marianProcesses.ContainsKey(this.langpair) || FiskmoProviderLanguageDirection._marianProcesses[this.langpair].MtPipe.HasExited) { //if ((sourceCode == "sv" && targetCode == "fi") || (sourceCode == "fi" && targetCode == "sv")) if (true) { var latestModelDir = modelManager.GetLatestModelDir(sourceCode, targetCode); FiskmoProviderLanguageDirection._marianProcesses[this.langpair] = new MarianProcess(latestModelDir, sourceCode, targetCode); } } #endregion }
/// <summary> /// Instantiates the variables and fills the list file content into /// a Dictionary collection object. /// </summary> /// <param name="provider"></param> /// <param name="languages"></param> #region "ListTranslationProviderLanguageDirection" public FiskmoProviderLanguageDirection(FiskmoProvider provider, LanguagePair languages) { #region "Instantiate" // UT.LogMessageToFile("Init ListTranslationProviderLanguageDirection"); _provider = provider; _languageDirection = languages; _options = _provider.Options; _visitor = new FiskmoProviderElementVisitor(); var sourceCode = this._languageDirection.SourceCulture.TwoLetterISOLanguageName; var targetCode = this._languageDirection.TargetCulture.TwoLetterISOLanguageName; this.langpair = $"{sourceCode}-{targetCode}"; #endregion }
protected override void OnInitializeTask() { this.collectedSentencePairCount = 0; this.settings = GetSetting <FinetuneBatchTaskSettings>(); this.fiskmoOptions = new FiskmoOptions(new Uri(this.settings.ProviderOptions)); //Use project guid in case no model tag specified if (this.fiskmoOptions.modelTag == "") { this.fiskmoOptions.modelTag = this.Project.GetProjectInfo().Id.ToString(); } this.tms = this.InstantiateProjectTms(); this.ProjectTranslations = new Dictionary <Language, List <Tuple <string, string> > >(); this.ProjectNewSegments = new Dictionary <Language, List <string> >(); this.ProjectFuzzies = new Dictionary <Language, List <TranslationUnit> >(); this.sourceVisitor = new FiskmoProviderElementVisitor(); this.targetVisitor = new FiskmoProviderElementVisitor(); base.OnInitializeTask(); }