Skip to content

Commit 11c702c

Browse files
committed
Language Weaver Provider 2.1.0.4: Remove workaround for adding TQE (fixed in Studio)
1 parent 80f24df commit 11c702c

File tree

3 files changed

+30
-81
lines changed

3 files changed

+30
-81
lines changed

Language Weaver Provider/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@
2929
// [assembly: AssemblyVersion("1.0.*")]
3030

3131
[assembly: AssemblyVersion("2.0.0.0")]
32-
[assembly: AssemblyFileVersion("2.1.0.3")]
32+
[assembly: AssemblyFileVersion("2.1.0.4")]

Language Weaver Provider/Studio/TranslationProvider/TranslationProviderLanguageDirection.cs

Lines changed: 28 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -156,30 +156,44 @@ public SearchResults[] SearchTranslationUnitsMasked(SearchSettings settings, Tra
156156
var tuSearchResult = CreateTuSearchResult(currentSegment, translatedSegment);
157157

158158
var translationOrigin = tuSearchResult.DocumentSegmentPair.Properties.TranslationOrigin;
159-
var lastTqeIndex = translationOrigin is not null ? translationOrigin.GetLastTqeIndex() + 1 : 1;
159+
160+
const int tqeIndex = 1;
160161

161-
ManageSegmentMetadata(evaluatedSegment, mappedPair, fileName, lastTqeIndex, translationOrigin);
162+
ManageSegmentMetadata(evaluatedSegment, mappedPair, fileName, tqeIndex, translationOrigin);
162163

163-
searchResults[i].Add(new SearchResult(tuSearchResult)
164+
var sr = new SearchResult(tuSearchResult)
164165
{
165166
ScoringResult = new ScoringResult { BaseScore = 0 },
166167
TranslationProposal = tuSearchResult.Duplicate()
167-
});
168+
};
169+
170+
if (!string.IsNullOrWhiteSpace(evaluatedSegment.QualityEstimation))
171+
{
172+
var evaluationTime = DateTime.Now.ToUniversalTime();
173+
sr.MetaData[Constants.METADATA_EVALUATED_AT_PREFIX + tqeIndex] = evaluationTime.ToString(Constants.METADATA_EVALUATED_AT_FORMAT);
174+
sr.MetaData[Constants.METADATA_SYSTEM_PREFIX + tqeIndex] = Constants.METADATA_SYSTEM_NAME;
175+
sr.MetaData[Constants.METADATA_SCORE_PREFIX + tqeIndex] = GetScoreFromQE(evaluatedSegment.QualityEstimation);
176+
sr.MetaData[Constants.METADATA_MODEL_PREFIX + tqeIndex] = mappedPair.SelectedModel.Name;
177+
sr.MetaData[Constants.METADATA_DESCRIPTION_PREFIX + tqeIndex] = string.Format(Constants.METADATA_DESCRIPTION, Constants.METADATA_SYSTEM_NAME,
178+
mappedPair.SelectedModel.Name);
179+
180+
}
181+
182+
searchResults[i].Add(sr);
168183
}
169184

170185
ManageBatchTaskWindow();
171186
return searchResults;
172187
}
173188

174-
private static EditorController TryGetEditorController()
189+
private static string GetScoreFromQE(string qualityEstimation) => QESCoreMap[qualityEstimation.ToLower()];
190+
191+
private static readonly Dictionary<string, string> QESCoreMap = new()
175192
{
176-
try
177-
{
178-
var editorController = SdlTradosStudio.Application.GetController<EditorController>();
179-
return editorController;
180-
}
181-
catch { return null; }
182-
}
193+
["poor"] = "33",
194+
["adequate"] = "66",
195+
["good"] = "80"
196+
};
183197

184198
private string GetFilePath(IEnumerable<TranslationUnit> translationUnits)
185199
{
@@ -216,23 +230,8 @@ private bool ShouldResendDrafts()
216230
_currentTranslationUnit?.ConfirmationLevel != ConfirmationLevel.Unspecified;
217231
}
218232

