TextMaster extension for SAP Commerce Cloud (Hybris)
TextMaster is the world’s first global translation solution that is available entirely online. Thanks to a network of expert translators, cutting-edge technologies and a range of value-added services, TextMaster enables companies to streamline the translation of their content in over 50 languages and areas of expertise.
Description
The Textmaster extension with SAP Hybris allows you to easily translate your content within Hybris to a large quantity of languages with a simple mass edit process:
- Products
- Categories
- WCMS items
Features
- All content types (product, categories, WCMS items) and attributes handled
- No licence or set up costs: we just charge content translated
- Advanced filtering and selection of items
- Quote with live translation memory analysis
- Seamless and automatic translation workflow
- Real-time status tracking
- Integrated reviewing process
Requirements
We suggest the following steps in order for the integration to go as smoothly as possible:
Create a TextMaster account
Creating your account on TextMaster is totally free. You can create one here.
Add credits to your account
You won't be able to launch a translation request without credits. Please make sure that you have enough credits on your account, otherwise the request you're sending will remain in creation.
Create an API template in the language pair of your choice
The API template is like a project model where you can pre-select all the translation options of your choice (translation memory, glossaries, favorite authors, expertise, etc.). This template is necessary for creating a translation request. You need to create one per language pair. Once you're done with it, you won't have to select your options every time you want to send an item for translation.
Note: For the purpose of your tests, we also have a test environment at your disposal where you can test the whole translation workflow. Please contact us if you are interested.
Compatibility
- You will need Hybris 5.7 or higher
- A storefront is needed to access to product preview in backoffice.
How it works
Components
The TextMaster menu will appear under the "Administration" tab of your Hybris backoffice. There are three tabs:
- Create project: this tab allows you to initiate a content search, select your content and send it for translation
- Dashboard: the dashboard allows you to see all the projects that were sent for translation, follow their status, review the translations and validate them
- TextMaster Configuration: that's where you will enter your API key and API secret to connect SFCC to your TextMaster account as well as register default languages, content types and attributes
Setup
1 - Authentication with TextMaster
- Go to Administration > TextMaster Configuration
- Select 'New' on the right hand side of the screen to create a new account connection
- Enter your account name, your API and API secret: you will find them on your TextMaster account here
- Press 'DONE'
2 - Attribute setup
- Go to Administration > TextMaster Configuration
- Under 'TextMaster Account', select the account you just created
You'll be able to choose default source and target languages as well as the default attributes per content type. It means those attributes and languages will be pre-selected every time you want to create a new translation request. You will, of course, be able to add or remove attributes from the selection during the project creation process.
Creating a translation project
- Go to Administration > TextMaster Configuration
- Start with choosing your languages then select your templates
- Select your content type and the attributes you wish to send for translation then 'Validate and select items'
- Select your content. If you're looking for specific content, you can initiate a content search according to different values such as catalog name, product type, last update, creation date, etc.
- Place order
The project will be immediately created on TextMaster! You can also see it within Hybris on your translation dashboard with the status 'In creation' (go to Administration > Dashboard). The final price will be available on your dashboard after a short while. If you activated the Translation Memory option, it can take a bit longer. You can press 'Refresh' next to your project to update the price. Once it's available, you'll simply have to click on 'Start' to launch the project. It will switch from 'In creation' to 'In progress'.
Reviewing a translation
When an item is translated by an author, it goes from 'In progress' to 'In review'. To review the translation,
- Go to Administration > Dashboard
- Select the project in which you included the item
- Select the item you're looking for. A window will open on the left
- In the section Translations > Attribute, click on 'Edit details'. You'll be able to see the original content and the translation for each attribute
Validate a translation
If you're satisfied with a translation, select one or more items, and click on 'Validate documents'
Installation
- Put the module into your personal module space (for instance, hybris/bin/custom/)
- Activate the module in the hybris/config/localextensions.xml file, adding the following line:
<!-- TextMaster Extensions -->
<extension name="textmastercore" />
<extension name="textmasterbackoffice" />
- Compile extensions:
ant all
- Update you system to deploy new item types:
ant updatesystem
Properties keys
The TextMaster module is based on some properties you could override in your project context.
Code generators
TexMasterAccount Item
Key | Description | Default value |
---|---|---|
keygen.textmasteraccount.code.name | Name of the key generator | textmasteraccount |
keygen.textmasteraccount.code.digits | Number of digits composing the value | 8 |
keygen.textmasteraccount.code.start | Start indicator | 00000000 |
keygen.textmasteraccount.code.template | Template | $ |
TextMasterProject Item
Key | Description | Default value |
---|---|---|
keygen.textmasterproject.code.name | Name of the key generator | textmasterproject |
keygen.textmasterproject.code.digits | Number of digits composing the value | 8 |
keygen.textmasterproject.code.start | Start indicator | 00000000 |
keygen.textmasterproject.code.template | Template | $ |
TextMasterDocument Item
Key | Description | Default value |
---|---|---|
keygen.textmasterdocument.code.name | Name of the key generator | textmasterdocument |
keygen.textmasterdocument.code.digits | Number of digits composing the value | 8 |
keygen.textmasterdocument.code.start | Start indicator | 00000000 |
keygen.textmasterdocument.code.template | Template | $ |
TextMasterDocumentAttribute Item
Key | Description | Default value |
---|---|---|
keygen.textmasterdocumentattribute.code.name | Name of the key generator | textmasterdocumentattribute |
keygen.textmasterdocumentattribute.code.digits | Number of digits composing the value | 8 |
keygen.textmasterdocumentattribute.code.start | Start indicator | 00000000 |
keygen.textmasterdocumentattribute.code.template | Template | $ |
TextMasterSupportMessage Item
Key | Description | Default value |
---|---|---|
keygen.textmastersupportmessage.code.name | Name of the key generator | textmastersupportmessage |
keygen.textmastersupportmessage.code.digits | Number of digits composing the value | 8 |
keygen.textmastersupportmessage.code.start | Start indicator | 00000000 |
keygen.textmastersupportmessage.code.template | Template | $ |
TextMasterConfiguration Item
Key | Description | Default value |
---|---|---|
keygen.textmasterconfiguration.code.name | Name of the key generator | textmasterconfiguration |
keygen.textmasterconfiguration.code.digits | Number of digits composing the value | 8 |
keygen.textmasterconfiguration.code.start | Start indicator | 00000000 |
keygen.textmasterconfiguration.code.template | Template | $ |
TextMasterItemType Item
Key | Description | Default value |
---|---|---|
keygen.textmasteritemtype.code.name | Name of the key generator | textmasteritemtype |
keygen.textmasteritemtype.code.digits | Number of digits composing the value | 8 |
keygen.textmasteritemtype.code.start | Start indicator | 00000000 |
keygen.textmasteritemtype.code.template | Template | $ |
API Configuration
Key | Description | Default value |
---|---|---|
textmastercore.baseurl | URL of the TextMaster platform | https://api.textmastersandbox.com/ |
The url above is that of Textmaster's sandbox environment. It will allow you to test the translation workflow. | ||
Once your tests are over, you will be able to switch to the production environment - https://api.textmaster.com/ |
Strategies configuration
Key | Description | Default value |
---|---|---|
textmastercore.catalog.staged.update | Define whether the translation needs to be applied to the STAGED catalog automatically, or if this process needs to be managed manually (in case of automatic status changes rules for published or unpublished products) | true |
textmastercore.documents.selection.max | Define the maximum number of documents to add to the project (if it needs to be restricted). If no maximum size needs to be applied, define "-1" value | 1000 |
textmastercore.documents.batch.size | Define the maximum number of documents to send in one batch | 100 |
textmastercore.project.send.retry.interval | Define the time to wait between 2 attempts of project creation, in minutes | 2 |
textmastercore.project.finalize.schedule | Define the time to wait before finalizing the project, in minutes | 2 |
textmastercore.project.autolaunch.retry.max | Define the number of times the project status must be retrieved for autolaunch projects | 3 |
textmastercore.project.autolaunch.schedule | Define the time to wait before finalizing the project, in minutes | 2 |
First configuration
Cronjobs
By default, these jobs are imported but not automatically triggered:
Job | Description |
---|---|
textMasterGetTranslationCronjob | Get all translated documents |
textMasterDocumentRecoveryCronjob | Synchronize documents between Hybris and the TextMaster platform |
textMasterGetSupportMessagesCronjob | Retrieve support messages from the TextMaster platform |
Language
A mapping must be configured between the existing languages in Hybris and the languages configured on the TextMaster platform, through IMPEX script.
For example:
# Import languages mapping
INSERT_UPDATE TextMasterLanguage; isocode[unique=true]; active[default=true]; language(isocode)
; fr-FR ; ; fr
; en-GB ; ; en
; es-ES ; ; es
; it-IT ; ; it
; de-DE ; ; de
Backoffice Configuration
Items pages for list
You have the possibility, if you wish, to configure the number of elements displayed per page in the CollectionBrowser component.
Manual way
To define this value, you must follow the following steps:
- Use the F4 button to switch to configuration mode
- Select the pen shaped icon in order to edit the configuration of the component you wish to change
- You can then enter the value you want in the pageSize attribute
Packaged way
To package the value, you can create an extension backoffice and enter -backoffice-widgets.xml to override default widget configuration, by setting the property:
...
<setting key="pageSize" type="Integer">50</setting>
...