Revision as of 07:42, 31 October 2019 by Jammum (talk | contribs) (→‎What Not to Translate: fixed typo)

Document stub.png This article or section may not have content matching Scratch Wiki editing standards. Please improve it according to Scratch Wiki:Guidelines and Scratch Wiki:Editing Conventions. (Date?)

The Scratch programming language and website has been translated into more than 60 languages with the help of volunteer translators from all over the world. There are lots of languages that have not been translated yet, including over 40 that volunteers have started to translate, but need more help to finish. Also, existing translations could be improved and all of them will need ongoing support as Scratch is continued to be updated.

Anyone interested in translating Scratch can find information on how to help here.

Translating Scratch 3.0

Scratch 3.0 was released in January 2019 and as of October 2019 is available in 60 languages. Translators can learn about how to translate Scratch here: [1]

If someone was involved in previous translation efforts (e.g. with 2.0), they will automatically have permission to translate Scratch 3.0 in Transifex.

New content has been added to the Scratch Editor project. To be added to the languages menu of the Scratch 3.0, a language must be fully translated and reviewed. Newly translated languages will be added approximately once a month.

What about the offline editor?

The Scratch offline editor is available in 3.0 as Scratch Desktop.

How does this affect the website?
The current website projects scratch-website and scratch-legacy/web should continue to be translated, and they will be updated monthly. The changes to these projects will be incremental, as they have been for the past couple of years.
What about the Scratch 3.0 Tutorials?
Scratch 3.0 has a new tips system with short videos and step-by-step how-tos. When the videos have reached a final form, we'll make them available for translating subtitles on transifex in the 3.0 Scratch Videos project.
What shouldn’t be translated now?
The Scratch 3.0 editor will have a new tips system and updated activity cards. Thus, we recommend waiting to create images of the Scratch blocks or interface.

Any other questions? Please contact

Translating Scratch Interface and Website

The Scratch program and website are translated using the Transifex service. It lets registered translators suggest and edit the translations. The submitted translations are licensed under The MIT License.

Registration and Log in

To translate part of Scratch interface or website, one must sign up for a free Translator account at Transifex. See the Transifex Getting Started Guide for more details.

Once signed up, one can return the list of all the Scratch translation projects – the ones specifically related to the Scratch website are called "Scratch Website" and "Scratch Legacy Website". The Scratch translators Team can be joined by clicking the button on the right-hand side that says “Help Lifelong Kindergarten translate content” – this will give one the ability to translate all projects there.

What Not to Translate

These words are not to be translated as they are trademarks and formal names:

  • Scratch
  • ScratchJr
  • Scratch Foundation

"Scratch Day" and "Scratch Conference" may be translated (not the Scratch parts), for example, "Journée Scratch" in French. If there is no good equivalent, keep them in English.

The following character names in the Library should not be translated:

  • Gobo
  • Pico
  • Tera
  • Nano
  • Giga

The term "Scratcher" is specific to users registered on the Scratch site and probably should not be translated. If someone wishes to make an exception, they should start a discussion on Transifex to discuss about it.


After someone successfully signs up to help translate projects, they can get started. The Transifex web editor guide has more information on how to translate online. There is also a guide for translating offline if you prefer that.


In some of the strings to translate you'll see placeholders for things filled in with values dynamically. For example, variable names, message names, numbers, strings etc. When there is only one placeholder in a string it can go anywhere in your translated string. However, if there are multiple placeholders, they must stay in the same order.

For example, the variable command 'change %m.var by %n', must have %m.var before %n. If the order of the placeholders gets switched it will cause problems in the editor when a user tries to use that block.

Offline Translation

It is recommend that translators translate directly on the Transifex server, as it provides suggestions from others and warns of possible errors. However, if prefer, you can translate offline.

Testing Your Translation

Testing a translation for Scratch interface.

The Scratch 2.0 website will be updated every month to reflect the translations submitted to the translation server. However, you can test (preview) your Scratch interface translation directly by doing the following:

Shift+Click the language menu in the Editor, and one will get "import translation file" at the top of the language menu. Download the editor-full file for your language from the Scratch Legacy project. Make sure to name the po file using the language code (e.g. ar.po, pt_BR.po)

What to Translate First

The most important thing to get translated is the Scratch Editor (including the blocks) - the editor-full resource in the Scratch Legacy Project. They need to be almost completely translated and reviewed before the Scratch Team will add the language to the languages menu.

After the blocks and editor, it's important to make sure that the home page and general navigation of the website are also translated. These items have been marked as high priority within Transifex, look for a yellow caret (^) icon to the left of the name.

Adding a language to the Languages menu

To add a new language to the Scratch languages menu important parts of the site must be completely translated and maintained at a high level. The high priority areas and goals for translation include:

  • Editor
    • Blocks and interface (Scratch Legacy - editor-full) [100% for new language/90% to maintain]
    • Getting Started Tutorial [100% for new language/90% to maintain]
  • Navigation Bar (at top of site) – [100% for new language/90% to maintain]
  • Footer – 100%/90%
  • Home page – 100%/90%
  • Community Guidelines page – 100%/90%
  • Registration flow – 100%/90%
  • Email Verification – 100%/90%
  • Downloads page – 100%/90%
  • Contact Us page – 100%/90%
  • Explore page – 100%/90%
  • Search page – 100%/90%
  • Studios page – 100%/90%
  • Projects page – 100%/90%
  • Comments – 100%/90% (not the actual comments themselves though)
  • User Profile page – 100%/90%
  • MyStuff page – 80/50%
  • Account Settings page – 80/50%

Where a whole resource needs to be translated/maintained we will mark it high priority in transifex. Individual strings within a resource will be marked with the priority tag if they need to be translated/maintained.

When the required translations are mostly complete, contact the translation admin on the Scratch Team ( to start the process of adding the language to the menu.

NOTE: The Scratch Team is transitioning to this system. Our goal is to make it easy for translators to find the high priority strings to translate, but many of the items above are not yet tagged. We are not expecting you to find and translate high priority items if we have not yet tagged them. Over the next few months, we will be tagging items and adding context to make it easier to translate. Translators will have time after new requirements are added to translate them if they're not already translated. We also welcome your thoughts and feedback, and encourage you to start discussions in the Scratch translators team forum.

Translating Scratch 1.4

An alternative if you are not able to translate the number of required phrases is to translate the offline editor for Scratch 1.4 (the previous version of Scratch). Scratch 1.4 allows you to customize the version installed on your computer with additional languages. To do this, download Scratch 1.4, and install it on your computer. Create a new .po file in the Scratch 1.4/locale folder, using the two-letter ISO language code that corresponds with your language if possible. Using one of the other .po files in the locale folder as an example, provide the translations for your language in the new .po file.

Scratch 1.4 will automatically load all the languages in the locale folder. You can also change the default language. Instructions are provided in the README file in the Scratch 1.4 folder.

Translating Scratch Support Materials

Note that with the release of Scratch 3.0 in August 2018 there were new versions of support materials. As the Scratch help system and blocks images were changed, we recommend that you translate support materials such as the Tips, Activity Cards and Educator Guides.

Reporting Issues

If you have any questions or problems regarding Scratch translation that are not addressed on this page, please write to the translation admin on the Scratch Team:

Cookies help us deliver our services. By using our services, you agree to our use of cookies.