# Moodle vertaalgids

Het vertalen van Moodle is niet zo moeilijk, maar enkele kleinigheden zijn goed om weten voor je begint.

## Structuur van een Moodle taalpakket

Je vindt alle Moodle taalpakketten in de map "lang". Elke taal heeft een unieke map, benoemd zoals de korte naam van de taal (en, fr, nl, es ...).

De hoofdbestanden staan in deze map, met extentie .php (eg moodle.php, resource.php etc). Deze bestanden bevatten korte uitdrukkingen, "strings" genoemd.

Er kunnen ook nog mappen met HTML-webpagina's zijn:

- help: waarin de contextgevoelige helpbestanden staan die verschijnen in een popup-venster als je op de help icoontjes klikt. Je vindt die overal in Moolde.
- docs: waarin de basisdocumentatie staat (zoals dit document)

## Een compleet nieuw taalpakket maken

Als je taal nog niet door Moodle ondersteund wordt of als je aanpassingen wil maken aan de interface van je site, wil je misschien een nieuwe vertaling beginnen.

Al wat je moet doen is een nieuwe map maken in de lang-map door gebruik te maken van de tweelettercode voor jouw taal. Je kunt deze standaardcodes vinden in lib/languages.php. Als je een variatie maakt op een bestaande taal, gebruik dan de bestaande taalcode, gevolgd door een underscore en een betekenisvolle extentie van twee letters (bv pt voor Portugees en pt_br voor de Braziliaanse variant van het Portugese taalpakket). Als je een Unicodeversie maakt, voeg dan _utf8 aan het einde toe (bv sr_utf8).

Maak dan in je nieuwe map het een bestand "moodle.php", aan en zet er volgende lijnen in:
`<?PHP
$string['thischarset'] = 'iso-8859-1';
$string['thisdirection'] = 'ltr';
$string['thislanguage'] = 'new language pack';
?>`
of kopieer moodle.php van een andere taal in je nieuwe map. Die van de "en" map is gewoonlijk de beste keuze, maar het heeft eigenlijk weinig belang vermits je het toch gaat herschrijven. Zelf het bestand maken heeft het voordeel dat je met een nieuw, leeg taalpakket begint.

Je bent nu klaar om nieuwe strings in te voegen door je taal te bewerken ... zie verder hoe je dat doet.

Voor een nieuw taalpakket is het allereerste wat je moet wijzigen de string "thischarset" in moodle.php. Dit moet een geldige webtekenset bevatten voor jouw taal. Nadat je deze string gewijzigd hebt, bewaar je moodle.php en je herlaadt de pagina. Daarna kun je voortwerken met de rest van de strings.

## Een bestaand taalpakket bewerken

### Kleine aanpassingen maken

Als je slechts een klein aantal aanpassingen wil maken om je interface beter te laten aansluiten bij je site, begin dan niet met één van de standaardtaalpakketten aan te passen. Als je dat doet zullen je wijzigingen overschreven worden als je je Moodle upgradet.

Gebruik in de plaats daarvan bovenstaande instructies om een splinternieuw taalpakket aan te maken en zet de parent language (in moodle.php) op een taal die het dichtst aanleunt bij de jouwe. Bijvoorbeeld, een goede naam voor een lokale Nederlandse versie zou "nl_lokaal" zijn, en als parent language zou je dan "nl" kunnen zetten.

Merk op dat je dan deze nieuwe vertaling als standaardtaal voor je site moet zetten en dat je dan best de beschikbare talen op Beheer >> Configuratie >> Configureer variablen kunt beperken, zodat al je bezoekers je site in het nieuwe taalpakket kunnen zien..

### Vertalen van de Moodle-interface taalbestanden (de "string"-bestanden)

1. Meld je aan als beheerder op je Moodleserver.
2. Ga naar Beheer >> Configuratie >> Taal, de beheerpagina voor de taal.
3. Op deze pagina kan je je taal kiezen met het rolmenu, kies dan "Vergelijk en bewerk huidige taal".
4. Je zult bewerkbare formulieren zien voor elk bestand. Indien niet moet je ervoor zorgen dat deze bestanden beschrijfbaar zijn - je zult de rechten op die bestanden moeten aanpassen.
5. De formulieren bestaan uit drie kolommen, de eerste is de naam van elke string, de tweede is die string in het Engels en de laatste is de vertaling in de huidige taal.
6. Bewerk de ontbrekende strings in elk bestand (in een andere kleur aangeduid) en denk eraan op de knop "Bewaar wijzigingen" te drukken aan het einde van elk formulier.
7. Het is geen probleem om strings leeg te laten - Moodle zal dan voor die string de parent language gebruiken. Je kunt de parent language definiëren in moodle.php, indien niet wordt Engels als standaard gebruikt.
8. Een snelle manier om alle ontbrekende strings te zien is de knop "Controleer op ontbrekende strings" gebruiken.

