@@ -156,30 +156,44 @@ public SearchResults[] SearchTranslationUnitsMasked(SearchSettings settings, Tra
156
156
var tuSearchResult = CreateTuSearchResult ( currentSegment , translatedSegment ) ;
157
157
158
158
var translationOrigin = tuSearchResult . DocumentSegmentPair . Properties . TranslationOrigin ;
159
- var lastTqeIndex = translationOrigin is not null ? translationOrigin . GetLastTqeIndex ( ) + 1 : 1 ;
159
+
160
+ const int tqeIndex = 1 ;
160
161
161
- ManageSegmentMetadata ( evaluatedSegment , mappedPair , fileName , lastTqeIndex , translationOrigin ) ;
162
+ ManageSegmentMetadata ( evaluatedSegment , mappedPair , fileName , tqeIndex , translationOrigin ) ;
162
163
163
- searchResults [ i ] . Add ( new SearchResult ( tuSearchResult )
164
+ var sr = new SearchResult ( tuSearchResult )
164
165
{
165
166
ScoringResult = new ScoringResult { BaseScore = 0 } ,
166
167
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 ) ;
168
183
}
169
184
170
185
ManageBatchTaskWindow ( ) ;
171
186
return searchResults ;
172
187
}
173
188
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 ( )
175
192
{
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
+ } ;
183
197
184
198
private string GetFilePath ( IEnumerable < TranslationUnit > translationUnits )
185
199
{
@@ -216,23 +230,8 @@ private bool ShouldResendDrafts()
216
230
_currentTranslationUnit ? . ConfirmationLevel != ConfirmationLevel . Unspecified ;
217
231
}
218
232
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 ( ) } ;
236
235
237
236
private Segment GetSourceSegment ( Segment segment )
238
237
{
@@ -317,58 +316,8 @@ private void ManageSegmentMetadata(EvaluatedSegment evaluatedSegment, PairMappin
317
316
_currentTranslationUnit . ConfirmationLevel == ConfirmationLevel . Draft ;
318
317
319
318
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 ;
352
319
}
353
320
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
- }
372
321
373
322
private void StoreSegmentMetadata ( EvaluatedSegment evaluatedSegment , PairMapping pairMapping , string fileName )
374
323
{
0 commit comments