Integrations

Figma (Strings)

Content is machine translated from English by Phrase Language AI.

Available for

  • All paid plans

Available for

  • Advanced and Enterprise plan (Legacy)

Get in touch with Sales for licensing questions.

Tip

For information about Figma integration in Phrase TMS, refer to Figma (TMS).

The Figma plugin allows design content to be integrated with Phrase projects, bridging the gap between product design and localization teams. The plugin supports content pushing, pulling translations, and managing keys between Figma and Phrase Strings.

  • Branching is supported.

  • Access to at least one project and one language with Translator user rights is required. Access can be granted by having an invitation sent by an Administrator or Project manager.

  • The plugin will send screenshots of auto-layout frames that are not child elements.

  • By default, hidden text layers are not included in the integration. This can be changed in the settings Setup_gear.png by selecting Include hidden layers or frames in selection.

  • By default, selected tags in the plugin are cleared after the push process. This can be changed in the settings Setup_gear.png by disabling the Clear tags after push option.

  • Any changes made to the default settings Setup_gear.png of the plugin will be saved and remain persistent.

Install and Connect the Figma Plugin

To run the plugin, select it from inside Figma's plugin browser or from the Figma Community and click Try it out. The plugin will become available in the Figma Plugins menu.

The connection from Figma to Phrase can be made with either providing Phrase credentials or an access token.

When the connection is made, selecting a frame loads a preview of the Figma content and keys that users can push to or pull from Phrase Strings.

The Connect keys tab will allow connecting Figma layers to keys already existing in a Strings project. If the naming convention is the same for both the layers and the keys, they can be automatically matched.

The plugin is accessible through dedicated buttons in the Figma sidebar:

  • Phrase Strings

    Click to open the plugin.

  • View text in Strings

    Displayed in Figma files connected to a Strings project. Click to open the relevant project in the translation editor.

Push Content

The Push content to Phrase tab allows sending frames or text layers from Figma to Phrase Strings for localization. It is not possible to push content to a protected main branch.

Select the project, branch (if being used), and language for the content being pushed. Optionally, enter a custom tag to add to the uploaded keys.

Empty or duplicated key names are flagged with a red counter in the Content column. To manage long lists of key names, use the Sort by Sort Filter dropdown to display Incomplete key names first or Duplicated key names first.

Note

The selected sorting option will be remembered for future sessions.

The Push to Phrase button is disabled if key name inputs are empty, contain invalid characters, are not unique if a protected main branch is selected.

Select the Work with key names setting to edit key name inputs and resolve any naming conflicts. If needed, select the desired keys and click Exclude layers at the top of the table to remove those layers from the plugin.

If there are disconnected layers with conflicting key names, select one of the available resolution options to proceed:

  • Create key copies in Phrase Strings

    Creates new keys with -copy suffix.

  • Connect with existing keys

    Links layers to existing Phrase keys.

  • Don't push conflicting keys

    Pushes non-conflicting layers only.

When the Upload Figma preview option is enabled, users can optionally select which target languages to include in the Figma preview. If no languages are selected, all languages are included by default.

If layers are successfully pushed to Strings, the Push completed window is displayed with a summary and the following options:

  • Create job

    Click to open the Create a job page with the pushed keys pre-selected.

    Important

    If the Upload Figma preview option is enabled, a job is created automatically in Strings. Once enabled, this cannot be disabled.

  • Open in Strings

    Click to view the pushed keys in the Strings Editor.

A yellow warning icon Warning appears next to keys whose names have been changed in Strings after pushing content. To update key names in the Figma plugin, select Sync key name from the ellipsis More Menu menu next to the mismatched key name.

Push options and actions

