Hello,
I’m seeing a reproducible issue with MultiTerm COM automation when creating a local termbase from an .xdt definition.
Environment
-
MultiTerm Desktop 2022 SR2 - 17.2.5.2838
-
Trados Studio 2022 SR2 - 17.2.12.19268
-
C# app running as x86 (
Environment.Is64BitProcess = False) -
Interop:
Sdl.MultiTerm.TMO.Interop
Code
Sdl.MultiTerm.TMO.Interop.Application oMt = new Sdl.MultiTerm.TMO.Interop.Application();
TermbaseRepository oLocalRep = oMt.LocalRepository;
oLocalRep.Connect("", "");
Termbases oTbs = oLocalRep.Termbases;
oTbs.New(name, "", definition, sdltbPath);
Example values used
-
name = "Test" -
definition = C:\Users\...\Temp\Test_20260409_141955534\Test.xdt -
sdltbPath = C:\Users\...\Temp\Test_20260409_141955534\Test.sdltb
What I tested
-
The process is 32-bit (
Environment.Is64BitProcess = False) -
definitionexists -
sdltbPathdoes not exist before callingNew(...) -
Creating in
%TEMP%gives the same result as other local paths -
Opening an existing
.sdltbthrough COM works:
oLocalRep.Termbases.Add(existingTbPath, "", "");
var tb = oLocalRep.Termbases[existingTbPath];
-
MultiTerm Desktop can successfully create the termbase from the same
.xdt
Observed behavior
-
Termbases.New(...)throws:-
System.Runtime.InteropServices.COMException: 'MultiTerm is unable to create the termbase.'
-
-
After a lot of testing, I found that the problem is related to Croatian in the
.xdt -
If I remove Croatian from the termbase definition,
Termbases.New(...)succeeds -
If Croatian is present,
Termbases.New(...)fails -
However, MultiTerm Desktop is able to create the same termbase from the same
.xdt
Question
-
Is this a known issue in the MultiTerm COM API with Croatian language handling during termbase creation?
-
Is there a specific Croatian language code/locale that COM expects here?
-
Could this be related to
SH-HRvshr-HRhandling?
Since Desktop can create the termbase, but COM cannot when Croatian is included, this looks like an API-specific issue rather than a broken .xdt.
Thanks in advance for any guidance.
Translate