Administration

Phrase Strings Connector (Job Sync)

Content is machine translated from English by Phrase Language AI.

The Phrase Strings integration (called Job Sync in Strings interface) connects Phrase TMS and Phrase Strings. The integration supports both job-level and project-level synchronization.

  • Job sync

    Jobs created and started in Strings with In progress status can be imported to TMS for translation, and sent back to Strings after translation. By default, jobs sent from Strings to TMS are imported as XLIFF 2.0 files.

    Recommended for batch-based workflows with granular control.

  • Project-level sync

    All keys in a selected Strings project are transferred to TMS, without requiring job creation. Newly added or updated keys become available for synchronization automatically.

    Recommended for continuous localization workflows.

Prerequisites

  • Access to both TMS and Strings applications

  • Language codes used in the TMS project must match the locale codes in the Strings job.

  • The default language of the Strings project must be the same as the source language defined in the TMS project.

Important

Figma files can be displayed in Strings as a whole live file but is not supported in TMS. The TMS CAT editor can only display translated content in a specific Figma frame in SVG format.

Strings key translation statuses are not supported. Keys which are marked as unverified in Strings prior to the import to TMS can be returned to Strings as verified in case of unchanged target translations.

The number of segments created in TMS after importing a Strings job can be different from the original number of keys in the following cases:

  • Keys are marked as excluded in Strings. Excluded keys are not imported.

  • The Segment XLIFF option has been enabled in the File import settings for XLIFF 2.0 when creating the job in TMS. In this case, the number of segments may be higher than the number of keys in Strings.

Strings keys can contain HTML entities. When setting up the connector in TMS, enable the option Enclose HTML content in CDATA to preserve HTML entities instead of displaying the corresponding characters in TMS.

Using the connector, multiple projects and files can be monitored in APC. Each project requires individual monitoring within a single APC.

ICU messages and CLDR plural forms

When sending Strings jobs containing ICU messages or plural forms to TMS for translation, enable the Parse ICU messages option in the XLIFF 2.0 file import settings or in the TMS project templates.

Use Cases

There are a number of use cases for the connector:

  • TMS Project managers can add files directly to TMS projects from an online repository.

  • Set up the Phrase TMS submitter portal to allow Submitters to add files to requests directly from Phrase Strings.

  • Use TMS automated project creation (APC) to have new projects automatically created when a change in the last modified date is detected for monitored files or a folder.

    • For both job-level and project-level syncs, the monitored project path must be selected all the way to the jobs folder (e.g. space/project/main/jobs).

    • For job syncs, APC is triggered by the following job updates:

      • Newly added keys or changes to existing keys

      • Modified job's due date in Strings

      Note

      Reopening jobs does not count as an update for APC.

    • For project-level syncs, APC is triggered by:

      • Newly added keys

      • Changes to existing keys

    • If Create a new project everytime is selected when setting up APC, the remote online repository can be monitored not only for source, but also target updates

      If choosing to monitor target updates, any changes made to the target copy in the online repository will automatically update the translation memory in Phrase TMS.

    • If Target updates made in the remote entity are automatically saved in the TM is selected, key text changes in the Strings target language are automatically updated in the TMS translation memories used in the relevant APC Project.

  • The TMS connector API can be used to automate steps otherwise performed manually through the UI. Webhooks can be used to have 3rd party systems notified about certain events (for example, a job status change).

Job Syncs Page

The Job Syncs page provides a centralized view of all job sync setups (APCs) that use the Phrase Strings connector. It includes both syncs created directly in Strings and those configured in TMS, with relevant information.

From the Job Syncs page, Administrator and Project Manager users in Strings can configure new job syncs, edit existing job syncs (including their active/inactive status) or delete them.

Existing job syncs can be edited or deleted by using the relevant options in the More More Menu menu. All changes are synced between Strings and TMS. Deleting a job sync removes the corresponding APC in TMS.

The Job Syncs page is accessible both from the Integrations and the Jobs left-hand navigation menus.

Configure Job Syncs in Strings

Note

If required custom fields are defined in TMS, setting up a job sync from Strings is not supported.

To set up a new job sync between Strings and TMS with basic configuration, follow these steps in the Strings UI:

  1. In the Integrations page, select Configure next to the Job Sync integration.

    The Job Syncs page is displayed.

  2. Click + New Job Sync.

    The Create new Job Sync window is displayed.

  3. Provide a Sync Name and select the Strings project(s) to connect to TMS from the Assigned Strings projects dropdown.

    Only projects with the same language combinations can be included.

  4. Optionally, select the TMS project template to use. The selected TMS project template must match the set of languages defined in the assigned Strings project(s).

    Synced jobs will be added to the TMS project created from the selected template.

    • If Default is selected, a TMS project template is automatically created based on the selected Strings projects.

  5. Select the project Type to create in TMS.

    • Continuous project

      Default option.

    • New project

      A new TMS project is created every time changes are detected in the Strings jobs.

  6. In the Export back to Strings section, specify the Strings export settings to control how translations from TMS are exported back into Strings.

    • Overwrite existing translations

      Updates existing target translations in Strings.

    • Mark job as completed

      Automatically marks the job as completed in Strings.

    • Verify unchanged translations in Strings

      Keys marked as unverified will be automatically verified in Strings in case of unchanged target translations.

  7. If required, click Advanced options to display additional export options.

    • Mark locale as completed

      Marks a specific locale as completed once its translations are synced back.

    • Create new and update existing keys

      Ensures new keys from TMS are created in Strings, and existing ones are updated.

    • Only apply translation if source matched stored version

      Prevents overwriting translations if the source text has changed in Strings since the export.

  8. Click Save.

    The new job sync configuration is added to the TMS Job Syncs list with inactive status. Use the toggle under the Active column to enable the job sync.