Click the View options More Menu menu to toggle on and off the following push options as required:

  • Upload screenshots is enabled by default. It allows attaching a screenshot of the selected layers within the frame:

    • If the Include hidden layers or frames in selection setting is enabled, hidden text layers imported with the Figma plugin will have a marker placed in the top left corner of the screenshot.

    • When the Exclude sections from screenshots setting is enabled, screenshots of Figma sections will not be created.

      It is recommended to keep this option enabled in case of performance issues with the plugin while working inside sections.

  • Update content in Phrase Strings is enabled by default.

  • Update key names in Phrase Strings is enabled by default, unless the Work with key names in Figma setting is disabled.

    Toggling this option off resets all key name inputs.

  • Enable Upload Figma preview to export an HTML bundle from the selected keys.

    This option is required to generate in-context preview in the TMS CAT editor when working with jobs synced from Strings.

    Users can optionally select which target languages to include in the Figma preview when pushing content. If no languages are selected, all languages are included by default.

    If the preview is generated successfully, a job is created automatically in Strings. Any active job automation in the Strings project will be skipped to avoid duplicate jobs.

    If the preview exceeds the 10 MB limit, the keys are still pushed to Strings, but no job with a preview is created.

    Note

    To work with Figma previews in the Strings editor, use the Add Figma preview action in the contextual sidebar.

  • Enable Preserve content formatting & styling to keep rich text formatting (such as lists, line breaks, bold/italic, and links) when pushing content from Figma to Phrase and pulling translations back.

    If enabled, HTML formatting tags are automatically added to preserve inline styling and are supported in the TMS in-context preview when working with jobs synced from Strings. The HTML formatting tags appear in the Strings editor and in exported translations pulled back into Figma.

    Disable this option if rich formatting is unnecessary to avoid manual adjustments.

    The setting applies at the file level and affects all collaborators working in the file. This option is remembered for new files.

For connected layers, the following actions are available in the relevant ellipsis More Menu menu:

  • Select View key details to view/edit the key description in Phrase Strings or set a character limit for the key. Any changes saved in the Key details window will appear in the Strings editor sidebar after refreshing the editor page.

    Tip

    Select multiple keys in the  Push content to Phrase tab and use the batch action Set character limit to set a character limit for all selected keys at once.

  • Select Open key in editor to navigate to the related key in the Strings editor.

  • Select Disconnect content from Phrase Strings to disconnect the layer from an existing key.

Manage duplicated content

When pushing content, layers with duplicated content will generate multiple keys in Strings containing exactly the same text. Users can decide how to manage this duplicated content in the Push content to Phrase window:

  • Select Proceed without merging if creating multiple keys with duplicated content is intentional.

  • To merge some duplicated content into a single key, follow these steps:

    1. Select two or more keys from the list and click Merge Merge to a key...

      A dropdown with available keys for merging is displayed.

    2. Select the key to merge the duplicated content into.

      The selected key is marked with a blue merge icon Merge to a Key in the Push content to Phrase window.

    3. Click Proceed, then confirm by selecting Merge and Push in the Merge duplicated content popup.

      The duplicated content is merged into a single key, and all associated layers are connected to that key.

  • To merge some or all duplicated content into the first key of the list, follow these steps:

    1. Select multiple or all keys from the list and click Merge Merge all duplicates into first key.

    2. Click Proceed, then confirm by selecting Merge and Push in the Merge duplicated content popup.

      The duplicated content is merged into a single key, and all associated layers are connected to that key.

    This option is useful for large files with many duplicates, allowing users to merge all duplicates into the first key found in a single action, instead of handling each one individually.

Configure Key Naming

The Key naming section of the plugin settings Setup_gear.png allows setting up the naming convention for connected keys.

To customize key names in Figma, follow these steps:

  1. Click Enable smart key naming from the Key naming settings.

  2. Select Work with key names in Figma.

    Note

    If Synchronize text layer names with keys is enabled, key names are automatically generated based on text layer names.

  3. In the Key name generation field, enter text to define custom key naming:

    • Optionally, click Available macros to select one of the supported macros to generate key names automatically.

      Multiple macros can be selected to compose the key name.

    • It is possible to combine free text and macros in the Key name generation field.

      Click Examples to display and choose one of the predefined examples.

  4. If required, select a formatting option from the Formatting convention dropdown to modify text accordingly and remove spaces.

When pushing content to Phrase Strings, apply the newly created naming convention to previously connected keys by either:

  • Clicking the refresh Refresh List icon at the bottom of the table.

  • Selecting specific keys and clicking Regenerate key names at the top of the table.

Available macros

Macro

Description

