Phrase TMS integration

With TermWeb’s integration to phrase you can export Dictionaries to Phrase TMS.
When the integration is enabled and Dictionary’s export/import mapping is configured, you can send Concept and Term updates almost immediately to Phrase TMS termbases.

If you want to have updates to Concepts and Terms happening in Phrase’s TMS you can configure the integration to listen for incoming changes via Webhook.

Integration Status: Enable / Disable

Two mutually exclusive buttons:

Enable Integration
Activates all export, synchronization, and webhook features for the current Client.

Disable Integration
Turns the integration off and prevents further synchronization for the current Client

When toggled:

  • Configuration panels reload

  • Data fields are reset based on the server configuration

  • Export functions hide when disabled

Outgoing Changes Configuration

This section configures the credentials that TermWeb uses to communicate with Phrase.
By default, this section is shown in view only mode: all fields are shown read-only and an edit button is available.

In edit mode
All credential inputs become active. Save is enabled only when a change exists and all required fields are valid.

Phrase TMS URL

Defines the Phrase endpoint.
Example: https://cloud.memsource.com

Validation: Required and must be a valid URL

Username / Password Authentication

User must be Phrase TMS Administrator to be able to create custom fields. To create new TermBase in Phrase TMS user must be Project manager or Administrator.

Fields:

Credentials Test

Test saved credentials button becomes active when:
Credentials are valid and saved. Integration is configured sufficiently.

When you click on button "Test saved credentials" a spinner appears during testing.
Successful authentication shows a green success indicator
Failure shows: red error label and message.
The result card can be closed manually via “X”.

Export Dictionary to Phrase

The primary feature for creating Phrase termbases based on TermWeb dictionaries.

This section appears only if integration is enabled and connection is fully configured.

Step 1: Select Dictionary

A list of available dictionaries is shown. Selection triggers loading of:

  • Default section

  • Possible filters

  • Fields mapping suggestion

Step 2: Default Section for New Concepts

Specifies in which Dictionary Section in TermWeb new Concepts are created in when Concept suggestions are sent from Phrase. These settings are only applicable when the incoming changes is configured.

Step 3: Export Filter

The filter component allows selecting an existing TermWeb filter that:
Restricts which Concepts or Terms are exported to Phrase.

For example:
  • Only export Concepts tagged as part of the "Public Glossary"

  • Only export Terms with a valid status.

Step 4: Field Mapping

This is the most advanced component of the entire integration. It allows users configure how data from TermWeb is mapped to Phrase TMS. By default, users can edit it only before export. Existing mappings can’t be edited, if you need to change field mapping - than you need to export dictionary again with new settings.
It is described in section Dictionary Field Mapping below in full detail.

Step 5: Export Execution

Export Button
Starts the export if: mapping is valid, dictionary is selected and no concurrent export for the same dictionary exists.

Cancel Button
Resets selection but does not cancel server-side jobs.

Export Task Monitoring

Shows two types of tasks: currently running or completed tasks.

Running Export Tasks

Progress of your exports can be monitored here, you can see: =

  • Dictionary name

  • Progress bar (%)

Completed Export Tasks

Finished export tasks displayed with:

  • Dictionary name

  • Phrase Termbase link

  • Error messages if Phrase reported an issue

  • Finish button to archive the task from view

Synchronize Dictionaries (Push Settings)

Push settings allow automatic export of changes as they happen.

Synchronized Dictionaries Table

Shows configured exports of Dictionaries to Phrase termbases.

Columns:

  • TermWeb Dictionary

  • Default Section

  • Filter name

  • Phrase Termbase name + link

  • Remove button (edit mode only)

  • Each row represents an active mapping.

  • A Show mapping / Close mapping link expands or collapses the detailed field mapping UI.

Edit Mode

In edit mode you can remove existing exports and configure which updates need to be pushed to Phrase TMS.
You also can change default section where new Concepts created from Phrase will be created in TermWeb.
Outgoing events configured for all dictionary exports. Currently there is no way to configure these settings separately for individual. Events that can be pushed from TermWeb to Phrase:

  • Language created

  • Concept created / updated / deleted

  • Term created / updated / deleted

Save button is enabled only if: events changed, any dictionary mapping row marked as deleted or default section changed otherwise Save remains disabled.

Outgoing Messages
User can review messages and its statuses used to create updates in Phrase TMS, by clicking on link with number of outgoing messages.

By clicking on link users may review last outgoing messages, find messages by event UUID, review message body and see processing status.

TermWeb keeps only messages received in last month. Messages older than one month are deleted.

Dictionary Field Mapping — Complete Detailed Description

This is the central and most complex part of the module.

Mappings define how TermWeb dictionary fields are transformed into Phrase Termbase structure.

Mapping Structure Overview

Each mapping consists of:

  • List of field mappings

  • Default section

  • Optional filter

  • Domain configuration

  • “Add unmapped fields to note” toggle

Each field mapping contains:

  • TermWeb field

  • Phrase field

  • Optional exact-match or conditional qualifiers

  • Optional value mapping

