I am stumped.
I have a very basic SDK app, that requires an SDL Project file path and a target language; then attempts to run the "PreTranslateFiles" task.
namespace Sdl.Sdk.PreTranslateFiles
{
using System;
using System.Globalization;
using Sdl.Core.Globalization;
using Sdl.ProjectAutomation.Core;
using Sdl.ProjectAutomation.FileBased;
public class PreTranslateFiles
{
public void Create(
string SdlProjectFilepath,
string SdlTargetLanguage
)
{
FileBasedProject ThisSdlProjectObject = new FileBasedProject(SdlProjectFilepath);
this.RunAutomaticTask(ThisSdlProjectObject, SdlTargetLanguage);
ThisSdlProjectObject.Save();
}
private void RunAutomaticTask(FileBasedProject ThisSdlProject, string TargetLanguageCode)
{
ProjectFile[] targetFiles = ThisSdlProject.GetTargetLanguageFiles(new Language(CultureInfo.GetCultureInfo(TargetLanguageCode)));
AutomaticTask preTranslate = ThisSdlProject.RunAutomaticTask(targetFiles.GetIds(), AutomaticTaskTemplateIds.PreTranslateFiles);
}
}
}
However, for reasons that I cannot figure out, the "PreTranslateFiles" task randomly fails to run, which results in the error message "Index was outside the bounds of the array"; if/when attempting to run the "AnalyzeFiles".
My tests (run in batches of 20 reps) are based on an SDL Project; which have files already converted to translatable format and are copied to target languages.
- Test 1, set up using a template: resulted in 15% failure rate
- Test 2, same as Test 1: resulted in 25% failure rate
- Test 3, same as Test 1&2: resulted in 45% failure rate
- Test 4, reset SDL program and user settings to default, set up using a template: resulted in 55% failure rate
- Test 5, set up without using a template: resulted in 20% failure rate
I have also monitored the %USERPROFILE%\AppData\Local\Temp directory, and noticed that the SDL randomly-generated .zip, .tmp files and directories are not created when the task fails.
I added a couple of real-time protection exclusion rules to:
- %USERPROFILE%\AppData\Local\Temp
- C:\Program Files (x86)\SDL\*
...but this did not change anything.
Has anyone had any experience like this, or have any clue why the "PreTranslateFiles" task would decide to randomly fail?
Thanks in advance
Translate