{file_name}

The name of the Figma file

{page}

The Figma page where the key is identified

{parent_section}

The highest level section in the page tree

{nearest_section}

The section closest to the text layer in the page tree

{frame}

The frame where the key is identified

{parent_group}

The highest level group in the page tree

{nearest_group}

The group closest to the text layer in the page tree

{component}

The name of the Figma component where the key is located. Only source components are considered.

{element_name}

The name of the text layer

{element_content}

The content from the text layer

{random}

A randomly generated unique short hash

Connect or Disconnect Keys

When pushing content, users can connect layers to existing keys in Phrase Strings or generate new ones.

Select the Connect keys tab to display an overview of connected and disconnected keys.

Keys that are already connected are identified with a link Connected Key icon in the Key name column. If necessary, select the project, branch (if being used) and language, or click the search icon to find the desired content.

Select Connect keys to bulk connect all unlinked keys in the tab. To connect or disconnect individual keys, click the relevant icon at the right of the corresponding entry.

Note

The option to disconnect individual keys is also available in the Push content to Phrase tab.

Pull Translations

Once the translations are complete, select the Figma layers or frames to pull translations for and click on the Pull content to Figma tab.

Users can select the project, branch (if being used), and the languages for the content being pulled. Tags cannot be pulled back to Figma.

To manage long lists of key names, use the Sort by Sort Filter dropdown to display Incomplete key names first and address any potential issues. If needed, select specific keys and click Exclude layers at the top of the table to remove those layers from the plugin.

Note

The selected sorting option will be remembered for future sessions.

Click the View options More Menu menu to choose how to display pulled content in Figma:

  • Create a new page per language

    Selected by default. When pulling for multiple languages, a separate Figma page is created for each selected language including all layers from the page.

    Note

    In Figma Buzz, the Create a new row with translated content option is displayed.

  • Create a single page with all languages

    Creates a single new page and places the selected translated content side by side into language-specific columns. This option focuses only on the active selection rather than duplicating the entire Figma page.

    Recommended for large files to improve pull performance and reduce unnecessary file size.

  • Override text layers with translations

    The selected text layers will be overridden with the translations and updated in the viewport.

    This option is automatically disabled when pulling for multiple languages.

  • Display key names instead of content

    Disabled by default. When enabled:

    • Key names are pulled and displayed instead of the translated content.

    • Selecting a language for the pulled content is no longer possible.

  • Preview content in selected language

    The setting will be remembered for future sessions.

    • If disabled, the Content column displays the content of the selected layers directly.

    • When enabled, the Content column displays a preview of the content in the selected language for connected layers.

      • For disconnected layers, enable the Connect with existing keys option to show a preview in the selected language. If a key with the same name exists in the pulled data, the content of that key is used as the preview.

    This option is automatically disabled when pulling for multiple languages.

  • Connect with existing keys

    Control how disconnected layers are handled when pulling data in Figma. The setting will be remembered for future sessions.

    • When enabled, the system checks if a key with the same name exists in the pulled data.

      If a match is found:

      • Disconnected layers are connected to the matching keys.

      • The layers content is updated with the pulled content from existing keys.

    • If disabled, disconnected layers are not updated, even if matching keys exist in the pulled data.

If content is successfully pulled to Figma, the Pull completed window is displayed with a summary of the updated layers.

When pulling for multiple languages, the Open key in Editor button opens the key with the project’s default language as the source language.

Figma Buzz

Figma Buzz is a tool where brand designers and marketing teams can create on-brand visual assets at scale, directly within the Figma ecosystem. It includes a system of templates, a simplified design editor, bulk creation of assets and AI powered editing.

The Phrase Strings plugin for Buzz allows localizing text content directly within Buzz by providing the same capabilities as in the Figma Design integration:

Note

Live preview is not supported.

The plugin is available from the Plugins menu in Buzz. Once activated, it can be saved for future use and run on the selected design by opening it in a modal from the Figma Buzz sidebar. Text layers are automatically detected and displayed in the plugin.

Design content can then be pushed to a connected Strings project for translation. After translation, users can pull the localized content back into Buzz, which creates a new row containing the translated version of the design.

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.