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:
- Localized publications. Here's the Spanish publication and here's the Chinese publication.
- Localized YouTube channels. Here's the Spanish YouTube channel and here's the Chinese YouTube channel. Each of these have at least one full-length course, and we'll publish more soon. So be sure to subscribe.
- Localized subforums. Here's the new Spanish forum. And here's the Chinese forum.
- Localized Twitter accounts for sharing updates. Here's the Spanish Twitter and the Chinese Twitter. We will share tons of useful resources on each of these accounts, so be sure to follow them on Twitter.
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.
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 and introduce yourself in the "start here" room. You can then join a language-specific room and speak your native language.
Some of our Discord chatrooms for the global localization effort
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.
We use Ghost, a powerful open source CMS, for our publication. This screenshot is our Spanish publication.
For each language, we have a big Trello board where we have the articles we'd like to prioritize.
A Trello board we use to coordinate our Korean translation effort
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. 🌏🌍🌎
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. 👍