After a year of research, coding, and translation, I am proud to announce:

  • We've translated freeCodeCamp's curriculum into Spanish and Chinese. These are human translations by contributors from our global community – not machine translations.
  • We have all the code in place to translate freeCodeCamp into 28 other major world languages.
  • And if you are bilingual, we could use your help.

This month, freeCodeCamp quietly rolled out Spanish and Chinese versions of the core programming curriculum. You can access these from the navigation menu:

freeCodeCamp's language selection options in the new menu drop-down

And the community is working to translate freeCodeCamp into at least 28 other major world languages, too:

  • Afrikaans
  • Arabic
  • Bengali
  • Brazilian Portuguese and European Portuguese
  • Catalan
  • Czech
  • Danish
  • Dutch
  • Finnish
  • French
  • German
  • Greek
  • Hatian Creole (Kreyòl)
  • Hebrew
  • Hindi
  • Hungarian
  • Italian
  • Japanese
  • Korean
  • Norwegian
  • Persian (Farsi)
  • Polish
  • Romanian
  • Russian
  • Serbian
  • Swahili
  • Swedish
  • Thai
  • Turkish
  • Ukrainian
  • and Vietnamese

The freeCodeCamp community now has in place both the code and the processes to human-translate all of this. The UI, the lessons, the failing test and runtime error messages – everything.

freeCodeCamp's Responsive Web Design certification, shown in Simplified Chinese characters

Our goal is for people to be able to progress through freeCodeCamp without knowing any English at all. Most HTML, CSS, Python, JavaScript, and SQL syntax is in English. But we can translate everything aside from the code itself.

freeCodeCamp's interactive coding challenges shown in Spanish

Again, this is already live in production. We have fully translated the user interface, and the Responsive Web Design certification into both Spanish and Chinese. (We are still translating the remaining certifications into Spanish and Chinese and would welcome your help.)

And these aren't word-for-word translations, either. They take into account cultural differences and other nuances.

Our long-term goal is for each of these language communities to come into its own. And to that end, for each of these languages we plan to launch the following:

These Translation Tools are Like Powered Exoskeletons for our Translation Contributors

We are using a combination of GitHub and a powerful tool called Crowdin. This allows for you and thousands of other people to contribute translations without confusion or duplicate effort.

The translation landing page. The coding curriculum currently includes 310,000 words to translate into each language – a major undertaking that will take hundreds of contributor-hours per language.

And once a proof-reader (an experienced translation contributor who speaks that language) has approved your translations, they can merge them directly into freeCodeCamp's codebase, where our scripts will automatically deploy them to production.

The Crowdin translation interface – translating the curriculum sentence-by-sentence. Crowdin gives translation contributors a wide range of tools, including machine translation suggestions.

The freeCodeCamp Localization Roadmap – There Are No Speed Limits

It may take years to entirely translate the curriculum into all 30 of these languages. But we can roll out each certification as it is fully translated into each language.

We've already finished the up-front work of integrating all these tools and pipelines. So each language community can translate as quickly as they want. They won't have to wait on anyone. It all comes down to how much time they can invest in translating.

We have seen that it's possible for just a handful of translation contributors to fully translate a certification in a few months.

Here is how we're handling these remaining 28 languages:

  1. Anyone can sign up to contribute translations
  2. We will promote the most active translation contributors to Proof Reader status, so that they can approve other contributors' translations as well.
  3. Once an entire certification has been both translated and proof-read, we can deploy it to freeCodeCamp.org/[language] and people around the world will be able to start learning to code using that world language.

How to Get Involved in the Translation Effort

Here's how you can get started contributing to the translation effort:

  1. Read our contributor documentation at contribute.freecodecamp.org. It is in-depth. We have already started translating this documentation into various world languages, as well.
  2. Sign into our translation tool at translate.freecodecamp.org. You can sign in using your existing freeCodeCamp account.
  3. Join the contributor chat room on our new chat server. It's like Slack or Discord, but more privacy-minded. You can sign in using your existing freeCodeCamp account. Be sure to introduce yourself there. You can ask any questions you may have, and get to know other translation contributors.

A Big Thank-you to All of our Translation Contributors So Far.

I'd like to close by thanking some of the kind human beings who've dedicated time and energy over the past few months translating the freeCodeCamp curriculum into Spanish and Chinese. Their work is just beginning, as they still have more certifications to translate, and even more certifications in development.

If you are bilingual and interested in contributing to our translation effort, I will look forward to one day adding you to this list. 👍

Spanish Team

Chinese Team