### Vertalen van de help- en documentatiebestanden

Er is in Moodle nog geen ingebouwde editor om de helpbestanden te vertalen, maar het is echt niet zo moeilijk. Het is belangrijk om en als referentietaal te gebruiken. Kopieer een helpbestand van het en-taalpakket en zet het op dezelfde plaats in je eigen taalpakket. Gebruik dan een editor voor platte tekst om het bestand te vertalen. Let erop dat je de code in het bestand niet wijzigt (gewoonlijk is er geen code, alleen HTML-opmaak). (GEBRUIK GEEN TEKSTVERWERKER om de helpbestanden te schrijven omdat deze programma's te veel rommel aan de bestanden toevoegen).

Zorg er voor dat je de helpbestanden XHTML-compliant schrijft. Dit betekent in het kort:

- Alle tags moeten gesloten zijn: <p>lalala</p>
- Alle elementen moeten genest zijn: <p> lalala <em>lalala</em> </p>
- Alle elementen en attributen moeten in kleine letters zijn
- Alle attributen moeten volledig geschreven zijn en tussen dubbele aanhalingstekens staan: <p align="right"> lalala </p>
- Lege elementen moeten eindigen met />: <br /> <hr />. You should add an extra space before the "/" symbol.
- Een <img moet gevolgd worden door een alt (die leeg kan zijn) zoals <img alt src="foto.gif">
- <?= en <? moeten vervangen worden door <?php
- Er zouden GEEN font tags gebruikt mogen worden. <p><em> <h1> <h2> enz zou voldoende moeten zijn voor de taalbestanden ...
- De naam van de taal zou in het taalpakket ($string['thislanguage'] in moodle.php) genoteerd moeten worden met Unicode Numeric Character References (NCR) indien mogelijk. Hierdoor kan deze naam in elke coderingsconteks juist weergegeven worden (bekijk het Chinese taalpakket voor een voorbeeld).

De bestanden in de help-map hebben geen doc type nodig. Ook geen html, body, head open- en sluit-tags - deze bestanden worden ingebed door help.php. Dat script zal zorgen voor het goed vormen van de paginas. Hierdoor is er niet veel ruimte voor HTML creativiteit! Blijf aub bij het Engelse voorbeeld.

De bestanden in de docs-map moeten volledig XHTML-compliant zijn, dus met een doc type, header enz.

Door te klikken op "Controleer op ontbrekenden strings" zul je ook zien welke helpbestanden ontbreken. Als er bestanden ontbreken zal Moodle automatisch de bestanden uit de parent language gebruiken. Het is dus niet nodig om onvertaalde helpbestanden in je taalpakket te laten staan..

## Je taalpakkket insturen naar het Moodleproject

Door je vertaling te delen op Moodle help je andere gebruikers die jouw taal spreken. Je vertaling zal dan met de volgende versies van Moodle meegegeven worden.

Archiveer heel je nieuwe taalmap als een zip-bestand en e-mail het naar translation@moodle.org.

We nemen contact met je op met meer details.

Checklist die je kan gebruiken voor je bestanden instuurd::

- Geen lege bestanden?
- Geen onvertaalde bestanden of strings?
- Zijn de helpbestanden niet met een tekstverwerker bewerkt?
- Bevat het README-bestand de taal, naam en e-mailadres van de vertaler?
- Komt de naam van de map overeen met de juiste taalcode (controleer moodle\lib\languages.php)?
- Loopt het taalpakket foutloos op een testsite?
- Als "thislanguage" andere dan latijnse letters bevat, is dat dan als NCR-notation geschreven?
- Zijn strings en helpbestanden XHTML-compliant?

## Onderhoud van een standaard taalpakket

Als je je wil inzetten voor het onderhoud van een taal in Moodle, dan is het best om Moodle CVS te gebruiken, zodat je steeds een up-to-date versie van Moodle hebt en je gemakkelijk je wijzigingen rechtstreeks kunt "inchecken" in het Moodleproject.

Om op de hoogte te blijven van wijzigingen in het project is het een heel goed idee om je te abonneren op de CVS mailing list. Dit zal je helpen je vertaling zo dicht mogelijk bij de Engelse tekst te houden.

Moodle Documentation

Version: $Id$