How to translate Figma text layers with XLIFF files using CopyDoc
Follow along with this step by step Figma tutorial video.
Steps
- Install the CopyDoc Figma plugin from the Figma community if it is not already installed.
- Open your Figma file, then right-click and go to Plugins to launch "CopyDoc Text Kit".
- In "Localize Figma Text", click "Export/Import XLIFF", choose the source language, target language, optional design references, and an XLIFF format, then click "Export XLIFF" and download the file.
- Open the exported XLIFF file in a text or code editor and translate the text from each <source> tag into the matching <target> tag, then save the file.
- Return to Figma, open "Localize Figma Text" again, choose the import option, and drag and drop the translated XLIFF file into the import area.
- Confirm the detected translated language and click "Update Figma text layers translation" to apply the translations to the design.
- If needed, repeat the process to switch the text layers back to another language or export additional XLIFF files for other translations.

Published
Used in this video
CopyDoc
ăłăăŒ
Stop manual text updates.
Export, import, localize, and sync text, images, styles, and layouts across Figma designs.
126k+ installs
Video Transcript
Today Iâm going to be showing you how to localize or translate your Figma designs with XLIFF files using the CopyDoc Figma plugin.
The first thing we need to do, if you havenât already done so, is just jump into the Figma community and search for the word âCopyDocâ and youâll see the CopyDoc Figma plugin pop up. If you havenât already installed it, you can just click on the âInstallâ button on the right hand side here, and once it says âInstalledâ, youâre ready to go and we can jump back into our Figma file.
Iâm just using a really simple banners template in Figma, and I basically want to translate this into a different language. The way Iâm going to do that is just by firing up the Figma plugin by right clicking anywhere going down to âPluginsâ and clicking on âCopyDoc Text Kitâ, and this is going to open up the Figma plugin that we just installed a minute ago.
Iâm going to be ignoring these first options; Iâve got other videos that cover those features, but today weâre just going to be looking at a brand new feature called âLocalize Figma Textâ, and this is going to allow us to export and import XLIFF translation files to and from Figma. Iâm just going to click on the âExport/Import XLIFFâ button over here, and itâs going to give me an option to select the source language; this is the language thatâs already inside of our Figma file. Iâm just going to select âEnglishâ and Iâm going to do the âAustraliaâ variant, and for the target language, you can select the language that you want to translate the design to. In my case, Iâm just going to select⊠letâs go with Dutch. Iâm going to do Dutch âNLâ version and Iâm going to translate the âEnglish Australiaâ version currently to a new version in a moment for the âDutchâ language.
Iâm going to keep the design references, this little check box just flags if you want to export images of all the frames just as a reference for your translator to see actually what theyâre translating alongside the file, and the second option we have is just choosing what XLIFF format you want. XLIFF is a standardized file format for specifically translating strings or translating words from a Figma design or a application to a different language. Thereâs different variants of it; 2.0 is more modern, but not as supported in a lot of different translation tools. At the moment, Iâm just going to stick with XLIFF 1.2, and once youâve selected that you can go ahead and click on âExport XLIFFâ, and thatâs just going to export every single text layer in our file to an XLIFF file.
Iâm going to click on âDownload XLIFF Textâ, export and save that to my desktop, and Iâve just got a little zip file now that itâs exported. Iâm going to double click on the zip file, and Iâm going to open that up just so we can see whatâs inside. You can see here weâve got two different files, or two; one directory and one file. The first file is just the XLIFF file; thatâs the translation file with all of our text in it. Then we also have this â_framesâ folder, which contains PNG images of all of our frames from the design, as a reference for the translator.
Thereâs different software you can use to translate XLIFF files, but the simplest way would just be to open it up in a text editor or a code editor. Iâm going to open it up in Visual Studio Code, just to show you what it looks like, and edit the translations in here. This is how weâre going to localize and translate our Figma text to a different language using the XLIFF file in this case. You can see here, just to go through whatâs happening, each of these little <file> sections represent a different frame in your Figma design. You can see here each of them has an id; weâve got 1:2, 1:6, 1:10, and these correlate directly with these frame ids here; theyâre in order of the frames, so you can basically match those up if you needed to see, for example, â1:14â, you can go into your frames reference, go to 1:14, and thatâs visually representing all of the content inside of that frame.
Inside of each frame, or <file>, as itâs called in an XLIFF file, youâve got a translation unit for every bit of text; for example, in this particular use case we only have two bits of text per banner; we can see here weâve got âLotus Yoga Pantsâ and âShop nowâ, and weâve got the same text here. In each translation unit thereâs two tags; thereâs a <source> tag and a <target> tag; the source tag has already been populated by the text from Figma thatâs automatically been populated. What you need to do in your translation from Figma is copy this text, or get your translator to translate that text into this <target> field, and again you can do this using different software, but for today Iâm just going to use Visual Studio Code along with Google Translate. Iâm just going to translate that from English to Dutch, so Iâm going to jump back into my code and Iâm just going to really quickly select all of those, and pop that into the <target> field, and then Iâm also just going to translate the second bit of text weâve got here; thatâs âShop nowâ; Iâm going to copy that, Iâm going to highlight all of my âShop nowâ text and just pop that into the translation <target> and hit save.
Iâve just saved that, Iâve translated all of the Figma frames, all of the Figma text inside of each frame to Dutch, and now Iâm going to actually re-import that back into Figma. We can do that really quickly by jumping back into our Figma file and closing off this little pop-up clicking on the âLocalize Figma Textâ option again, and just clicking on the âExport/Import XLIFFâ button, and this time instead of exporting the translation, weâre going to import a translation. Underneath the text heading âImport translated text from XLIFF to Figmaâ, Iâm just going to click on my folder, jump down to the file I just saved, and Iâm going to drag and drop that from finder on my desktop into this little box here, the drag and drop box. Thatâs just loaded the XLIFF translation file into Figma, and Figma has read the file, and itâs picked up on what translations are in there. You can see here, itâs defaulted to the translated language of âDutchâ, but weâve also got access to our âAustralian Englishâ source translation there, too. If I want to translate this instantly, all I need to do is just confirm that all of the text layers are in there; it has picked up on 22 different text layers, and now Iâve got this button that I can click. Iâm just going to click on the âUpdate Figma text layers translationâ button; Iâm going to click on that, and that has gone ahead and imported all of the text.
You can see here in our Figma design that all of those text layers have been updated with the translation, and it looks like itâs translated all the Figma text layers you can see here. Obviously the text length wasnât quite right in this one, so Iâve just had to adjust that, but the rest are looking good; and if youâve got the text set to auto height or auto width, that should translate a lot better; if youâve got fixed width or fixed height Figma text layers, youâre probably going to run into some issues with sizing, because different languages will be different lengths; but in this case itâs not looking too bad.
Weâve just gone ahead and translated the text in this entire Figma design with one click, but the other thing I can do is just translate that straight back into English. I can click on the drop down again, and instead of loading in the âDutchâ text, I can load in the âEnglishâ text, and then I can click on the âUpdate Figma text layers to English translationâ button and click on that, and you can see here itâs just updated those 22 text layers back into English. Itâs itâs really quick, itâs very very efficient.
You can do this with as many files as you want, you could save out multiple translation files or localization XLIFF files from Figma; I could export another one another brand new one to âDanishâ for example, I can click on that and just re-export it from Figma, and that will re-export all the text I can translate. I can save that into my desktop, and then I would go ahead and translate that Figma text into âDanishâ and then I could again re-import that into the Figma file here using this little and drop area.
Thatâs the the basic tutorial for how you can actually go ahead and localize and translate your text layers in Figma really easily using the CopyDoc Figma plugin, with this standardized XLIFF localization format or translation format. Thereâs just a few caveats; as with any text layers in Figma, if youâre using text layers that have a font that isnât installed on the userâs machine, those text layers wonât be able to be updated using the Figma plugin. For example, if this âShop nowâ button or any of these text layers were in a font that wasnât installed, just like when youâve got that font missing normally when you go to edit the text layer, youâll youâll get that little exclamation mark with a warning saying that the font needs to be installed or substituted, and you wonât be able to edit it. Figma plugins also canât edit that font magically either, so the font does need to be installed. If you are importing translated text back into Figma and youâre wondering why some of the layers arenât updating, thereâs a very good chance that the the text layer has a font that isnât installed on that machine; you can either send it to somebody who has the font installed and get them to run the Figma plugin, or you can get the font and install it and then re-run the Figma plugin yourself, and that will also finish the translation for you. Thatâs just a really small gotcha that you might come across if youâre using the plugin to translate your Figma text layers.
Aas I said, this is a standardized translation format, so you donât have to use something like a Visual Studio Code, or a code editor, or a text editor, in fact this is probably one of the slowest methods that you could do; but this is the method that I was just using just to show you actually whatâs inside of the XLIFF translation file, and just breaking down how it actually all works.
Thatâs a rough tutorial of how you can go ahead and translate text in Figma, or localize your text in Figma in one click, essentially, once youâve got the the text from Figma translated. If you want to localize or translate your website Figma designs, translate your application Figma designs, just localize or translate a banner set in Figma, or something really simple like this, and you have a team of translators, or you just want to translate it yourself like I was doing using Google Translate and then re-importing that into Figma, this is probably the most efficient way that you can go about it. You donât need a any web application, you donât need to integrate it with any other software, itâs really as simple as importing and exporting XLIFF files via the Figma plugin. For those of you who prefer a simpler approach, rather than syncing up things and having API keys to deal with, this is an alternative method that might fit your workflow a bit better for localizing Figma text, or translating Figma text.
I hope you have some success with it, if youâve been looking to translate your FIgma designs or work with translation software and have that play nicely with your Figma designs; then give this a go, give the CopyDoc Figma plugin a go, and I hope you and your team have some success with it. Thatâs all from me today, and Iâll be back very soon with more Figma tutorials just like this one; stay tuned for those, and thanks again for watching.

Adam Brock
Founder & CEO of Hypermatic


