Translating the site and tutorials

The majority of our translations are done through CrowdIn, a localization management platform. It is free to join and any volunteer can immediately contribute to the project by providing translations. There are currently three projects open for translations:

Please complete translations for these projects in the above order of priority. If you have completed translations (at least 75% of the project is complete) and do not see your language in the drop down menu, please send a report to translations@code.org.

What do I translate first?

  1. Please translate our Hour of Code tutorials.
  2. Then translate the Code.org homepage. Search for homepage in the pegasus/mobile.yml file in the Code.org project.
  3. Then translate the hourofcode.com/learn Hour of Code activity page.
  4. Translate the HourofCode.com homepage by completing the hourofcode.com homepage file in the Hour of Code project.

Where can I find context for Code Studio tutorial translations?

If you have more time, complete the project in the following prioritized order.


Code.org homepage and Hour of Code tutorial

(context: Code.org, Hour of Code)

  1. pegasus/mobile.yml - search for "homepage"
  2. dashboard/data.yml - instructions for levels 1-15, search for "maze_2"
  3. dashboard/instructions.yml - instructions for levels 16-20, search for "Scrat"
  4. dashboard/scripts.yml - for the script name and description, search for "Hour of Code"
  5. blockly-core/core.json - shared blockly strings between puzzles
  6. blockly-mooc/common.json - shared blockly strings between puzzles
  7. blockly-mooc/maze.json - for the remainder of maze related blocks


Other Hour of Code tutorials

(context: Frozen, Infinity Play Lab, Play Lab, Artist, Flappy)

  1. dashboard/instructions.yml
    • search for "Frozen"
    • search for "Infinity"
    • search for "Standalone_Artist"
  2. dashboard/scripts.yml
    • search for "Frozen"
    • search for "Infinity"
    • search for "script -> name -> artist"
  3. dashboard/data.yml
    • search for "studio_playlab"
    • search for "flappy"
  4. blockly-mooc/turtle.json - for artist levels
  5. blockly-mooc/studio.json - for play lab levels
  6. blockly-mooc/flappy.json

And, Star Wars will be coming soon for translation.


Computer Science Fundamentals courses

(context: Accelerated Course, Course 1, Course 2, Course 3, Course 4)

  1. dashboard/data.yml - search for "instructions" for the Accelerated Course
  2. dashboard/instructions.yml
    • search for "K-1" for Course 1 instructions
    • search for "2-3" for Course 2 instructions
    • search for "4-5" for Course 3 instructions
    • search for "Course 4" for Course 4 instructions
  3. dashboard/scripts.yml - for the course titles, descriptions, and stage names
  4. dashboard/data.yml - Accelerated course stage names and callouts
  5. dashboard/dsls.yml - Assessment levels like multiple choice and matching
  6. dashboard/slides.yml - Abridged video transcripts
  7. dashboard/unplugged.yml - Titles and descritions of unplugged activities


Remaining Files

  1. The rest of pegasus/mobile.yml
  2. dashboard/base.yml - Code Studio strings
  3. dashboard/devise.yml - Account related strings
  4. blockly-mooc/bounce.json - context: Bounce
  5. blockly-mooc/jigsaw.json - context: Jigsaw

How to Use CrowdIn

Watch the demo video in full screen.

Strings that may still change

Course 4 is still in Beta, so the instructions may still change as we prepare to release it. If you've completed all other translations, you can save these translations for last. We recommend that you still complete them and approve them as they are, and if changes are made then they will be mark as "unapproved" so that you can review and update the translation, if needed.

How translations are selected

Members of the project are either a translator or proofreader. A translator can provide translations, while a proofreader can both provide translations as well as select the best translation to be used on the site.

The final translation that appears on our site is selected as follows:

  1. A proofreader selects the best translation.
  2. If there is no translation selected by a proofreader, translators vote on the best translation and the translation with the most votes is selected.
  3. if votes are tied, the most recent translation will be selected.

Translate Khan Academy coding tutorials to Spanish and Portuguese

Click here to also help Khan Academy translate their tutorials to Spanish and Portuguese.