From 7e222393ea43a2a5ffe892050c74da860230f8ab Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Fri, 27 Apr 2012 17:32:54 +0200 Subject: [PATCH] MINOR Updated docs with getlocalization.com instructions --- docs/en/misc/contributing.md | 13 +++--- docs/en/misc/translation-process.md | 72 +++++++++++++++++++++++++++++ docs/en/topics/i18n.md | 1 + 3 files changed, 79 insertions(+), 7 deletions(-) create mode 100644 docs/en/misc/translation-process.md diff --git a/docs/en/misc/contributing.md b/docs/en/misc/contributing.md index 69f7bd67b..51c8877b2 100644 --- a/docs/en/misc/contributing.md +++ b/docs/en/misc/contributing.md @@ -245,14 +245,13 @@ The [sapphiredocs](https://github.com/silverstripe/silverstripe-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 [translate.silverstripe.org](http://translate.silverstripe.org). 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](http://translate.silverstripe.org/apply) -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 diff --git a/docs/en/misc/translation-process.md b/docs/en/misc/translation-process.md new file mode 100644 index 000000000..905aac55b --- /dev/null +++ b/docs/en/misc/translation-process.md @@ -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 +[getlocalization.com](http://getlocalization.com). +Most modules are managed under the "silverstripe" user there, +see [list of translatable modules](http://www.getlocalization.com/profile/?username=silverstripe). +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 getlocalization.com yet, [create one](http://www.getlocalization.com/signup). +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](https://github.com/chillu/i18n_yml_converter). + +## Contact + +Translators have their own [mailinglist](https://groups.google.com/forum/#!forum/silverstripe-translators), +but you can also reach a core member on [IRC](http://silverstripe.org/irc). +The getlocalization.com interface has a built-in discussion board if +you have specific comments on a translation. \ No newline at end of file diff --git a/docs/en/topics/i18n.md b/docs/en/topics/i18n.md index 6619004fa..ab16c430c 100644 --- a/docs/en/topics/i18n.md +++ b/docs/en/topics/i18n.md @@ -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 * [http://www.i18nguy.com/](http://www.i18nguy.com/) * [balbus.tk i18n notes](http://www.balbus.tk/internationalize)