public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { var info = new SniffInfo(); try { _packageModel = _packageService.GetPackageModel(); var sourceLanguageExtension = string.Empty; if (_packageModel != null) { sourceLanguageExtension = _packageModel.LanguagePairs[0].SourceLanguage.ThreeLetterWindowsLanguageName; } if (File.Exists(nativeFilePath)) { // call method to check if file is supported info.IsSupported = IsFileSupported(nativeFilePath, sourceLanguageExtension); // call method to determine the file language pair GetFileLanguages(ref info, nativeFilePath); } else { info.IsSupported = true; } } catch (Exception ex) { Log.Logger.Error($"Sniff method: {ex.Message}\n {ex.StackTrace}"); } return(info); }
// retrieve the source and target language // from the file header private void GetFileLanguages(ref SniffInfo info, string nativeFilePath) { var doc = new XmlDocument(); doc.Load(nativeFilePath); if (doc.DocumentElement != null) { var fileElements = doc.GetElementsByTagName(File); foreach (XmlElement file in fileElements) { if (file.HasAttributes) { var source = file.Attributes[SourceLanguage]; if (source != null && source.Value.Length == 5) { info.DetectedSourceLanguage = new Sdl.FileTypeSupport.Framework.Pair <Language, DetectionLevel>(new Language(source.Value), DetectionLevel.Certain); } var target = file.Attributes[TargetLanguage]; if (target != null && target.Value.Length == 5) { info.DetectedTargetLanguage = new Sdl.FileTypeSupport.Framework.Pair <Language, DetectionLevel>(new Language(target.Value), DetectionLevel.Certain); } } } } }
public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { var info = new SniffInfo(); _fileService = new FileService(); var packageModel = _packageService.GetPackageModel(); var sourceLanguageExtension = string.Empty; if (packageModel != null) { sourceLanguageExtension = packageModel.LanguagePairs[0].SourceLanguage.ThreeLetterWindowsLanguageName; } if (File.Exists(nativeFilePath)) { // call method to check if file is supported info.IsSupported = IsFileSupported(nativeFilePath, sourceLanguageExtension); // call method to determine the file language pair SetFileLanguages(ref info); } else { info.IsSupported = false; } return(info); }
// retrieve the source and target language // from the file header private void GetFileLanguages(ref SniffInfo info, string nativeFilePath) { XmlDocument doc = new XmlDocument(); doc.Load(nativeFilePath); info.DetectedSourceLanguage = new Sdl.FileTypeSupport.Framework.Pair <Language, DetectionLevel>(new Language(MapLanguage(srcFileExtension)), DetectionLevel.Certain); info.DetectedTargetLanguage = new Sdl.FileTypeSupport.Framework.Pair <Language, DetectionLevel>(new Language(MapLanguage(trgFileExtension)), DetectionLevel.Certain); }
// retrieve the source and target language // from the file header private void GetFileLanguages(ref SniffInfo info, string nativeFilePath) { try { var doc = new XmlDocument(); doc.Load(nativeFilePath); info.DetectedSourceLanguage = new Pair <Language, DetectionLevel>(new Language(MapLanguage(srcFileExtension)), DetectionLevel.Certain); info.DetectedTargetLanguage = new Pair <Language, DetectionLevel>(new Language(MapLanguage(trgFileExtension)), DetectionLevel.Certain); } catch (Exception ex) { Log.Logger.Error($"GetFileLanguages method: {ex.Message}\n {ex.StackTrace}"); } }
// retrieve the source and target language // from the file header private void GetFileLanguages(ref SniffInfo info, string nativeFilePath) { XmlDocument doc = new XmlDocument(); doc.Load(nativeFilePath); string tmxSource = doc.SelectSingleNode("tmx/header/@srclang").InnerText; info.DetectedSourceLanguage = new Sdl.FileTypeSupport.Framework.Pair <Language, DetectionLevel>(new Language(tmxSource), DetectionLevel.Certain); if (doc.SelectSingleNode("tmx/body/tu[1]/tuv[2]").Attributes[0] != null && doc.SelectSingleNode("tmx/body/tu[1]/tuv[2]").Attributes[0].InnerText.Length == 5) { string tmxTarget = doc.SelectSingleNode("tmx/body/tu[1]/tuv[2]").Attributes[0].InnerText; info.DetectedTargetLanguage = new Sdl.FileTypeSupport.Framework.Pair <Language, DetectionLevel>(new Language(tmxTarget), DetectionLevel.Certain); } }
// retrieve the source and target language // from the file header private void GetFileLanguages(ref SniffInfo info, string nativeFilePath) { XmlDocument doc = new XmlDocument(); doc.Load(nativeFilePath); string tmxSource = doc.SelectSingleNode("tmx/header/@srclang").InnerText; info.DetectedSourceLanguage = new Sdl.FileTypeSupport.Framework.Pair<Language, DetectionLevel>(new Language(tmxSource), DetectionLevel.Certain); if (doc.SelectSingleNode("tmx/body/tu[1]/tuv[2]").Attributes[0] != null && doc.SelectSingleNode("tmx/body/tu[1]/tuv[2]").Attributes[0].InnerText.Length==5) { string tmxTarget = doc.SelectSingleNode("tmx/body/tu[1]/tuv[2]").Attributes[0].InnerText; info.DetectedTargetLanguage = new Sdl.FileTypeSupport.Framework.Pair<Language, DetectionLevel>(new Language(tmxTarget), DetectionLevel.Certain); } }
public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { SniffInfo info = new SniffInfo(); if (System.IO.File.Exists(nativeFilePath)) { // call method to check if file is supported info.IsSupported = IsFileSupported(nativeFilePath); // call method to determine the file language pair GetFileLanguages(ref info, nativeFilePath); } else { info.IsSupported = false; } return(info); }
public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { var info = new SniffInfo(); if (System.IO.File.Exists(nativeFilePath)) { // call method to check if file is supported info.IsSupported = IsFileSupported(nativeFilePath); // call method to determine the file language pair GetFileLanguages(ref info, nativeFilePath); } else { info.IsSupported = false; } return info; }
public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { SniffInfo fileInfo = new SniffInfo(); using (StreamReader _reader = new StreamReader(nativeFilePath)) { if (_reader.ReadLine().StartsWith("[Version=")) { fileInfo.IsSupported = true; } else { fileInfo.IsSupported = false; messageReporter.ReportMessage(this, nativeFilePath, ErrorLevel.Error, StringResources.Sniffer_Message, StringResources.Sniffer_Location); } } return(fileInfo); }
// retrieve the source and target language // from the file header private void GetFileLanguages(ref SniffInfo info, string nativeFilePath) { XmlDocument doc = new XmlDocument(); doc.Load(nativeFilePath); if (doc.DocumentElement.HasAttributes) { XmlAttribute source = doc.DocumentElement.Attributes[_SourceLanguage]; if (source != null) { info.DetectedSourceLanguage = new Sdl.FileTypeSupport.Framework.Pair <Language, DetectionLevel>(new Language(source.Value), DetectionLevel.Certain); } XmlAttribute target = doc.DocumentElement.Attributes[_TargetLanguage]; if (source != null) { info.DetectedTargetLanguage = new Sdl.FileTypeSupport.Framework.Pair <Language, DetectionLevel>(new Language(target.Value), DetectionLevel.Certain); } } }
// retrieve the source and target language // from the file header private void GetFileLanguages(ref SniffInfo info, string nativeFilePath) { var doc = new XmlDocument(); doc.Load(nativeFilePath); if (doc.DocumentElement != null && doc.DocumentElement.HasAttributes) { XmlAttribute source = doc.DocumentElement.Attributes[SourceLanguage]; if (source != null && source.Value.Length ==5) { info.DetectedSourceLanguage = new Sdl.FileTypeSupport.Framework.Pair<Language, DetectionLevel>(new Language(source.Value), DetectionLevel.Certain); } XmlAttribute target = doc.DocumentElement.Attributes[TargetLanguage]; if (target != null && target.Value.Length ==5) { info.DetectedTargetLanguage = new Sdl.FileTypeSupport.Framework.Pair<Language, DetectionLevel>(new Language(target.Value), DetectionLevel.Certain); } } }
private void SetFileLanguages(ref SniffInfo info) { info.DetectedSourceLanguage = new Pair <Language, DetectionLevel>(new Language(_fileService.MapFileLanguage(_srcFileExtension)), DetectionLevel.Certain); info.DetectedTargetLanguage = new Pair <Language, DetectionLevel>(new Language(_fileService.MapFileLanguage(_trgFileExtension)), DetectionLevel.Certain); }