The freeCodeCamp community has been hard at work translating our 9,000+ tutorials into many world languages.

Quality is everything. So instead of relying on machine translation, we are doing this entire process by hand.

Dozens of native speakers are collaborating to make these free learning resources accessible to more people around the world.

Over the past two years, we've experimented with different approaches to this massive task. And I'm happy to announce that we have converged on some really efficient workflows.

The freeCodeCamp Localization Process

For each language, our goal is to:

  1. Translate the most popular English tutorials into each world language, then publish them on the corresponding publication. For example, the Chinese publication now boasts more than 800 tutorials.
  2. Then once we've made progress with that, we'll shift gears to focus on translating the core freeCodeCamp curriculum. For example, the entire curriculum is now available in Portuguese. (You can switch languages from the menu button.)
  3. Finally, we will launch YouTube channels for each of these languages. The Spanish YouTube channel has been a big success, and already has more than 100,000 subscribers.

We have already made significant progress with the following world languages:

  • Arabic
  • Bengali
  • Chinese
  • German
  • Hindi
  • Italian
  • Japanese
  • Korean
  • Portuguese
  • Spanish
  • Swahili
  • Turkish
  • Ukrainian
  • Urdu

And we eventually hope to support dozens of other languages as well.

How to Translate freeCodeCamp

If you are interested in contributing, here's how you can get involved.

Step 1: Fill out this Google form.

Step 2: Join the freeCodeCamp Official Discord, visit the "start-here" room, and follow the instructions there.

An arrow pointing to the start-here room in freeCodeCamp's Discord server

Note that Discord has a couple of verification steps you will need to complete.

If you see a message at the bottom of Discord that says "You must complete a few more steps before you can talk", click the "Complete" button, then read and agree to our community rules to finish the onboarding process.

Alternatively, if you just created your Discord account, you might need to wait up to 5 minutes to send messages. (This is an anti-spam counter-measure.)

You will get an email from a Language Lead within a few days

We have Language Leads for each world language. Depending on which language you want to contribute to, you will receive an email from one of them to learn a bit more about you and your goals.

They may give you access to the freeCodeCamp publication, where you can start translating articles.

The Ghost dashboard for the Spanish publication.
We use Ghost, a powerful open source CMS, for our publication. This screenshot is our Spanish publication.

Here is a list of some of our active GitHub project boards where we have the articles we'd like to prioritize. Eventually we'll add more languages.

A directory of GitHub project boards for the Chinese, Portuguese, Spanish, Japanese, Ukrainian, Italian, and Korean News translation efforts.
A list of all the GitHub project boards for languages we're actively translating News articles for.
The Spanish GitHub project board listing articles we're prioritizing translating.
The GitHub project board we use to coordinate our Spanish translation efforts.

Let's Make freeCodeCamp Accessible to Everyone Around the World

This is a massive undertaking, and it will take many years. But the community has already made some concrete steps toward realizing this goal.

Please join us as we make these free learning resources more accessible to people around the world. 🌏🌍🌎

Happy coding.