well I kept experimenting with plugins , the answer i found was Multi renamer
https://www.figma.com/community/plugin/1045498965938708372
the idea is to extract variants layer name with UID , give the list to chatgpt or deepseek since they gave me the best results compared to Gemini and other AI's , then using the plugin re-inject the list back , but verify that there are no component properties untranslated, since some properties are proper to the the parent only .
PS : in some cases when the component has too many variants like buttons for example it would faster and easier to manually translate each property and value from the properties panels to avoid freezing the Figma UI .
PS2: for descriptions use this plugin
https://www.figma.com/community/plugin/824407127671340098
PS3: for translating text inside frames use the copydoc plugin localization feature
https://www.figma.com/community/plugin/900893606648879767
Hey @Aphelion - thank you so much for your follow-up response with what you discovered as a solution. My first recommendation was to see if there was a plugin inside of our community, and I’m glad you were able to find some!
Just to check, this particular note you mentioned:
PS : in some cases when the component has too many variants like buttons for example it would faster and easier to manually translate each property and value from the properties panels to avoid freezing the Figma UI .
This pertains to when you use the plugin on only, correct? Or in general, does the property panels still run slowly even without it?
This pertains to when you use the plugin on only, correct? Or in general, does the property panels still run slowly even without it?
Hey, thank you so much for you reply and sorry for the delay, is not about this particular plugin, but in general if you try to change lot of elements at once it does freeze, and since my translation method is based on renaming to translate properties and values, the UI would just straight up stop sometimes , that's why translating manually by copy / paste is safer because the changes are made to the component itself and not the variants directly like in the first method. hope this answers your question and if you still have any question feel free to ask!
Got it, and no worries @Aphelion! This follow up was super helpful, so I’m going to send over that feedback internally. There may be a chance that somewhere down the line, there can be something we can improve the performance on how you make element changes. Thank you!
I’ll close out this topic for now since things seem resolved, but please feel free to open a new one if you have any separate concerns 😀
That’s a really good point. If you’re planning to translate the Arco Design System from Chinese to English (including component properties), the efficient way is to use a structured approach:
-
Extract JSON/Config Files – Most design systems (including Arco) store component properties, labels, and documentation in JSON or config files. Start by exporting those.
-
Use a Translation Layer/Tool – Instead of manual translation, use a multilingual tool or i18n framework that supports bulk translation for UI libraries. This ensures consistency and avoids missing any property names.
-
Automated + Manual Review – First pass can be automated (machine translation), but for design terms and dev-related terminology, a manual QA check is essential to maintain accuracy.
-
Reusable Workflow – Set up a pipeline so whenever Arco updates its components, translations can be synced automatically.
I actually have my own multilingual translation tool built for this exact purpose, which automates property translation while keeping technical accuracy intact. I noticed this discussion and thought to share, since it’s the same use case.