Browse files

MINOR Updated docs with instructions

  • Loading branch information...
1 parent 523c19e commit 7e222393ea43a2a5ffe892050c74da860230f8ab @chillu chillu committed Apr 27, 2012
Showing with 79 additions and 7 deletions.
  1. +6 −7 docs/en/misc/
  2. +72 −0 docs/en/misc/
  3. +1 −0 docs/en/topics/
@@ -245,14 +245,13 @@ The [sapphiredocs]( mo
## Translating the User Interface
The content for UI elements (button labels, field titles) and instruction texts shown in the CMS and
-elsewhere is stored in the PHP code for a module (see [i18n](/topics/i18n)). All content can be extracted as a "language file"
-which is then uploaded to []( This website provides
-an online editor for translators (like you!). Every now and then, translations will be merged back into
-the codebase from there, and released alongside other PHP code.
+elsewhere is stored in the PHP code for a module (see [i18n](/topics/i18n)).
+All content can be extracted as a "language file", and uploaded to an online translation editor interface.
SilverStripe is already translated in over 60 languages, and we're relying on native speakers
-to keep these up to date, and of course add new languages. Please [register](
-a free translator account to get started, even if you just feel like fixing up a few sentences.
+to keep these up to date, and of course add new languages.
+Please [register](translation-process) a free translator account to get started,
+even if you just feel like fixing up a few sentences.
+See [our translation workflow](translation-process) for more details.
## Related
@@ -0,0 +1,72 @@
+# Translation Process #
+## Overview ##
+SilverStripe contains language files for user-facing strings (see [i18n](/topics/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.
+## Help as a translator
+### The online translation platform
+We are managing our translations through a service called
+Most modules are managed under the "silverstripe" user there,
+see [list of translatable modules](
+If you don't have an account yet, please follow the links there to sign up.
+## Set up your module for localization
+### Collecting translatable text
+As a first step, you can automatically collect
+all translatable text in your module through the `i18nTextCollector` task.
+See [i18n](/topics/i18n#collecting-text) for more details.
+### Import master files
+If you don't have an account on yet, [create one](
+Choose the free option for public repositories.
+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.
+If you don't have existing translations,
+your project is ready to go - simply point translators
+to the URL, have them sign up, and they can create languages and translations as required.
+### Import existing translations
+In case you have existing translations in YML format,
+there's a "New language file" option in the "Files" tab.
+IMPORTANT: Composite locales need to be uploaded with
+a dash separator, which is different from the core format (underscores).
+For example, to upload a file called en_GB.yml,
+change the first line in this file from "en_GB" to "en-GB".
+### Export existing translations
+You can simply download the whole language pack as a ZIP archive
+and add it to your project. But for composite locales (e.g. "en-GB"),
+you have to change the keys in the first line of the file (see note above).
+### Converting your language files from 2.4 PHP format
+The conversion from PHP format to YML is taken care of by a module
+called [i18n_yml_converter](
+## Contact
+Translators have their own [mailinglist](!forum/silverstripe-translators),
+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.
@@ -352,5 +352,6 @@ Example Translation Table (mymodule/javascript/lang/de_DE.js)
## Links
+ * [Help to translate](/misc/translation-process) - Instructions for online collaboration to translate core, as well as your own modules
* [](
* [ i18n notes](

0 comments on commit 7e22239

Please sign in to comment.