Clone wiki

cloudengine / Translate

Translator's Notes

Thank you for your interest in translating the user-interface of CloudEngine, and Cloudworks!


  • We will ask you to look at and agree to our Contributor License Agreement before you contribute translations to the project. (This formalizes our right to re-distribute your contributions.)
  • These instructions were originally written in the context of the offline translation of Cloudworks - we are currently updating them.
  • We are not translating the historical files, about.po and cloudworks.po
  • We are currently working out how to translate the Cloudworks support and about pages (these are now stored in the database).

We are using a system based on GNU Gettext for translation.

  • POT/PO - portable object template files ("translation template"),
  • PO - portable object files,
  • MO - machine object files.

We would like back:

  • A single, translated application.po file (note, we do not require the ".mo" binary files).

1. CloudEngine

The Cloudworks web site is powered by CloudEngine. Cloudworks is "a place to share, find and discuss learning and teaching ideas and experiences". It is a social site, containing user-generated content and comments (note, you will not be translating these, only the user interface). Please visit the site, sign up and familiarize yourself with how it works ( This should provide useful context for your work.

2. Translation tools

If you have not translated a website before then we suggest that you download the poEdit translations editor (download : Windows). Just follow the steps below. This is a freely downloadable software tool, for Windows, Mac OS X, and Linux.

Other tools you could use are:

Assuming you are using poEdit on Windows:

  1. Download and install it from the link above.
  2. Open from the Windows Start menu - click All Programs - Poedit.
  3. When you first run Poedit you will be prompted to select your preferred language - use the default language or your own, as you prefer (this does not affect translation).
  4. You will also be prompted to give your name and email address - please use a genuine email address (we won't share it without your permission).
  5. From the email, download the PO/POT files to your desktop.
  6. Open one of the supplied PO/POT files in poEdit (click the Poedit menu - File - Open...).
  7. Next, complete the translation details/meta-data, click the Poedit menu - Catalog - Settings....
  8. In the Catalog-Settings dialogue box, specify "charset"/ character encoding as "UTF-8" (if it's not already set) - see screen shot below. You may also fill in the other details, including the name and email address of your organization or team.

Poedit settings dialogue

Now the system is set up so you can start translating, however please read sections 3-5 first.

3. Reserved words

Please do not translate the following words - they have special meanings for Cloudworks. There will be opportunities in the translation for you to provide definitions.

  • CloudEngine, Cloudworks,
  • Cloud, clouds,
  • Cloudscape, cloudscapes,
  • Cloudstream, cloudstreams.

4. Placeholders and HTML

The user-interface of CloudEngine (and Cloudworks) is mostly static text, which you will translate. However, the text also contains some dynamic text within it (for example, the title/link to a Cloud, the number of Clouds in a Cloudscape), this should not be translated. In the translation templates, this dynamic text is represented by "placeholders", which are single words (occasionally 2 words with a hyphen) starting with an " ! " exclamation mark, or surrounded by " [ " " ] " square brackets. There is also occasionally HTML markup (Hyper Text Markup Language), which starts and ends with " < " and " > " for example <em>..</em>. You should leave the placeholders and markup and translate around them - you can reorder them as necessary.

Illustrations follow (using Spanish/Español as an example) - please study carefully:

Tranlating CloudEngine - Table of comparisons

  1. Delete - Borrar - Simple
  2. "Apologies if your !item has been accidentally flagged - we will attempt to moderate as soon as possible" - "Disculpas si su !item ha sido marcado por accidente - se tratará de moderar lo antes posible" - Intermediate
  3. "Add extra content to the cloud !title-link" - "Añadir contenido extra a la cloud !title-link" - Intermediate
  4. "cloud added to the cloudscape !title by !person" - "cloud añade a la !title Cloudscape por !person"
  5. "!person's Cloudstream" - "Cloudstream de !person" - Apostrophe/ownership
  6. "[link-av]The !site-name! Vision Statement[/link] outlines the aims of the site.\n The [link-news]!site-name! blog[/link] gives current information on what we are working on and our plans for the site." - "[link-av]Declaración de la Visión !site-name![/link] habla de los objetivos del sitio.\n El [link-news]!site-name! blog[/link] proporciona información actual sobre lo que estamos trabajando y nuestros planes para el sitio." - Complex *
  • Note, in the 6th example and the screen shot below, the translated text should remain within the [link-..]...[/link] - for example, the translation of "[link-av]The Cloudworks Vision Statement[/link] ...".

Translating with Poedit

Some current placeholders:

  • !site-name!
  • !email!
  • !email-link!
  • !required! (For a required form field.)

5. Plurals

The translation system we are using takes account of singular and plural. When translating into English, German, Greek etc. please ignore this section.

While undertaking the translation, you will encounter pairs of singular and plural phrases (if you find one on it's own it may be a bug - please report), for example:

  • "!count comment"
  • "!count comments"

Please translate as you would normally. In the Catalog Settings dialogue there is a space to specify the logic used to determine which form to use for different numbers (Poedit menu - Catalog - Settings - Project info - Plural Forms:). This uses C-style programming syntax, as specified in GNU Gettext manual, for example for languages including English, German, Spanish, Italian, Portugese (Portugal) and Greek, write:

  • nplurals=2; plural=n != 1;

That is, there are two forms, and only use the plural form when the number is 1 (use singular for 0, 2, 3...). Don't worry if you don't understand this section! Refer to the Gettext manual, and we can help you.

6. Translation

Having followed the steps under section (2), we can continue with translation:

  1. Referring to the screenshot above, poEdit's main window consists of three parts: a list of string translation pairs in the upper area, and two text areas below, one for the original and one for translation.
  2. You will find help files under the "Help" menu item within poEdit (Poedit - Help menu - Contents...).
  3. You may want to display line numbers and the comments window (Poedit - View menu - Display line numbers/ Show comments window). (Also, File menu - Preferences... - Editor tab - 'Comment window is editable'.)
  4. Continue to translate. You can copy the original to the translation field (mouse over the string in the list, as in the screen shot above, press the right mouse button).
  5. Occasionally there will be hints from the developer in the comments pane.
  6. Save your work regularly (you can use the original file names). Note any problems.

Notes 2

  • You may see a MO file for each PO file - don't be concerned with this. We only require the PO files back.
  • Coverage - the PO/POT files contain the current language strings, except for the administrator interface, and the installer. The code is constantly changing, so that translation is never finished.

7. Reporting bugs

Please report any problems or bugs with the translation templates - any words or phrases that appear to be wrong (<cloudworks _@_>) We would also appreciate feedback on these instructions!