Lingotek
Lingotek is a Translation Management System (TMS) that provides professional human translation services with workflow management. The Lingotek integration allows you to send content for translation and receive completed translations through Lingotek's translation network.
Unlike machine translation services (Amazon Translate, Google Translate), Lingotek provides access to professional human translators and supports complex translation workflows with review stages, translation memory, and quality assurance.
Installation
Add the Lingotek dependency to your build:
- Maven
- Gradle
- Gradle (Kotlin DSL)
<dependency>
<groupId>com.brightspot.translation</groupId>
<artifactId>lingotek</artifactId>
<version>__HIDDEN__</version>
</dependency>
implementation 'com.brightspot.translation:lingotek:__HIDDEN__'
implementation("com.brightspot.translation:lingotek:__HIDDEN__")
Prerequisites
Before configuring Lingotek in Brightspot:
- Lingotek Account — You need an active Lingotek account with API access
- Community ID — Your Lingotek community identifier
- Project Setup — At least one project configured in Lingotek
Configuration
Lingotek configuration happens in two places: global settings for authentication, and site settings for translation options.
Global settings (authentication)
To configure Lingotek authentication:
- Click > Admin > Sites & Settings > Sites > Global.
-
From the Integrations tab, expand the Lingotek cluster.
-
Configure the following fields:
Field Description Community ID Your Lingotek community identifier Access Token API access token from your Lingotek account -
Click Save.
To obtain an access token, log in to your Lingotek account and generate an API token from your account settings.
Refreshing Lingotek data
After authentication, Brightspot synchronizes your Lingotek configuration data:
- Projects — Available translation projects
- Workflows — Translation workflows configured in Lingotek
- Vaults — Translation memory vaults
- Filters — Content processing filters
To refresh this data after making changes in Lingotek, click the Refresh link in the Lingotek settings.
Site settings (translation options)
After global authentication is configured, set up translation options at the site level:
- Click > Admin > Sites & Settings > Sites > Global.
-
Under the CMS tab, expand the Translation cluster.
-
Configure the Default Service Settings.
-
When adding Lingotek as a translation service, configure:
Field Description Name Optional display name for this configuration Project (Required) The Lingotek project to use for translations Workflow The Lingotek workflow to apply (or use project default) Filter Content filter for processing (must support JSON format) Vault Translation memory vault to use In-Context Preview Provider Configuration for Lingotek's in-context preview feature -
Click Save.
Filter requirements
The filter you select must support JSON format. Brightspot sends content to Lingotek as JSON, and filters that don't support JSON will cause translation failures.
When selecting a filter:
- In Lingotek, verify the filter supports JSON content
- If unsure, contact Lingotek support or use a general-purpose filter
- Custom filters may need configuration to handle Brightspot's JSON structure
Callback configuration
Lingotek uses webhooks (callbacks) to notify Brightspot when translation events occur. The callback URL is:
1https://your-brightspot-domain/cms/translation/lingotek/success
If the callback URL isn't configured or accessible, you'll need to manually refresh the status for each translation using the Update Status action.
Callback Events
Lingotek sends callbacks for these events:
| Event | Description |
|---|---|
| Document uploaded/updated | Triggers translation request |
| Translation complete | Triggers download and content creation |
| Target canceled/deleted | Marks translation as canceled |
How Lingotek Translation Works
Lingotek uses an asynchronous translation process:
- Document Upload — When you send content for translation, Brightspot creates a document in Lingotek with the content to translate.
- Translation Request — Lingotek routes the document through your configured workflow to translators.
- Translation Progress — Lingotek notifies Brightspot of progress via callbacks. You can view progress percentage in the Translations tab.
- Completion — When translation is complete, Lingotek notifies Brightspot, which downloads the translated content and creates the localized version.
Document Versioning
When you re-translate content that was previously sent to Lingotek:
- Brightspot updates the existing document in Lingotek (creating a new version)
- Any pending translations for the old version are automatically canceled
- New translation requests use the updated content
Document Tracking
Brightspot tracks the Lingotek document ID for each translation. This allows you to:
- Reference the document directly in Lingotek's interface
- Troubleshoot issues by finding the document in Lingotek
- Understand the relationship between Brightspot content and Lingotek documents
The document ID is stored in the translation log and visible when viewing log details.
Translation Actions
The Lingotek integration provides additional actions in the Translations tab:
Cancel Translation
Cancel a pending translation that hasn't been completed yet. This cancels the translation in both Brightspot and Lingotek.
Update Status
Manually refresh the translation status from Lingotek. Use this if you want to check progress without waiting for the automatic callback.
In-Context Preview
Lingotek supports in-context preview, allowing translators to see content in the context of your website while translating. To enable this:
- Configure the In-Context Preview Provider in your Lingotek service settings.
- The default provider generates preview URLs based on your content's permalink.
- For custom preview URL generation, implement a custom
LingotekInContextPreviewProvider.
Workflows and Vaults
Workflows
Lingotek workflows define the translation process, including:
- Translation stages (machine translation, human translation, review)
- Approvers and reviewers
- Quality checks
Configure workflows in Lingotek, then select them in Brightspot when setting up translation.
Vaults (Translation Memory)
Translation memory vaults store previously translated content to:
- Improve consistency across translations
- Reduce costs by reusing existing translations
- Speed up the translation process
Select a vault in your Lingotek service settings to leverage translation memory.
Troubleshooting
Projects/Workflows Not Appearing
If your Lingotek projects, workflows, or other data isn't appearing in Brightspot:
- Verify your Community ID is correct
- Verify your Access Token is valid
- Click the Refresh link in Lingotek settings to re-synchronize data
Translation Stuck in Pending
If a translation remains in pending status:
- Check the translation status in Lingotek directly
- Use the Update Status action to manually refresh
- Verify callbacks are reaching Brightspot (check firewall/proxy settings)
Authentication Errors
If you receive authentication errors:
- Verify your Access Token is correct and hasn't expired
- Generate a new API token from your Lingotek account if needed
- Ensure your Lingotek account has API access enabled
See Also
- Configuration — General translation settings
- Translating Content — How to send content for translation
- Lingotek Documentation