/// <summary> /// Show the plug-in settings form when the user is adding the translation provider plug-in /// through the GUI of SDL Trados Studio /// </summary> /// <param name="owner"></param> /// <param name="languagePairs"></param> /// <param name="credentialStore"></param> /// <returns></returns> #region "Browse" public ITranslationProvider[] Browse(IWin32Window owner, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore) { FiskmoConfDialog dialog = new FiskmoConfDialog(new FiskmoOptions(), languagePairs); if (dialog.ShowDialog(owner) == DialogResult.OK) { FiskmoProvider testProvider = new FiskmoProvider(dialog.Options); return(new ITranslationProvider[] { testProvider }); } return(null); }
public ITranslationProvider CreateTranslationProvider(Uri translationProviderUri, string translationProviderState, ITranslationProviderCredentialStore credentialStore) { if (!SupportsTranslationProviderUri(translationProviderUri)) { throw new Exception("Cannot handle URI."); } FiskmoProvider tp = new FiskmoProvider(new FiskmoOptions(translationProviderUri)); return(tp); }
/// <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 }
/// <summary> /// If the plug-in settings can be changed by the user, /// SDL Trados Studio will display a Settings button. /// By clicking this button, users raise the plug-in user interface, /// in which they can modify any applicable settings. /// </summary> /// <param name="owner"></param> /// <param name="translationProvider"></param> /// <param name="languagePairs"></param> /// <param name="credentialStore"></param> /// <returns></returns> #region "Edit" public bool Edit(IWin32Window owner, ITranslationProvider translationProvider, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore) { FiskmoProvider editProvider = translationProvider as FiskmoProvider; if (editProvider == null) { return(false); } FiskmoConfDialog dialog = new FiskmoConfDialog(editProvider.Options, languagePairs); if (dialog.ShowDialog(owner) == DialogResult.OK) { editProvider.Options = dialog.Options; return(true); } return(false); }