Skip to content


Subversion checkout URL

You can clone with
Download ZIP
SilverStripe project to convert the old $lang format to YML
Branch: gl-uploader
Pull request Compare This branch is 1 commit ahead of master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Translation Process


SilverStripe contains language files for user-facing strings (see i18n). These are stored in YML format, which is fairly readable, but also sensitive to whitespace and formatting changes, so not ideally suited for non-technical editors.

Note: Until SilverStripe 3.0, we used a PHP storage format. This format is now deprecated, and we don't provide tools for editing the files. Please see below for information on how to convert these legacy files and existing translations to YML.

Collecting translatable text

As a first step, you can automatically collect all translatable text in your module through the i18nTextCollector task. See i18n for more details.

1. Convert lang files from PHP to YML

All modules: sake dev/tasks/i18nYMLConverterTask Single module: sake dev/tasks/i18nYMLConverterTask module=<mymodule>

2. Create account

3. Import master files

On the "Files" tab, you can choose "Import from SCM", and connect getlocalization to your github account. Alternatively, upload the en.yml file in the "Ruby on Rails" format.

4. Import translations

While you can do this through the UI, it can get a bit tedious uploading 50+ files.

Conversion from 2.4 PHP format

The conversion from PHP format to YML is taken care of by a module called i18n_yml_converter.


Translators have their own mailinglist, but you can also reach a core member on IRC. The interface has a built-in discussion board if you have specific comments on a translation.

Something went wrong with that request. Please try again.