<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.rws.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>MultiTerm API</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12 Non-Production</generator><item><title>Knowledgebase</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5313/knowledgebase</link><pubDate>Thu, 03 Aug 2023 08:17:41 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:4aa49b0a-5edf-4aca-93fe-cdb0c2890dd1</guid><dc:creator>Georgiana Iancu</dc:creator><description>Current Revision posted to MultiTerm API by Georgiana Iancu on 8/3/2023 8:17:41 AM&lt;br /&gt;
&lt;div class="content"&gt;
&lt;p&gt;MultiTerm knowledgebase&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>MultiTerm API</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api</link><pubDate>Wed, 02 Aug 2023 14:26:39 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:3a314602-33c9-4b9b-8025-ff295cb817ae</guid><dc:creator>Georgiana Iancu</dc:creator><description>Current Revision posted to MultiTerm API by Georgiana Iancu on 8/2/2023 2:26:39 PM&lt;br /&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How to add a concept to a local termbase using the MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk</link><pubDate>Thu, 07 May 2020 16:54:27 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Paul</dc:creator><description>Current Revision posted to MultiTerm API by Paul on 5/7/2020 4:54:27 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements but this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;p&gt;Full sample code can be found on &lt;a href="https://github.com/sdl/Sdl-Community/blob/master/RapidAddTerm/RapidAddTerm/TermbaseService.cs"&gt;SDL Community GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-03-51/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/819x207/__key/communityserver-wikis-components-files/00-00-00-03-51/getindex.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;How to get entries number for each language&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;1. Using Studio context&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;/span&gt;&lt;span style="font-size:inherit;"&gt;After getting the Language Index (see&amp;nbsp; the method &amp;quot;GetTermbaseIndex&amp;quot; from the previews print screen), you should be able to get the entries number for each language using the below code:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; var numberOfLanguageEntries = termbase.Information.NumberOfEntriesInIndex["languageIndex"];&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;2. Using Standalone application&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;The Code sample can be found on the SDL GitHub public repository, unde the &lt;a href="https://github.com/sdl/Sdl-Community/tree/master/Code%20samples/MultiTermStandAloneTestApp"&gt;Code&amp;nbsp;samples folder&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;On the &lt;a href="https://appstore.sdl.com/language/developers/sdk.html"&gt;appstore.sdl.com&lt;/a&gt; site, it can be accessed the Multiterm Desktop SDK.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;The number of term entries can be accessed similar with the plugin&amp;#39;s side, based on the language index:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:inherit;"&gt;Get the termabase&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:inherit;"&gt;Get the termbase information: var termbaseInformation = termbase.Information;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:inherit;"&gt;Get the&amp;nbsp;Indexes from termbase.Definition.Indexes (each index corresponds to one language)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:inherit;"&gt;Use the Language value from each index to retrieve&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:inherit;"&gt;the number of terms entry : termbaseInformation.NumberOfEntriesInIndex(languageIndex.Language)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;img alt=" " src="/resized-image/__size/1000x1200/__key/communityserver-wikis-components-files/00-00-00-03-51/pastedimage1585726435116v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5313/knowledgebase/revision/1</link><pubDate>Thu, 07 May 2020 16:53:26 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:4aa49b0a-5edf-4aca-93fe-cdb0c2890dd1</guid><dc:creator>Paul</dc:creator><description>Revision 1 posted to MultiTerm API by Paul on 5/7/2020 4:53:26 PM&lt;br /&gt;
&lt;p&gt;Articles related to Multiterm&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/24</link><pubDate>Wed, 01 Apr 2020 07:38:33 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Florentina Caputa</dc:creator><description>Revision 24 posted to MultiTerm API by Florentina Caputa on 4/1/2020 7:38:33 AM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements but this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;p&gt;Full sample code can be found on &lt;a href="https://github.com/sdl/Sdl-Community/blob/master/RapidAddTerm/RapidAddTerm/TermbaseService.cs"&gt;SDL Community GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/819x207/__key/communityserver-wikis-components-files/00-00-00-00-39/getindex.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;How to get entries number for each language&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;1. Using Studio context&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;/span&gt;&lt;span style="font-size:inherit;"&gt;After getting the Language Index (see&amp;nbsp; the method &amp;quot;GetTermbaseIndex&amp;quot; from the previews print screen), you should be able to get the entries number for each language using the below code:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; var numberOfLanguageEntries = termbase.Information.NumberOfEntriesInIndex["languageIndex"];&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;2. Using Standalone application&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;The Code sample can be found on the SDL GitHub public repository, unde the &lt;a href="https://github.com/sdl/Sdl-Community/tree/master/Code%20samples/MultiTermStandAloneTestApp"&gt;Code&amp;nbsp;samples folder&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;On the &lt;a href="https://appstore.sdl.com/language/developers/sdk.html"&gt;appstore.sdl.com&lt;/a&gt; site, it can be accessed the Multiterm Desktop SDK.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;The number of term entries can be accessed similar with the plugin&amp;#39;s side, based on the language index:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:inherit;"&gt;Get the termabase&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:inherit;"&gt;Get the termbase information: var termbaseInformation = termbase.Information;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:inherit;"&gt;Get the&amp;nbsp;Indexes from termbase.Definition.Indexes (each index corresponds to one language)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:inherit;"&gt;Use the Language value from each index to retrieve&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:inherit;"&gt;the number of terms entry : termbaseInformation.NumberOfEntriesInIndex(languageIndex.Language)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;img alt=" " src="/resized-image/__size/1000x1200/__key/communityserver-wikis-components-files/00-00-00-00-39/pastedimage1585726435116v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/23</link><pubDate>Wed, 01 Apr 2020 07:34:05 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Florentina Caputa</dc:creator><description>Revision 23 posted to MultiTerm API by Florentina Caputa on 4/1/2020 7:34:05 AM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements but this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;p&gt;Full sample code can be found on &lt;a href="https://github.com/sdl/Sdl-Community/blob/master/RapidAddTerm/RapidAddTerm/TermbaseService.cs"&gt;SDL Community GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/819x207/__key/communityserver-wikis-components-files/00-00-00-00-39/getindex.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;How to get entries number for each language&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;1. Using Studio context&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;/span&gt;&lt;span style="font-size:inherit;"&gt;After getting the Language Index (see&amp;nbsp; the method &amp;quot;GetTermbaseIndex&amp;quot; from the previews print screen), you should be able to get the entries number for each language using the below code:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; var numberOfLanguageEntries = termbase.Information.NumberOfEntriesInIndex["languageIndex"];&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;2. Using Standalone application&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;The Code sample can be found on the SDL GitHub public repository, unde the &lt;a href="https://github.com/sdl/Sdl-Community/tree/master/Code%20samples/MultiTermStandAloneTestApp"&gt;Code&amp;nbsp;samples folder&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;On the &lt;a href="https://appstore.sdl.com/language/developers/sdk.html"&gt;appstore.sdl.com&lt;/a&gt; site, it can be accessed the Multiterm Desktop SDK.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;img alt=" " src="/resized-image/__size/1000x1200/__key/communityserver-wikis-components-files/00-00-00-00-39/pastedimage1585726435116v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/22</link><pubDate>Wed, 01 Apr 2020 07:32:28 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Florentina Caputa</dc:creator><description>Revision 22 posted to MultiTerm API by Florentina Caputa on 4/1/2020 7:32:28 AM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements but this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;p&gt;Full sample code can be found on &lt;a href="https://github.com/sdl/Sdl-Community/blob/master/RapidAddTerm/RapidAddTerm/TermbaseService.cs"&gt;SDL Community GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/819x207/__key/communityserver-wikis-components-files/00-00-00-00-39/getindex.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;How to get entries number for each language&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;1. Using Studio context&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;/span&gt;&lt;span style="font-size:inherit;"&gt;After getting the Language Index (see&amp;nbsp; the method &amp;quot;GetTermbaseIndex&amp;quot; from the previews print screen), you should be able to get the entries number for each language using the below code:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; var numberOfLanguageEntries = termbase.Information.NumberOfEntriesInIndex["languageIndex"];&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;2. Using Standalone application&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;The Code sample can be found on the SDL GitHub public repository, unde the &lt;a href="https://github.com/sdl/Sdl-Community/tree/master/Code%20samples/MultiTermStandAloneTestApp"&gt;Code&amp;nbsp;samples folder&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img alt=" " src="/resized-image/__size/1000x1200/__key/communityserver-wikis-components-files/00-00-00-00-39/pastedimage1585726214347v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/21</link><pubDate>Fri, 27 Mar 2020 13:56:25 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Florentina Caputa</dc:creator><description>Revision 21 posted to MultiTerm API by Florentina Caputa on 3/27/2020 1:56:25 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements but this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;p&gt;Full sample code can be found on &lt;a href="https://github.com/sdl/Sdl-Community/blob/master/RapidAddTerm/RapidAddTerm/TermbaseService.cs"&gt;SDL Community GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/819x207/__key/communityserver-wikis-components-files/00-00-00-00-39/getindex.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;How to get entries number for each language&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;/span&gt;&lt;span style="font-size:inherit;"&gt;After getting the Language Index (see&amp;nbsp; the method &amp;quot;GetTermbaseIndex&amp;quot; from the previews print screen), you should be able to get the entries number for each language using the below code:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; var numberOfLanguageEntries = termbase.Information.NumberOfEntriesInIndex["languageIndex"];&lt;/strong&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/20</link><pubDate>Tue, 14 Jan 2020 12:36:28 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 20 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/14/2020 12:36:28 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements but this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;p&gt;Full sample code can be found on &lt;a href="https://github.com/sdl/Sdl-Community/blob/master/RapidAddTerm/RapidAddTerm/TermbaseService.cs"&gt;SDL Community GitHub Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/819x207/__key/communityserver-wikis-components-files/00-00-00-00-39/getindex.png" /&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/19</link><pubDate>Tue, 07 Jan 2020 15:16:15 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 19 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 3:16:15 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements but this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/819x207/__key/communityserver-wikis-components-files/00-00-00-00-39/getindex.png" /&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/18</link><pubDate>Tue, 07 Jan 2020 15:15:13 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 18 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 3:15:13 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/819x207/__key/communityserver-wikis-components-files/00-00-00-00-39/getindex.png" /&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/17</link><pubDate>Tue, 07 Jan 2020 15:13:23 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 17 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 3:13:23 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;private string GetTermbaseIndex(List&amp;lt;TermbaseLanguageIndex&amp;gt; termbaseIndexes,Language currentLanguage)&lt;/code&gt;&lt;br /&gt;&lt;code&gt; {&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp;if (termbaseIndexes.Any())&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp;{&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; var termbaseIndex =&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; termbaseIndexes.FirstOrDefault(t=&amp;gt;t.ProjectLanguage.CultureInfo.Name.Equals(currentLanguage.CultureInfo.Name));&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; if (termbaseIndex != null)&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; {&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return termbaseIndex.TermbaseIndex;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp;}&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; return string.Empty;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; }&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/16</link><pubDate>Tue, 07 Jan 2020 15:13:02 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 16 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 3:13:02 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to get the corresponding TermbaseLanguage index for a language we can use following example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;private string GetTermbaseIndex(List&amp;lt;TermbaseLanguageIndex&amp;gt; termbaseIndexes,Language currentLanguage)&lt;/code&gt;&lt;br /&gt;&lt;code&gt; {&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp;if (termbaseIndexes.Any())&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp;{&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; var termbaseIndex =&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; termbaseIndexes.FirstOrDefault(t =&amp;gt; t.ProjectLanguage.CultureInfo.Name.Equals(currentLanguage.CultureInfo.Name));&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; if (termbaseIndex != null)&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; {&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return termbaseIndex.TermbaseIndex;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; &amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp;}&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp; return string.Empty;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; }&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/15</link><pubDate>Tue, 07 Jan 2020 15:11:03 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 15 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 3:11:03 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/14</link><pubDate>Tue, 07 Jan 2020 15:09:44 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 14 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 3:09:44 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;How to get the Termbase Language index list&lt;/h3&gt;
&lt;p&gt;From the active project we can take the TermbaseConfiguration for Default Termbase set in project settings.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var projectsController = SdlTradosStudio.Application.GetController&amp;lt;ProjectsController&amp;gt;();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var activeProject = projectsController?.CurrentProject;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbaseConfiguration = activeProject?.GetTermbaseConfiguration();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt; var languageIndexes = &lt;span&gt;termbaseConfiguration.&lt;/span&gt;LanguageIndexes;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/13</link><pubDate>Tue, 07 Jan 2020 15:06:30 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 13 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 3:06:30 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;Following error will appear when we try to add the concept:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/572x182/__key/communityserver-wikis-components-files/00-00-00-00-39/error.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/12</link><pubDate>Tue, 07 Jan 2020 15:02:52 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 12 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 3:02:52 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;What is Termbase Language Index and why do we need to use it&lt;/h3&gt;
&lt;p&gt;In the above XML example we see the language type is set to &amp;quot;English&amp;quot;.&amp;nbsp;Termbase Language index give us the Language Name which correspond to all language flavours.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example English (Unites States) and English (Australia) will have the same language Index &amp;quot;English&amp;quot;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the bellow example we&amp;#39;ll use th&lt;strong&gt;e Display Name &lt;/strong&gt;of the language to create a entry.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/11</link><pubDate>Tue, 07 Jan 2020 13:34:49 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 11 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 1:34:49 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
   &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
   &amp;lt;termGrp&amp;gt;
    &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
   &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/10</link><pubDate>Tue, 07 Jan 2020 13:34:17 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 10 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 1:34:17 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
  &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
  &amp;lt;termGrp&amp;gt;
  &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
  &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt;   &amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span class="hljs-tag"&gt; &amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item><item><title>MultiTerm SDK</title><link>https://community.rws.com/developers-more/trados-portfolio/multiterm-developers/w/multiterm-api/5183/how-to-add-a-concept-to-a-local-termbase-using-the-multiterm-sdk/revision/9</link><pubDate>Tue, 07 Jan 2020 13:32:40 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:6e1c4411-4332-4471-801d-f1309b0c5d34</guid><dc:creator>Andrea-Melinda Ghisa</dc:creator><description>Revision 9 posted to MultiTerm API by Andrea-Melinda Ghisa on 1/7/2020 1:32:40 PM&lt;br /&gt;
