<?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>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12 Non-Production</generator><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1</link><pubDate>Wed, 26 Jul 2023 16:57:38 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Paul</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Current Revision posted to Studio Developers WIKI by Paul on 7/26/2023 4:57:38 PM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h69i5cqj0"&gt;Known Issues&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (formally SDL.Community.Toolkit)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;Note&lt;/strong&gt;: it is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;h2 id="mcetoc_1h69i5cqj0"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new version of the Trados Community Toolkit, version 4.1.0, has been released to support the latest version of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve these references, include the following binding redirects in the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/12</link><pubDate>Fri, 14 Jul 2023 14:26:39 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 12 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 7/14/2023 2:26:39 PM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;Note&lt;/strong&gt;: it is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new version of the Trados Community Toolkit, version 4.1.0, has been released to support the latest version of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve these references, include the following binding redirects in the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/11</link><pubDate>Fri, 14 Jul 2023 14:25:19 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 11 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 7/14/2023 2:25:19 PM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;Note&lt;/strong&gt;: it is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new version of the Trados Community Toolkit, version 4.1.0, has been released to support the latest version of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve the references, include the following binding redirects in the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/10</link><pubDate>Fri, 14 Jul 2023 13:27:22 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 10 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 7/14/2023 1:27:22 PM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;Note&lt;/strong&gt;: it is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new version of the Trados Community Toolkit, version 4.1.0, has been released to support the latest version of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve, include the following binding redirects in the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/9</link><pubDate>Fri, 14 Jul 2023 12:34:33 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 9 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 7/14/2023 12:34:33 PM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;strong&gt;Note&lt;/strong&gt;: it is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new release of the Trados Community Tookit, version 4.1.0, has been released to support the latest release of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve, include the following binding redirects in the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/8</link><pubDate>Fri, 14 Jul 2023 12:34:03 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 8 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 7/14/2023 12:34:03 PM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_498365" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;strong&gt;Note&lt;/strong&gt;: it is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new release of the Trados Community Tookit, version 4.1.0, has been released to support the latest release of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve, include the following binding redirects in the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/7</link><pubDate>Fri, 14 Jul 2023 10:28:09 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 7 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 7/14/2023 10:28:09 AM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_498365" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;It is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;, for example:&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Desktop.IntegrationApi.Extensions&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Desktop.IntegrationApi.Extensions.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new release of the Trados Community Tookit, version 4.1.0, has been released to support the latest release of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve, include the following binding redirects in the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/6</link><pubDate>Fri, 14 Jul 2023 10:24:00 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 6 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 7/14/2023 10:24:00 AM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_498365" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;It is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;, for example:&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Desktop.IntegrationApi.Extensions&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Desktop.IntegrationApi.Extensions.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new release of the Trados Community Tookit, version 4.1.0, has been released to support the latest release of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve, include the following binding redirects to the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/5</link><pubDate>Fri, 14 Jul 2023 10:23:11 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 5 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 7/14/2023 10:23:11 AM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_498365" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;It is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;, for example:&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Desktop.IntegrationApi.Extensions&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Desktop.IntegrationApi.Extensions.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Trados.Community.Toolkit(formallySDL.Community.Toolkit)"&gt;Trados.Community.Toolkit (&lt;em&gt;formally SDL.Community.Toolkit&lt;/em&gt;)&lt;/h3&gt;
&lt;p&gt;A new release of the Trados Community Tookit, version 4.1.0, has been released to support the latest release of Trados Studio 2022 SR1.&amp;nbsp; This includes the following assemblies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Core" rel="nofollow"&gt;Trados.Community.Toolkit.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform" rel="nofollow"&gt;Trados.Community.Toolkit.LanguagePlatform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.Integration" rel="nofollow"&gt;Trados.Community.Toolkit.Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.FileType" rel="nofollow"&gt;Trados.Community.Toolkit.FileType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="external-link" href="https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation" rel="nofollow"&gt;Trados.Community.Toolkit.ProjectAutomation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3 id="Studio2022SR1Howtoupdateplugins-Dependencyversionchanges"&gt;Dependency version changes&lt;/h3&gt;
&lt;p&gt;There following are a list of known dependency version changes that may influence your integration with the latest Trados Studio 2022 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context.&amp;nbsp; To resolve, include the following binding redirects to the configuration file of the project.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;
    &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.8&amp;quot; /&amp;gt;
  &amp;lt;/startup&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Memory&amp;quot; publicKeyToken=&amp;quot;cc7b13ffcd2ddd51&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-4.0.1.1&amp;quot; newVersion=&amp;quot;4.0.1.1&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;icu.net&amp;quot; publicKeyToken=&amp;quot;416fdd914afa6b66&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-2.7.0.0&amp;quot; newVersion=&amp;quot;2.7.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;Microsoft.Data.SqlClient&amp;quot; publicKeyToken=&amp;quot;23ec7fc2d6eaa4a5&amp;quot; culture=&amp;quot;neutral&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;0.0.0.0-5.0.0.0&amp;quot; newVersion=&amp;quot;5.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/4</link><pubDate>Mon, 05 Jun 2023 08:06:04 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 4 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 6/5/2023 8:06:04 AM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;div class="table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_498365" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;It is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;, for example:&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Desktop.IntegrationApi.Extensions&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Desktop.IntegrationApi.Extensions.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;To update settings directly in the project file from Visual Studio&lt;/div&gt;
