Hi,
Got a strange one here.
I have a C# program that creates a project via a template, adds source files and pre-translates using the relevant Language pair resources specified in the project template.
The code works perfectly with any project templates that have:
- A translation memory
- And/or have a DeepL plugin
I have created a new template that uses Cloud-based resources (Language Weaver with the correct language pair, using Generic - NMT).
I run same program (no code changes) and it creates the project, adds the source files and runs through the code to do the pre-translate.
But, when I manually open the created project it has not done the pre-translate.
I can manually do a pre-translate and it does use LW to perform MT.
Is there anything wrong with the code below that's stopping the PT?
Here's the method that does the PT:
internal void PreTranslateFilesMT(int minimumrate)
{
if (newProject != null)
{
Console.WriteLine("START MT PreTranslateFiles with memory enabled");
Console.WriteLine("Setting project minimum pre-translate match to {0}", minimumrate);
var settings = newProject.GetSettings();
var preTranslateSettings = settings.GetSettingsGroup<TranslateTaskSettings>();
preTranslateSettings.NoTranslationMemoryMatchFoundAction.Value = NoTranslationMemoryMatchFoundAction.ApplyAutomatedTranslation;
preTranslateSettings.MinimumMatchScore.Value = minimumrate;
newProject.UpdateSettings(settings);
newProject.Save();
var targetFiles = newProject.GetTargetLanguageFiles();
newProject.RunAutomaticTasks(targetFiles.GetIds(), new[]
{
AutomaticTaskTemplateIds.PreTranslateFiles,
});
newProject.Save();
Console.WriteLine("END MT PreTranslateFiles with memory enabled");
}
else
Console.WriteLine("NULL new project!");
}
Thanks
Mark