/// <summary> /// The do translation internal. /// </summary> /// <param name="fullNameForDocumentToProcess">The full name for document to process.</param> /// <param name="sourceLanguage">The source language.</param> /// <param name="targetLanguage">The target langauge.</param> private static void DoTranslationInternal( string fullNameForDocumentToProcess, string sourceLanguage, string targetLanguage, bool ignoreHidden = false) { try { if (fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".docx")) { ProcessWordDocument(fullNameForDocumentToProcess, sourceLanguage, targetLanguage, ignoreHidden); } else if (fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".xlsx")) { ProcessExcelDocument(fullNameForDocumentToProcess, sourceLanguage, targetLanguage, ignoreHidden); } else if (fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".pptx")) { ProcessPowerPointDocument(fullNameForDocumentToProcess, sourceLanguage, targetLanguage, ignoreHidden); } else if (fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".txt") || fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".text")) { ProcessTextDocument(fullNameForDocumentToProcess, sourceLanguage, targetLanguage); } else if (fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".html") || fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".htm")) { HTMLTranslationManager.DoTranslation(fullNameForDocumentToProcess, sourceLanguage, targetLanguage); } else if (fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".srt")) { SRTTranslationManager.DoTranslation(fullNameForDocumentToProcess, sourceLanguage, targetLanguage); } else if (fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".md") || fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".markdown")) { MDTranslationManager.DoTranslation(fullNameForDocumentToProcess, sourceLanguage, targetLanguage); } else if (fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".vtt") || fullNameForDocumentToProcess.ToLowerInvariant().EndsWith(".webvtt")) { VTTTranslate vTTTranslate = new VTTTranslate(fullNameForDocumentToProcess, sourceLanguage); _ = vTTTranslate.Translate(TranslationServiceFacade.LanguageNameToLanguageCode(targetLanguage)).Result; } } catch (AggregateException ae) { var errorMessage = String.Empty; foreach (var ex in ae.InnerExceptions) { errorMessage = errorMessage + " " + ex.Message; LoggingManager.LogError(string.Format("{0}:{1}", fullNameForDocumentToProcess, ex.Message + ex.StackTrace)); } throw new Exception(errorMessage); } catch (Exception ex) { LoggingManager.LogError( string.Format("{0}:{1}", fullNameForDocumentToProcess, ex.Message + ex.StackTrace)); throw; } }
private static void ProcessSRTDocument(string fullNameForDocumentToProcess, string sourceLanguage, string targetLanguage) { SRTTranslationManager.DoTranslation(fullNameForDocumentToProcess, sourceLanguage, targetLanguage); }