I found a miss leading about Studio Automation API, FilebasedProject -> AddTranslationMemories, here I wand to share with you.
SDK suggest add TM like Code 1, but I prefer Code 2
//////////////////////////////////////////////
//1
List<TranslationProviderCascadeEntry> tmEntries = new List<TranslationProviderCascadeEntry>();
foreach (string TM in settings.TargetLanguages[i].TranslationMemories)
{
tmEntries.Add(new TranslationProviderCascadeEntry(TM, true, true, true, 0));
}
TranslationProviderCascadeEntry[] tmEntriesArr = tmEntries.ToArray();
for (int j = 0; j < tmEntriesArr.Length; j++)
{
tmConfig.Entries.Add(tmEntriesArr[i]);
}
//////////////////////////////////////////////
//2
for (int j = 0; j < settings.TargetLanguages[i].TranslationMemories.Length; j++)
{
tmConfig.Entries.Add(new TranslationProviderCascadeEntry(settings.TargetLanguages[i].TranslationMemories[j], true, true, true, 0));
}
//////////////////////////////////////////////
But the other more important thing is, API is Adding TM as Language TM not Master TM:
SO THIS CODE is NEEDED:
TranslationProviderConfiguration tmConfig = fProject.GetTranslationProviderConfiguration(targetLanguage);
tmConfig.OverrideParent = true;
Just want to share with you guys, hope SDL can update SDK Document