The in-context translation has been removed temporarily as translation infrastructure is being updated. We aim to re-add this feature in a future update.
We use a localisation management platform called Crowdin for translation of CS Unplugged. The project is public, meaning that anyone can create an account and contribute translations.
There are 3 types of files that contain translatable content:
- Content Markdown files
- Content YAML files containg translatable model strings
django.pofile containing translatable system strings
Translatable source files must always reside under an
en directory tree.
Translated files are downloaded into a directory named with the language’s
locale code, and with the same structure as the source tree.
The locale code differs from the language code in format - where a language
code is of form
ab-cd, the locale code will be
ab_CD. Directories must be named
using the locale code recognised by django for that language.
For more information, see
The configuration specifying which files should be uploaded for translation is stored in the file
.arnold.yaml in the repository root.
Details about the structure of this file are available within the Arnold repository.
For a translation of any given string to make it to production release, it must pass the following stages of review:
- (Crowdin) Translation Proofread - Review by a second translator with ‘proofreader’ status in the target language.
- (GitHub) Technical Review - Review by a member of the CS Unplugged technical team to catch technical errors (i.e. with Verto tags, links, Markdown syntax etc). Automated testing on travis will also occur at this stage.