Eng: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
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:
 * Profile
 * In this section you can set your name and email. Your name will appear later in the credits page.


 * Settings
 * 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 Note: Scratch 1.4 is no longer being updated, please don't add new translations

Translate
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: 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".
 * 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

Editing
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).

Offline Translation
We recommend that you translate directly on the translate.scratch.mit.edu 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
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.

Adding a language to the Languages menu
When the Blocks and Editor projects are mostly complete, contact the translation admin on the Scratch Team ([mailto:translate@scratch.mit.edu translate@scratch.mit.edu]) to start the process of adding the language to the menu.

Scratch 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 [mailto:translate@scratch.mit.edu translate@scratch.mit.edu]; or, put the translated images in a Dropbox folder and share it with [mailto:translate@scratch.mit.edu 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 [mailto:translate@scratch.mit.edu send it to Scratch translation admin].

The translated materials will appear on Scratch Support Materials.

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: [mailto:translate@scratch.mit.edu translate@scratch.mit.edu].