Special handling for: Sections, Picklists, Multi-valued fields and Phrase standard fields

Field Mapping

Initially without any field mapping TermWeb will send only Term names and languages.
This field mappings used in export and import configurations.
Users can configure which fields and how should be exported to Phrase.
TermWeb can map Dictionary fields to system Phrase fields such as: Definition, Note, Status, Preferred, Forbidden, Match type, etc. You can also map TermWeb’s Dictionary fields to Phrase’s custom fields.
You can manage yours Phrase custom fields here: https://cloud.memsource.com/tms/setup/fieldsForConceptsAndTerms.

To ease up initial transfer of Dictionary, TermWeb will offer automatic creation of Phrase custom fields.

TermWeb supports conversion of multiple data types:

TermWeb field type Phrase field type
  • SINGLELINE (Text)

  • MULTILINE (Text)

  • BOOLEAN (only set to true when value equals true in any letter case otherwise, will be set to false)

  • STRING

  • URL (only set when value is valid URL)

  • NUMBER (only set when value is valid decimal or real number in range of -263 and a maximum value of 263-1)

  • DATE (only set when value is matching one of the Java’s DateTimeFormatter formats: yyyy-M-d, d-M-yyyy, d/M yyyy, d-MMM-yyyy, d-MMMM-yyyy, M-d-yyyy, M/d/yyyy, M-yyyy, MMM-yyyy or MMMM-yyyy)

  • NUMBER

  • NUMBER

  • STRING

  • CHECKBOX

  • BOOLEAN

  • STRING (for selected state value will be true and opposite is false)

  • DATE

  • DATE

  • STRING (Date is always set in format yyyy-MM-dd)

  • SINGLESELECT

  • MULTISELECT

  • STRING (Picklist values, separated with TermWeb’s configuration property multivalued.separator, usually , or ;)

  • SINGLE_SELECT, MULTI_SELECT (value is set based on Value mapping, non-matching values are skipped)

Condition Logic
Each field mapping can contain conditions, enabling selective mapping. Before sending value to Phrase it will evaluate condition, and proceed with field mapping only if condition evaluation is true.
When field mapping contains multiple conditions, they’re joined with logical operator AND meaning that all conditions must be true to proceed.

Example:

  • Transfer value only when field “Part of speech” not equals Adverb.

Condition Object Structure
A condition consists of:

  • operation — comparison operator

  • value — single value for comparison

  • values — array for multi-value comparison

  • exactMatch — check letters case in condition or ignore

Comparison operators
Full list:

Operator Meaning

EQUALS

Field value equals given value

NOT_EQUALS

Field value does not equal given value

CONTAINS

Field value contains substring

NOT_CONTAINS

Field does not contain substring

STARTS_WITH

String begins with value

GREATER_THAN

Numeric value greater than specified value

LESS_THAN

Numeric less than specified value

EQUALS_ANY

Field equals any value in a multi-value list

EMPTY

Field has no value

NOT_EMPTY

Field has any value

Multi-value comparisons
For some field types or operators you can specify multiple values.

Operator EQUALS_ANY
You can specify multiple values, condition will be considered true when one of values equals field value.

Field type MULTISELECT
When you specify multiple criteria values for all operators it means all values must be matching or not matching field values. EQUALS_ANY operator works the same, any value match is considered as true

Reserved field names
Some field names are reserved in Phrase TMS and cannot be used when creating new custom field mappings. These reserved names are case-insensitive.

Concept field names Term field names

concept_definition

definition

concept_domain

domain

concept_subdomain

subdomain

concept_url

short_translation

concept_note

url

relation

term_type

status

preferred

forbidden

exact_match

usage_example

part_of_speech

gender

number

note

Custom fields limit
Users can create up to 20 custom fields for each field level (Concept and Term) in Phrase TMS, at the time of writing.

Field mappings in import

During import if field mappings are ambiguous, then it can overwrite some field twice.
Usually last field mapping will be used as value for field.

Conditional mappings are skipped from import, because usually there is no easy way to revert condition

Incoming Changes Configuration

Controls the webhook configuration that Phrase uses to send changes back into TermWeb.

Webhook URL

Read-only link generated by the TermWeb. You must use it when configuring outgoing changes in Phrase TMS: https://cloud.memsource.com/tms/webHook/list

Token Name and Token

These unique tokens are used to authenticate incoming webhook requests. Both values are generated by TermWeb. In edit mode administrators can generate new token.

Incoming Events

You can specify which Phrase TMS events TermWeb will be accepted:

  • Concept created (if you’re going to accept Term created event, then this should be selected too)

  • Concept updated

  • Concept deleted

  • Term created

  • Term updated

  • Term deleted

Incoming Messages
User can review messages and its processing statuses received from Phrase, by clicking on link with number of incoming messages.

By clicking on this link, users may review last outgoing messages, find messages by event UUID, review message body and see processing status.

TermWeb keeps only messages received in last month. Messages older than one month are deleted.