Interested in how localization works in MakeCode? Watch this video for an overview of the process.
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.
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.
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:
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:
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: