You do not need to worry about reading the DevOps guide. But you should definitely read the “Set up freeCodeCamp locally” guide from our contributing documentation.
Once you have that up and running on your local machine, you should be able to play with these environment variables in your
CLIENT_LOCALE displays the UI strings (Buttons, Labels, Menu Items, etc.) in a world language of your choice and
CURRICULUM_LOCALE is for the curricular content.
These translated strings are used from different locations in the codebase and hence are independent. It would help if you started by only using the
Just follow the lead of looking up
espanol in the codebase and you will get the idea of how to include
french as an available language.
Please note that before you change the variables, the translated content must be in the code repository (your local machine’s freeCodeCamp project folder) first.
To explain this better, you will notice that if you look at the directory structure here, you can see we have one directory per world language. In your case, French will not exist yet in these directories, and you will have to create that.
Normally, once we pull down the translations from our Translations tool - Crowdin, all of this will be handled automatically, but you would have to get those files there for your tinkering needs manually. You can take inspiration from Chinese and Espanol folders if you are interested.
While it’s OK that you try this in testing, please note that we require all translations to come to us via Crowdin only, meaning we will not accept PRs made by adding code to the repo directly for QA reasons.
Also, there is a similar setup for the UI strings too.
In any case the best way to translate effectively is to use Crowdin, but the above pointers should get you your own copy of the codebase running for demo purposes.
Let us know in the Contributors chat if you need further help, referencing this thread and someone will be able to help you.
Cheer & Good luck.