How to Translate Scratch

The Scratch programming language has been translated into more than 40 languages with the help of volunteering translators from all over the world. However, parts of the Scratch interface and website in many languages are still missing translations, and some translations might have glitches — If you have experience with some language, you can help the Scratch Team and other translators in completing the translations and correcting any mistakes.

Translating Scratch Interface and Website

The Scratch program and website are translated using the Scratch translation server, which runs on Pootle. It lets registered translators suggest and edit the translations. The submitted translations are licensed under The MIT License

Registration and Log in

The register page.

To translate part of Scratch interface or website, you have to register first for a translation account. When an account is created, you will be asked to provide the following information:

  • Username
  • Email Address
  • Password

A confirmation code will be sent to the email account you entered, which must be used to log in the first time.

If you would like to be notified when there is new content to be translated, please join the scratch-translators mailing list.

Setting Preferences

Once your account has been created, you can set different aspects of your account in "My Account" page. These include:

In this section you can set your name and email. Your name will appear later in the credits page.
In this section you can set the following:
  • The viewing options for the translate interface.
  • Languages: Choose what languages you are fluent in and will be translating to; multiple options can be selected by Ctrl + click (Windows).
  • Projects: The projects you want to contribute a translation for. Multiple options can be selected by Ctrl + click (Windows). The following projects will be listed:
  • Scratch 2.0 Blocks
  • Scratch 2.0 Editor
  • Scratch 2.0 Website
  • Scratch TIps Window
  • Scratch 1.4
    Warning Note: Scratch 1.4 is no longer being updated, so please don't add new translations.


After creating an account and logging in, you can start translating! In the dashboard on your account page, you can choose, from your personal list of languages and projects, what to start translating. Click on a language or a project. From the language name you will be taken to the list of projects in that language. It displays a table with information about each project:

  • Name — the name of the project
  • Progress — shows a graph of how much is translated — hovering over the graph shows the percentage of how much has been translated
    • Green — translated
    • Brown/Dark Red — needs review
    • Red — untranslated
  • Summary — how many words are untranslated or need review
  • Total Words — total amount of words that exist to be translated
  • Last Activity — the most recent update along with the user who updated it

Clicking on a project from here or from your account page brings you to a page similar to the language's page, but only lists the current project's statistics. In the "Name" section, it displays a link to the translate sheet, "[lang].po".


A translation interface.

Once in the [lang].po file, you can suggest translations. A language administrator appointed by Scratch Team can approve and submit translations directly. If you notice that your suggestions are not being submitted, maybe a language admin is not selected yet. If you think you have enough experience with the language, you can contact Scratch Team to assign you as a language admin.

By default, nine English strings are displayed on the page in one column, and the translation in another column. Clicking on the line number on the left side of a row expands that row to show a box to suggest (and approve, if a language admin) a translation.

The original string will have a black border around it, and the translation will be in an edit box similar to a comment box. Around the translation, six buttons and links are listed: Previous, Add Comment, Next, Copy into translation, Suggest, and Submit. Previous skips to the previous string; Next skips to the next string; Copy Into Translation copies the original into the edit box; Suggest suggests a translation which will be shown when others want to translate that string; Submit saves the translation (this button will appear only for language administrators).


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

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

You can download a po file that contains the current strings to be translated using the "Download" link in the review page of each project (check this page for example). You can open the .po file and edit it using a text editor or a program like Poedit.

If you open the po file using a text editor, the translations should be placed within the quotations next to the msgstr strings.

When you're done, you can upload the file through the overview page of the project you have translated. Make sure to choose the right option for the upload:

  • Overwrite the current file if it exists
  • Merge the file with the current file and turn conflicts into suggestions
  • Add all new translations as suggestions

Testing Your Translation

Testing a translation for Scratch interface.

The Scratch 2.0 website will be updated every 3 weeks 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 you'll get "import translation file" at the top of the language menu. You can then upload a po file that contains the translation strings for both: the blocks and the editor. Make sure to name the po file using the language code (e.g. ar.po, ja_HIRA.po) (See instructions for downloading the po file, above.)

What to Translate First

The most important things to get translated are the Scratch Blocks and Scratch Editor. 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 the editor, it's important to make sure that the home page and general navigation of the website are also translated. You can find most of these strings by searching for splash and general within location. The community guidelines are also important. Those can be found by searching for ".guidelines" within location.

Adding a language to the Languages menu

When the Blocks and Editor projects are mostly complete, contact the translation admin on the Scratch Team ( to start the process of adding the language to the menu.

Next Priorities

We like translators to give priority to translating elements that are going to have the most impact on a new user coming to the Scratch website. After the first priority sections above are complete, here are others to work on next.

  • Tips Window: Getting Started Guide - search for "get-started" in location
  • Website: commenting - search for ".comment" in location
  • Website: registration and email confirmation - search for ".registration" in location
  • Website: contact us - search for ".contact-us" in location
  • Website: frequently asked questions - search for ".faq" in location

Translating Scratch Support Materials

Scratch Tips Window

Searching for tips to translate
The tips window.

Text for Tips Window

The tips window offers tips and tutorials within the Scratch editor. The tips window can be translated using Scratch Tips Window project on the translation server.

  • If you're doing the translation using the online interface, you can search within the Scratch website area for the word "tips" in the Search box (at the bottom of the screen), with the "Location" box checked.

Images for Tips Window

You translate the images that appear in the tips window following these steps:

1) Download the English images from the Dropbox folder:

2) Make your own version of each image that needs translating (only some images have text).

  • Make a screenshot in Scratch that is equivalent in your language.
  • Use an image editor program to make the image size the same, if possible - but no wider than 291 pixels.
  • If it's an animated gif, you can either provide a static image instead, or make an animated gif (see below).

3) Save your translated images using the English file names, but in your own folder. (The image extension can be png, jpg, or gif).

4) Send translated images to; or, put the translated images in a Dropbox folder and share it with

Animated GIFs for Tips Window

1) Make a screen recording of dragging the blocks (for example, using Camstudio on Windows or Quicktime on Mac).

2) Import that movie into a GIF creating program (such as Photoshop, GIMP, Gifcam, or GIFBrewery).

Scratch 2.0 Support Materials

The table below shows various Scratch support materials that are available for translation. After completing the translation of any of them, you can generate a PDF version and email it to Scratch translation admin.

The translated materials will appear on the Scratch Help page for that language.

Item Translation File Notes
Scratch 2.0 Getting Started Guide scratchgsguide_v2.0_en.indd

Scratch Cards Scratch_Cards_v2_AI_Files Use PlayHouse font for the titles, and TheSerif_SemiBold_Plain and TheSerif 6-SemiBold for text in the boxes. All of those fonts are free to download from the Internet.
Scratch 2.0 Preview video video timed captions Download the captions file, open it with a text editor and replace the English text with the translations.

This video appears on About Scratch page.

Older Support Materials

You can access translated support materials for older versions of Scratch here: Scratch Support Materials.

Reporting Translation Issues

Please check this document before reporting any Scratch translation-related issues. The document lists some of the known translation issues, including vocabulary in Scratch Editor that is not translatable yet.

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:

  • This page was last modified on 9 October 2016, at 00:17.