&lt;ul&gt;
&lt;li class="confluence-information-macro-body"&gt;Right-click on the project node in the Solution Explorer and select Unload Project.&lt;/li&gt;
&lt;li class="confluence-information-macro-body"&gt;Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have applied your changes in the project file, then reload project&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)&lt;/li&gt;
&lt;li&gt;Then right-click on the project and choose Reload Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_946539" class="syntaxhighlighter sh-default nogutter  c#"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/3</link><pubDate>Mon, 05 Jun 2023 08:04:13 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 3 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 6/5/2023 8:04:13 AM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_498365" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;It is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;, for example:&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Desktop.IntegrationApi.Extensions&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Desktop.IntegrationApi.Extensions.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt;&lt;/span&gt;&lt;pre class="ui-code" data-mode="text"&gt;To update settings directly in the project file from Visual Studio

    Right-click on the project node in the Solution Explorer and select Unload Project.
    Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;

Once you have applied your changes in the project file, then reload project

    In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)
    Then right-click on the project and choose Reload Project.&lt;/pre&gt;&lt;br class="confluence-information-macro-body" /&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_946539" class="syntaxhighlighter sh-default nogutter  c#"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Trados Studio 2022 SR1&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/2</link><pubDate>Mon, 05 Jun 2023 07:59:47 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 2 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 6/5/2023 7:59:47 AM&lt;br /&gt;
&lt;p&gt;In an effort to achieve consistent behaviour across a range of platforms and applications, some changes have been made to control the way in which language metadata is used in our software.&amp;nbsp; These changes may affect your plugin or application integration with the public APIs, especially if &lt;em&gt;Sdl.Core.Globalization.Language&lt;/em&gt; referenced in the project.&lt;/p&gt;
&lt;p&gt;The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2022 SR1&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1h25938gm0"&gt;Plugin Manifest&lt;/h2&gt;
&lt;p&gt;The manifest file&amp;nbsp;&lt;strong&gt;pluginpackage.manifest.xml&lt;/strong&gt; is located at the root of your project solution.&amp;nbsp; The values of the &lt;strong&gt;RequiredProduct &lt;/strong&gt;should be updated to align with the latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RequiredProduct&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Min version should be set to: &lt;em&gt;17.1&lt;/em&gt;. If your plugin has been updated to support this latest release of Trados Studio, then you should reflect this by setting the minimum supported version to &lt;em&gt;17.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Max version should be set to &lt;em&gt;17.9&lt;/em&gt;. It is recommended to also set this value, as it will provide the AppStore with sufficient information in correctly identifying plugins that are compatible with the version of Trados Studio that is launched.&lt;/li&gt;
&lt;li&gt;Name should be set to: &lt;em&gt;TradosStudio&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;PluginPackage xmlns=&amp;quot;http://www.sdl.com/Plugins/PluginPackage/1.0&amp;quot;&amp;gt;
  &amp;lt;PlugInName&amp;gt;My plugin name&amp;lt;/PlugInName&amp;gt;
  &amp;lt;Version&amp;gt;1.1.0.0&amp;lt;/Version&amp;gt;
  &amp;lt;Description&amp;gt;My plugin description&amp;lt;/Description&amp;gt;
  &amp;lt;Author&amp;gt;Trados AppStore Team&amp;lt;/Author&amp;gt;
  &amp;lt;RequiredProduct name=&amp;quot;TradosStudio&amp;quot; minversion=&amp;quot;17.1&amp;quot; maxversion=&amp;quot;17.9&amp;quot; /&amp;gt;
