Hello, I have an API development issue with SDL Trados Studio 2019 SR2 (15.2.0.1041).
I get the error message "One or more errors accored" at the following program line:
SearchResults results = langDirection.SearchText(sdlSearchSettings, "Telefonliste");
I get the same error message if I replace the above program line with the following program line.
SearchResults results = langDirection.SearchText(new Sdl.LanguagePlatform.TranslationMemory.SearchSettings(), "Telefonliste");
My work environment consists of the following systems:
- SDL Trados Studio 2019 SR2 (15.2.0.1041)
- 2 SDL Trados GroupShare 2017 SR1 test systems: SDL Trados GroupShare 2017 SR1 CU8 and SDL Trados GroupShare 2017 SR1 CU9 Refresh.
- MS Visual Studio 2017
Thanks a lot in advance for your support.
Best regards,
Christian Albrecht
My test program code:
using System;
using System.Collections.Generic;
using log4net;
using Sdl.LanguagePlatform.TranslationMemoryApi;
using Sdl.LanguagePlatform.TranslationMemory;
using Sdl.LanguagePlatform.Core.Tokenization;
using Sdl.LanguagePlatform.Core;
namespace ConsoleApp1
{
class Program
{
private static readonly ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private static TranslationProviderServer tmServer;
static void Main(string[] args)
{
Connect("http://<server>:<Port>", "<Username>", "<Password>", "/<TM>");
}
private static void Connect(string serverUri, string userName, string password, string translationMemory)
{
List<string> tmList = new List<string>();
string hitList;
try
{
tmServer = new TranslationProviderServer(GetUri(serverUri), false, userName, password);
SearchSettings sdlSearchSettings = new SearchSettings();
ServerBasedTranslationMemory tm = tmServer.GetTranslationMemory(translationMemory, TranslationMemoryProperties.None);
ServerBasedTranslationMemoryLanguageDirection langDirection = tm.LanguageDirections.GetLanguageDirection("de-DE", "en-GB");
sdlSearchSettings.ComputeTranslationProposal = true;
sdlSearchSettings.Mode = SearchMode.ConcordanceSearch;
sdlSearchSettings.Mode = SearchMode.NormalSearch;
sdlSearchSettings.MinScore = 75;
sdlSearchSettings.MaxResults = 5;
sdlSearchSettings.FindPenalty(PenaltyType.FilterPenalty);
sdlSearchSettings.CheckMatchingSublanguages = false;
SearchResults results = langDirection.SearchText(sdlSearchSettings, "Telefonliste");
//Initializes a new instance with default values. The default values are:
//ComputeTranslationProposal = false
//IsDocumentSearch = false
//Mode = SearchMode.NormalSearch
//MinScore = 70
//MaxResults = 10
//CheckMatchingSublanguages = false
//SearchResults results = langDirection.SearchText(new Sdl.LanguagePlatform.TranslationMemory.SearchSettings(), "Telefonliste");
hitList = "Search result: " + "Test" + "\n\n";
hitList += "Number of hits found: " + results.Count.ToString() + "\n";
foreach (SearchResult result in results)
{
hitList += "\n" + "Source segment: " + result.MemoryTranslationUnit.SourceSegment.ToPlain() + "\n";
hitList += "Target segment: " + result.MemoryTranslationUnit.TargetSegment.ToPlain() + "\n";
hitList += "Created on: " + result.MemoryTranslationUnit.SystemFields.CreationDate.ToString() + "\n";
hitList += "Origin: " + result.MemoryTranslationUnit.Origin.ToString() + "\n";
hitList += "Match value: " + result.ScoringResult.Match.ToString() + "\n";
hitList += "Fields:" + "\n";
foreach (FieldValue field in result.MemoryTranslationUnit.FieldValues)
{
hitList += field.Name + ": " + field.ToString() + "\n";
}
}
}
catch (Exception ex)
{
log.Error("Error: " + ex.Message);
}
}
private static Uri GetUri(string uri)
{
string address = uri;
return new Uri(address);
}
}
}