&lt;p&gt;In the following tutorial it will be explained how to add a concept to a existing local termbase using MultiTerm SDK.&lt;/p&gt;
&lt;h3&gt;Sdl.MultiTerm.TMO.Interop vs Sdl.MultiTerm.Client.Api&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;MultiTerm Client&lt;/strong&gt; is a newer API which&amp;nbsp;might contain some improvements, this dll is &lt;strong&gt;private.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;T&lt;/b&gt;this means&lt;strong&gt; it cannot be used in a plugin&lt;/strong&gt;. When a plugin which uses a nonpublic api is used in Studio a error message appears when Studio is loaded.&amp;nbsp;This client is recomanded to be used for standalone applications.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;Sdl.MultiTerm.Client.Api&amp;quot; is not a full replacement for the &amp;quot;Sdl.MultiTerm.TMO.Interop&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sdl.MultiTerm.TMO.Interop&lt;/strong&gt; is a &lt;strong&gt;public api&lt;/strong&gt;, and it can be used in a plugin.&lt;/p&gt;
&lt;h3&gt;How to load a local Termbase and get the Entries using Sdl.MultiTerm.TMO.Interop&lt;/h3&gt;
&lt;p&gt;First of all you need to add a reference to MultiTerm Interop library.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var multiTermApplication = new Application();&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var localRep = multiTermApplication.LocalRepository;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; localRep.Connect(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var termbases = localRep.Termbases;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var path = termbasePath;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; termbases.Add(path, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/code&gt;&lt;br /&gt;&lt;code&gt; var termbase = termbases[path];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;var entries = termbase.Entries;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;How to&amp;nbsp;add a new entry to a local Termbase&lt;/h3&gt;
&lt;p&gt;To add new entries to a termbase,&lt;strong&gt; you first need to &amp;#39;construct&amp;#39; the entry XML content to store in the termbase.&lt;/strong&gt; Below you see a simplified example of what a MultiTerm XML entry can look like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;conceptGrp&amp;gt;
  &amp;lt;languageGrp&amp;gt;
  &amp;lt;language type=&amp;quot;English&amp;quot; lang=&amp;quot;EN&amp;quot;/&amp;gt;
  &amp;lt;termGrp&amp;gt;
  &amp;lt;term&amp;gt;Sdl Community Wiki&amp;lt;/term&amp;gt;
  &amp;lt;/termGrp&amp;gt;
  &amp;lt;/languageGrp&amp;gt;
&amp;lt;/conceptGrp&amp;gt;&lt;br /&gt;&lt;br /&gt;Example of concept content for 2 languages&lt;br /&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;English&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Step&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;language&lt;/span&gt; &lt;span class="hljs-attr"&gt;type&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;French&amp;quot;&lt;/span&gt; &lt;span class="hljs-attr"&gt;lang&lt;/span&gt;=&lt;span class="hljs-string"&gt;&amp;quot;fr-FR&amp;quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;eacute;tape&lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;term&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;termGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;languageGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;conceptGrp&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entries.New(entryContent,true)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 class="name"&gt;&lt;/h3&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: documentation, MultiTerm SDK Wiki, Tips&amp;Tricks&lt;/div&gt;
</description></item></channel></rss>