TranslationStudio allows you to easily file translation requests without the need for later manual intervention.
At its core, TranslationStudio distinguishes between urgent translation requests (which will be processed immediately) and regular requests which will be processed if certain quotas are met.
A preview page might be very helpful as it provides additional contextual information which might aid the translator. Preview pages can be generated from an existing output channel (such as PDF). If your project does not have any eligible channel, you may consider adding one, if necessary.
Preview pages, however, are not required by the TranslationStudio in order to work properly. Rather, it is a feature which provides more contextual information to the translator.
In addition, TranslationStudio allows you to define how many pages and datasets should be included in one translatable XML file. This is a crucial aspect, because
Exporting a page requires FirstSpirit server resources
FirstSpirit pages will be packed in one XML file which is submitted to the Translation Memory System.
The latter aspect is of particular importance, because it allows you to control certain thresholds which guarantee a most efficient translation process. For example, too many files might increase the time needed for translation and splitting files might allow more translators to work on them at the same time.
TranslationStudio is very flexible and offers you a variety of means to customise its usage according to your specific needs. Most of these needs can be operationalised using a proper configuration of your module or workflows.
TranslationStudio can be self-hosted in your on-premise environment or hosted in a cloud.
If self-hosted, you may access TranslationStudio’s complete configuration panel by opening the ServerManager’s server properties and selecting
Modules. To configure the service, select the item
TranslationStudio Studio Service and Configuration from the list and click the
Configure button as depicted below.
If hosted in a cloud, you cannot access server properties but configure TranslationStudio by navigating to and configuring the TranslationStudio project component.
|It does not matter (nor does it make a difference) which project component you use to access the configuration.|
If you configure TranslationStudio via the project component, you do not need to consider certain settings such as connectivity because these information will be administered by your hoster. Hence, you can focus on only those aspects necessary to customise your TranslationStudio instance according to your needs.
You can configure the module at any time. Any changes stored will be sent to the TranslationStudio application automatically.
|Make sure to configure TranslationStudio and send it to the TranslationStudio application. If TranslationStudio has never been configured, it will start with a configuration template to make editing easier. Yet, it will be unable to connect to FirstSpirit and actually process your requests.|
This settings category allows you to configure the connection settings necessary for FirstSpirit to communicate with TranslationStudio and vice versa.
Please provide the address and port FirstSpirit will use to access the TranslationStudio Application.
|Please provide only the IP or server name. If you use names instead of IP addresses, make sure that the TranslationStudio server can resolve the FirstSpirit address. In addition, FirstSpirit has to be able to resolve the TranslationStudio address.|
You can test the connections by clicking on the respective
Test Connection button.
|TLS/SSL should only be used if you installed TranslationStudio with TLS encryption - simply checking the box does not automatically activate TLS in the TranslationStudio Application.|
The TranslationStudio Application uses the given FirstSpirit user to access the respective projects. Make sure that this user has project access to all projects using TranslationStudio.
TranslationStudio has two processes which can be scheduled independently from one another:
Sequential Iteration Process
This process processes translation requests, checks for quotas, creates translatable XML files and forwards them to a connector
In Translation Monitoring
This process regularly queries the translation status of all files forwarded to a connector and downloads the translated documents if the translation has been completed.
Depending on your workload and translation timings it might be a good idea to configure the scheduling. By default, each process will be executed after a one minute break.
Usually, translations take longer and it might be enough wait for 1h between two translation checks.
These settings can be used to control the workload. Since exporting and importing data from and into FirstSpirit might impose significant workload on the server, you may want to avoid intense workload during your office hours. These settings allow you to consider such necessities.
TranslationStudio distinguishes between three kinds of mails:
Notifications on translation requests and status changes
Error messages popping up during any operation (will be sent to the administrator’s email address)
Additional mails such as connector notifications or health service emails
You can test the connection and send a test e-mail to the administrator by clicking
The Receive Notifications section allows you to fine tune which kind of emails you would like to receive. By default, a notification will be sent to each user who requested a page or dataset to be translated. Whenever a status change occurs to this page, an email will be sent to the user if provided in the FirstSpirit user configuration. However, you may also only send all email notifications to the administrator’s email. Finally, you may also deactivate any user notification by sending notifications to nobody.
Information on the Mail Server
User notifications use FirstSpirit’s email settings which are set elsewhere. You may, however, decide not to use the FirstSpirit mail service by deselecting the respective box on the lower right.
Quota configurations allow controlling when and how pages and datasets registered for translation are processed and when a translation job is actually being initiated.
There are 2 types of configuration available
Importantly, both types do not differ in terms of available options.
The default quota configuration can be used at any time and will also be used in case a previously defined custom quota configuration is removed from this list although there are elements already registered for translation.
You may add unlimited custom quota configurations under the respective tab’s panel.
The available settings will be described in the following:
(custom quota only) This name will be used to identify the job within the module.
Initiate translation if at least X page(s) require translation
Set the minimum amount of pages required before a translation is actually initiated. Note: Datasets will be regarded as single pages.
Start if oldest element is X day(s) old
If the oldest element waiting to be translated in FirstSpirit has not been committed for translation after the amount of days specified here, a translation will be initiated regardless of the other criteria above.
Start if deadline is reached in X day(s)
Each translation request might have a date at which the translation is due. Since every translation requires time, this setting allows you to configure the number of days waited before the expected date of completion would be reached and to finally initiate a translation process.
Maxium number of pages or datasources per job
Limit the absolute number of pages/datasources to be added to a single job.
Pages per translatable XML file
Once a job has been processed, this setting determines the amount of time until another job will be processed. The minimum delay can be used to force that a certain amount of time is in between to exports.
|A translation will be initiated if at least one of the above criteria is met.|
A zero value in
Number of pages required or
Start if oldest element is X day(s) old deactivates the respective criterion.
A negative value for
Start if deadline is reached in X day(s) deactivates the respective criterion.
|All changes made will only be stored if you click on the “Apply Changes” button.|
Connectors are used to connect to various Translation Memory System (TMS). The following types of connectors are available.
Default Filesystem Connector
Amazon Web Services (AWS) Connector *
DeepL Connector *
Google Translate Connector*
Additional Custom Connectors
|Connectors marked with an (*) provide machine translations and the result should be reviewed. There will be no guarantee regarding the correctness of the translations created by any machine translation system.|
The Filesystem Connector can only be configured but not removed. It will be used if no particular connector is required.
The AWS, DeepL and Google Translate connectors can only be used if you provide valid credentials and access keys in its respective configuration panel.
Custom connectors require additional configuration and can be added as needed.
|You can activate the TranslationHelper plugin by activating the feature in either of these connectors.|
|If your TranslationStudio is hosted in the cloud, you do not necessarily need AWS credentials. Please contact your administrator for further information.|
The custom connector panel consists of 2 areas:
List - A list of all connectors available to TranslationStudio
Details - Provides details to configure and use the respective system connector
New connectors can be added or removed using the respective icons next to the list and 3 pieces of information are required for each available system in order to work properly:
A name has to be provided which will be used to address this system when referring to it in FirstSpirit
Configurableentry holds the fully qualified class name which implements the
TranslationMemorySystemConnectorConfigurationGuiinterface from the connector API.
Connectorentry holds the fully qualified class name which implements the
TranslationMemoryConnectorinterface from the connector API.
You can (optionally) load the required data from a connector’s xml file which makes this installation easier. The xml file must follow the xml structure shown below (using data from the above screenshot to provide sample data). You can load the file using the
load from file button in the upper right.
<?xml version="1.0" encoding="UTF-8"?> <connector> <name>Custom Connector</name> <configurable>com.mycompany.connector.configuration.Panel</configurable> <instance>com.mycompany.connector.instance.Connector</instance> <xml-connector></xml-connector> <xml-gui></xml-gui> </connector>
To configure the respective connector, click on the
Configure button. Importantly: All changes made to the connector configuration will have to be confirmed using the
Apply Changes button.
Please note: each connector provides a list of available projects. For example, a given TMS might provide specific projects for certain language pairs, e.g. from English to German or from English to French.
Other connectors, such as the filesystem connector only provide one single project. Importantly, each project has a unique id which is used to identify the respective project in the TMS. The list of available projects per connector is forwarded to FirstSpirit and available to projects and language mappings.
Depending on the connector and the underlying Translation Memory System (TMS), some TMS projects might be deleted or removed and, consequently, wont be available to TranslationStudio anymore.
Yet, existing language mappings might still have stored the id of the removed TMS project. Thus, it might be necessary to change these mappings and choose other target TMS projects or to remove the respective language mappings from the FirstSpirit project.
However, if a translation is requested using a language mapping with an invalid TMS project, the element might not be processed. Consequently, make sure that language mappings always use existing TMS projects.
Connecting to Translation Memory Servers
Sometimes, a connection to a Translation Memory Server may fail because the server uses self-signed certificates, for example. In that case, you have to add the certificate to the JDK’s default keystore on the server running the TranslationStudio Application.
This section contains several features which may be made available to TranslationStudio or not.
Translation Status Information
allows you to specify which kind of translation status updates you want to track and if an imported element is to be marked as "translated" in the CMS.
TranslationStudio keeps track of all the translation requests and you may choose to remove stored information which is older than a given number of days.
provide features to validate the existence of elemnts about to be translated before actually adding them to a translation job.
TranslationStudio requires alphanumeric uid names as given by the SiteArchitect. Unfortunately, it is possible to add spaces characters and others. This causes problems when exporting the data to the filesystem (because they are mapped to the standard uid convention). Thus, TranslationStudio will not find it, but it may try and
translate those non-standard uids. We strongly urge you to use standard uids, because this may cause data confusion and data loss!
Sometimes, translated XML files contain structural formatting (indentation, new lines, etc.) which may cause problems for the CMS during the import. Importantly, you may choose to remove such elements. This usually is unnecessary if you use a connector/TMS.
Translatable XML Format
TranslationStudio supports various XML formats and you may chose either of them as needed.
TranslationStudio can collect metrics (word count of imported XML files and the pages/sections/datasets affected, number of files) which may be relevant for your company. If you receive a monthly summary by providing an email address (list) here. you have to activate metrics in the
This section allows you to add hooks in a convenient way. Simply add the hook’s respective package and class name implementing the hook interfaces.
|Make sure the JAR libraries are already available in TranslationStudio.|
TranslationStudio provides tools to monitor the application and to react to specific situations.
You may decide how often a check is to be carried out.
TranslationStudio is able to identify if a core process has died unexpectedly (e.g. due to an out of memory error) and to respond to such an event according to the settings provided here.
In addition, you may choose to collect some metrical information. Those information can be accessed using the TranslationStudio Dashboard.
TranslationStudio can be installed automatically whenever you its project component to a FirstSpirit project.
If you want to install TranslationStudio simply by adding its project component automatically, you will have to meet the following requirements:
TranslationStudio has to be able to create its own schema by using an already existing database layer. The layer has to have already been added to the project with active schema sync.
All target projects have to have the same output channel used for creating preview pages.
If you have successfully installed and configured TranslationStudio on a server and would like to migrate it to another server (e.g. DEV to PROD), you have 2 options.
Configure TranslationStudio again on your target server
Copy the configuration files from source to target server.
You can always update the configuration once you have migrated it via TranslationStudio’s configuration interface, of course.
|The TranslationStudio Module has to be installed on your target server first.|
If you want to copy TranslationStudio’s configuration files, you can access them inside your FirstSpirit folder at
./conf/modules/FirstSpirit TranslationStudio.TranslationStudio Service and Configuration
Essentially, TranslationStudio’s configuration is stored in these 2 files:
If you want to use the automatic distribution feature (and use the exact same data), you will also require
ts-cloud-technical-user.properties. However, this can also be added later or configured later.
To copy those files, follow the steps below
Stop the TranslationStudio service module component on your target server
Copy the properties files from your source server to your target server
Start the TranslationStudio service module component on your target server again.
Open TranslationStudio’s configuration interface to check the result and click on
OKto send it to TranslationStudio.
|You may need to change TranslationStudio’s URL and API key if necessary.|
Your connector projects should be available in SiteArchitect immediately, but caching may prevent them from appearing. If so, simply restart your SiteArchitect again.
In order to use TranslationStudio in your project, the project component has to be added to the project and the installation script executed.
Usually, you do not want your editors to decide which translation language combination and TMS is to be used. This may result in illegal language combinations.
Therefore, supported combinations have to be created. Thereby, you as administrator define which languages can be used as source languages and which languages will be translated into.
To create a mapping, navigate to the Mappings folder
fts_configuration in the Global Content Area and create a new page template using the template
fts_gca_mapping as shown below:
Attention to Visibility
Language Mappings is configured to be visible by default. That is because you should be able to create new
Language Mappings immediately after installation. But we recommend setting the template to hidden, when you have create all language mappings needed.
To do this, open the properties of the template
Language Mappings and change the attribute
In selection list to
The new page contains a list of language mappings in which translation directions can be configured. The list will be processed in parallel.
Each language mapping entry has 3 boxes
On start-up, the TMS Project list will only include a
Once all languages for a mapping have been defined, the page can be closed and saved.
|You can set permissions to restrict visibility of each translation language mapping page to reduce the complexity for your users.|
Pre-assigning specific language mappings to certain folders
It is possible to assign default mappings to any folder, which, of course, can be changed by the user individually if necessary. For example, if the default translation mapping is German to English, this mapping can be assigned to a folder using the meta data form of the respective element. However, the assignment might be changed on the workflow form (see below) any time.
For example, if you want to set the above mapping as default for the entire page store, select the Page Content root element in the SiteArchitect, open the meta data form and follow the instructions as depicted below:
As a result, the form which is provided whenever a user starts a translation workflow has the above pre-selected language mapping. This default value can be changed any time by simply choosing another page reference.
It is not possible to pre-assign language mappings for datasets using metadata. However, you may want to set default form values in the register_dataset script.
TranslationStudio uses workflows and permissions have to be configured. This has to be done for the
Data sources and
Use the respective context menus on the top level items. The actual configuration depends on your project configuration. In the example below, the permissions to use workflows will be granted to the group
|You may want to restrict the workflow permissions to specific groups for specific parts of the project.|
Each workflow contains a number of different transitions which may have specific permissions to be executed. By default, each transition requires the user to make changes to the element the workflow is being executed on. You can change this at anytime as shown below.
|If you are looking for more information concerning the administration of workflows consult the FirstSpirit documentation.|
Scheduled tasks are required to submit translation requests and are created automatically.
Default Group Permissions
All essential tasks have been created during the installation process automatically and user group permissions set to "everyone". You may change this at any time.
TranslationStudio knows which task to execute and you do not need to worry about this.
A status indicator icon allows you to access available translation status information in a page preview.
Importantly, this template requires the existence of a global web application.
It is possible to add custom fields to each of TranslationStudio’s workflow script forms. In generall, the following input components are supported:
You can edit the dedicated script template
translationstudio_customfields to add those custom input components. TranlationStudio will automatically load this form XML and add it to its workflow form and even keep the defaults set here (if available).
Oncce created, this script template will never be overwritten by TranslationStudio again.
There are 2 options available to work with the custom input data from your custom input components:
Add a custom hook to process the data (
Add template fields (see below).
TranslationStudio allows you to add 2 template fields which can be used as a template (these wil l also be described in the custom fields template). If custom input data is available, a separate file will be created alongside the translatable XML files.
st_fts_custom_file_typeSet the custom file name extension. A txt file will be created if no extension is provided. The file type will always be converted to lower case automatically.
st_fts_custom_file_contentSet the custom file’s content. You can use placeholders to replace with the actual custom data later. Those placeholders follow the format
If you add custom fields, you have to implement your own
ICustomMessageXmlHook hook to make use of them. Both, the hook and the connector, are able to access the pages and sections included in the translatable xmls using TranslationStudio’s API. The custom field’s data provided by the API is identical to the
message XML value in each translation task ticket (i.e. you have to parse and process it accordingly).
You may add an immediate translation helper by installing the necessary content creator web components.
|You have to add the web component to all projects that wish to use the TranslationHelper as described in the installation manual.|
In addition, you will have to configure the Amazon Web Services, DeepL or Google Translate connector and activate the flag
Allow this connector to perform direct translation attempts.
If activated, a new icon will be visible in the ContentCreator:
Clicking on this icon will cause a new dialog to appear which requires the user to configure the source and target language for the translation task ahead. Thereafter, the user can request an immediate translation using the Amazon Web Services connector (see above).
|The immediate translation has to be reviewed at all times before accepting and saving it. Some formatting may be mixed up due to the target system’s html processing mechanisms. TranslationStudio cannot influence this process.|
To limit access to the TranslationHelper, you can add the following
CMS_INPUT_TEXTAREA fields to your project properties template.
<CMS_INPUT_TEXTAREA name="pp_translationstudio_translationhelp_users" useLanguages="no"> <LANGINFOS> <LANGINFO lang="*" label="Restrict TranslationHelper to the following list of users (one per line)"/> </LANGINFOS> </CMS_INPUT_TEXTAREA> <CMS_INPUT_TEXTAREA name="pp_translationstudio_translationhelp_groups" useLanguages="no"> <LANGINFOS> <LANGINFO lang="*" label="Restrict TranslationHelper to the following list of user groups (one per line)"/> </LANGINFOS> </CMS_INPUT_TEXTAREA>
When using ContentCreator, the current user will be checked against any potential restriction. If the given user matches at least one (name or group), the permission will be granted.
TranslationStudio uses an existing output channel to optionally create preview pages. You can change this channel (chosen during the installation process) at any time later by editing the generation task entry of the project’s scheduled tastk
If you do not want to include Translation Memory System filter options to your list of report filter options, you can add a language independent
CMS_INPUT_TOGGLE input component with the name
pp_translationstudio_hide_report_tms to your project properties template.
To activate the setting in the ContentCreator, you will have to restart the web application after having made changes to this field.
By default, TranslationStudio will automatically send your translation requests to the TranlationStudio Application right away. Yet, if you do not wish this to happen, there are 2 options.
Editing the workflow
You can change TranslationStudio’s workflow and change the script to be execute after the translation request has been stored in the database in FirstSpirit. Do not remove the success transitions but simply change the script attached to the respective activity.
Require a release of translation requests before sending them to the application
If you want TranslationStudio to only process released request datasets, you can add a language independent
CMS_INPUT_TOGGLEinput component with the name
pp_translationstudio_require_acceptto your project properties template. Keep in mind: You will have to manage the release of the datasets yourself.
TranslationStudio requires lowercase alphanumeric reference names which may include an underscore - i.e. the pattern FirstSpirit uses by default. Since the API allows you to add any kind of reference name, you may include characters that may cause problems. The export operation will automatically convert such reference names to the default pattern. However, this may cause problems identifying which "invalid" reference name belongs to which converted name.
Importantly, TranslationStudio will check for such "problematic" reference names before showing the translation request form and, if necessary, include a warning. If you do not wish TranslationStudio to check for such reference names, you can add a language independent
CMS_INPUT_TOGGLE input component with the name
pp_translationstudio_skip_uid_analysis to your project properties template.
|It might be valid to skip this check, but keep in mind that it may still cause problems during exports and imports.|
It is possible to customise the workflow form and to meet your needs and also to reduce complexity if need be.
You have to create a global content area page using the page template
translationstudio_configuration. When executing any TranslationStudio workflow, the configuration page is obtained by reference name convention. Any changes to the configuration will be effective right away.
The page’s reference name has to be
The configuration page allows you to
rename the workflow tabs
rename the "request translation" submit label
rename several labels
Specify "create preview page" settings
skip UID validation
For example, you can change the form’s tab labels and the submit label.
Various other form field labels can be changed as well.
Depending on your project, you will not generate preview pages and therefore, it is a good idea to hide this field to reduce complexity.
|If you do not want to change a label, simply leave it empty.|
Changes will take effect immediately after having saved this page.
To make use of TranslationStudio in a FragmentCreator project, you only need to configure language combinations as already described above. The forms differ due to a different language mechanism in a FragmentCreator project.
|A FragmentCreator project does not support TranslatonStudio’s Status Indicator Icon or the Immediate TranslationHelper|
There is no need so set workflow permissions, because they will not be used.
|Unlike to generic projects, you cannot extend the translation request form in a FragmentCreator project.|
Once your language combinations are added successfully, they will be available to the TranslationStudio MicroApp.
You can install the TranslationStudio Monitoring Tools project component to any of your FirstSpirit projects (the component is not project specific). Once added, it only offers a configuration interface but does not install anything to the project itself (templates etc.).
The monitoring tools component allows you to
Download TranslationStudio log files (current file only or all as ZIP file)
Download translated XML files (both successfully imported or failed)
Upload translated XML file (e.g. after having made changes to it) and thereby adding it to the import queue
Download and make changes to monitored files in translation table (this is particularly useful if you want to re-download an already translated document or remove "old" entries, etc.)