-
Notifications
You must be signed in to change notification settings - Fork 2
Translation Guide
Thank you so much for your interest in translating FreeCodeCamp. Reading this document is recommended for participating in a collective effort to bring FreeCodeCamp to more and more people all around the world.
There are various ways in which you can contribute collaboratively to the translations. Every translation effort usually follows the workflow below.
Pro tip: You can contribute to any or all of below phases in the work flow as per your interest.
- Discuss in language specific Translations Chat Rooms.
- Review the work of another translator.
- Create
Translation
issues to track the progress. - Implement Translations.
- Create Pull requests to add the Translations to code base
- Try not to be too formal yet not too casual, just to keep things friendly.
- In order to make contents more understandable for native speakers of your target language (think of those who don't speak English), translate as much as you can, try to use a word in English only if it is already widely used in the countries where your target language is spoken.
It is efficient if all the translators working on the same language create a glossary showing the translation of words in English employed in FreeCodeCamp's challenges. Sometimes there is more than one way of translating some terms, and regional differences might create confusion (for example, some terms might differ between Spanish from Spain and from Latin America, or between the French language employed in Canada and in France). Be democratic! Choose the most appropriate translation by voting and keep a record of the results. One example of such record can be found here: FreeCodeCamp Glossary (English to Spanish) Use the chat room for discussing the glossary, so no one will miss anything.
You may find help automating the translation process by employing the Google Translator Toolkit, please see: Spanish guide
Seeing the final product as you advance with the translation can help you to stay motivated. That's why it is a good idea to create a test instance of FreeCodeCamp where you can include the most recent changes of the translation of the language you're working on and use FreeCodeCamp including those changes. The following test instance was created for the Spanish version of FreeCodeCamp: Map In order to create a test instance, go through the following steps:
- Verify with the other translators of the same language you're working on if a test instance has been created before
- Follow the instructions of Contributing page be sure you can see a running instance in English
- Follow the changes shown in this commit but instead of
descriptionEs
andnameEs
use the keys of your language (e.gdescriptionFr
andnameFr
)
- Documentation of the source code of FreeCodeCamp.
- Pull Request Contribute
- Help files for translating FreeCodeCamp's challenges and indications using Google Translator Toolkit.
If you find it useful, you can translate these instructions to your language and adapt them for your translation team (see for example, original in Spanish.)
This guide is based on this writeup.
Learn to code and help nonprofits. Join our open source community in 15 seconds at http://freecodecamp.com
Follow our Medium blog
Follow Quincy on Quora
Follow us on Twitter
Like us on Facebook
And be sure to click the "Star" button in the upper right of this page.
New to Free Code Camp?
JS Concepts
JS Language Reference
- arguments
- Array.prototype.filter
- Array.prototype.indexOf
- Array.prototype.map
- Array.prototype.pop
- Array.prototype.push
- Array.prototype.shift
- Array.prototype.slice
- Array.prototype.some
- Array.prototype.toString
- Boolean
- for loop
- for..in loop
- for..of loop
- String.prototype.split
- String.prototype.toLowerCase
- String.prototype.toUpperCase
- undefined
Other Links