1. Installing the Connector

To install the connector, please install the FSM via FirstSpirit ServerManager.

Thereafter, you can open translationstudio’s configuration panel, navigate to custom connectors, click on the add button and choose the connector from the given list. Its configuration panel will open automatically.

2. Requirements

The connector uses the CMS Gateway API or the WSDL API and requires

  • an accessible API URL

  • a valid API Key

  • a client name (to identify the connector’s actions)

3. Configuration

3.1. Account Configuration

You have to provide valid credentials here.

Account Configuration
Figure 1. Account Configuration

The connector creates new projects for every translation job (which may contain several XMLs) using a project template and a given user.

Therefore, pleases click on Update Project Templates and Users to fetch all available templates and users.

3.2. Languages

memoQ uses its own language codes whereas FirstSpirit uses language abbreviations.

Consequently, you have to tell memoQ which code to use for a given FirstSpirit language.

Languages and LCIs
Figure 2. Languages

Conveniently, you may click on the button Load Language Codes to automatically fetch all FirstSpirit languages actually in use and try to match it against the known memoQ codes.

If no code can be found, the language abbreviation is added to the list and you have to add its respective memoQ code manually.

3.3. Project Settings

In order to make an memoQ project available to translationstudio, you have to create a new project by clicking on the button add.

Project Settings
Figure 3. Project Settings

The project created here will be made available to translationstudio’s language mappings requires the following information:

  1. Quota
    Which quota configuration should be used for this project

  2. Project Template
    Which memoQ project template is to be used?

  3. Project User
    Which memoQ user is to be used in this project?

  4. Description
    Depending on your templates, you may have to provide a description here.

  5. Domain
    Depending on your templates, you may have to provide a domain here.

  6. Deadline
    Since SDL requires deadlines, you can specify the days to allow for a translation if no deadline has been specified in the translation request.

Please do not forget to save your changes

4. How the Connector Works

The connector allows you to submit files for translations to memoQ, monitor the translation progress as well as download translated documents and importing them into FirstSpirit automatically.

4.1. How Monitoring Works

The memoQ connector monitors the translation progress and downloads files marked as completed automatically.

When a translatable file is stored in an memoQ project, a unique identifier (UID) is created by memoQ which allows the connector to specifically find this particular file at a later stage.

This UID is stored by translationstudio and used to monitor the translation progress of the respective file. After a translated file has been downloaded from memoQ, its UID is removed from translationstudio’s monitoring database.

Importantly, the connector does not change any states, neither of individual files not of the respective memoQ project.

If you upload a file into memoQ manually translationstudio will not be able to monitor the file’s progress sine its UID is not known. For example, you might have downloaded a translatable XML file from memoQ to check its content (and have it removed from the memoQ project). Thereafter, you may wish to upload the file to memoQ again and have it translated. However, since the UID has changed, translationstudio will not be able to monitor this file. Fortunately, this is a rather rare scenario but it is sufficient to provide an insight into how the memoQ connector works.

4.2. Best Practices

Since there are a few things to configure, it is recommended to create a working configuration in a stage or development environment which allows you to test your memoQ and translationstudio settings extensively.

It is recommended to submit only a single file first instead of bulk files.

Once you find that all settings are correct, you then transfer those settings to your production environment.

4.3. Testing memoQ Server availability

You may use this bash code to send a request to test the availability of your memoQ api access.

All you need to do is to update the API_KEY and the SERVER_URL values.

4.3.1. WSDL API

The following script will run against the WSDL API

#!/bin/bash
#
# This script allows you to test your memoq rest api availability
#

#
# The API key to be used
#
API_KEY="................"

#
# This is your memoQ wsdl URL
#
SERVER_URL="https://XXXXXXXXXX.memoq.com:9091/YYYYYYYYYYY/memoqservices"


#
# DO NOT CHANGE THE FOLLOWING CODE
#
API_PATH="${SERVER_URL}/Resource/ResourceService"

SOAP_XML1='<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><s:Header><ApiKey>'
SOAP_XML2='</ApiKey></s:Header><S:Body xmlns="http://kilgray.com/memoqservices/2007" xmlns:ns2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:ns3="http://schemas.microsoft.com/2003/10/Serialization/"><ListResources><resourceType>ProjectTemplate</resourceType></ListResources></S:Body></s:Envelope>'
SOAP_XML="${SOAP_XML1}${API_KEY}${SOAP_XML2}"

#
# OUTPUT
#
echo ""
echo "Perform soap call to test WSDL API availability"
echo "-----------------------------------------------"
echo ""
echo "curl ${API_PATH}"' --header "Content-Type: text/xml;charset=UTF-8" --header "SOAPAction: http://kilgray.com/memoqservices/2007/IResourceService/ListResources" --data "{the soap xml}"'
echo ""
echo "--- Response start ---"

curl ${API_PATH} --header "Content-Type: text/xml;charset=UTF-8" --header "SOAPAction: http://kilgray.com/memoqservices/2007/IResourceService/ListResources" --data "${SOAP_XML}"

echo ""
echo "--- Response end ---"

4.3.2. CMS Gateway API

The following script will run against the CMS Gateway API

#!/bin/bash
#
# This script allows you to test your memoq CMS GATEWAY api availability
#

#
# The API key to be used
#
API_KEY="................"

#
# This is your memoQ CMS Gateway API URL
#
SERVER_URL="https://XXXXXXXXXX.memoq.com:9091/YYYYYYYYYYY/memoqservercmsgateway"

#
# DO NOT CHANGE THE FOLLOWING CODE
#
API_PATH="${SERVER_URL}/v1/client"

#
# OUTPUT
#
echo ""
echo "Perform soap call to test CMS GATEWAY API availability"
echo "-----------------------------------------------"
echo "$ curl '${API_PATH}' --header \"Authorization: CMSGATEWAY-API ${API_KEY}\" --header \"Content-Type: application/json\""
echo ""
echo "--- Response start ---"

curl "${API_PATH}" --header "Authorization: CMSGATEWAY-API ${API_KEY}" --header "Content-Type: application/json"

echo "\n--- Response end ---"

4.4. Troubleshooting

The following list of potential issues might be helpful to avoid problems:

The connector cannot access memoQ
Assuming that the credentials provided are correct, please make sure that the memoQ api URL is accessible by the server hosting translationstudio. You may find further error notifications in translationstudio’s log file.

Although some files are uploaded, some translatable files do not appear in memoQ
This is a common issue but solved just as easily. Usually, it is related to missing language configurations. Please make sure that both, the source and target language, have a correct language code assignment.

Translated files are not being imported
There are a few potential causes for such a situation.

First, make sure that the respective file marked as completed. A mere 100% completion indicator does not suffice. translationstudio will only download files that are marked as completed specifically.

Second, you may want to check whether the file has been downloaded and is still waiting to be processed (see translationstudio’s working/translated folder).

Finally, you may always consult the log files to see if there is any other problem, such as rules not met by page or section templates (these may have been introduced only after the translatable file has been stored in memoQ).

Please note that you can always download a translated file manually and store it in translationstudio’s working/translated folder.

memoQ does not show a 100% match although all terms should be known
This is an issue with memoQ and is not related to translationstudio.

Please do not hesitate to contact your helpdesk if you experience other issues not mentioned above.