How to translate SPIP?

If you’d like to translate SPIP into another language, there are two possible ways to proceed:

With the online translation interface

Being the method that we recommend, you will need to proceed via the online interface. To use this interface, you will need to register as an editor of this site.. Afterwards, if you see that your language is already in the process of being translated, you should contact the translation team for that language (either from the private area or via the spip-trad mailing list); if not, you can create the language and you can start immediately.

The quality of the translations should reflect the expectations of SPIP in general: easy to read, accessible to a non initiated public (avoid the use of jargon as much as possible), respect for the language (avoid spelling mistakes), etc. And, of course, you should understand and know how to use SPIP at least a little, and think about the translations that you make in regards to their usage context, as misunderstandings are easy to make if you’re not very careful...

etc. There are in total about a thousand lines to translate (it takes less time than it sounds...)

Off-line, directly on the SPIP language files

If working on-line as above poses a problem for you, and you’d prefer to work on the translation from your own machine, off-line, you can do so by downloading SPIP and working on the language files using any simple text editor, which you can then later send back to us to be integrated into the development system.

The development version of SPIP includes a directory named ecrire/lang/ in which is located, for every language, three files called spip_xx.php, ecrire_xx.php and public_xx.php, where ‘xx’ is the language code. spip_xx-php is uused by the software itself, ecrire_xx.php for character strings used in the private space, and public_xx.php for the standard distribution templates.

These files are organised in a relatively simple structure: each string of characters available for translation is represented by a line such as:

'avis_chemin_invalide_1' => 'The path you have chosen',

which could be translated as:

'avis_chemin_invalide_1' => 'Li camino chi انت chost',

A few particularities are worth mentioning:

  • when a variable is included in a string, it is shown between two ‘@’. For example: ’avis_erreur_sauvegarde’ => ’Error in backup (@type@ @id_objet@) ! ’. The characters between the ‘@’ must not be modified, since they are replaced in order to create the final string: “Error in backup (article 7)”
  • Characters with accents or non-Latin characters are noted either as HTML entities (é) or as Unicode (é)
  • The single quote (’) must be preceded by a backslash (\’).

Author mathieu Published : Updated : 26/10/12

Translations : عربي, català, corsu, English, Esperanto, Español, فارسى, français, italiano, Nederlands, Português, slovenčina, Türkçe