Closed FranckLMP closed 6 years ago
Hello @FranckLMP ,
The error occurs because the constructor for the FileBasedTranslationMemory requires 8 parameters, you need to also add Sdl.LanguagePlatform.Core.Tokenization.TokenizerFlags and Sdl.LanguagePlatform.TranslationMemory.WordCountFlags, these are also enumerations.
Moreover, when calling the function "New-FileBasedTM" try to supply the parameter name for each passed parameter(Ex: New-FileBasedTM -filePath $sdltmpath -description $sdltmdesc -sourceLanguageName $sourceLanguage -targetLanguageName $targetLanguage -fuzzyIndexes $indexes -recognizers $recognizers -tokenizerFlags $tokenizerFlags -wordCountFlag $wordCountFlags ), because an error will occur if you don't. I will also update the PowerShellToolkit to fix this issue.
I've attached an updated script, hope this helps.
Have a nice day! Alex
I tried to copy PowerShell code from the sample and run it in PowerShell command-line and I get the following error:
ion
add-type -path 'C:\Program Files (x86)\SDL\SDL Trados Studio\Studio4\Sdl.LanguagePlatform.TranslationMemory.dll' ;
add-type -path 'C:\Program Files (x86)\SDL\SDL Trados Studio\Studio4\Sdl.LanguagePlatform.TranslationMemoryApi.dll' ;
function Get-DefaultFuzzyIndexes { return Sdl.LanguagePlatform.TranslationMemory.FuzzyIndexes::SourceCharacterBased -band Sdl.LanguagePlatform.TranslationMemory.FuzzyIndexes::SourceWordBased -band Sdl.LanguagePlatform.TranslationMemory.FuzzyIndexes::TargetCharacterBased -band
}
function Get-DefaultRecognizers { return Sdl.LanguagePlatform.Core.Tokenization.BuiltinRecognizers::RecognizeAcronyms -band Sdl.LanguagePlatform.Core.Tokenization.BuiltinRecognizers::RecognizeAll -band Sdl.LanguagePlatform.Core.Tokenization.BuiltinRecognizers::RecognizeDates -band Sdl.LanguagePlatform.Core.Tokenization.BuiltinRecognizers::RecognizeMeasurements -band Sdl.LanguagePlatform.Core.Tokenization.BuiltinRecognizers::RecognizeNumbers -band Sdl.LanguagePlatform.Core.Tokenization.BuiltinRecognizers::RecognizeTimes -band
}
function New-FileBasedTM { param([String] $filePath,[String] $description, [String] $sourceLanguageName, [String] $targetLanguageName, Sdl.LanguagePlatform.TranslationMemory.FuzzyIndexes $fuzzyIndexes, Sdl.LanguagePlatform.Core.Tokenization.BuiltinRecognizers $recognizers)
}
function Open-FileBasedTM { param([String] $filePath) [Sdl.LanguagePlatform.TranslationMemoryApi.FileBasedTranslationMemory] $tm = New-Object Sdl.LanguagePlatform.TranslationMemoryApi.FileBasedTranslationMemory ($filePath);
}
function Get-TargetTMLanguage { param([String] $filePath)
}
function Get-Language { param([String] $languageName)
}
function Get-Languages { param([String[]] $languageNames) [Sdl.Core.Globalization.Language[]]$languages = @(); foreach($lang in $languageNames) { $newlang = Get-Language $lang;
}
function Get-CultureInfo { param([String] $languageName) $cultureInfo = Get-Language $languageName; return [System.Globalization.CultureInfo] $cultureInfo.CultureInfo; }
$sdltmpath = "c:\temp\mysdltm.sdltm" ;
$sdltmdesc = "my sdl tm description" ;
$sdltmsrclangcode = "de-DE" ;
$sdltmtgtlangcode = "en-GB" ;
$sourceLanguage = Get-CultureInfo $sdltmsrclangcode ;
$targetLanguage = Get-CultureInfo $sdltmtgtlangcode ;
$indexes = Get-DefaultFuzzyIndexes ;
$recognizers = Get-DefaultRecognizers ;
New-FileBasedTM $sdltmpath, $sdltmdesc, "de-DE", "en-GB", $indexes, $recognizers ;