Hello,
SDL Trados Studio 2014 has the ability to export and import QA Checker Profiles.
Are there any SDK sample that show how we can achieve that via API?
Thank you!
Rieko
Hello,
SDL Trados Studio 2014 has the ability to export and import QA Checker Profiles.
Are there any SDK sample that show how we can achieve that via API?
Thank you!
Rieko
Hi, i don't know anything about api for 2014 but in 2011 you can set up qa checker settings on the project using project api. below is sample code.
Hope this will help you:
FileBasedProject p = new FileBasedProject(info);
ISettingsBundle settings = p.GetSettings(info.TargetLanguages[0]);
ISettingsBundle settings1 = p.GetSettings();
/*Below we set up file type settings */
settings = FileTypes(settings, word2003_settings, word2007_settings,
excel_settings, ppoint2003_settings, ppoint2007_settings,q);
//TermVerifierSettings terms = settings.GetSettingsGroup(TermVerifierSettings)
//inconsistencies
Sdl.Verification.QAChecker.Settings.InconsistenciesSettings incs = new InconsistenciesSettings();
incs.CheckInconsistencies = qa_settings.InconsistenciesCheckForInconsistentTR.Value;
incs.CheckInconsistenciesSeverity = qa_settings.InconsistenciesCheckForInconsistentTRSeverity.Value;
incs.InconsistenciesIgnoreCase = qa_settings.InconsistenciesTRIgnoreCase.Value;
incs.InconsistenciesIgnoreTags = qa_settings.InconsistenciesTRIgnoreTags.Value;
incs.CheckRepeatedWords = qa_settings.InconsistenciesCheckForRpWordsInTarget.Value;
incs.CheckRepeatedWordSeverity = qa_settings.InconsistenciesCheckForRpWordsInTargetSeverity.Value;
incs.RepeatedWordsIgnoreCase = qa_settings.InconsistenciesRPIgnoreCase.Value;
incs.RepeatedWordsIgnoreNumbers = qa_settings.InconsistenciesRPIgnoreTags.Value;
incs.UneditedSegments = qa_settings.InconsistenciesCheckForUneditedFuzzyMatches.Value;
incs.UneditedNotConfirmed = qa_settings.InconsistenciesUnEditedAll.Value;
incs.UneditedConfirmed = qa_settings.InconsistenciesUnEditedConfirmedOnly.Value;
incs.UneditedSegmentsSelectedFuzzyOnly =
qa_settings.InconsisenciesUnEditedFuzzyCheckonlyIfMatchBelow.Value;
incs.UneditedConfirmedSeverity = qa_settings.InconsistenciesCheckForUpdatedFuzzyMatchesSeverity.Value;
incs.UneditedConfirmedLevel = decimal.Parse(qa_settings.InconsisenciesUnEditedFuzzyCheckonlyIfMatchBelowTbx.ToString());
incs.SaveToSettingsBundle(settings, "QAVerificationSettings");
//segment verification
Sdl.Verification.QAChecker.Settings.SegmentVerificationSettings sver = new SegmentVerificationSettings();
sver.CheckUntranslatedSegments = qa_settings.Trados20111VerificationCheckforgottenAndEmptyTR.Value;
sver.CheckUntranslatedSeverity = qa_settings.EmptyTRSeverity.Value;
sver.CheckIdenticalSegments = qa_settings.Trados2011IdenticalSourceTarget.Value;
sver.IdenticalSegmentsIgnoreCase = qa_settings.IdenticalSourceIgnoreCase.Value;
sver.IdenticalSegmentsIgnoreTags = qa_settings.IdenticalSourceIgnoreTags.Value;
sver.CheckIdenticalSegmentsSeverity = qa_settings.IdenticalSeverity.Value;
sver.CheckTargetShorter = qa_settings.SegmentShorterchkbk.Value;
sver.ShorterByValue = qa_settings.ShorterByTbx.Value;
sver.CheckTargetShorterSeverity = qa_settings.ShorterBySeverity.Value;
sver.CheckTargetLonger = qa_settings.SegmentLongerChkbk.Value;
sver.LongerByValue = qa_settings.LongerByTbx.Value;
sver.CheckTargetLongerSeverity = qa_settings.LongerBySeverity.Value;
sver.MinimalWordCountValue = qa_settings.IgnoreShorterThanWordsTbx.Value;
sver.BasedOnWords = qa_settings.BasedOnWordsRbtn.Value;
sver.BasedOnCharacters = qa_settings.BasedOnCharsRbtn.Value;
sver.CheckForbiddenChar = qa_settings.CheckForForbiddenCharsChkbk.Value;
sver.ForbiddenCharsSeverity = qa_settings.CheckForForbiddenCharsCmb.Value;
sver.ForbiddenCharsValue = qa_settings.CheckForForbiddenCharsTbx;
sver.SaveToSettingsBundle(settings, "QAVerificationSettings");
//Segments to exclude
Sdl.Verification.QAChecker.Settings.ExclusionsSettings exs= new ExclusionsSettings();
exs.ExcludePerfectMatchSegments = qa_settings.ExcludePerfectMatches.Value;
exs.ExcludeExactMatches = qa_settings.ExcludeExactMatches.Value;
exs.ExcludeFuzzyMatches = qa_settings.ExcludeFuzzyMatches.Value;
exs.ExcludeFuzzyMatchValue = qa_settings.ExcludeFuzzyDownTotbx.Value;
exs.ExcludeNewTrans = qa_settings.ExcludeNewTranslations.Value;
exs.ExcludeRepetition = qa_settings.ExcludeReps.Value;
exs.ExcludeConfirmed = qa_settings.ExcludeConfirmed.Value;
exs.ExcludeLocked = qa_settings.ExcludeLocked.Value;
exs.ExcludeIdentical = qa_settings.ExcludeTargetEqalSource.Value;
exs.ElementContextExclusion = qa_settings.CheckOnlyFolContext.Value;
ObservableList<string> context_ls = new ObservableList<string>();
//todo values
exs.ElementContextExclusionValue = context_ls;
ObservableList<string> ex_list = new ObservableList<string>();
exs.ExclusionStringValue = ex_list;
exs.ExclusionStringIdentical = qa_settings.ApplToSearchForSrEQTr.Value;
exs.ExclusionStringUntranslated = qa_settings.ApplToSearchForNonTr.Value;
exs.ExclusionStringIgnoreCase = qa_settings.ExclusionListIgnoreCase.Value;
exs.ExclusionStringRegEx = qa_settings.ExclusionUseRegex.Value;
exs.ReportAllNonExcluded = qa_settings.ReportAllNotExcludedSegments.Value;
exs.ReportAllNonExcludedSeverity = qa_settings.ReportAllNotExcludedSegmentSeverity.Value;
exs.SaveToSettingsBundle(settings, "QAVerificationSettings");
//punctation
Sdl.Verification.QAChecker.Settings.PunctuationSettings pus = new PunctuationSettings();
pus.CheckPunctuationDifferences = qa_settings.PunctationEndsWithTheSame.Value;
pus.CheckPunctuationDiffSeverity = qa_settings.PunctationEndsWithTheSameSeverity.Value;
pus.CheckSpanishPunctuation = qa_settings.PunctationCheckSpanish.Value;
pus.CheckSpanishPuncSeverity = qa_settings.PunctationSpanishSeverity.Value;
pus.PunctuationSpaceCharsValue = qa_settings.PunctationUnintentionalSpaceText;
pus.CheckPunctuationSpace = qa_settings.PunctationUnintentionalSpaceCheck.Value;
pus.CheckPunctuationSpaceSeverity = qa_settings.PunctationUnintentionalSpaceCheckSeverity.Value;
pus.PunctuationSpacesFrench = qa_settings.PunctationFrenchCompilant.Value;
pus.CheckMultipleSpaces = qa_settings.PunctationCheckForMultipleSpaces.Value;
pus.CheckMultipleSpaceSeverity = qa_settings.PunctationCheckForMultipleSpacesSeverity.Value;
pus.CheckMultipleDots = qa_settings.PunctationCheckForMultipleDots.Value;
pus.CheckMultipleDotSeverity = qa_settings.PunctationCheckForMultipleDotsSeveriy.Value;
pus.Ignore3Dots = qa_settings.PunctationIgonreEllipsisDots.Value;
pus.ExtraEndSpace = qa_settings.PunctationExtraSpaceAtTrEnd.Value;
pus.CheckExtraEndSpaceSeverity = qa_settings.PunctationExtraSpaceAtTrEndSeverity.Value;
pus.CheckInitialCaps = qa_settings.PunctationCapitalizationInitial.Value;
pus.CheckInitialCapsSeverity = qa_settings.PunctationCapitalizationInitialSeverity.Value;
pus.CheckGlobalCaps = qa_settings.PunctationCheckGlobalCapitalization.Value;
pus.CheckGlobalCapsSeverity = qa_settings.PunctationCheckGlobalCapitalizationSeverity.Value;
pus.CheckBrackets = qa_settings.PunctationCheckBrackets.Value;
pus.CheckBracketsSeverity = qa_settings.PunctationCheckGlobalCapitalizationSeverity.Value;
pus.SaveToSettingsBundle(settings, "QAVerificationSettings");
//numbers
Sdl.Verification.QAChecker.Settings.NumbersSettings num = new NumbersSettings();
num.CheckDates = qa_settings.NumbersCheckDates.Value;
num.CheckDatesSeverity = qa_settings.NumbersCheckDatesSeverity.Value;
num.CheckTimes = qa_settings.NumbersCheckTimes.Value;
num.CheckTimesSeverity = qa_settings.NumbersCheckTimesSeverity.Value;
num.CheckNumbers = qa_settings.NumbersCheckNumbers.Value;
num.CheckNumbersSeverity = qa_settings.NumbersCheckNumbersSeverity.Value;
num.CheckMeasurements = qa_settings.NumbersCheckMeasurments.Value;
num.CheckMeasurementsSeverity = qa_settings.NumbersCheckMeasurmentSeverity.Value;
num.SaveToSettingsBundle(settings, "QAVerificationSettings");
//word list
//Sdl.Verification.QAChecker.Settings.WordListSettings wos= new WordListSettings();
//wos.SaveToSettingsBundle(settings, "QAVerificationSettings");
//regex
//Sdl.Verification.QAChecker.Settings.RegExSettings reg = new RegExSettings();
//reg.SaveToSettingsBundle(settings, "QAVerificationSettings");
//TradeMark
Sdl.Verification.QAChecker.Settings.TrademarkSettings tms = new TrademarkSettings();
tms.CheckTrademarks = qa_settings.TrademarkCheckTM.Value;
tms.CheckTradeMarksSeverity = qa_settings.TrademarkCheckTMSeverity.Value;
ObservableList<string> tmList= new ObservableList<string>();
if (tms.CheckTrademarks)
{
foreach (string s in qa_settings.TrademarkTrademarks)
{
if (!tmList.Contains(s))
{
tmList.Add(s);
}
}
}
tms.TrademarksSymbols = tmList;
tms.SaveToSettingsBundle(settings, "QAVerificationSettings");
p.UpdateSettings(settings1);
p.UpdateSettings(settings);
Hi, i don't know anything about api for 2014 but in 2011 you can set up qa checker settings on the project using project api. below is sample code.
Hope this will help you:
FileBasedProject p = new FileBasedProject(info);
ISettingsBundle settings = p.GetSettings(info.TargetLanguages[0]);
ISettingsBundle settings1 = p.GetSettings();
/*Below we set up file type settings */
settings = FileTypes(settings, word2003_settings, word2007_settings,
excel_settings, ppoint2003_settings, ppoint2007_settings,q);
//TermVerifierSettings terms = settings.GetSettingsGroup(TermVerifierSettings)
//inconsistencies
Sdl.Verification.QAChecker.Settings.InconsistenciesSettings incs = new InconsistenciesSettings();
incs.CheckInconsistencies = qa_settings.InconsistenciesCheckForInconsistentTR.Value;
incs.CheckInconsistenciesSeverity = qa_settings.InconsistenciesCheckForInconsistentTRSeverity.Value;
incs.InconsistenciesIgnoreCase = qa_settings.InconsistenciesTRIgnoreCase.Value;
incs.InconsistenciesIgnoreTags = qa_settings.InconsistenciesTRIgnoreTags.Value;
incs.CheckRepeatedWords = qa_settings.InconsistenciesCheckForRpWordsInTarget.Value;
incs.CheckRepeatedWordSeverity = qa_settings.InconsistenciesCheckForRpWordsInTargetSeverity.Value;
incs.RepeatedWordsIgnoreCase = qa_settings.InconsistenciesRPIgnoreCase.Value;
incs.RepeatedWordsIgnoreNumbers = qa_settings.InconsistenciesRPIgnoreTags.Value;
incs.UneditedSegments = qa_settings.InconsistenciesCheckForUneditedFuzzyMatches.Value;
incs.UneditedNotConfirmed = qa_settings.InconsistenciesUnEditedAll.Value;
incs.UneditedConfirmed = qa_settings.InconsistenciesUnEditedConfirmedOnly.Value;
incs.UneditedSegmentsSelectedFuzzyOnly =
qa_settings.InconsisenciesUnEditedFuzzyCheckonlyIfMatchBelow.Value;
incs.UneditedConfirmedSeverity = qa_settings.InconsistenciesCheckForUpdatedFuzzyMatchesSeverity.Value;
incs.UneditedConfirmedLevel = decimal.Parse(qa_settings.InconsisenciesUnEditedFuzzyCheckonlyIfMatchBelowTbx.ToString());
incs.SaveToSettingsBundle(settings, "QAVerificationSettings");
//segment verification
Sdl.Verification.QAChecker.Settings.SegmentVerificationSettings sver = new SegmentVerificationSettings();
sver.CheckUntranslatedSegments = qa_settings.Trados20111VerificationCheckforgottenAndEmptyTR.Value;
sver.CheckUntranslatedSeverity = qa_settings.EmptyTRSeverity.Value;
sver.CheckIdenticalSegments = qa_settings.Trados2011IdenticalSourceTarget.Value;
sver.IdenticalSegmentsIgnoreCase = qa_settings.IdenticalSourceIgnoreCase.Value;
sver.IdenticalSegmentsIgnoreTags = qa_settings.IdenticalSourceIgnoreTags.Value;
sver.CheckIdenticalSegmentsSeverity = qa_settings.IdenticalSeverity.Value;
sver.CheckTargetShorter = qa_settings.SegmentShorterchkbk.Value;
sver.ShorterByValue = qa_settings.ShorterByTbx.Value;
sver.CheckTargetShorterSeverity = qa_settings.ShorterBySeverity.Value;
sver.CheckTargetLonger = qa_settings.SegmentLongerChkbk.Value;
sver.LongerByValue = qa_settings.LongerByTbx.Value;
sver.CheckTargetLongerSeverity = qa_settings.LongerBySeverity.Value;
sver.MinimalWordCountValue = qa_settings.IgnoreShorterThanWordsTbx.Value;
sver.BasedOnWords = qa_settings.BasedOnWordsRbtn.Value;
sver.BasedOnCharacters = qa_settings.BasedOnCharsRbtn.Value;
sver.CheckForbiddenChar = qa_settings.CheckForForbiddenCharsChkbk.Value;
sver.ForbiddenCharsSeverity = qa_settings.CheckForForbiddenCharsCmb.Value;
sver.ForbiddenCharsValue = qa_settings.CheckForForbiddenCharsTbx;
sver.SaveToSettingsBundle(settings, "QAVerificationSettings");
//Segments to exclude
Sdl.Verification.QAChecker.Settings.ExclusionsSettings exs= new ExclusionsSettings();
exs.ExcludePerfectMatchSegments = qa_settings.ExcludePerfectMatches.Value;
exs.ExcludeExactMatches = qa_settings.ExcludeExactMatches.Value;
exs.ExcludeFuzzyMatches = qa_settings.ExcludeFuzzyMatches.Value;
exs.ExcludeFuzzyMatchValue = qa_settings.ExcludeFuzzyDownTotbx.Value;
exs.ExcludeNewTrans = qa_settings.ExcludeNewTranslations.Value;
exs.ExcludeRepetition = qa_settings.ExcludeReps.Value;
exs.ExcludeConfirmed = qa_settings.ExcludeConfirmed.Value;
exs.ExcludeLocked = qa_settings.ExcludeLocked.Value;
exs.ExcludeIdentical = qa_settings.ExcludeTargetEqalSource.Value;
exs.ElementContextExclusion = qa_settings.CheckOnlyFolContext.Value;
ObservableList<string> context_ls = new ObservableList<string>();
//todo values
exs.ElementContextExclusionValue = context_ls;
ObservableList<string> ex_list = new ObservableList<string>();
exs.ExclusionStringValue = ex_list;
exs.ExclusionStringIdentical = qa_settings.ApplToSearchForSrEQTr.Value;
exs.ExclusionStringUntranslated = qa_settings.ApplToSearchForNonTr.Value;
exs.ExclusionStringIgnoreCase = qa_settings.ExclusionListIgnoreCase.Value;
exs.ExclusionStringRegEx = qa_settings.ExclusionUseRegex.Value;
exs.ReportAllNonExcluded = qa_settings.ReportAllNotExcludedSegments.Value;
exs.ReportAllNonExcludedSeverity = qa_settings.ReportAllNotExcludedSegmentSeverity.Value;
exs.SaveToSettingsBundle(settings, "QAVerificationSettings");
//punctation
Sdl.Verification.QAChecker.Settings.PunctuationSettings pus = new PunctuationSettings();
pus.CheckPunctuationDifferences = qa_settings.PunctationEndsWithTheSame.Value;
pus.CheckPunctuationDiffSeverity = qa_settings.PunctationEndsWithTheSameSeverity.Value;
pus.CheckSpanishPunctuation = qa_settings.PunctationCheckSpanish.Value;
pus.CheckSpanishPuncSeverity = qa_settings.PunctationSpanishSeverity.Value;
pus.PunctuationSpaceCharsValue = qa_settings.PunctationUnintentionalSpaceText;
pus.CheckPunctuationSpace = qa_settings.PunctationUnintentionalSpaceCheck.Value;
pus.CheckPunctuationSpaceSeverity = qa_settings.PunctationUnintentionalSpaceCheckSeverity.Value;
pus.PunctuationSpacesFrench = qa_settings.PunctationFrenchCompilant.Value;
pus.CheckMultipleSpaces = qa_settings.PunctationCheckForMultipleSpaces.Value;
pus.CheckMultipleSpaceSeverity = qa_settings.PunctationCheckForMultipleSpacesSeverity.Value;
pus.CheckMultipleDots = qa_settings.PunctationCheckForMultipleDots.Value;
pus.CheckMultipleDotSeverity = qa_settings.PunctationCheckForMultipleDotsSeveriy.Value;
pus.Ignore3Dots = qa_settings.PunctationIgonreEllipsisDots.Value;
pus.ExtraEndSpace = qa_settings.PunctationExtraSpaceAtTrEnd.Value;
pus.CheckExtraEndSpaceSeverity = qa_settings.PunctationExtraSpaceAtTrEndSeverity.Value;
pus.CheckInitialCaps = qa_settings.PunctationCapitalizationInitial.Value;
pus.CheckInitialCapsSeverity = qa_settings.PunctationCapitalizationInitialSeverity.Value;
pus.CheckGlobalCaps = qa_settings.PunctationCheckGlobalCapitalization.Value;
pus.CheckGlobalCapsSeverity = qa_settings.PunctationCheckGlobalCapitalizationSeverity.Value;
pus.CheckBrackets = qa_settings.PunctationCheckBrackets.Value;
pus.CheckBracketsSeverity = qa_settings.PunctationCheckGlobalCapitalizationSeverity.Value;
pus.SaveToSettingsBundle(settings, "QAVerificationSettings");
//numbers
Sdl.Verification.QAChecker.Settings.NumbersSettings num = new NumbersSettings();
num.CheckDates = qa_settings.NumbersCheckDates.Value;
num.CheckDatesSeverity = qa_settings.NumbersCheckDatesSeverity.Value;
num.CheckTimes = qa_settings.NumbersCheckTimes.Value;
num.CheckTimesSeverity = qa_settings.NumbersCheckTimesSeverity.Value;
num.CheckNumbers = qa_settings.NumbersCheckNumbers.Value;
num.CheckNumbersSeverity = qa_settings.NumbersCheckNumbersSeverity.Value;
num.CheckMeasurements = qa_settings.NumbersCheckMeasurments.Value;
num.CheckMeasurementsSeverity = qa_settings.NumbersCheckMeasurmentSeverity.Value;
num.SaveToSettingsBundle(settings, "QAVerificationSettings");
//word list
//Sdl.Verification.QAChecker.Settings.WordListSettings wos= new WordListSettings();
//wos.SaveToSettingsBundle(settings, "QAVerificationSettings");
//regex
//Sdl.Verification.QAChecker.Settings.RegExSettings reg = new RegExSettings();
//reg.SaveToSettingsBundle(settings, "QAVerificationSettings");
//TradeMark
Sdl.Verification.QAChecker.Settings.TrademarkSettings tms = new TrademarkSettings();
tms.CheckTrademarks = qa_settings.TrademarkCheckTM.Value;
tms.CheckTradeMarksSeverity = qa_settings.TrademarkCheckTMSeverity.Value;
ObservableList<string> tmList= new ObservableList<string>();
if (tms.CheckTrademarks)
{
foreach (string s in qa_settings.TrademarkTrademarks)
{
if (!tmList.Contains(s))
{
tmList.Add(s);
}
}
}
tms.TrademarksSymbols = tmList;
tms.SaveToSettingsBundle(settings, "QAVerificationSettings");
p.UpdateSettings(settings1);
p.UpdateSettings(settings);