Help translate

Translations of text in the editor, in blocks, and documentation managed by Crowdin, a translation management platform. It is free to join and you can volunteer to translate parts of the web site. Translation into different languages is done by the work of people all over the world who volunteer to help MakeCode be accessible to as many people as possible.

Interested in how localization works in MakeCode? Watch this video for an overview of the process.

Help translate

Looking to help translate the site for microbit.org? Try http://translate.microbit.org/ to help the Microbit Foundation!

Localized MakeCode

Text, or strings, used in the editor and documentation pages are localized into the current language for the editor (you switch languages by choosing Language in the Settings menu). Text is continually being added or changed so translations are always at a different stage of completeness. MakeCode text content is stored in files on Crowdin in English. Translators choose their language in the MakeCode Crowdin project and work on the files for the editor they want to translate for.

Want to help?

Good! A description of the process and general guidance is found in the Microsoft MakeCode translation page to help you get started.

Crowdin files for micro:bit

The MakeCode for micro:bit editor uses some core translation files for it’s interface, basic blocks, and documents which are common to all of the editors (they are also described in the general translation page). There are many more string files and documents that are specific to the micro:bit editor.

When you select your language from the MakeCode project home page, you’ll find all of the localization files for MakeCode shown in a folder tree. The strings to translate for the micro:bit are found in the files under the microbit folder for the current language.

microbit strings files

Localization files are present in two different forms, JSON and markdown. The JSON files (those you see with the .json ending in their names) contain localizable strings related to both the editor UI and the text shown on the programming code blocks. All of the markdown files (those with .md at the end of their names) are documents for reference, projects, tutorials, help information, etc.

The files listed in the following sections provide a guide to how each of the translation files and folders relate to the MakeCode for micro:bit editor. The links here are to the English source files just to show you the location of the files in the folder structure. Of course, you will translate in your selected language instead.

Editor

There a a few files that are specific to the MakeCode editor itself. These contain strings for the editor UI and the simulator. They are essential to translate and should be prioritized before the other files.

File Description
strings.json Common strings that shared by all MakeCode editors. Note: This file is located at the MakeCode project’s root folder rather than under microbit
target-strings.json Strings custom to the micro:bit editor interface
sim-strings.json Strings for the micro:bit simulator


This is an example of the editor with it’s interface elements localized:

Translated editor elements

Blocks

The strings for the programming code blocks all have names in the form of ‘name-strings.json’ and ‘name-jsdoc-strings.json’. The name part of the filename often refers to which set of blocks or the extension tht the blocks come from.

File Description
core-jsdoc-strings.json Description text for code elements of the basic and core blocks. Note: this file contains strings for the fundamental set of coding blocks and should be prioritized over the other strings files for blocks
core-strings.json Display text for the basic and core blocks. Note: this file contains strings for the fundamental set of coding blocks and should be prioritized over the other strings files for blocks
radio-jsdoc-strings.json Description text for code elements of the radio blocks
radio-strings.json Display text for the radio blocks
radio-broadcast-jsdoc-strings.json Description text for code elements of the radio broadcast blocks
radio-broadcast-strings.json Display text for the radio broadcast blocks
servo-jsdoc-strings.json Description text for code elements of the servo blocks
servo-strings.json Display text for the servo blocks
bluetooth-jsdoc-strings.json Description text for code elements of the bluetooth blocks
bluetooth-strings.json Display text for the bluetooth blocks
devices-jsdoc-strings.json Description text for code elements of the connected devices blocks
devices-strings.json Display text for the connected devices blocks
flashlog-jsdoc-strings.json Description text for code elements of the flashlog blocks
flashlog-strings.json Display text for the flashlog blocks
datalogger-jsdoc-strings.json Description text for code elements of the datalogger blocks
datalogger-strings.json Display text for the datalogger blocks
jacdac-jsdoc-strings.json Description text for code elements of the jacdac blocks
jacdac-strings.json Display text for the jacdac blocks
color-jsdoc-strings.json Description text for code elements of the color blocks
color-strings.json Display text for the color blocks
microphone-jsdoc-strings.json Description text for code elements of the microphone blocks
microphone-strings.json Display text for the microphone blocks
settings-jsdoc-strings.json Description text for code elements of the settings blocks
settings-strings.json Display text for the settings blocks


Here are some examples of translated blocks:

Translated block text

Document pages

Document pages contain the text for any markdown page available on the MakeCode editor site. These include code block reference, projects, tutorials, how to information, etc.

File Description
docs Documentation pages for projects, courses, lessons, and code block reference
libs Documentation pages for code block reference and other information related to built-in extensions like servo and datalogger


Here’s an example of a translated document page for a course lesson:

Translated document page