219-
private SearchResults CreateDraftNotResentSearchResults(Segment segment)
220-
{
221-
var targetSegment = new Segment(_languagePair.TargetCulture);
222-
223-
var searchResults = new SearchResults { SourceSegment = segment.Duplicate() };
224-
return searchResults;
225-
//targetSegment.Add(PluginResources.TranslationDraftNotResent);
226-
// var tuSearchResult = CreateTuSearchResult(segment, targetSegment);
227-
228-
// searchResults.Add(new SearchResult(tuSearchResult)
229-
// {
230-
// ScoringResult = new ScoringResult { BaseScore = 0 },
231-
// TranslationProposal = new TranslationUnit(tuSearchResult)
232-
// });
233-
234-
//return searchResults;
235-
}
233+
private SearchResults CreateDraftNotResentSearchResults(Segment segment) =>
234+
new() { SourceSegment = segment.Duplicate() };
236235

237236
private Segment GetSourceSegment(Segment segment)
238237
{
@@ -317,58 +316,8 @@ private void ManageSegmentMetadata(EvaluatedSegment evaluatedSegment, PairMappin
317316
_currentTranslationUnit.ConfirmationLevel == ConfirmationLevel.Draft;
318317

319318
if (isBatchTaskOrDraft) StoreSegmentMetadata(evaluatedSegment, pairMapping, fileName);
320-
else SetSegmentMetadataWhenPossible(evaluatedSegment, pairMapping, index, translationOrigin);
321-
}
322-
323-
public Dictionary<string, TranslationData> EditorMetadata = new();
324-
325-
private void SetSegmentMetadataWhenPossible(EvaluatedSegment evaluatedSegment, PairMapping pairMapping, int index,
326-
ITranslationOrigin translationOrigin)
327-
{
328-
var editorController = TryGetEditorController();
329-
var activeSegmentPair = editorController?.ActiveDocument?.ActiveSegmentPair;
330-
331-
if (activeSegmentPair is not null &&
332-
_currentTranslationUnit.DocumentSegmentPair.Properties.Id !=
333-
activeSegmentPair.Properties.Id) return;
334-
335-
var translationData = new TranslationData
336-
{
337-
QualityEstimation = evaluatedSegment.QualityEstimation,
338-
Translation = evaluatedSegment.Translation.ToString(),
339-
ModelName = pairMapping.SelectedModel.Name,
340-
Model = pairMapping.SelectedModel.Model,
341-
AutoSendFeedback = _translationOptions.ProviderSettings.AutosendFeedback,
342-
Index = index
343-
};
344-
345-
translationOrigin.SetMetaData(translationData);
346-
347-
if (activeSegmentPair?.Properties is null) return;
348-
349-
EditorMetadata[activeSegmentPair.Properties.Id.Id] = translationData;
350-
editorController.ActiveDocument.SegmentsConfirmationLevelChanged +=
351-
ActiveDocument_SegmentsConfirmationLevelChanged;
352319
}
353320

354-
private void ActiveDocument_SegmentsConfirmationLevelChanged(object sender, EventArgs e)
355-
{
356-
357-
var editorController = TryGetEditorController();
358-
359-
var activeSegmentPair = editorController?.ActiveDocument?.ActiveSegmentPair;
360-
if (activeSegmentPair is null) return;
361-
362-
var activeSegmentPairId = activeSegmentPair.Properties.Id.Id;
363-
if (!EditorMetadata.TryGetValue(activeSegmentPairId, out var translationData)) return;
364-
365-
activeSegmentPair.Properties.TranslationOrigin.SetMetaData(translationData);
366-
editorController.ActiveDocument.UpdateSegmentPairProperties(activeSegmentPair, activeSegmentPair.Properties);
367-
EditorMetadata.Remove(activeSegmentPairId);
368-
369-
editorController.ActiveDocument.SegmentsConfirmationLevelChanged -=
370-
ActiveDocument_SegmentsConfirmationLevelChanged;
371-
}
372321

373322
private void StoreSegmentMetadata(EvaluatedSegment evaluatedSegment, PairMapping pairMapping, string fileName)
374323
{

Language Weaver Provider/pluginpackage.manifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<PlugInName>Language Weaver Provider</PlugInName>
66
<Description>Language Weaver Provider</Description>
77

8-
<Version>2.1.0.3</Version>
8+
<Version>2.1.0.4</Version>
99
<RequiredProduct name="TradosStudio" minversion="18.1" maxversion="18.1.9" />
1010

1111
<Include>

0 commit comments

Comments
 (0)