How to make a translation

Introduction

If you want to help translate Schoolsplay, you can help by translating the .po files.
These files contain the original English strings used in the program and the translations in your language.

(As of 14-10-2010 all the links point to the new childsplay 2 version which will be released on 31-10-2010)

Preparing the environment

First, download the childsplay_latest.po file from Sourceforge.
Or if your language is partly translated, see translations, download the pofile for your language and use that.
Now you have two choices:

  1. Use a special "po file" editor to translate the "po" file.
  2. Use your favorite text editor.

Using a dedicated "po file" editor is the easiest way, so we will explain this first.

Edit po file with special editor

A very good editor is poedit: it is open source, platform independant and very easy to use.
So download poedit, install it and fire it up.
At first it will ask for some infor about you (name and email), this will be used when you edit a po file, so please fill in correct information!

Next you can open childsplay_latest.po that you have just downloaded.
You will be presented with a dialog like this:

OpenPO.png

Fill the correct fields and press OK.

Now you will get the main program window where you just have to translate everything:

EditPO.PNG

The lowest text box is for the translated string.
With Ctrl+Arrow Down (Up) you can go the next (previous) string.
When you are editing a string, but you are not sure about the translation, mark it as fuzzy. (the raincloud button)
This way we know that we should try to get a confirmation on the translation.

When everything is translated, save the file and send it back to us. (see below)

Edit po file with text editor

Adapt the copyright header

At the top of the file you can see the header, it looks like this:

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.

By filling in this header you agree that your translation gets the same copyright as Schoolsplay, namely the GPL.
An example:

# SCHOOLSPLAY DUTCH TRANSLATION.
# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the SCHOOLSPLAY package.
# CHRIS VAN BAEL <chris.van.bael@gmail.com>, 2007.

Adapt the msgstr header

Next we have the msgstr header, you need to adapt this also:

msgstr ""
"Project-Id-Version: SCHOOLSPLAY 0.7\n"

In the first line, you tell for which version of Schoolsplay this translation is. If you don't know it, we will of course help you.
"Report-Msgid-Bugs-To: chris.van.bael@gmail.com\n"
"POT-Creation-Date: 2007-04-17 19:13+0200\n"
"PO-Revision-Date: 2007-06-26 18:00+0100\n"
"Last-Translator: CHRIS VAN BAEL <chris.van.bael@gmail.com>\n"

Next lines are your email adres, the revision date and the last translator.
"Language-Team: NL <LL@li.org>\n"

Please also fill in the language code in the Language-Team field.
"MIME-Version: 1.0\n"

Also don't forget to fill in the Version number.
If you start with a translation, name it 0.x.
When it is fully complete and correct, you can name it 1.0.
If you update it afterwards, you can name it 1.x and after a major revision, 2.0.
"Content-Type: text/plain; charset=nl_NL.utf8\n"
"Content-Transfer-Encoding: 8bit\n"

In the end fill in the locale setting and encoding.

Add the translations

Now comes the hard part of making a translation, you have to translate every string used in Schoolsplay!
As an example:

#: ../gui/SPMainGui.py:75
msgid "&About"
msgstr ""

becomes:

#: ../gui/SPMainGui.py:75
msgid "&About"
msgstr "Over"

Get the file back to us

Please send the file with the translations back to
stas.zytkiewicz at gmail dot com or chris.van.bael at gmail dot com

And we thank you very much for making the translation, eternal fame awaits you!
However, please do not forget that Schoolsplay is a ever changing, expanding program, so check back frequently to add new translations ;-)

Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.