Technical details for the Translator for SharePoint solution by Accelerator 365
Jump to
- Overview
- Recommended deployment scope
- Required access endpoints
- Data storage
- Architectural diagram
- Data flow
Overview
The Translator for SharePoint solution is architecturally a simple concept built upon the SharePoint Framework (SPFx) and Microsoft Azure AI Translator service. The translation is performed on-demand and follows this process:
- A SharePoint editor requests for a page translation through the Translator for SharePoint solution. A dialog box appears for the editor to notify them of the progress of their translation.
- Translator for SharePoint creates an item in a log to track this translation request.
- An API request is made to send the SharePoint page content to the Microsoft Translator service and Custom Translator if used.
- The translated content is received and pasted into the relevant SharePoint language page in the same web parts and format.
- The translation is complete.
Recommended deployment scope
It is expected that the Translator for SharePoint solution is made available only on specific areas of your SharePoint tenant as necessary, e.g., a home site or news site.
Therefore, it is recommended to select the Only enable this app option on deployment (see the Installation instructions page). This means the app is available for Site Owners to manually add to their site.
Required access endpoints
The following endpoints are accessed by the Translator for SharePoint solution, and it is a requirement that clients ensure they remain accessible in their network:
- Client Side Assets Library – SharePoint stores all client-side assets for SharePoint framework solutions, including Accelerator 365 solutions, in a central location in your SharePoint tenant. Ensure that access to the Client Side Assets Library is excluded from any organisational policies your company may have applied to SharePoint-hosted libraries and documents.
https://[domain].sharepoint.com/sites/appcatalog/ClientSideAssets/AllItems.aspx
- License Server – Access to Reply’s licence tool to ensure the solution can validate the license that has been assigned to your SharePoint tenant.
https://acceleratorlicenseapi.azurewebsites.net/
-
Translator for SharePoint trial - The trial version of Translator for SharePoint provides customers with 10 free translations per SharePoint tenant. This endpoint confirms the remaining free translations available for the SharePoint tenant.
https://acceleratortranslatorapi.azurewebsites.net/
- Azure AI Translator - The Translator for SharePoint solution utilises the Microsoft Azure AI Translator service to perform content translation. The following endpoint should be accessible.
https://api.cognitive.microsofttranslator.com
Data storage
Data for the Translator for SharePoint solution is stored in SharePoint lists. These lists are provisioned from the solution as and when required. The lists provisioned are:
List title | Relative URL | Purpose |
Global Settings | /Lists/WMTFS_GlobalSettings | Storage of the configured global settings. |
Site Properties | /Lists/WMTFS_SiteProperties | Storage of the data source this SharePoint site is referencing. |
Translation Logs | /Lists/WMTFS_TranslationLogs | A log of all sequences in a translation when a translation request is made. |
Translation Statuses | /Lists/WMTFS_TranslationStatuses | Storage of the translation status for each page. |
Architectural diagram
The Translator for SharePoint solution is a SharePoint Framework (SPFx) application extension that is installed in a SharePoint tenant app catalogue from the SharePoint Store. This means that all the necessary code, which is all client-side JavaScript, is stored within the SharePoint environment itself, and does not reference or load code stored externally.
For the translation service, the solution communicates with a Microsoft Azure AI service. This is expected to be a service also within the security perimeter of the relevant organization, i.e. in a Microsoft Azure subscription owned by your organization.
The diagram below represents the architecture of the solution.