&amp;lt;/PluginPackage&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_530373" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-ProjectReferences"&gt;Project References&lt;/h2&gt;
&lt;p&gt;The following changes should be applied in the project file (.csproj)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;Add a reference to &lt;strong&gt;&lt;em&gt;Sdl.Core.Globalization.Async&lt;/em&gt;&lt;/strong&gt;, if your code is making reference to&lt;em&gt; Sdl.Core.Globalization.Language &lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Core.Globalization.Async&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Core.Globalization.Async.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_498365" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class="auto-cursor-target"&gt;It is recommended that you use the reserved and well-known MSBuild property &lt;em&gt;$(&lt;strong&gt;MSBuildProgramFiles32&lt;/strong&gt;)&lt;/em&gt; as opposed to &lt;em&gt;$(ProgramFiles)&lt;/em&gt; to define the location of the 32-bit program folder &lt;em&gt;C:\Program Files (x86)\&lt;/em&gt;, for example:&lt;br /&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Reference Include=&amp;quot;Sdl.Desktop.IntegrationApi.Extensions&amp;quot;&amp;gt;
    &amp;lt;HintPath&amp;gt;$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio17\Sdl.Desktop.IntegrationApi.Extensions.dll&amp;lt;/HintPath&amp;gt;
&amp;lt;/Reference&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_369167" class="syntaxhighlighter sh-default nogutter  xml"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"&gt;&lt;span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"&gt; &lt;/span&gt;
&lt;div class="confluence-information-macro-body"&gt;    	    	        &lt;div style="padding: 1em; margin: 1em 0; color: #444; background-color: #fff; border: solid 1px #ddd;"&gt;
	    	        To update settings directly in the project file from Visual Studio

    Right-click on the project node in the Solution Explorer and select Unload Project.
    Then, right-click on the project and choose Edit &amp;lt;projectname&amp;gt;

Once you have applied your changes in the project file, then reload project

    In the Solution Explorer, select the projects you want to load (press Ctrl while clicking to select more than one project)
    Then right-click on the project and choose Reload Project.
	    &lt;/div&gt;
	&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;div class="confluence-information-macro-body"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-LanguageRegistryAPI"&gt;Language Registry API&lt;/h2&gt;
&lt;p&gt;Third party developers now have access to Trados Studio&amp;#39;s custom language registry, which offers finer control over language management than the language registry provided by Microsoft. Following this change, &lt;strong&gt;CultureCode &lt;/strong&gt;is now the recommended alternative to the standard CultureInfo.&lt;/p&gt;
&lt;p&gt;To ensure compatibility with Studio and other RWS system interfacing with Studio please recover the language info using our internal language registry&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private CultureCode GetCultureCode(string cultureIsoCode)
{
    try
    {
        // Language registry contains all the languages that are supported in Studio               
        var language = LanguageRegistryApi.Instance.GetLanguage(cultureIsoCode);
        return new CultureCode(language.CultureInfo);
    }
    catch (UnsupportedLanguageException)
    {
        // In case the language is not supported an exception is thrown
        return null;
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;div class="code panel pdl conf-macro output-block" style="border-width:1px;" data-hasbody="true" data-macro-name="code"&gt;
&lt;div class="codeContent panelContent pdl"&gt;
&lt;div&gt;
&lt;div id="highlighter_946539" class="syntaxhighlighter sh-default nogutter  c#"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use &lt;strong&gt;LanguageRegistryApi.Instance&lt;/strong&gt; to recover all langauges&lt;br /&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;private IList&amp;lt;Language&amp;gt; GetAllLanguages()
{  
    return LanguageRegistryApi.Instance.GetAllLanguages()
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="Studio2022SR1Howtoupdateplugins-KnownIssues"&gt;Known Issues&lt;/h2&gt;
&lt;p&gt;The following are a list of known issues and solutions that you might encounter depending on your settings and configuration&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How to update plugins to Trados Studio 2022 SR1</title><link>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1/revision/1</link><pubDate>Mon, 05 Jun 2023 07:53:34 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:940d46e5-dd57-4023-a6a4-560bc46c8c34</guid><dc:creator>Patrick Andrew Hartnett</dc:creator><comments>https://community.rws.com/developers-more/trados-portfolio/trados-studio-developers/w/trados-studio-api/6683/how-to-update-plugins-to-trados-studio-2022-sr1#comments</comments><description>Revision 1 posted to Studio Developers WIKI by Patrick Andrew Hartnett on 6/5/2023 7:53:34 AM&lt;br /&gt;
&lt;p&gt;placeholder&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>