Translate freeCodeCamp into Russian

Hello!
My name is Aleksandra. and i’m a novice translator from Ukraine. My specialization - translate from English into Russian and Ukrainian. So… excuse me for my English:)
Can I translate your “freeCodeCamp” and use it as porfolio at Ukrainian freelance sites?
I will save all of your copyright.

As far as I know, the only existing translation of fCC is the Chinese one, freecodecamp.cn, which has… semi-official status? (Maybe @QuincyLarson can confirm?)

However, freecodecamp.cn isn’t just a translation — it’s a full-on fork of fCC. It’s based on an older version of the curriculum, with some of the content swapped out or localized. For example, there’s a “bullet screen” project, where you create a UI similar to some popular Chinese video sharing sites. Similarly, APIs that are blocked in China are swapped out for ones that aren’t.

Even assuming you want to create more of a traditional, one-to-one translation, that still won’t be elementary. None (or very little?) of the fCC codebase is internationalized, which is usually a required first step before translation. As for why this is required…

Simplified example

Repo: project/project
File: helloworld.js

alert('Hello, world!');

In order to translate this file, we need to:

  • Fork the project
  • Translate the text directly inline (hoping that the translator fully understands things like escape sequences and markup…)

So now we also have…

  • Repo: project/project-ru
  • File: helloworld.js
alert('Привет, мир!');

However, now the developers want to change the plain alert to a sweetalert, so the original file becomes:

const swal = require('sweetalert');

swal('Hello, world!');

Now, who’s responsible for updating the Russian version? If it’s the developers, this would just add a massive amount to their workload, especially with many languages. If it’s the translator, let’s hope that they copy over all the code perfectly, and also that they don’t try to translate “sweetalert”, which looks syntactically identical to the translatable string (both are in func('str') format).


Then, imagine this is in a repo with hundreds or thousands of files, many of which contain hundreds or thousands of lines of code, with many different file formats. And that’s before thinking about date and number formats, pluralization, declension, conjugation, grammatical gender, and so on.

I don’t want to dissuade you from this idea, but be aware that it will be a very large project, and much of the work will be in internationalizing the existing codebase… Unless you do the same thing as freecodecamp.cn and fork the repo without trying to keep the two codebases aligned.

Perhaps try raising the idea on the contributors Gitter channel to see if anyone’s interested in helping with the internationalization (or if it’s been tried before).

1 Like

There is an ongoing effort to translate Free Code Camp into several languages, including Russian. Your help would be appreciated, both performing translations and proofreading translation submissions by other community members.

1 Like

Just download Russian to your computer, right click, and translate to Russian or Ukrainian.