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); }
/// <summary> /// This method is used to load the setting from the settings bundle, /// which is physically stored in an XML-compliant *.sdlproj or *.sdltpl file. /// </summary> /// <param name="settingsBundle"></param> /// <param name="configurationId"></param> #region "PopulateFromSettingsBundle" public override void PopulateFromSettingsBundle(ISettingsBundle settingsBundle, string filterDefinitionId) { ISettingsGroup settingsGroup = settingsBundle.GetSettingsGroup(filterDefinitionId); LockPrdCodes = GetSettingFromSettingsGroup(settingsGroup, SettingsLockPrdCodes, DefaultLockPrdCodes); PrdCodesPrefix = GetSettingFromSettingsGroup(settingsGroup, SettingsPrdCodesPrefix, DefaultPrdCodePrefix); }
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); }
protected void UpdateSettingInSettingsGroup <T>(ISettingsGroup settingsGroup, string settingName, T settingValue, T defaultValue) { if (settingsGroup == null) { return; } if (settingsGroup.ContainsSetting(settingName)) { settingsGroup.GetSetting <T>(settingName).Value = settingValue; } else { if (settingValue == null) { if ((defaultValue != null)) { settingsGroup.GetSetting <T>(settingName).Value = default(T); } } else if (!settingValue.Equals(defaultValue)) { settingsGroup.GetSetting <T>(settingName).Value = settingValue; } } }
/// <summary> /// This method is used to load the setting from the settings bundle, /// which is physically stored in an XML-compliant *.sdlproj or *.sdltpl file. /// </summary> /// <param name="settingsBundle"></param> /// <param name="configurationId"></param> #region "PopulateFromSettingsBundle" public override void PopulateFromSettingsBundle(ISettingsBundle settingsBundle, string configurationId) { ISettingsGroup settingsGroup = settingsBundle.GetSettingsGroup(configurationId); ResetToDefaults(); Enable = GetSettingFromSettingsGroup(settingsGroup, "Enable", Enable); }
/// <summary> /// This method is used to store the settings as configured in the plug-in UI /// in the settings bundle, which means that the settings are physically written /// into the XML-compliant *.sdlproj or *.sdltpl file. /// </summary> /// <param name="settingsBundle"></param> /// <param name="configurationId"></param> #region "SaveToSettingsBundle" public override void SaveToSettingsBundle(ISettingsBundle settingsBundle, string filterDefinitionId) { ISettingsGroup settingsGroup = settingsBundle.GetSettingsGroup(filterDefinitionId); UpdateSettingInSettingsGroup(settingsGroup, SettingsLockPrdCodes, LockPrdCodes, DefaultLockPrdCodes); UpdateSettingInSettingsGroup(settingsGroup, SettingsPrdCodesPrefix, PrdCodesPrefix, DefaultPrdCodePrefix); }
public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { try { var input = File.ReadAllText(nativeFilePath); JToken.Parse(input); } catch (JsonException e) { messageReporter.ReportMessage(this, nativeFilePath, ErrorLevel.Error, JsonFileTypeResources.Invalid_Json_Format, e.Message); return(new SniffInfo { IsSupported = false }); } catch (Exception) { messageReporter.ReportMessage(this, nativeFilePath, ErrorLevel.Error, JsonFileTypeResources.Json_Could_Not_Be_Validated, string.Empty); return(new SniffInfo { IsSupported = false }); } return(new SniffInfo { IsSupported = true }); }
/// <summary> /// This method is used to store the settings as configured in the plug-in UI /// in the settings bundle, which means that the settings are physically written /// into the XML-compliant *.sdlproj or *.sdltpl file. /// </summary> /// <param name="settingsBundle"></param> /// <param name="configurationId"></param> #region "SaveToSettingsBundle" public override void SaveToSettingsBundle(ISettingsBundle settingsBundle, string configurationId) { ISettingsGroup settingsGroup = settingsBundle.GetSettingsGroup(configurationId); var defaults = new VerifierSettings(); UpdateSettingInSettingsGroup(settingsGroup, "Enable", Enable, defaults.Enable); }
public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { try { using (var reader = _yamlFactory.CreateYamlTextReader(nativeFilePath)) { while (reader.Read()) { } } } catch (YamlException e) { messageReporter.ReportMessage(this, nativeFilePath, ErrorLevel.Error, YamlFileTypeResources.Invalid_Yaml_Format + "(" + e.Message + ")", e.Message); return(new SniffInfo { IsSupported = false }); } catch (Exception e) { messageReporter.ReportMessage(this, nativeFilePath, ErrorLevel.Error, YamlFileTypeResources.Yaml_Could_Not_Be_Validated, e.Message); return(new SniffInfo { IsSupported = false }); } return(new SniffInfo { IsSupported = true }); }
/// <summary> /// Copies the settings group. /// </summary> /// <param name="sourceSettings">The source settings.</param> /// <param name="targetSettings">The target settings.</param> /// <param name="settingsGroupId">The settings group identifier.</param> /// <param name="targetProject">The target project.</param> /// <param name="targetLanguage">The target language.</param> private void CopySettingsGroup(ISettingsBundle sourceSettings, ISettingsBundle targetSettings, string settingsGroupId, FileBasedProject targetProject, Language targetLanguage) { if (!string.IsNullOrEmpty(settingsGroupId)) { if (targetSettings.ContainsSettingsGroup(settingsGroupId)) { targetSettings.RemoveSettingsGroup(settingsGroupId); } if (sourceSettings.ContainsSettingsGroup(settingsGroupId)) { ISettingsGroup sourceSettingsGroup = sourceSettings.GetSettingsGroup(settingsGroupId); ISettingsGroup targetSettingsGroup = targetSettings.GetSettingsGroup(settingsGroupId); targetSettingsGroup.ImportSettings(sourceSettingsGroup); if (targetLanguage == null) { targetProject.UpdateSettings(targetSettings); } else { targetProject.UpdateSettings(targetLanguage, targetSettings); } } } }
/// <summary> /// This method is used to store the settings as configured in the plug-in UI /// in the settings bundle, which means that the settings are physically written /// into the XML-compliant *.sdlproj or *.sdltpl file. /// </summary> /// <param name="settingsBundle"></param> /// <param name="configurationId"></param> #region "SaveToSettingsBundle" public override void SaveToSettingsBundle(ISettingsBundle settingsBundle, string configurationId) { ISettingsGroup settingsGroup = settingsBundle.GetSettingsGroup(configurationId); var defaults = new VerifierSettings(); UpdateSettingInSettingsGroup(settingsGroup, nameof(CheckWordArt), CheckWordArt, defaults.CheckWordArt); UpdateSettingInSettingsGroup(settingsGroup, nameof(MaxWordCount), MaxWordCount, defaults.MaxWordCount); }
public void ClearListItemSettings(ISettingsGroup settingsGroup, string listItemSetting) { settingsGroup.RemoveSetting(listItemSetting + SourcePathPatternSetting); settingsGroup.RemoveSetting(listItemSetting + TargetPathPatternSetting); settingsGroup.RemoveSetting(listItemSetting + IgnoreCaseSetting); settingsGroup.RemoveSetting(listItemSetting + IsBilingualSetting); settingsGroup.RemoveSetting(listItemSetting + IsTargetValueNeededSetting); }
public void SaveToSettingsGroup(ISettingsGroup settingsGroup, string listItemSetting) { UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SourcePathPatternSetting, SourcePathPattern, DefaultSourcePathPattern); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + TargetPathPatternSetting, TargetPathPattern, DefaultTargetPathPattern); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + IgnoreCaseSetting, IgnoreCase, DefaultIgnoreCase); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + IsBilingualSetting, IsBilingual, DefaultIsBilingual); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + IsTargetValueNeededSetting, IsTargetValueNeeded, DefaultIsTargetValueNeeded); }
public void PopulateFromSettingsGroup(ISettingsGroup settingsGroup, string listItemSetting) { SourcePathPattern = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SourcePathPatternSetting, DefaultSourcePathPattern); TargetPathPattern = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + TargetPathPatternSetting, DefaultTargetPathPattern); IgnoreCase = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + IgnoreCaseSetting, DefaultIgnoreCase); IsBilingual = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + IsBilingualSetting, DefaultIsBilingual); IsTargetValueNeeded = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + IsTargetValueNeededSetting, DefaultIsTargetValueNeeded); }
/// <summary> /// This method is used to load the setting from the settings bundle, /// which is physically stored in an XML-compliant *.sdlproj or *.sdltpl file. /// </summary> /// <param name="settingsBundle"></param> /// <param name="configurationId"></param> #region "PopulateFromSettingsBundle" public override void PopulateFromSettingsBundle(ISettingsBundle settingsBundle, string configurationId) { ISettingsGroup settingsGroup = settingsBundle.GetSettingsGroup(configurationId); ResetToDefaults(); CheckWordArt = GetSettingFromSettingsGroup(settingsGroup, nameof(CheckWordArt), CheckWordArt); MaxWordCount = GetSettingFromSettingsGroup(settingsGroup, nameof(MaxWordCount), MaxWordCount); }
public void SetUp() { _testLanguage = new Language(); _testCodepage = new Codepage(); _messageReporterMock = A.Fake <INativeTextLocationMessageReporter>(); _settingsGroupMock = A.Fake <ISettingsGroup>(); _lineValidationSessionMock = A.Fake <ILineValidationSession>(); }
protected T GetSettingFromSettingsGroup <T>(ISettingsGroup settingsGroup, string settingName, T defaultValue) { if (settingsGroup.ContainsSetting(settingName)) { return(settingsGroup.GetSetting <T>(settingName).Value); } return(defaultValue); }
public void ClearListItemSettings(ISettingsGroup settingsGroup, string listItemSetting) { settingsGroup.RemoveSetting(listItemSetting + SettingSegmentionHint); settingsGroup.RemoveSetting(listItemSetting + SettingTagType); settingsGroup.RemoveSetting(listItemSetting + SettingStartTagRegex); settingsGroup.RemoveSetting(listItemSetting + SettingEndTagRegex); settingsGroup.RemoveSetting(listItemSetting + SettingIgnoreCase); settingsGroup.RemoveSetting(listItemSetting + SettingContentTranslatable); settingsGroup.RemoveSetting(listItemSetting + SettingWordStop); settingsGroup.RemoveSetting(listItemSetting + SettingSoftBreak); settingsGroup.RemoveSetting(listItemSetting + SettingCanHide); settingsGroup.RemoveSetting(listItemSetting + SettingTextEquivalent); var formattingSettings = new FormattingGroupSettings(); formattingSettings.ClearListItemSettings(settingsGroup, listItemSetting + SettingFormatting); }
public ExtensionManager(KeyValueStorage globalKvs, IEnumerable <T> extensions, string pluralName) { this.PluralName = pluralName; _globalKvs = globalKvs; _featuresList = new List <ExtensionFeature <T> >(); this.Features = _featuresList; _settingsGroupChildren = new List <ISettingsGroup>(); foreach (T ext in extensions) { AddExtension(ext); } this.SettingsGroup = new SettingsGroup(pluralName, _settingsGroupChildren); }
public void PopulateFromSettingsGroup(ISettingsGroup settingsGroup, string listItemSetting) { SegmentationHint = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingSegmentionHint, DefaultSegmentationHint); TagType = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingTagType, DefaultTagType); StartTagRegexValue = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingStartTagRegex, _defaultStartTagRegex); EndTagRegexValue = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingEndTagRegex, _defaultEndTagRegex); IgnoreCase = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingIgnoreCase, DefaultIgnoreCase); IsContentTranslatable = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingContentTranslatable, DefaultContentTranslatable); IsWordStop = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingWordStop, DefaultWordStop); IsSoftBreak = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingSoftBreak, DefaultSoftBreak); CanHide = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingCanHide, DefaultCanHide); TextEquivalent = GetSettingFromSettingsGroup(settingsGroup, listItemSetting + SettingTextEquivalent, _defaultTextEquivalent); if (settingsGroup.ContainsSetting(listItemSetting + SettingFormatting)) { _formatting = new FormattingGroupSettings(); _formatting.PopulateFromSettingsGroup(settingsGroup, listItemSetting + SettingFormatting); } }
public void SaveToSettingsGroup(ISettingsGroup settingsGroup, string listItemSetting) { UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingSegmentionHint, SegmentationHint, DefaultSegmentationHint); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingTagType, TagType, DefaultTagType); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingStartTagRegex, StartTagRegexValue, _defaultStartTagRegex); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingEndTagRegex, EndTagRegexValue, _defaultEndTagRegex); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingIgnoreCase, IgnoreCase, DefaultIgnoreCase); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingContentTranslatable, IsContentTranslatable, DefaultContentTranslatable); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingWordStop, IsWordStop, DefaultWordStop); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingSoftBreak, IsSoftBreak, DefaultSoftBreak); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingCanHide, CanHide, DefaultCanHide); UpdateSettingInSettingsGroup(settingsGroup, listItemSetting + SettingTextEquivalent, TextEquivalent, _defaultTextEquivalent); if (Formatting != null && Formatting.FormattingItems.Count > 0) { settingsGroup.GetSetting <bool>(listItemSetting + SettingFormatting).Value = true; _formatting.SaveToSettingsGroup(settingsGroup, listItemSetting + SettingFormatting); } }
/// <summary> /// Get the saved language mapping settings from current project /// </summary> public LanguageMappingSettings GetLanguageMappingSettings() { var currentProject = GetCurrentProject() ?? AppInitializer.GetFileController()?.CurrentProject; var projectSettings = currentProject?.GetSettings(); if (projectSettings != null) { var containsSettingsGroup = projectSettings.ContainsSettingsGroup(Constants.SettingsGrId); _sdlMTCloudSettingsGroup = projectSettings.GetSettingsGroup(Constants.SettingsGrId); if (!containsSettingsGroup) { projectSettings.AddSettingsGroup(_sdlMTCloudSettingsGroup); } var savedMappingSettings = projectSettings.GetSettingsGroup <LanguageMappingSettings>(Constants.SettingsGrId); return(savedMappingSettings); } return(null); }
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 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 LanguageMappingSettings GetLanguageMappingSettings() { var projectSettings = _currentProject?.GetSettings(); if (projectSettings != null) { var containsSettingsGroup = projectSettings.ContainsSettingsGroup(Constants.SettingsGroupId); _settingsGroup = projectSettings.GetSettingsGroup(Constants.SettingsGroupId); if (!containsSettingsGroup) { projectSettings.AddSettingsGroup(_settingsGroup); } _settingsGroup = projectSettings.GetSettingsGroup(Constants.SettingsGroupId); var settings = projectSettings.GetSettingsGroup <LanguageMappingSettings>(Constants.SettingsGroupId); return(settings); } return(null); }
public ProviderSettings GetProviderSettings() { var projectSettings = _currentProject?.GetSettings(); if (projectSettings is null) { return(null); } var containsSettingsGroup = projectSettings.ContainsSettingsGroup(nameof(ProviderSettings)); _settingsGroup = projectSettings.GetSettingsGroup(nameof(ProviderSettings)); if (!containsSettingsGroup) { projectSettings.AddSettingsGroup(_settingsGroup); } _settingsGroup = projectSettings.GetSettingsGroup(nameof(ProviderSettings)); var settings = projectSettings.GetSettingsGroup <ProviderSettings>(nameof(ProviderSettings)); return(settings); }
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); }
public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { var lineValidationSession = _lineParser.StartLineValidationSession(); using (var extendedStreamReader = _fileHelper.GetExtendedStreamReader(nativeFilePath)) { string currentLine; while ((currentLine = extendedStreamReader.ReadLineWithEofLine()) != null) { var isValidLine = lineValidationSession.IsValid(currentLine); if (isValidLine) { continue; } var message = string.Format( PoFileTypeResources.Sniffer_Unexpected_Line, extendedStreamReader.CurrentLineNumber + ": " + currentLine, lineValidationSession.NextExpectedLineDescription); messageReporter.ReportMessage(this, nativeFilePath, ErrorLevel.Error, message, extendedStreamReader.CurrentLineNumber + ": " + currentLine); return(new SniffInfo { IsSupported = false }); } } return(new SniffInfo { IsSupported = true }); }
public SniffInfo Sniff(string nativeFilePath, Language language, Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup) { var sniffer = new Sdl.Sdk.FileTypeSupport.Samples.SimpleText.SimpleTextSniffer(); return(sniffer.Sniff(nativeFilePath, language, suggestedCodepage, messageReporter, settingsGroup)); }
public ExtensionFeature(T extension, ISettingsGroup settingsGroup) { this.Extension = extension; this.SettingsGroup = settingsGroup; }