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 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:
- Email Address
A confirmation code will be sent to the email account you entered, which must be used to log in the first time.
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:
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".
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, 9 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). A checkbox below, Fuzzy, allows a language administrator to mark the translation as "fuzzy".
It might be more convenient for you to 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 frequently to reflect the translations submitted to the translation server. However, you can test 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)
Translating Scratch Support Materials
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 send it to Scratch translation admin.
The translated materials will appear on Scratch Support Materials.
|Scratch 2.0 Getting Started Guide||(to be added)||This document is still being developed and not ready for translation yet.|
|Scratch Cards||(to be added)|
|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
The translated support materials for older versions of Scratch can still be accessed on this page.
The original materials to translate are available here.
Reporting Translation Issues
If you have any questions or problems regarding Scratch translation that are not addressed on this page, please write to the translation admin in Scratch Team: firstname.lastname@example.org.