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.

Important Note — February 2017

The Scratch Team has transitioned to Transifex for translation instead of Pootle. We've put together a guide outlining our transition to Transifex that should help answer any questions you have. Dates to note:

  • February 6: All translations exported from pootle for import to Transifex. Any translations after this date will not be migrated.
  • February 8: All translations imported into Transifex, start using Transifex for all translations.

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, you have to sign up for a free Translator account at Transifex. Please see the Transifex Getting Started Guide for more details.

Once signed up you 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". You can join the Scratch translators Team by clicking the button on the right hand side that says “Help Lifelong Kindergarten translate content” – this will give you the ability to translate all of our projects.

Translate

After you’ve successfully signed up to help translate our projects, you can get started at any time! 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.

Placeholders

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 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 you'll 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 are 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 being 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 (translate@scratch.mit.edu) 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 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: https://www.dropbox.com/sh/5ko43g9lqs9003m/BN6u5rk6g7

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 translate@scratch.mit.edu; or, put the translated images in a Dropbox folder and share it with translate@scratch.mit.edu.

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

ScratchGSguide_v2.0_word.doc
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 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: translate@scratch.mit.edu.

  • This page was last modified on 21 February 2017, at 17:28.