Dynamics Translation Service (Preview)
Translation, Alignment, and Regeneration operations powered by Dynamics Translation Service.
This connector is available in the following products and regions:
Service | Class | Regions |
---|---|---|
Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Contact | |
---|---|
Name | Dynamics Translation Service |
URL | https://lcs.dynamics.com |
[email protected] |
Connector Metadata | |
---|---|
Publisher | Microsoft Corporation |
Website | https://lcs.dynamics.com/ |
Privacy policy | https://privacy.microsoft.com/privacystatement |
Categories | Content and Files |
The Dynamics 365 Translation Service connector integrates with the Power Platform, enabling users to access DTS directly from a flow or app. This connector calls the DTS API on its user's behalf, saving them a trip to the website. This connector allows for translating user interface (UI) files, regenerating translation requests, and creating translation memory (TM) files. By leveraging these functionalities, you will be able to automate your translation workflow.
Prerequisites
You will need the following to proceed:
- A Microsoft Power Apps or Power Automate plan with custom connector feature.
- An account with access to Dynamics Lifecycle Services.
How to get credentials
This connector uses OAuth via an Microsoft Entra ID app for authentication. Since DTS resides in LCS, you need LCS API permissions in your application. The following procedure guides you through the app registration process for an Microsoft Entra ID app for use with this connector.
- Sign in to the Azure portal as the user who will be used to communicate with the LCS API.
- Under Azure services, select App registrations.
- On the App registrations page, select New registration.
- On the Register an application page, in the Name field, enter a name for the app.
- Under Supported account types, select an option to specify which accounts should be supported.
- Select Register.
- On the page for your new app registration, in the left navigation pane, under Manage, select API permissions.
- On the API permissions page, select Add a permission.
- On the APIs my organization uses tab, find and select the Dynamics Lifecycle services API.
- Select the checkbox for the API permission that has the user_impersonation scope, and then select Add permissions.
- Select the button to grant admin consent for the permissions. When you're prompted to confirm the action, select Yes.
- In the left navigation pane, under Manage, select Authentication.
- On the Authentication page, under Advanced settings, set the Allow public client flows option to Yes.
- In the left navigation pane, select Overview.
- The overview page for your app registration shows the client ID.
- In the left navigation pane, select Certificates & secrets. From here, you can generate the client secret needed to set up the connection.
Get started with your connector
- Store your DTS assets somewhere from which they may be accessed from the connector. For example, you may upload them to OneDrive and use the OneDrive connector to retrieve your files.
- Depending on your scenario, you will want to start with either the Translate, Align, or Regenerate actions. In any case, you will need to provide a zip file with the resource or translation memory files. When translating or regenerating, you may use the Download Translation Result or Download Alignment Result operations to retrieve the results.
- The input for Translation, Alignment, and Regeneration are the same as in the Web UI. The input for all other operations will be the output from these.
Known issues and limitations
- Only user interface requests are supported.
- The Align operation returns a URL for the alignment file, but the download alignment operation takes the filename as input. You will need to manipulate the URL to extract the filename before using the Align operation.
Common errors and remedies
- A request with status code 200 does not always indicate success. Please check the response body in case of unexpected results
{ "status": "InvalidSourceLanguage", "message": "The source language either does not match the product, or does not exist." }
Creating a connection
The connector supports the following authentication types:
Default | Parameters for creating connection. | All regions | Not shareable |
Default
Applicable: All regions
Parameters for creating connection.
This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
Throttling Limits
Name | Calls | Renewal Period |
---|---|---|
API calls per connection | 100 | 60 seconds |
Actions
Align |
Use the Align tool to create a translation memory file from previously translated native files. |
Download Alignment Result |
Download the alignment result. |
Download Translation Result |
Download the output of a translation request. |
Regenerate |
Regenerate a translation using updated translation memories. |
Retrieve |
Poll the status of a translation request. |
Translate |
Submit a new translation request. |
Align
Use the Align tool to create a translation memory file from previously translated native files.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Product Type
|
productType | True | string |
Select the product type. |
Product Version
|
productVersion | True | string |
Select the product version. |
Source Language
|
sourceLanguage | True | string |
Translation source language. |
Target Language
|
targetLanguage | True | string |
Translation target language. |
Source File
|
sourceFile | True | binary |
Native resource file. |
Target File
|
targetFile | True | binary |
Native Target file. |
Returns
Name | Path | Type | Description |
---|---|---|---|
status
|
status | string |
String describing the status of the request. |
message
|
message | string |
String describing the status of the request. |
Alignment Rate
|
alignmentRate | float |
Percentage of matched translation source and target translation units. |
Aligned File URL
|
alignedFile | string |
URL to retrieve the alignment output. |
Download Alignment Result
Download the alignment result.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
File name
|
filename | True | string |
Filename returned in alignment output. |
Returns
Binary file content from alignment output.
- File Output
- binary
Download Translation Result
Download the output of a translation request.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Download Type
|
downloadType | True | string |
The download type. |
Translation ID
|
translationId | True | integer |
The translation ID. Get this value from the translate operation output. |
Returns
Binary file content from translation output.
- File Content
- binary
Regenerate
Regenerate a translation using updated translation memories.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Translation ID
|
translationId | True | integer |
ID of translation you are regenerating. |
Regenerate File
|
regenerateFile | True | binary |
ZIP file with revised translation memory file(s). |
Returns
Name | Path | Type | Description |
---|---|---|---|
status
|
status | string |
String describing the status of the request. |
message
|
message | string |
String elaborating on the status. |
Retrieve
Poll the status of a translation request.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Translation ID
|
translationId | True | integer |
ID of translation you are polling. |
Returns
Name | Path | Type | Description |
---|---|---|---|
status
|
status | string |
String describing the status of the request. |
message
|
message | string |
String elaborating on the status. |
parentTranslationID
|
parentTranslationID | integer |
The project this translation request belongs to. |
requestName
|
requestName | string |
The name of the translation request. |
productType
|
productType | integer |
The product for which the files were translated. |
productVersion
|
productVersion | integer |
The version of the product for which the files were translated. |
translationType
|
translationType | string |
The translation type: either documention or user interface. |
sourceLanguage
|
sourceLanguage | string |
The language files were translated from. |
targetLanguage
|
targetLanguage | string |
The language files were translated into. |
Translate
Submit a new translation request.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Product Type
|
productType | True | string |
Select the product type. |
Product Version
|
productVersion | True | string |
Select the product version. |
Source Language
|
sourceLanguage | True | string |
Language to translate from. |
Target Language
|
targetLanguage | True | string |
Language to translate into. |
Request name
|
requestName | True | string |
Name for the translation request. |
Translation Type
|
translationType | True | string |
The translation type. Currently, only UI translations are supported. |
Source Files
|
sourceFile | True | binary |
Zip file containing files to translate. |
Custom MT Model
|
trainMTWithTM | boolean |
Create a custom MT system based on uploaded translation memory files. |
|
Translation Memory files
|
tmFile | binary |
Zip file containing translation memory files. |
Returns
Name | Path | Type | Description |
---|---|---|---|
status
|
status | string |
String describing the status of the request. |
message
|
message | string |
String elaborating on the status. |
translationId
|
translationId | integer |
The translation request ID, used retrieve and download operations. |
Definitions
binary
This is the basic data type 'binary'.