Table of Contents

Accelerate your localization workflow and go to market faster by bringing your Product, Design, and Localization teams closer with our Figma plugin. Easily send your design texts from Figma to Transifex to get them translated. Pull the translated texts back to Figma, and check if there are any i18n or translation issues before coding begins. Let your designers preview the localized designs and make all necessary adjustments, right away, to avoid costly delays in refactoring localization bugs. Boost collaboration between your designers and translators. Deliver new digital experiences faster.


This is a paid add-on, and anyone interested in trying this out can contact us.

Connecting Figma with Transifex

Below is a quick video showcasing the process.

  1. Make sure that you have access to at least one organization, one project, and one resource in Transifex

  2. Install the Transifex plugin in Figma using this link

  3. Open your Figma file

  4. Go to plugins and select “Transifex Figma Plugin”

  5. Add your Transifex credentials (API Token). To generate an API Token please follow the instructions indicated here. After generating the token, copy and paste it into the related input box and click “Connect”


  6. Complete the following information after connecting with Transifex:

    • Organization: the desired organization to work with

    • Project: the desired project to work with

    • Resource: the desired resource of the selected project. If you don’t have any fileless resources in this project, you can try to create one using the action “Create a new resource” (note that you should be either an administrator or a project maintainer in order to perform the action)

    After setting the options, click “Save”.

At the bottom of the settings tab, you will see two options regarding custom keys.

The first option, reading Use custom keys, will give you the possibility of editing custom keys for each string you are pushing to Transifex from Figma. The second option, reading Synchronize Figma names with custom keys, will keep element names found in the Figma nodes tree in sync with the custom keys you are editing in the Transifex plugin.

Using the plugin

Check out a quick video on sending content and editing keys from Figma to Transifex.

  1. Start selecting the Figma layers that you want to send to your Transifex resource

  2. Your selection will collect your text layers as strings in the main window of the plugin, under both “Push Strings to Transifex” and “Pull Strings from Transifex” tabs


  3. To remove any unwanted strings from the selection in the “Push” or “Pull” tabs, click the X to the right of the string. That string will be removed from the current selection list

  4. Click the “Push” button to send the selected strings to Transifex and add them to the connected resource. After pushing the strings you can check to see that they were successfully sent using the “View resource in Transifex” link. Also, you have the option to upload screenshots if you have selected “Upload Screenshots”. The strings will be translated according to the workflow set up in the Transifex project

    By default, the plugin will automatically generate screenshots of your Figma frames and include them with the pushed strings in Transifex. The strings for translation will be automatically mapped to the screenshots in Transifex to provide visual context of your Figma designs to your translators and ensure the quality of the translation. Optionally you can disable screenshot generation for any string push by deselecting the “Upload Screenshots” checkbox in the “Push Strings to Transifex” tab

  5. You can use the “Replace Resource Strings” feature to clean extra or outdated strings out of your Transifex resources. If this option is checked when you click the “Push” button to send strings to Transifex, then all of the strings currently in the connected resource will be purged and replaced with the current selection only. This option should be used carefully, especially with resources shared by other users. If you are sure you want to replace all the strings in the resource with the current selection, click “OK” in the confirmation dialog. The resource strings will be replaced, and the “Replace” option will be reset to deactivated. All of your previous translations remain in the translation memory (TM) so you and your team can reuse them, unless they are also deleted from the TM in Transifex

  6. To pull translations back from Transifex to Figma, first select the Figma layers you want to get translations for and then click the “Pull” button in the “Pull Strings from Transifex” tab. You have the option to pull them in all languages or in a specific one by selecting it in the “Language” dropdown. The pull operation will create a new page in your Figma file for every language with the same name of the selected page and the language code as prefix, and automatically insert translations for the selected visible strings. Languages with no translations in Transifex will be ignored during the "Pull" process and no pages will be created in Figma.



#1: In case translation text cannot be displayed in Figma designs like Chinese text, then please make sure your font supports these characters.

#2: Transifex-Figma plugin ignores hidden layers/strings

Using custom keys

Having the Use custom keys setting enabled you will be able to customize string key names. Keys are important in Transifex when you want to communicate with other teams working on your project's localization. Let's see how you can do that.

  1. Start selecting the Figma layers that you want to send to your Transifex resource

  2. Opening the Transifex Figma plugin you will see the list of selected strings in the first tab, Push strings to Transifex. Each string will also have an input where you can set the custom key. The default key used is the node name found in the Figma nodes tree

    Transifex Figma plugin, strings with custom key names

  3. Type the custom key names of choice in each input or leave them as is and click Push to send strings to Transifex. The Figma plugin is smart enough to group strings sharing the same context and same key name so that only one string will be pushed to Transifex in that case. e.g. if you have two Text elements in Figma saying "Email" and sharing the exact same node name in the Figma nodes tree ("Email"), the Transifex Figma plugin will detect their relation and push only once the specific string to Transifex

Handling conflicts

When using custom key names, there are cases where the Transifex Figma plugin will raise warnings for duplicate keys.


These cases are:

  • Figma elements having different text but sharing the same Figma node name. This can happen if you use the default Key names for the selected strings, where the Figma node name is used. It's quite common while designing to clone nodes in order to create new items and there is a chance the Node name remains the same across many nodes, especially with Text nodes

  • There are strings in the linked Transifex project that have the same key name but different text. This can happen in cases you have already pushed some content to Transifex and are updating a Figma design or creating a new Figma design that has some similar node names on elements

There are various ways to handle these cases using the plugin:

  • If you prefer adding an extra string for each conflicting item, click the Auto fix button. Using this functionality the plugin will try to auto fix the error by assigning a number next to each key name with conflict, e.g. having two strings with a key name of 'Email' and clicking Auto fix, will result in key names 'Email' and 'Email 1' for these two strings

  • If you prefer replacing what might already be in Transifex with the version you currently have in Figma, click the Push & Replace button at the bottom right of the plugin popup. By doing that, you will push anew to Transifex the string you have in Figma. This action will remove the previous string along with all the translation progress done in Transifex. For example, if you have already translated the string with the key name 'Email' and you Push & Replace, the translation will not be present on the string

Continue Reading

Did this answer your question?