diff --git a/articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2024.md b/articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2024.md deleted file mode 100644 index 5b2e48506..000000000 --- a/articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2024.md +++ /dev/null @@ -1,121 +0,0 @@ -# How to update plugins to Trados Studio 2024 - -The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2024. - -## Plugin Framework -The latest version of the plugin framework packages should be installed. You can add/update the plugin framework nuget packages in your project via the package manager user interface or console. -### Package Manager UI -* In **Solution Explorer**, right-click **References** and choose **Manage NuGet Packages**. -* Select nuget.org as the **Package source**. -* Search for `Sdl.Core.PluginFramework` from the **Browse** tab. -* Select the package from the list and click **Install** or **Update**. - * `Sdl.Core.PluginFramework`, version _2.1.0_ - * `Sdl.Core.PluginFramework.Build`, version _18.0.1_ -* Accept any license prompts to finnish the installation. - -
- -## Plugin Manifest - -The manifest file **pluginpackage.manifest.xml** is located at the root of your project solution. The values of the **RequiredProduct** should be updated to align with the latest release. - -### RequiredProduct - -- Min version should be set to: 18.0. -- Max version should be set to 18.9. 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. -- Name should be set to: *TradosStudio* - -Example -```xml - - - My plugin name - 1.1.0.0 - My plugin description - Trados AppStore Team - - -``` - -## Project References & Deployment Path -The references in the project file (.csproj) should be mapped to the new installation path for Trados Studio 2024. Make reference to the following examples for both the production and beta releases. - -### [Production](#tab/standard) - -Installation path: *$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio18*: -~~~xml - - $(MSBuildProgramFiles32)\Trados\Trados Studio\Studio18\Sdl.Desktop.IntegrationApi.Extensions.dll - -~~~ -
- -Plugin deployment path: *$(AppData)\Trados\Trados Studio\18\Plugins*: -~~~xml -$(AppData)\Trados\Trados Studio\18\Plugins -~~~ - -### [BETA](#tab/beta) - -Installation path: *$(MSBuildProgramFiles32)\Trados\Trados Studio\Studio18Beta*: -~~~xml - - $(MSBuildProgramFiles32)\Trados\Trados Studio\Studio18Beta\Sdl.Desktop.IntegrationApi.Extensions.dll - -~~~ -
- -Plugin deployment path: *$(AppData)\Trados\Trados Studio\18Beta\Plugins*: -~~~xml -$(AppData)\Trados\Trados Studio\18Beta\Plugins -~~~ - ---- - -> [!NOTE] -> -> 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** -> -> 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**. - -
-
- -## Known Issues -The following are a list of known issues and solutions that you might encounter depending on your settings and configuration: - -### Trados.Community.Toolkit (formally SDL.Community.Toolkit) -A new version of the Trados Community Toolkit, version 5.0.1, has been released to support the latest version of Trados Studio 2024. This includes the following assemblies: - -- [Trados.Community.Toolkit.Core](https://www.nuget.org/packages/Trados.Community.Toolkit.Core) -- [Trados.Community.Toolkit.LanguagePlatform](https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform) -- [Trados.Community.Toolkit.Integration](https://www.nuget.org/packages/Trados.Community.Toolkit.Integration) -- [Trados.Community.Toolkit.FileType](https://www.nuget.org/packages/Trados.Community.Toolkit.FileType) -- [Trados.Community.Toolkit.ProjectAutomation](https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation) - -### Dependency version changes -There is a list of known dependency version changes that may influence your integration with the latest Trados Studio 2024 APIs; this is typically seen from standalone applications that are running outside of the Trados Studio context. To resolve these references, include the following binding redirects in the configuration file of the project. - -``` xml - - - - - - - - - - - - - - - - - -``` diff --git a/articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2024_sr1.md b/articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2026.md similarity index 54% rename from articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2024_sr1.md rename to articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2026.md index eb18dc91f..7c924e4b0 100644 --- a/articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2024_sr1.md +++ b/articles/hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2026.md @@ -1,6 +1,23 @@ -# How to update plugins to Trados Studio 2024 SR1 +# How to update plugins to Trados Studio - 2026 Release -The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio 2024 SR1. +The following are a list of changes and known issues to consider when updating your plugin to be compatible with Trados Studio - 2026 Release. + +## Transition to 64-Bit (x64) +Studio Quantum is released as a 64-bit (x64) version. As a result, plug-ins must also be rebuilt and updated to target x64 in order to remain compatible. + +The following element must be added in a global property group of the .csproj file to target x64: + + +```xml + + ... + x64 + ... + +``` +> [!NOTE] +> +> If the project is not SDK-style, x64 must be set for all relevant configurations (e.g., Debug and Release), otherwise some builds may still compile for a different platform. ## Update Plugin Framework Packages Ensure you are using the latest plugin framework NuGet packages: @@ -13,7 +30,6 @@ Ensure you are using the latest plugin framework NuGet packages: - Search, select, and install/update the above packages. - Accept license agreements to complete installation. - ## Update Plugin Manifest Review and update the manifest (`pluginpackage.manifest.xml`) at the project root as in the following example: @@ -21,44 +37,43 @@ Review and update the manifest (`pluginpackage.manifest.xml`) at the project roo My plugin name - 1.1.0.0 + 1.0.0.0 My plugin description Trados AppStore Team - + ``` -Ensure **RequiredProduct** reflects `minversion="18.1"` and `maxversion="18.1.9"`. - +Ensure **RequiredProduct** reflects `minversion="19.0"` and `maxversion="19.9"`. ## Project References & Deployment Path Update references and deployment settings in your .csproj: ### [Production](#tab/standard) -**References**: Set Trados Studio assemblies to use the Studio 18 path: +**References**: Set Trados Studio assemblies to use the Studio 19 path: ~~~xml - $(MSBuildProgramFiles32)\Trados\Trados Studio\Studio18\Sdl.Desktop.IntegrationApi.Extensions.dll + $(ProgramFiles)\Trados\Trados Studio\Studio19\Sdl.Desktop.IntegrationApi.Extensions.dll ~~~ **Deployment Path:** ~~~xml -$(AppData)\Trados\Trados Studio\18\Plugins +$(AppData)\Trados\Trados Studio\19\Plugins ~~~ ### [BETA](#tab/beta) -**References**: Set Trados Studio assemblies to use the Studio 18 Beta path: +**References**: Set Trados Studio assemblies to use the Studio 19 Beta path: ~~~xml - $(MSBuildProgramFiles32)\Trados\Trados Studio\Studio18Beta\Sdl.Desktop.IntegrationApi.Extensions.dll + $(ProgramFiles)\Trados\Trados Studio\Studio19Beta\Sdl.Desktop.IntegrationApi.Extensions.dll ~~~ **Deployment Path:** ~~~xml -$(AppData)\Trados\Trados Studio\18Beta\Plugins +$(AppData)\Trados\Trados Studio\19Beta\Plugins ~~~ --- @@ -72,11 +87,12 @@ Update references and deployment settings in your .csproj: > 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**. - -
+> +> If the project is SDK-style, then unloading/reloading is unnecessary. ## Known Issues & Dependency Updates -### Dependency Version Changes +The following are a list of known issues and solutions that you might encounter depending on your settings and configuration: +### Dependency version changes Standalone integrations may require binding redirects. Example for `App.config`: ```xml @@ -112,14 +128,34 @@ Standalone integrations may require binding redirects. Example for `App.config`: ``` -
+### Breaking API Changes +`ITerminologyProviderCredentialStore` was removed (together with method parameters of this type). -## Breaking API Changes +`TerminologyProviderManager.DefaultTerminologyCredentialStore` was removed. -### Assembly Version Change Requires Recompilation -With Trados Studio 2024 SR1, all core Trados assemblies have had their **assembly version increased to 18.1.x.x** (reflecting the semantic versioning minor update). **This assembly version bump introduces a breaking change:** Any plugin or standalone tool that references Trados assemblies must be recompiled against the new release, even if no other code changes are required. Referencing outdated assemblies is not supported and will likely result in runtime failures due to version mismatches. -
+`public TerminologyProviderType Type` property removed from `ITerminologyProvider` +#### Working with BCMs +The BCM-related classes have been moved from Sdl.LanguagePlatform.TranslationMemoryApito TradosStudio.BcmLite: +```xml + + $(ProgramFiles)\Trados\Trados Studio\Studio19\TradosStudio.BcmLite.dll + +``` +And some classes were renamed: + +`LiteDocument` to `Document` + +`LiteFragment` to `DocumentFragment` + +The `LiteBcmVisitor` abstract class now includes two more methods: + +```cs +public abstract void VisitFeedbackContainer(FeedbackContainer feedbackContainer); +public abstract void VisitStructure(StructureTag structureTag); +``` +#### Assembly Version Change Requires Recompilation +With Trados Studio - 2026 Release, all core Trados assemblies have had their **assembly version increased to 19.x.x.x** (reflecting the semantic versioning minor update). **This assembly version bump introduces a breaking change:** Any plugin or standalone tool that references Trados assemblies must be recompiled against the new release, even if no other code changes are required. Referencing outdated assemblies is not supported and will likely result in runtime failures due to version mismatches. ### Multiterm API Changes **Migrate from `Sdl.Multiterm.TMO.Interop.dll` to `TerminologyProviderManager`** @@ -132,7 +168,7 @@ As part of the separation of MultiTerm from Trados Studio, the legacy assembly ` using Sdl.Terminology.TerminologyProvider.Core; // Example URI for your termbase -string termbaseUriString = "file:///C:/Termbases/MyTermbase.sdltb"; +string termbaseUriString = "ttb.file:///C:/Termbases/MyTermbase.ttb"; Uri termbaseUri = new Uri(termbaseUriString); // Get the terminology provider singleton instance @@ -153,8 +189,16 @@ if (!terminologyProvider.IsInitialized) } // Set up search parameters -var sourceLanguage = new CultureInfo("en-US"); -var targetLanguage = new CultureInfo("it-IT"); +var sourceLanguage = new DefinitionLanguage +{ + Locale = "EN", + Name = "English" +}; +var targetLanguage = new DefinitionLanguage +{ + Locale = "DE", + Name = "German" +}; string segmentText = "Insert your source segment text here"; int maxResultsCount = 10; bool targetRequired = true; @@ -171,87 +215,15 @@ var searchResults = terminologyProvider.Search( // Process or display results as needed... ``` -**Note:** Replace any references to `Sdl.Multiterm.TMO.Interop.dll` with the modern `TerminologyProviderManager` API. This ensures compatibility with Trados Studio 2024 SR1 and future releases, and aligns with Trados ongoing architectural updates. +**Note:** Replace any references to `Sdl.Multiterm.TMO.Interop.dll` with the modern `TerminologyProviderManager` API. This ensures compatibility with Trados Studio - 2026 Release and future releases, and aligns with Trados ongoing architectural updates. -
-## Credential Management Best Practices +### Trados.Community.Toolkit (formally SDL.Community.Toolkit) +A new version of the Trados Community Toolkit, version 6.0.2, has been released to support the latest version of Trados Studio - 2026 Release. This includes the following assemblies: -When building plugins or integrating third-party terminology and translation providers with Trados Studio, you should always manage credentials independently in your own codebase, especially when working with non-Trados services. +- [Trados.Community.Toolkit.Core](https://www.nuget.org/packages/Trados.Community.Toolkit.Core) +- [Trados.Community.Toolkit.LanguagePlatform](https://www.nuget.org/packages/Trados.Community.Toolkit.LanguagePlatform) +- [Trados.Community.Toolkit.Integration](https://www.nuget.org/packages/Trados.Community.Toolkit.Integration) +- [Trados.Community.Toolkit.FileType](https://www.nuget.org/packages/Trados.Community.Toolkit.FileType) +- [Trados.Community.Toolkit.ProjectAutomation](https://www.nuget.org/packages/Trados.Community.Toolkit.ProjectAutomation) -**Key Points:** -- Built-in credential storage in Trados Studio is only required when you need to access native Trados resources (e.g., file-based translation memories, Language Cloud). -- For all other scenarios, including any third-party or custom service integration, you should implement your own secure mechanism for storing and retrieving credentials. -- Managing credentials independently enhances security and gives you greater flexibility and control. - -**Best Practice:** -Always use your own secure credential management system, unless your integration specifically requires direct access to Trados resources. - ---- - -### Example: Managing Credentials Securely -Below is an example showing how you can implement credential management using Windows Credential Manager. This strategy may be adapted to use other secure stores as required by your environment or policies. - -**Credential Store Interface:** -```csharp -public interface ICredentialStore -{ - void SaveCredential(string key, string username, string password); - (string Username, string Password)? GetCredential(string key); - void RemoveCredential(string key); -} -``` - -**Sample Windows Credential Manager Implementation** -*Install the [CredentialManagement](https://www.nuget.org/packages/CredentialManagement/) NuGet package for this sample:* - -```csharp -using CredentialManagement; - -public class WindowsCredentialStore : ICredentialStore -{ - public void SaveCredential(string key, string username, string password) - { - var cred = new Credential - { - Target = key, - Username = username, - Password = password, - PersistanceType = PersistanceType.LocalComputer - }; - cred.Save(); - } - - public (string Username, string Password)? GetCredential(string key) - { - var cred = new Credential { Target = key }; - if (cred.Load()) - { - return (cred.Username, cred.Password); - } - return null; - } - - public void RemoveCredential(string key) - { - var cred = new Credential { Target = key }; - cred.Delete(); - } -} -``` - -**How to Use in Your Integration** -```csharp -// Example usage -var credentialStore = new WindowsCredentialStore(); -var credentials = credentialStore.GetCredential("your-provider-key"); -if (credentials.HasValue) { - var username = credentials.Value.Username; - var password = credentials.Value.Password; - // Use credentials securely... -} else { - // Handle missing credentials scenario -} -``` -**Note:** Using your own credential store ensures future compatibility, enhances security, and keeps your integration flexible as Trados Studio and its APIs evolve. - diff --git a/articles/toc.yml b/articles/toc.yml index 4187b5c81..54efe8bd1 100644 --- a/articles/toc.yml +++ b/articles/toc.yml @@ -24,10 +24,8 @@ href: hints_tips/Better_Studio_interactivity/SR2ApiArticle.md - name: Studio Look & Feel in your 3rd party plugin href: hints_tips/Studio_Styles/StudioStyles.md - - name: How to update plugins to Trados Studio 2024 - href: hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2024.md - - name: How to update plugins to Trados Studio 2024 SR1 - href: hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2024_sr1.md + - name: How to update plugins to Trados Studio - 2026 Release + href: hints_tips/Update_Plugins/how_to_update_plugins_to_trados_studio_2026.md - name: How to implement the Studio Useful Tips service href: hints_tips/UsefulTips/UsefulTipsApiArticle.md - name: How to implement an AI Companion