Tip

For more advanced configurations, set up the connector using Phrase TMS settings.

Phrase TMS Settings

  1. From the Settings Setup_gear.png page, scroll down to the Integrations section.

  2. Click on Connectors.

    The Connectors page opens.

  3. Click New connector.

    The Create connector page opens.

  4. Change the Type to Phrase Strings and provide a name for the connector.

  5. Enter the account ID and access token obtained from Strings.

  6. Click Test connection.

    • If successful, a small checkmark appears next to the Test connection button.

  7. Select items to import to TMS.

    If target keys are not imported, the XLIFF 2.0 file can be further segmented if Segment XLIFF is selected in the File import settings for XLIFF 2.0 files.

    • Enable or disable the advanced import options as required:

      • Apply the TMS project’s source language on import

        The Strings job’s source language is applied if no source language is set for the TMS project.

      • Create a TMS job for each language

        Enable this option to prevent creating duplicate TMS jobs for locales already in progress. Recommended for more control for jobs with multiple languages.

      • Wrap HTML content in CDATA

        • The option ensures HTML entities are wrapped in CDATA to be preserved during the transfer between Strings and TMS.

        • The option allows to import content combining ICU syntax and inline HTML elements.

      • Ignore the Strings project's default locale

        Select TMS job source locales based on the TMS project's source locale, or fall back to the Strings job's source locale.

  8. Select an export mode.

    • Enable or disable the following export options as required:

      • Overwrite translations

        Disable to prevent existing translations from being updated with the file content.

      • Create new or update keys

        Disable to prevent the creation of new keys and updates to existing keys.

      • Apply translation only if source matches

        Translations that do not align with the latest source content are excluded during synchronization. This helps maintain consistency between source text and translations, avoiding outdated or incorrect translations.

      • Verify only if translation is unchanged

        Keys marked as unverified will be automatically verified in Strings in case of unchanged target translations.

      • Mark language as completed

        Marks a specific locale as completed once its translations are synced back.

      • Mark job as completed

        If selected, only when the last locale is uploaded will the job be marked as completed.

  9. If specified, select a default folder (only possible after saving).

  10. Language Mapping is presented and can be customized if required. Changes in language mapping will not affect existing jobs.

    The list paginates five projects at a time with projects being sorted alphabetically; first from A-Z (capitalized) and then a-z (lower case).

  11. Click Save.

    The connector is added to the list on the Connectors page.

Supported in the integration:

  • TMS project templates

  • TMS workflows

  • Job briefing (not applicable when using project-level sync)

  • Job due date (not applicable when using project-level sync)

    Due date set in Strings will update the project deadline in TMS. If there are multiple different deadlines, the furthest one will be applied to the TMS project.

Transferred from Strings to TMS as a project reference:

  • Key descriptions

    Transferred from Strings and displayed as the context note in the Context note pane of the TMS CAT editors.

  • Max. key character length

    Transferred from Strings and displayed within the Context note pane of the TMS CAT editors.

  • Screenshots

    To display screenshots from Strings in the Context note pane of the TMS CAT editors:

    • Enable the option Allow loading of external content in Phrase CAT editor under the Access and Security section of TMS project settings.

    • Select Rich text format in the Context note pane.

  • Custom metadata in supported file formats:

    • .XLSX

    • .CSV

    • .XLIFF 2.0

Monitoring Target Updates made in Strings via APC

To monitor target updates made in Strings via APC, follow these steps:

  1. When setting up a APC, select Create a new project everytime.

    This enables the monitoring of the online repository for target updates made in Strings.

  2. In the Automations section of the APC setup, select Target updates made in the remote entity are automatically saved in the TM.

Changes made to the target language content in Strings will be automatically saved to the Phrase TMS translation memory when the APC monitoring is triggered.

It is possible to overwrite the translation memory updates by modifying the target segments in Phrase TMS editor. These updates will be exported back to Strings when the Phrase TMS job is completed.

Job Sync Troubleshooting

The table below outlines common issues that users may encounter when using the Strings integration. It provides possible causes and solutions for troubleshooting.

Issue

Cause(s)

Solution

Warning message related to NMTOKEN in TMS jobs

Key names contain undesired characters (e.g. spaces)

Users can still handle translation content and export it back to Strings, despite the warning message.

Keys in TMS are empty

Job contains keys without source text in the source language

Either:

  • Ignore the segments.

  • Remove the keys from the Strings job and re-import the source from the online repository.

APC is not creating projects/processing new jobs

Language codes mismatch

Ensure that language codes in Strings match those in the TMS project.

When APC is set as a continuous project, any changes made to the project template after project creation will not be applied to existing projects. Therefore, changes must be made directly to the continuous projects.

APC considers the job/locale as processed

If project template/APC settings are modified after starting the job, it may be considered as processed in the APC history. Therefore, an update to the job may be necessary to qualify it for the next iteration.

Either:

  • Add a new key to the job, or update an existing key of the job

  • Change the job's due date in Strings

429 Too many requests error (Strings API limit)

Reduce the number of APCs and lower the monitoring frequency.

Existing key in the Strings project is missing in the TMS job

The specific key was not added to the Strings job

Add key to the Strings job and reimport job from online repository in TMS

Was this article helpful?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.