This guide outlines best practices for using the Smartling Figma plugin to request translations. These recommendations are suggestions that may not fully align with your team's current use of Figma or Smartling's Figma plugin. Use these best practices as guidance and adapt them as needed for your organization.
Recommended plugin settings
- Exclude irrelevant strings: ON
- Remove all formatting before submission, this may impact the format and delivery of translated design: OFF
- Remove all invisible text nodes: ON
- Create visual context images using frames rather than the entire page. Text outside of frames is ignored: Optional, depending on the image size – 50M pixels or 25MB is the limit.
- Use short variant keys: OFF
Best practices
Keep the Figma prototype used for translation organized
Figma is a collaborative tool, and prototypes are often continuously updated by multiple team members. However, these working files are not always ideal for translation, as they may be very large and contain many pages, frames, or layers that are not meant to be translated. Whenever possible, create a clean, consolidated version of the file that only includes the content you want translated.
Keep each job small whenever possible
If possible, submit a translation request per page, especially when a page contains a large amount of content to translate. While the plugin allows you to request translation for multiple pages at once, it can negatively impact plugin performance and make managing translations more difficult.
Prepare Figma content for translation
Review the section Prepare Figma content for translation. Some important FAQ topics to highlight include:
Hard return vs. soft return
While it's not visible within Figma, using a "hard return" vs. "soft return" has a significant impact on how a string gets segmented and later translated.
If a hard return (pressing "Enter" key) is used within a text layer, Smartling will split them into separate strings. Here's an example of how using a "hard return" created segmented strings that are not suitable for translation ("Learn the basics of Figma" should be one string):
If you want to insert a line break but the string should remain as one string, use soft return (Shift + Enter) instead of a hard return. Here's an example of how a "soft return" was used correctly:
Create placeholders for strings with embedded icons or images
When strings include icons or images, it’s best to use placeholder text. This creates cleaner source strings and improves translation quality.
For example, the selected string “Select the Frame Tool…” includes an icon as part of the text:
In the Smartling CAT Tool, this string appears with extra whitespace where the icon is located. While human linguists may understand the intent, AI or MT services will not.
To avoid this, edit the Figma text layer to include a placeholder. In this example, the string would look like: "Select the Frame Tool {icon} and click and drag along the dotted line to create a new frame." This approach not only creates a cleaner source string but also makes it easier to place the icon in the correct position in the translated version.
How to bulk-exclude strings from translation + tips
You can bulk-exclude strings by selecting multiple text layers (shift + left-click) and then using the "Ignore strings" menu.
If you have multiple text layers with the same name and it’s difficult to confirm whether you excluded the correct one, click on the actual node in the "Already ignored nodes" selection. This will highlight the exact text layer in your Figma file, ensuring you are working with the right one.
Known limitations and common issues
String order does not match the Figma page layout
Because the Figma plugin is an external tool built on top of Figma, it relies on how Figma organizes and stores text data. In Figma, the order of text layers does not always match how text appears in the frame. The Smartling plugin reads and exports text data in the same way, so the string order will not always reflect the visual layout on the page. As a result, strings may appear shuffled in the Smartling CAT tool view. This is a known limitation, as string order is dependent on Figma itself.
Strings are not getting picked up for translation
First, check if text layers are part of "locked layers". Strings from locked layers are excluded from translation. Note that "hidden layers" will be included by default, so make sure to exclude strings from hidden layers if you don't want them translated.
Another common scenario is when the “text layer” is not live, meaning there is no actual text data to extract. This can happen in two cases when the text is part of an embedded image (see Example A) or when the text layer itself has been flattened (Example B).
Example A: The text is part of an embedded image. In this case, all visible text (e.g., "Bring Forward", "Bring to Front", etc.) is baked into the image.
Example B: The text layer has been flattened. Similar to other design tools, you can convert a live text layer into a shape by using "Flatten" from the menu. Please note how the "T" icon next to the live text layer changes when you flatten it.
Before
After