<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Noyga</id>
	<title>The Battle for Wesnoth Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Noyga"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Noyga"/>
	<updated>2026-05-28T23:31:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2010&amp;diff=33381</id>
		<title>Fosdem2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2010&amp;diff=33381"/>
		<updated>2009-12-14T20:15:15Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
This page is meant to somehow coordinate the small Wesconf taking place at FOSDEM 2010. That is everyone attending should please list him/herself in the list of arrivals and stuff like this. FOSDEM 2010 will take place at the first weekend in Febuary 2010, on Saturday 6th and Sunday 7th.&lt;br /&gt;
&lt;br /&gt;
* Fosdem - http://fosdem.org/2010/&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283311#283311 List with phone numbers] (forum moderators only)&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! (nick)name(s)&lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| AI&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| 2go4, booked by Ivanovic&lt;br /&gt;
|-&lt;br /&gt;
| Boucman&lt;br /&gt;
| Fri, 5th &lt;br /&gt;
| Mon, 8th &lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| Crab&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| Fendrin&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| 2go4, booked by Ivanovic&lt;br /&gt;
|-&lt;br /&gt;
| grzywacz &amp;amp; deekay&lt;br /&gt;
| Fri, 5th (?)&lt;br /&gt;
| Mon, 8th (?)&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic &amp;amp; chrber&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| 2go4, booked by Ivanovic&lt;br /&gt;
|-&lt;br /&gt;
| mordante&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| 2go4, booked by Ivanovic&lt;br /&gt;
|-&lt;br /&gt;
| Noyga&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For accomodations please keep in mind that parking in the center of Brussels is really problematic. It might make sense to drive to the University where FOSDEM takes place, park there and take the bus into the town center (where some of the hotels/hostels are).&lt;br /&gt;
&lt;br /&gt;
Possible hostels that we at least contacted over the last years (some of them might already be booked out by now!):&lt;br /&gt;
* [http://www.chab.be/ CHAB]&lt;br /&gt;
* [http://www.2go4.be/ 2go4] Note: groups bigger 6 are not allowed, so we can (officially) not form a complete Wesnoth group at this hostel, got to meet somewhere in town/at the university...&lt;br /&gt;
* [http://www.jeugdherbergen.be/brusselE.htm Bruegel YH]&lt;br /&gt;
&lt;br /&gt;
On the official FOSDEM page [http://fosdem.org/2010/practical/accomodation some more possible hotels/hostels] are listed.&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
* [http://tinyurl.com/3a65gr Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/35br9c Brussels Central (Train Station) → Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/37d9v4 Bruegel YH → Brussels Central (Train Station) → Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/2mzns6 Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/3dggg3 CrownePlaza (Europa)]&lt;br /&gt;
* [http://tinyurl.com/36epxj FOSDEM]&lt;br /&gt;
* [http://tinyurl.com/2w4bms Novotel Grand Place -&amp;gt; FOSDEM]&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
Information about how to reach the FOSDEM is listed at the [http://fosdem.org/2010/practical/transportation official transportation subpage].&lt;br /&gt;
&lt;br /&gt;
Short version of how to get there for those that reside in Bruegel YH and Novotel Grand Place (basically town center):&lt;br /&gt;
&lt;br /&gt;
* Enter Bus 71 (Debrouckere - Central Station (&amp;quot;Gare Centrale&amp;quot;) - Delta) somewhere at 'Central Station'&lt;br /&gt;
* Leave the bus at &amp;quot;ULB&amp;quot; (crossroads Ave. Adolphe Buyl - Sq. Deveze)&lt;br /&gt;
* Walk down Ave. Paul Heger on your right hand.&lt;br /&gt;
&lt;br /&gt;
== Wesnoth Hacking Room ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth will not have a room of its own. Instead we will use one of the &amp;quot;general hacking rooms&amp;quot;. So far it is not sure which room it will be, if we do it like the last two years, it will be room number 115 in the building AW1. Last year this was the smaller of the two hacking rooms and we had no real problem with conquering (and holding) the first row in this room. There were not too many power outlets, so this year at least Ivanovic will bring one multi-outlet power strip plus some extension cable (5m or something like this). There is no wired network, everything wireless (and sometimes rather/very unstable!). Beside this you should bring laptops since there are no computers available for hacking.&lt;br /&gt;
&lt;br /&gt;
Short version:&lt;br /&gt;
 AW1 - Room 115&lt;br /&gt;
&lt;br /&gt;
== Planned discussion ==&lt;br /&gt;
We usually discuss all sorts of things at FOSDEM, this section is here to have a small bullet list of things that we actively want to discuss at FOSDEM.&lt;br /&gt;
* GSOC 2010: finding mentors, organizing the submission etc..&lt;br /&gt;
* FOSDEM 2011 : trying to get a dev room with other games ?&lt;br /&gt;
* [wanted: discussion topics!]&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2009 ==&lt;br /&gt;
We were already at FOSDEM 2009, here something as reference:&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesnoth.org/wiki/Fosdem2009 FOSDEM 2009 wiki page]&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2008 ==&lt;br /&gt;
We were already at FOSDEM 2008, here something as reference:&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283649#p283649 Forum topic (with group photo)]&lt;br /&gt;
* [http://www.wesnoth.org/wiki/Fosdem2008 2008 wiki page]&lt;br /&gt;
* [https://mail.gna.org/public/wesnoth-dev/2008-02/msg00078.html Summary of FOSDEM 2008 results]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Wesconf]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2010&amp;diff=33277</id>
		<title>Fosdem2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2010&amp;diff=33277"/>
		<updated>2009-12-05T19:57:15Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
This page is meant to somehow coordinate the small Wesconf taking place at FOSDEM 2010. That is everyone attending should please list him/herself in the list of arrivals and stuff like this. FOSDEM 2010 will take place at the first weekend in Febuary 2010, on Saturday 6th and Sunday 7th.&lt;br /&gt;
&lt;br /&gt;
* Fosdem - http://fosdem.org/2010/&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283311#283311 List with phone numbers] (forum moderators only)&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! (nick)name(s)&lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic &amp;amp; chrber&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| Crab&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| 7th or 8th&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| grzywacz &amp;amp; deekay&lt;br /&gt;
| Fri, 5th (?)&lt;br /&gt;
| Mon, 8th (?)&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| Boucman&lt;br /&gt;
| Fri, 5th (?)&lt;br /&gt;
| Mon, 8th (?)&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| mordante&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| Turuk&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th (?)&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| Noyga&lt;br /&gt;
| Fri, 5th (?)&lt;br /&gt;
| Sun, 7th (?)&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For accomodations please keep in mind that parking in the center of Brussels is really problematic. It might make sense to drive to the University where FOSDEM takes place, park there and take the bus into the town center (where some of the hotels/hostels are).&lt;br /&gt;
&lt;br /&gt;
Possible hostels that we at least contacted over the last years (some of them might already be booked out by now!):&lt;br /&gt;
* [http://www.chab.be/ CHAB]&lt;br /&gt;
* [http://www.2go4.be/ 2go4] Note: groups bigger 6 are not allowed, so we can (officially) not form a complete Wesnoth group at this hostel, got to meet somewhere in town/at the university...&lt;br /&gt;
* [http://www.jeugdherbergen.be/brusselE.htm Bruegel YH]&lt;br /&gt;
&lt;br /&gt;
On the official FOSDEM page [http://fosdem.org/2010/practical/accomodation some more possible hotels/hostels] are listed.&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
* [http://tinyurl.com/3a65gr Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/35br9c Brussels Central (Train Station) → Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/37d9v4 Bruegel YH → Brussels Central (Train Station) → Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/2mzns6 Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/3dggg3 CrownePlaza (Europa)]&lt;br /&gt;
* [http://tinyurl.com/36epxj FOSDEM]&lt;br /&gt;
* [http://tinyurl.com/2w4bms Novotel Grand Place -&amp;gt; FOSDEM]&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
Information about how to reach the FOSDEM is listed at the [http://fosdem.org/2010/practical/transportation official transportation subpage].&lt;br /&gt;
&lt;br /&gt;
Short version of how to get there for those that reside in Bruegel YH and Novotel Grand Place (basically town center):&lt;br /&gt;
&lt;br /&gt;
* Enter Bus 71 (Debrouckere - Central Station (&amp;quot;Gare Centrale&amp;quot;) - Delta) somewhere at 'Central Station'&lt;br /&gt;
* Leave the bus at &amp;quot;ULB&amp;quot; (crossroads Ave. Adolphe Buyl - Sq. Deveze)&lt;br /&gt;
* Walk down Ave. Paul Heger on your right hand.&lt;br /&gt;
&lt;br /&gt;
== Wesnoth Hacking Room ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth will not have a room of its own. Instead we will use one of the &amp;quot;general hacking rooms&amp;quot;. So far it is not sure which room it will be, if we do it like the last two years, it will be room number 115 in the building AW1. Last year this was the smaller of the two hacking rooms and we had no real problem with conquering (and holding) the first row in this room. There were not too many power outlets, so this year at least Ivanovic will bring one multi-outlet power strip plus some extension cable (5m or something like this). There is no wired network, everything wireless (and sometimes rather/very unstable!). Beside this you should bring laptops since there are no computers available for hacking.&lt;br /&gt;
&lt;br /&gt;
Short version:&lt;br /&gt;
 AW1 - Room 115&lt;br /&gt;
&lt;br /&gt;
== Planned discussion ==&lt;br /&gt;
We usually discuss all sorts of things at FOSDEM, this section is here to have a small bullet list of things that we actively want to discuss at FOSDEM.&lt;br /&gt;
* GSOC 2010: finding mentors, organizing the submission etc..&lt;br /&gt;
* FOSDEM 2011 : trying to get a dev room with other games ?&lt;br /&gt;
* [wanted: discussion topics!]&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2009 ==&lt;br /&gt;
We were already at FOSDEM 2009, here something as reference:&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesnoth.org/wiki/Fosdem2009 FOSDEM 2009 wiki page]&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2008 ==&lt;br /&gt;
We were already at FOSDEM 2008, here something as reference:&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283649#p283649 Forum topic (with group photo)]&lt;br /&gt;
* [http://www.wesnoth.org/wiki/Fosdem2008 2008 wiki page]&lt;br /&gt;
* [https://mail.gna.org/public/wesnoth-dev/2008-02/msg00078.html Summary of FOSDEM 2008 results]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Wesconf]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=28102</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=28102"/>
		<updated>2009-01-25T20:59:34Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, utilisez : &lt;br /&gt;
# le [http://units.wesnoth.org/1.4/fr_FR/mainline.html dictionnaire des unités], qui vous permet de voir les noms par langues, par races, et par campagnes ;&lt;br /&gt;
# le [[NomsCommuns | wiki des noms communs]] ;&lt;br /&gt;
# le [[NomsPropres | wiki des noms propres]] ;&lt;br /&gt;
# des [http://elsap1.unicaen.fr/cgi-bin/cherches.cgi synonymes] pour enrichir vos phrases.&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikipédia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : &lt;br /&gt;
- sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
- sous linux cette même combinaison est Alt+espace&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner sa grammaire et son orthographe :&lt;br /&gt;
# le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
# et vous pourrez vérifier la conjugaison de vos verbes ici : http://www.conjugue-moi.com/.&lt;br /&gt;
&lt;br /&gt;
Les [http://www.academie-francaise.fr/langue/orthographe/regles.html rectifications de l'orthographe préconisées par l'Académie Française] peuvent s'appliquer.&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le SVN (plus compliqué) : http://svn.gna.org/viewcvs/wesnoth/ (mainline) et http://svn.berlios.de/wsvn/wescamp-i18n (user campaigns).&lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* [http://notepad-plus.sourceforge.net/fr/site.htm notepad++] ;&lt;br /&gt;
#* [http://www.textpad.com/ textpad] ;&lt;br /&gt;
#* ou, pour Mac, [http://www.barebones.com/products/textwrangler/index.shtml Textwrangler] ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* [http://www.poedit.net/ poEdit], pour Mac et PC ;&lt;br /&gt;
#* [http://i18n.kde.org/tools/kbabel/ KBabel] ;&lt;br /&gt;
#* [http://gtranslator.sourceforge.net/ gtranslator].&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
* Les variables sont indiquées par ''$'' ; il ne faut pas les traduire : par exemple, ''$gold_left'' se traduit par ''$gold_left'' et non pas par ''$or_restant''. &lt;br /&gt;
&lt;br /&gt;
* Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite '''commence''' par ''$'', rien ne s'affiche dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe.&lt;br /&gt;
&lt;br /&gt;
* ''\n'' dans la chaîne originale permet de créer un saut de ligne. Il faut le traduire en mettant ''\n'' en français (c'est important : ''gettext'' bugge s'il n'y a pas le même nombre de ''\n'' des deux côtés).&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 25/01/2009&lt;br /&gt;
* Traductions&lt;br /&gt;
** THoT : Aurélien&lt;br /&gt;
** Wesnoth-Editor : Benoît&lt;br /&gt;
** Wiki : Adrien (Cernunnos) (inactif ?)&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2009&amp;diff=27728</id>
		<title>Fosdem2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2009&amp;diff=27728"/>
		<updated>2008-12-29T19:41:45Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
This page is meant to somehow coordinate the small Wesconf taking place at FOSDEM 2009. That is everyone attending should please list him/herself in the list of arrivals and stuff like this. FOSDEM 2009 will take place at the first weekend in Febuary 2009, on Saturday 7th and Sunday 8th.&lt;br /&gt;
&lt;br /&gt;
* Fosdem - http://fosdem.org/2009/&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283311#283311 List with phone numbers] (forum moderators only)&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! (nick)name(s)&lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic &amp;amp; Dragonking&lt;br /&gt;
| 6, late afternoon&lt;br /&gt;
| 8, evening&lt;br /&gt;
| Bruegel YH (not sure yet)&lt;br /&gt;
|-&lt;br /&gt;
| Mordante&lt;br /&gt;
| 6, afternoon (not sure yet)&lt;br /&gt;
| 8, evening&lt;br /&gt;
| Bruegel YH (not sure yet)&lt;br /&gt;
|-&lt;br /&gt;
| Boucman&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| cib&lt;br /&gt;
| probably evening&lt;br /&gt;
| not sure yet&lt;br /&gt;
| not sure yet&lt;br /&gt;
|-&lt;br /&gt;
| Noyga&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For accomodations please keep in mind that parking in the center of Brussels is really problematic. It might make sense to drive to the University where FOSDEM takes place, park there and take the bus into the town center (where some of the hotels/hostels are).&lt;br /&gt;
&lt;br /&gt;
On the official FOSDEM page [http://fosdem.org/2009/practical/accomodation some possible hotels/hostels] are listed.&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
* [http://tinyurl.com/3a65gr Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/35br9c Brussels Central (Train Station) → Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/37d9v4 Bruegel YH → Brussels Central (Train Station) → Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/2mzns6 Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/3dggg3 CrownePlaza (Europa)]&lt;br /&gt;
* [http://tinyurl.com/36epxj FOSDEM]&lt;br /&gt;
* [http://tinyurl.com/2w4bms Novotel Grand Place -&amp;gt; FOSDEM]&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
Information about how to reach the FOSDEM is listed at the [http://fosdem.org/2009/practical/transportation official transportation subpage].&lt;br /&gt;
&lt;br /&gt;
Short version of how to get there for those that reside in Bruegel YH and Novotel Grand Place:&lt;br /&gt;
&lt;br /&gt;
* Enter Bus 71 (Debrouckere - Central Station (&amp;quot;Gare Centrale&amp;quot;) - Delta) somewhere at 'Central Station'&lt;br /&gt;
* Leave the bus at &amp;quot;ULB&amp;quot; (crossroads Ave. Adolphe Buyl - Sq. Deveze)&lt;br /&gt;
* Walk down Ave. Paul Heger on your right hand.&lt;br /&gt;
&lt;br /&gt;
== Wesnoth Hacking Room ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth will not have a room of its own. Instead we will use one of the &amp;quot;general hacking rooms&amp;quot;. So far it is not sure which room it will be, if we do it like last year, it will be room number 115 in the building AW1. Last year this was the smaller of the two hacking rooms and we had no real problem with conquering (and holding) the first row in this room. There were not too many power outlets, so this year at least Ivanovic will bring one multi-outlet power strip plus some extension cable (5m or so). There is no wired network, everything wireless (and sometimes rather unstable!). Beside this you should bring laptops since there are no desktop machines available for hacking.&lt;br /&gt;
&lt;br /&gt;
Short version:&lt;br /&gt;
 AW1 - Room 115&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2008 ==&lt;br /&gt;
We were already at FOSDEM 2008, here something as reference:&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283649#p283649 Forum topic (with group photo)]&lt;br /&gt;
* [http://www.wesnoth.org/wiki/Fosdem2008 2008 wiki page]&lt;br /&gt;
* [https://mail.gna.org/public/wesnoth-dev/2008-02/msg00078.html Summary of FOSDEM 2008 results]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Wesconf]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2009&amp;diff=27727</id>
		<title>Fosdem2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2009&amp;diff=27727"/>
		<updated>2008-12-29T19:41:10Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
This page is meant to somehow coordinate the small Wesconf taking place at FOSDEM 2009. That is everyone attending should please list him/herself in the list of arrivals and stuff like this. FOSDEM 2009 will take place at the first weekend in Febuary 2009, on Saturday 7th and Sunday 8th.&lt;br /&gt;
&lt;br /&gt;
* Fosdem - http://fosdem.org/2009/&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283311#283311 List with phone numbers] (forum moderators only)&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! (nick)name(s)&lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic &amp;amp; Dragonking&lt;br /&gt;
| 6, late afternoon&lt;br /&gt;
| 8, evening&lt;br /&gt;
| Bruegel YH (not sure yet)&lt;br /&gt;
|-&lt;br /&gt;
| Mordante&lt;br /&gt;
| 6, afternoon (not sure yet)&lt;br /&gt;
| 8, evening&lt;br /&gt;
| Bruegel YH (not sure yet)&lt;br /&gt;
|-&lt;br /&gt;
| Boucman&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| cib&lt;br /&gt;
| probably evening&lt;br /&gt;
| not sure yet&lt;br /&gt;
| not sure yet&lt;br /&gt;
|-&lt;br /&gt;
| Boucman&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For accomodations please keep in mind that parking in the center of Brussels is really problematic. It might make sense to drive to the University where FOSDEM takes place, park there and take the bus into the town center (where some of the hotels/hostels are).&lt;br /&gt;
&lt;br /&gt;
On the official FOSDEM page [http://fosdem.org/2009/practical/accomodation some possible hotels/hostels] are listed.&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
* [http://tinyurl.com/3a65gr Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/35br9c Brussels Central (Train Station) → Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/37d9v4 Bruegel YH → Brussels Central (Train Station) → Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/2mzns6 Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/3dggg3 CrownePlaza (Europa)]&lt;br /&gt;
* [http://tinyurl.com/36epxj FOSDEM]&lt;br /&gt;
* [http://tinyurl.com/2w4bms Novotel Grand Place -&amp;gt; FOSDEM]&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
Information about how to reach the FOSDEM is listed at the [http://fosdem.org/2009/practical/transportation official transportation subpage].&lt;br /&gt;
&lt;br /&gt;
Short version of how to get there for those that reside in Bruegel YH and Novotel Grand Place:&lt;br /&gt;
&lt;br /&gt;
* Enter Bus 71 (Debrouckere - Central Station (&amp;quot;Gare Centrale&amp;quot;) - Delta) somewhere at 'Central Station'&lt;br /&gt;
* Leave the bus at &amp;quot;ULB&amp;quot; (crossroads Ave. Adolphe Buyl - Sq. Deveze)&lt;br /&gt;
* Walk down Ave. Paul Heger on your right hand.&lt;br /&gt;
&lt;br /&gt;
== Wesnoth Hacking Room ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth will not have a room of its own. Instead we will use one of the &amp;quot;general hacking rooms&amp;quot;. So far it is not sure which room it will be, if we do it like last year, it will be room number 115 in the building AW1. Last year this was the smaller of the two hacking rooms and we had no real problem with conquering (and holding) the first row in this room. There were not too many power outlets, so this year at least Ivanovic will bring one multi-outlet power strip plus some extension cable (5m or so). There is no wired network, everything wireless (and sometimes rather unstable!). Beside this you should bring laptops since there are no desktop machines available for hacking.&lt;br /&gt;
&lt;br /&gt;
Short version:&lt;br /&gt;
 AW1 - Room 115&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2008 ==&lt;br /&gt;
We were already at FOSDEM 2008, here something as reference:&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283649#p283649 Forum topic (with group photo)]&lt;br /&gt;
* [http://www.wesnoth.org/wiki/Fosdem2008 2008 wiki page]&lt;br /&gt;
* [https://mail.gna.org/public/wesnoth-dev/2008-02/msg00078.html Summary of FOSDEM 2008 results]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Wesconf]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=27138</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=27138"/>
		<updated>2008-10-17T22:26:22Z</updated>

		<summary type="html">&lt;p&gt;Noyga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, utilisez : &lt;br /&gt;
# le [http://units.wesnoth.org/1.4/fr_FR/mainline.html dictionnaire des unités], qui vous permet de voir les noms par langues, par races, et par campagnes ;&lt;br /&gt;
# le [[NomsCommuns | wiki des noms communs]] ;&lt;br /&gt;
# le [[NomsPropres | wiki des noms propres]] ;&lt;br /&gt;
# des [http://elsap1.unicaen.fr/cgi-bin/cherches.cgi synonymes] pour enrichir vos phrases.&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikipédia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : &lt;br /&gt;
- sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
- sous linux cette même combinaison est Alt+espace&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner sa grammaire et son orthographe :&lt;br /&gt;
# le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
# et vous pourrez vérifier la conjugaison de vos verbes ici : http://www.conjugue-moi.com/.&lt;br /&gt;
&lt;br /&gt;
Les [http://www.academie-francaise.fr/langue/orthographe/regles.html rectifications de l'orthographe préconisées par l'Académie Française] peuvent s'appliquer.&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le SVN (plus compliqué) : http://svn.gna.org/viewcvs/wesnoth/ (mainline) et http://svn.berlios.de/wsvn/wescamp-i18n (user campaigns).&lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* [http://notepad-plus.sourceforge.net/fr/site.htm notepad++] ;&lt;br /&gt;
#* [http://www.textpad.com/ textpad] ;&lt;br /&gt;
#* ou, pour Mac, [http://www.barebones.com/products/textwrangler/index.shtml Textwrangler] ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* [http://www.poedit.net/ poEdit], pour Mac et PC ;&lt;br /&gt;
#* [http://i18n.kde.org/tools/kbabel/ KBabel] ;&lt;br /&gt;
#* [http://gtranslator.sourceforge.net/ gtranslator].&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
* Les variables sont indiquées par ''$'' ; il ne faut pas les traduire : par exemple, ''$gold_left'' se traduit par ''$gold_left'' et non pas par ''$or_restant''. &lt;br /&gt;
&lt;br /&gt;
* Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite '''commence''' par ''$'', rien ne s'affiche dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe.&lt;br /&gt;
&lt;br /&gt;
* ''\n'' dans la chaîne originale permet de créer un saut de ligne. Il faut le traduire en mettant ''\n'' en français (c'est important : ''gettext'' bugge s'il n'y a pas le même nombre de ''\n'' des deux côtés).&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 18/10/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** The_Life_Of_A_Mage : Aurélien&lt;br /&gt;
** Wiki : Adrien (Cernunnos)&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=27137</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=27137"/>
		<updated>2008-10-17T22:25:50Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, utilisez : &lt;br /&gt;
# le [http://units.wesnoth.org/1.4/fr_FR/mainline.html dictionnaire des unités], qui vous permet de voir les noms par langues, par races, et par campagnes ;&lt;br /&gt;
# le [[NomsCommuns | wiki des noms communs]] ;&lt;br /&gt;
# le [[NomsPropres | wiki des noms propres]] ;&lt;br /&gt;
# des [http://elsap1.unicaen.fr/cgi-bin/cherches.cgi synonymes] pour enrichir vos phrases.&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikipédia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : &lt;br /&gt;
- sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
- sous linux cette même combinaison est Alt+espace&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner sa grammaire et son orthographe :&lt;br /&gt;
# le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
# et vous pourrez vérifier la conjugaison de vos verbes ici : http://www.conjugue-moi.com/.&lt;br /&gt;
&lt;br /&gt;
Les [http://www.academie-francaise.fr/langue/orthographe/regles.html rectifications de l'orthographe préconisées par l'Académie Française] peuvent s'appliquer.&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le SVN (plus compliqué) : http://svn.gna.org/viewcvs/wesnoth/ (mainline) et http://svn.berlios.de/wsvn/wescamp-i18n (user campaigns).&lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* [http://notepad-plus.sourceforge.net/fr/site.htm notepad++] ;&lt;br /&gt;
#* [http://www.textpad.com/ textpad] ;&lt;br /&gt;
#* ou, pour Mac, [http://www.barebones.com/products/textwrangler/index.shtml Textwrangler] ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* [http://www.poedit.net/ poEdit], pour Mac et PC ;&lt;br /&gt;
#* [http://i18n.kde.org/tools/kbabel/ KBabel] ;&lt;br /&gt;
#* [http://gtranslator.sourceforge.net/ gtranslator].&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
* Les variables sont indiquées par ''$'' ; il ne faut pas les traduire : par exemple, ''$gold_left'' se traduit par ''$gold_left'' et non pas par ''$or_restant''. &lt;br /&gt;
&lt;br /&gt;
* Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite '''commence''' par ''$'', rien ne s'affiche dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe.&lt;br /&gt;
&lt;br /&gt;
* ''\n'' dans la chaîne originale permet de créer un saut de ligne. Il faut le traduire en mettant ''\n'' en français (c'est important : ''gettext'' bugge s'il n'y a pas le même nombre de ''\n'' des deux côtés).&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 07/09/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** The_Life_Of_A_Mage : Aurélien&lt;br /&gt;
** Wiki : Adrien (Cernunnos)&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=27136</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=27136"/>
		<updated>2008-10-17T20:42:07Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Récupérer les fichiers .po nécessaires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, utilisez : &lt;br /&gt;
# le [http://units.wesnoth.org/1.4/fr_FR/mainline.html dictionnaire des unités], qui vous permet de voir les noms par langues, par races, et par campagnes ;&lt;br /&gt;
# le [[NomsCommuns | wiki des noms communs]] ;&lt;br /&gt;
# le [[NomsPropres | wiki des noms propres]] ;&lt;br /&gt;
# des [http://elsap1.unicaen.fr/cgi-bin/cherches.cgi synonymes] pour enrichir vos phrases.&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikipédia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : &lt;br /&gt;
- sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
- sous linux cette même combinaison est Alt+espace&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner sa grammaire et son orthographe :&lt;br /&gt;
# le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
# et vous pourrez vérifier la conjugaison de vos verbes ici : http://www.conjugue-moi.com/.&lt;br /&gt;
&lt;br /&gt;
Les [http://www.academie-francaise.fr/langue/orthographe/regles.html rectifications de l'orthographe préconisées par l'Académie Française] peuvent s'appliquer.&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le SVN (plus compliqué) : http://svn.gna.org/viewcvs/wesnoth/ (mainline) et http://svn.berlios.de/wsvn/wescamp-i18n (user campaigns).&lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* [http://notepad-plus.sourceforge.net/fr/site.htm notepad++] ;&lt;br /&gt;
#* [http://www.textpad.com/ textpad] ;&lt;br /&gt;
#* ou, pour Mac, [http://www.barebones.com/products/textwrangler/index.shtml Textwrangler] ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* [http://www.poedit.net/ poEdit], pour Mac et PC ;&lt;br /&gt;
#* [http://i18n.kde.org/tools/kbabel/ KBabel] ;&lt;br /&gt;
#* [http://gtranslator.sourceforge.net/ gtranslator].&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
* Les variables sont indiquées par ''$'' ; il ne faut pas les traduire : par exemple, ''$gold_left'' se traduit par ''$gold_left'' et non pas par ''$or_restant''. &lt;br /&gt;
&lt;br /&gt;
* Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite '''commence''' par ''$'', rien ne s'affiche dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe.&lt;br /&gt;
&lt;br /&gt;
* ''\n'' dans la chaîne originale permet de créer un saut de ligne. Il faut le traduire en mettant ''\n'' en français (c'est important : ''gettext'' bugge s'il n'y a pas le même nombre de ''\n'' des deux côtés).&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 07/09/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** The_Life_Of_A_Mage : Aurélien&lt;br /&gt;
** ANL (version dev) : Benoît (Noyga)&lt;br /&gt;
** Wiki : Adrien (Cernunnos)&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=26613</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=26613"/>
		<updated>2008-09-07T14:30:15Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, utilisez : &lt;br /&gt;
# le [http://units.wesnoth.org/1.4/fr_FR/mainline.html dictionnaire des unités], qui vous permet de voir les noms par langues, par races, et par campagnes ;&lt;br /&gt;
# le [[NomsCommuns | wiki des noms communs]] ;&lt;br /&gt;
# le [[NomsPropres | wiki des noms propres]] ;&lt;br /&gt;
# des [http://elsap1.unicaen.fr/cgi-bin/cherches.cgi synonymes] pour enrichir vos phrases.&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikipédia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : &lt;br /&gt;
- sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
- sous linux cette même combinaison est Alt+espace&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner sa grammaire et son orthographe :&lt;br /&gt;
# le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
# et vous pourrez vérifier la conjugaison de vos verbes ici : http://www.conjugue-moi.com/.&lt;br /&gt;
&lt;br /&gt;
Les [http://www.academie-francaise.fr/langue/orthographe/regles.html rectifications de l'orthographe préconisées par l'Académie Française] peuvent s'appliquer.&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* [http://notepad-plus.sourceforge.net/fr/site.htm notepad++] ;&lt;br /&gt;
#* [http://www.textpad.com/ textpad] ;&lt;br /&gt;
#* ou, pour Mac, [http://www.barebones.com/products/textwrangler/index.shtml Textwrangler] ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* [http://www.poedit.net/ poEdit], pour Mac et PC ;&lt;br /&gt;
#* [http://i18n.kde.org/tools/kbabel/ KBabel] ;&lt;br /&gt;
#* [http://gtranslator.sourceforge.net/ gtranslator].&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
* Les variables sont indiquées par ''$'' ; il ne faut pas les traduire : par exemple, ''$gold_left'' se traduit par ''$gold_left'' et non pas par ''$or_restant''. &lt;br /&gt;
&lt;br /&gt;
* Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite '''commence''' par ''$'', rien ne s'affiche dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe.&lt;br /&gt;
&lt;br /&gt;
* ''\n'' dans la chaîne originale permet de créer un saut de ligne. Il faut le traduire en mettant ''\n'' en français (c'est important : ''gettext'' bugge s'il n'y a pas le même nombre de ''\n'' des deux côtés).&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 07/09/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** The_Life_Of_A_Mage : Aurélien&lt;br /&gt;
** ANL (version dev) : Benoît (Noyga)&lt;br /&gt;
** Wiki : Adrien (Cernunnos)&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=26383</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=26383"/>
		<updated>2008-08-09T21:22:35Z</updated>

		<summary type="html">&lt;p&gt;Noyga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, utilisez : &lt;br /&gt;
# le [http://units.wesnoth.org/1.4/fr_FR/mainline.html dictionnaire des unités], qui vous permet de voir les noms par langues, par races, et par campagnes ;&lt;br /&gt;
# le [[NomsCommuns | wiki des noms communs]] ;&lt;br /&gt;
# le [[NomsPropres | wiki des noms propres]] ;&lt;br /&gt;
# des [http://elsap1.unicaen.fr/cgi-bin/cherches.cgi synonymes] pour enrichir vos phrases.&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikipédia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : &lt;br /&gt;
- sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
- sous linux cette même combinaison est Alt+espace&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner sa grammaire et son orthographe :&lt;br /&gt;
# le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
# et vous pourrez vérifier la conjugaison de vos verbes ici : http://www.conjugue-moi.com/.&lt;br /&gt;
&lt;br /&gt;
Les [http://www.academie-francaise.fr/langue/orthographe/regles.html rectifications de l'orthographe préconisées par l'Académie Française] peuvent s'appliquer.&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* [http://notepad-plus.sourceforge.net/fr/site.htm notepad++] ;&lt;br /&gt;
#* [http://www.textpad.com/ textpad] ;&lt;br /&gt;
#* ou, pour Mac, [http://www.barebones.com/products/textwrangler/index.shtml Textwrangler] ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* [http://www.poedit.net/ poEdit], pour Mac et PC ;&lt;br /&gt;
#* [http://i18n.kde.org/tools/kbabel/ KBabel] ;&lt;br /&gt;
#* [http://gtranslator.sourceforge.net/ gtranslator].&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
* Les variables sont indiquées par ''$'' ; il ne faut pas les traduire : par exemple, ''$gold_left'' se traduit par ''$gold_left'' et non pas par ''$or_restant''. &lt;br /&gt;
&lt;br /&gt;
* Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite '''commence''' par ''$'', rien ne s'affiche dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe.&lt;br /&gt;
&lt;br /&gt;
* ''\n'' dans la chaîne originale permet de créer un saut de ligne. Il faut le traduire en mettant ''\n'' en français (c'est important : ''gettext'' bugge s'il n'y a pas le même nombre de ''\n'' des deux côtés).&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 09/08/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** The_Life_Of_A_Mage : Aurélien&lt;br /&gt;
&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25855</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25855"/>
		<updated>2008-05-31T19:25:04Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr] - translation team mailing list [mailto:wesnothATmlDOTfreeDOTfr]&lt;br /&gt;
* [[FriulianTranslation|Friulian]] - maintainer:  Michele Calligaris (MayBug) - [mailto:michele.calligaris-CAIUT-gmail.com]&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[MacedonianTranslation|Macedonian]] - maintainer: Dimitar Ilccov (Mythological)&lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RomanianTranslation|Romanian]] - maintainer:  ???&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25854</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25854"/>
		<updated>2008-05-31T19:17:21Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr] - translation team mailing list [mailto:wesnothATmlDOTfreeDOTfr]&lt;br /&gt;
* [[FriulianTranslation|Friulian]] - maintainer:  ???&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[MacedonianTranslation|Macedonian]] - maintainer: Dimitar Ilccov (Mythological)&lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RomanianTranslation|Romanian]] - maintainer:  ???&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25853</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25853"/>
		<updated>2008-05-31T19:16:19Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr] - translation team mailing list [mailto:wesnothATmlDOTfreeDOTfr]&lt;br /&gt;
* [[FriulianTranslation|Friulian]] - ???&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[MacedonianTranslation|Macedonian]] - maintainer: Dimitar Ilccov (Mythological)&lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RomanianTranslation|Romanian]] - ???&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=25852</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=25852"/>
		<updated>2008-05-31T19:04:41Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Ponctuation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, utilisez : &lt;br /&gt;
# le [http://units.wesnoth.org/1.4/fr_FR/mainline.html dictionnaire des unités], qui vous permet de voir les noms par langues, par races, et par campagnes ;&lt;br /&gt;
# le [[NomsCommuns | wiki des noms communs]] ;&lt;br /&gt;
# le [[NomsPropres | wiki des noms propres]] ;&lt;br /&gt;
# des [http://elsap1.unicaen.fr/cgi-bin/cherches.cgi synonymes] pour enrichir vos phrases.&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikipédia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : &lt;br /&gt;
- sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
- sous linux cette même combinaison est Alt+espace&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner sa grammaire et son orthographe :&lt;br /&gt;
# le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
# et vous pourrez vérifier la conjugaison de vos verbes ici : http://www.conjugue-moi.com/.&lt;br /&gt;
&lt;br /&gt;
Les [http://www.academie-francaise.fr/langue/orthographe/regles.html rectifications de l'orthographe préconisées par l'Académie Française] peuvent s'appliquer.&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* [http://notepad-plus.sourceforge.net/fr/site.htm notepad++] ;&lt;br /&gt;
#* [http://www.textpad.com/ textpad] ;&lt;br /&gt;
#* ou, pour Mac, [http://www.barebones.com/products/textwrangler/index.shtml Textwrangler] ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* [http://www.poedit.net/ poEdit], pour Mac et PC ;&lt;br /&gt;
#* [http://i18n.kde.org/tools/kbabel/ KBabel] ;&lt;br /&gt;
#* [http://gtranslator.sourceforge.net/ gtranslator].&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
* Les variables sont indiquées par ''$'' ; il ne faut pas les traduire : par exemple, ''$gold_left'' se traduit par ''$gold_left'' et non pas par ''$or_restant''. &lt;br /&gt;
&lt;br /&gt;
* Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite '''commence''' par ''$'', rien ne s'affiche dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe.&lt;br /&gt;
&lt;br /&gt;
* ''\n'' dans la chaîne originale permet de créer un saut de ligne. Il faut le traduire en mettant ''\n'' en français (c'est important : ''gettext'' bugge s'il n'y a pas le même nombre de ''\n'' des deux côtés).&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 22/05/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth-thot (The Hammer of Thursagan) : Aurélien&lt;br /&gt;
** Invasion from the unknow : Damien&lt;br /&gt;
&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25851</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25851"/>
		<updated>2008-05-31T19:00:04Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr] - translation team mailing list [mailto:wesnothATmlDOTfreeDOTfr]&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[MacedonianTranslation|Macedonian]] - maintainer: Dimitar Ilccov (Mythological)&lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25849</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25849"/>
		<updated>2008-05-31T18:58:06Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr] - translation team mailing list [mailto:wesnothATmlDOTfreeDOTfr]&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[MacedonianTranslation|Macedonian]] - maintainer: Dimitar Ilccov&lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25847</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25847"/>
		<updated>2008-05-31T18:54:35Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr]&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[MacedonianTranslation|Macedonian]] - maintainer: Dimitar Ilccov&lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25846</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25846"/>
		<updated>2008-05-31T18:50:30Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr] (interim) or: Guillaume Massart (Piou2fois) - [mailto:massartDOTguillaumeATwanadooDOTfr] (currently away)&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[MacedonianTranslation|Macedonian]] - maintainer: Dimitar Ilccov&lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25845</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25845"/>
		<updated>2008-05-31T18:46:23Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr] (interim) or: Guillaume Massart (Piou2fois) - [mailto:massartDOTguillaumeATwanadooDOTfr] (currently away)&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[MacedonianTranslation|Macedonian]] - maintainer: Dimitar Ilccov (Mythological)([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mythological]) - No mail address specified &lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25844</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=25844"/>
		<updated>2008-05-31T18:42:19Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Friedel Wolff - [mailto:friedelATSIGNtranslateDOTorgDOTza]&lt;br /&gt;
* [[ArabicTranslation|Arabic]] - maintainer: Amnay Mokhtari - [mailto:amnayAToperamailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Nikolay Vladimirov (Turki) - [mailto:nikolayATvladimiroffDOTcom]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: ???, Enter the Forum for information: [http://www.wesnoth.cn Wesnoth.CN]&lt;br /&gt;
* [[ChineseTaiwanTranslation|Chinese (Taiwan)]] - maintainer: ???&lt;br /&gt;
* [[CroatianTranslation|Croatian]] - maintainer: Nino Gunjača (nion) - [mailto:nino.gunjaca@zg.t-com.hr]&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Vladimír Slávik - [mailto:slavikDOTvladimirATseznamDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Joe Hansen (joedalton) - [mailto:joedalton2ATyahooDOTdk]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Foppe Benedictus (Fopper) - [mailto:foppeDOTbenedictusATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:peadar.ruadh@btinternet.com]&lt;br /&gt;
* [[Esperanto_translation|Esperanto]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Karen Eso (keeve) - [mailto:eveUNDERSCOREesoATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Samu Voutilainen (Smar) - [mailto:ec5983ATkolumbusDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Benoît Timbert (Noyga) [mailto:benoitDOTtimbertATfreeDOTfr] (interim) or: Guillaume Massart (Piou2fois) - [mailto:massartDOTguillaumeATwanadooDOTfr] (currently away)&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Leandro Regueiro - [mailto:leandroDOTregueiroATgmailDOTcom] [http://trasno.net Proxecto Trasno]&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Konstantinos Egarhos [mailto:atixosATgmailDOTcom]&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] - maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Kádár-Németh Krisztián - [mailto:krisztian.kadATgmailDOTcom]; vice-maintainer: Németh Tamás [mailto:ntomaszATkabelnetDOThu]&lt;br /&gt;
* [[IndonesianTranslation|Indonesian]] - maintainer: Nicky Inkrais Witras [mailto:inkraiswitrasATyahooDOTcom]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Luciano Montanaro - [mailto:mikelima@cirulla.net]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: ???&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[LithuanianTranslation|Lithuanian]] - maintainer: Andrius Štikonas - [mailto:stikonasATgmailDOTcom] &lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: Zbigniew Banach - [mailto:zDOTbanachATwsisizDOTeduDOTpl]&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[PortugueseContinentalTranslation|Portuguese Continental(pt_PT)]] - maintainer: Sérgio Lopes [mailto:knitter.is@gmail.com]&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Victor Zabavin [mailto:viczaATzmailDOTru]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srećko Toroman (freecraft)- [mailto:sreckotoromanATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: Sergi March [mailto:sergiPUNTOmarchENgmail.com]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Gustav Tiger (Tigge) - [mailto:adminATtiggeDOTorg]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - maintainer: Nilgün Belma Bugüner - [mailto:nilgunATbelgelerDOTgenDOTtr]&lt;br /&gt;
* [[Wesnoth-in-Valencian|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
There now is a mailinglist dedicated to translation matters. It is mainly intended to be used for informing translation maintainers about important changes, to announce string freezes and other special things. Everyone is free to subscribe to this list. You can find this list, entitled wesnoth-i18n at the listing of all Wesnoth mailing lists:&lt;br /&gt;
&lt;br /&gt;
[http://gna.org/mail/?group=wesnoth http://gna.org/mail/?group=wesnoth]&lt;br /&gt;
&lt;br /&gt;
The archive for this list is to be found [http://mail.gna.org/public/wesnoth-i18n/ here].&lt;br /&gt;
Please keep in mind that this list is not meant for discussing changes for one single translation but stuff that is relevant to all translations.&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (stable)]&lt;br /&gt;
* [http://gettext.wesnoth.org/index.php?version=trunk&amp;amp;package=alloff Translations statistics (development)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;br /&gt;
* [[SpellingMistakes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations|*]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SideWML&amp;diff=25686</id>
		<title>SideWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SideWML&amp;diff=25686"/>
		<updated>2008-05-18T10:29:16Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* the [side] tag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== the [side] tag ==&lt;br /&gt;
&lt;br /&gt;
The [side] tag is used to describe a side in a particular scenario.&lt;br /&gt;
&lt;br /&gt;
The following keys are recognized:&lt;br /&gt;
&lt;br /&gt;
* '''side''': a digit. The leader of this side is placed on the tile represented by this digit (see [[BuildingMaps]]). When defining sides, they must be defined in order since the side number is checked against the number of sides seen so far.&lt;br /&gt;
&lt;br /&gt;
* '''controller''': how moves for this side should be inputted.&lt;br /&gt;
** '''ai''': the Wesnoth AI makes this side's moves. This is the default setting.&lt;br /&gt;
** '''human''': a player controls this side's moves.&lt;br /&gt;
** '''null''': the side doesn't get a turn to move and doesn't have a leader generated from the contents of the [side] tag. (It still can get units from [unit] tags in the [side] tag.)&lt;br /&gt;
&lt;br /&gt;
* '''no_leader''': if &amp;quot;no&amp;quot; (default), then keys describing a unit which will begin on the side's keep will be the remainder of the '''[side]''' tag, See [[SingleUnitWML]]. Note that if the keys '''x''', '''y''' are included, the leader will begin there regardless of keep location. If this side has a recall list from a previous level, then the recall list will be searched for a leader (using '''canrecruit=yes''') and if one is found it will be used instead of the one described in the '''[side]''' tag. Typical keys used for defining the leader unit are '''type''' (mandatory), '''description''', '''id''' {{DevFeature}}, '''user_description''', '''name''' {{DevFeature}} and '''unrenamable=yes''', see [[UnitWML]].&lt;br /&gt;
&lt;br /&gt;
* '''recruit''': a list of unit types. At the beginning of the scenario, the side gains recruitment of these units.&lt;br /&gt;
&lt;br /&gt;
* '''gold''': the starting gold for this side. Default 100. (If gold is carried over from a previous scenario, this value is the minimum starting gold.)&lt;br /&gt;
&lt;br /&gt;
* '''income''': the base income for this side, default 0. This is added to ''base_income'', '''[game_config]''' to determine the side's base income. (see [[GameConfigWML]]).&lt;br /&gt;
&lt;br /&gt;
* '''fog''': if 'yes', this side cannot see any tiles it is not within vision of, except at the start.&lt;br /&gt;
&lt;br /&gt;
* '''shroud''': if 'yes', this side cannot see any tiles it has not moved within sight of.&lt;br /&gt;
&lt;br /&gt;
* '''shroud_data''': describes the area which this team has de-shrouded. An example:&lt;br /&gt;
 |&lt;br /&gt;
 |00011111000&lt;br /&gt;
This would leave the first column on the map unaltered and would change the second column for 11 tiles. A '0' means: shrouded, '1' means unshrouded. You can either call an external file using {@filename}  (see [[PreprocessorRef]]) or place the data in quotes. For making an external file see [[BuildingScenariosShroudData]].&lt;br /&gt;
&lt;br /&gt;
* '''persistent''': whether the side exists in any other scenarios. If '1'(yes), then ''save_id''(see below) becomes active for this side. Default '0'(no); when '''controller=human''', this is always '1'.&lt;br /&gt;
&lt;br /&gt;
* '''save_id''': default ''description'' if available, 'Unknown' otherwise. The ID of the side with respect to the previous and next scenarios. Used to carry over the side's recall list (including the side's leader), recruitment list, and starting gold from scenario to scenario. Also used for the side's displayed name in the victory gold-calculation dialog.&lt;br /&gt;
&lt;br /&gt;
* '''team_name''': a non translatable string representing the team's description. Sides with the same team_name are allied. Default ''side''.&lt;br /&gt;
&lt;br /&gt;
* '''user_team_name''': a translatable string representing the team's description. This has no effect on alliances. Default ''team_name''.&lt;br /&gt;
&lt;br /&gt;
* '''colour''': May be either a numeric color index or a color name (e.g. 'blue', 'purple', 'orange', etc.).  The numeric form is deprecated. The default list of numbers and corresponding colours can be found in data/core/team_colors.cfg.&lt;br /&gt;
&lt;br /&gt;
* '''flag''': a custom flag animation to use instead of the default one to mark captured villages. An automatic side-coloring is applied.&lt;br /&gt;
** Example animation that has three frames and loops every 750ms: ''flag=misc/myflag-1.png:250,misc/myflag-2.png:250,misc/myflag-3.png:250''&lt;br /&gt;
&lt;br /&gt;
* '''flag_icon''': a custom flag icon to indicate the side playing in the statusbar (a size of 24x16 is recommended). An automatic side-coloring is applied.&lt;br /&gt;
&lt;br /&gt;
* '''village_gold''': the amount of gold given to this side per village it controls per turn. Default specified in ''village_income'', '''[game_config]''' ([[GameConfigWML]]). '''Note:''' If you need village gold to be 0. Set the variable to -1.&lt;br /&gt;
&lt;br /&gt;
* '''share_maps''': whether sides allied with this side see all terrains that this side sees, if they are on shroud.&lt;br /&gt;
&lt;br /&gt;
* '''share_view''': whether sides allied with this side see the units that this side sees, if they are on FoW (fog).&lt;br /&gt;
&lt;br /&gt;
* '''disallow_observers''': prevents observers from seeing this side turn. (default: no)&lt;br /&gt;
&lt;br /&gt;
* '''name''', '''id''', '''leader''': not used; see [[EraWML]].&lt;br /&gt;
&lt;br /&gt;
* ''music'' music to play for this player. Default specified in [scenario] (see [[ScenarioWML]]).&lt;br /&gt;
&lt;br /&gt;
* '''[ai]''' if '''controller=ai''', gives parameters to the AI. See [[AiWML]].&lt;br /&gt;
&lt;br /&gt;
* '''[village]''' describes a village the side begins in control of.&lt;br /&gt;
** ''x'', ''y'' the location of the village.&lt;br /&gt;
&lt;br /&gt;
* '''[unit]''' describes a unit which begins on the side. See [[SingleUnitWML]]. If the side has a recall list and the unit is not given a location, it will start on the recall list. Note that the ''side'' attribute under '''[unit]''' will be ignored, as the side will come from the ''side'' attribute of '''[side]'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following keys are multiplayer only:&lt;br /&gt;
&lt;br /&gt;
* '''allow_player''': if false then this side will not be allowed to be modified and will be hidden during game creation.&lt;br /&gt;
&lt;br /&gt;
* '''team_lock''': if true then this side's team is not allowed to be modified.&lt;br /&gt;
&lt;br /&gt;
* '''colour_lock''': if true then this side's color is not allowed to be modified.&lt;br /&gt;
&lt;br /&gt;
* '''gold_lock''': if true then this side's gold is not allowed to be modified. &lt;br /&gt;
&lt;br /&gt;
* '''income_lock''': if true then this side's income is not allowed to be modified.&lt;br /&gt;
&lt;br /&gt;
* '''faction''': this lock this side to this faction.&lt;br /&gt;
&lt;br /&gt;
* '''faction_from_recruit''' {{DevFeature}}: if true then this side will be locked to the faction that matches the recruits better. (this was enabled by default in 1.4)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[EraWML]]&lt;br /&gt;
* [[ScenarioWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=25073</id>
		<title>InternalActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=25073"/>
		<updated>2008-04-03T22:26:17Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [event] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Internal actions ==&lt;br /&gt;
&lt;br /&gt;
Internal actions are actions that WML uses internally that do not directly affect gameplay, for example storing a variable.&lt;br /&gt;
&lt;br /&gt;
The internal actions '''[if]''', '''[while]''', and '''[event]''' describe when/whether sets of actions should be executed.&lt;br /&gt;
&lt;br /&gt;
== [if] ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of actions based on whether the conditions described in the condition tags are true or not.&lt;br /&gt;
&lt;br /&gt;
Condition tags:&lt;br /&gt;
* '''[have_unit]''': a unit passing this filter with &amp;gt;0 HP exists&lt;br /&gt;
** [[StandardUnitFilter]] (almost... '''Note:''' does not check for matching units in the recall list)&lt;br /&gt;
&lt;br /&gt;
* '''[have_location]''': a location passing this filter exists &lt;br /&gt;
** [[StandardLocationFilter]]&lt;br /&gt;
&lt;br /&gt;
* '''[and]''': If an [and] is present, all must evaluate to true in order for the [if] to evaluate true. Useful as a bracket for complex conditions, but not strictly necessary.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [and] evaluates to true.&lt;br /&gt;
&lt;br /&gt;
* '''[or]''': If an [or] is present, one must evaluate to true in order for the [if] to evaluate true. ([[AdvancedConditionalWML|Example]])&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, '''[or]''' evaluates to true. &lt;br /&gt;
&lt;br /&gt;
* '''[not]''': If a [not] is present, none must evaluate to true in order for the [if] to evaluate true.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [not] evaluates to false.&lt;br /&gt;
&lt;br /&gt;
* '''[and],[or],[not]''': all top-level filters will support in-order conditional handling of and, or, and not. One important thing to remember is, if you have multiple [or]s, you should not wrap your first conditional statement into an [or] block.&lt;br /&gt;
&lt;br /&gt;
* '''[variable]''': tests something about the value of a WML variable (see [[VariablesWML]])&lt;br /&gt;
** '''name''': the name of the variable to test the value of&amp;lt;br&amp;gt;Only one of the following keys should be used for comparing the value of the variable to another value:&lt;br /&gt;
** '''equals''': $name is equal (string wise) to this&lt;br /&gt;
** '''not_equals''': $name is not equal to this&lt;br /&gt;
** '''greater_than''': $name is numerically greater than this&lt;br /&gt;
** '''less_than''': $name is less than this&lt;br /&gt;
** '''greater_than_equal_to''': $name is not less than this&lt;br /&gt;
** '''less_than_equal_to''': $name is not greater than this&lt;br /&gt;
** '''numerical_not_equals''': $name is greater than or less than this&lt;br /&gt;
** '''numerical_equals''': $name is not greater than or less than this&lt;br /&gt;
** '''boolean_equals''': $name has the same boolean value (e.g. off, false, 0, no)&lt;br /&gt;
** '''contains''': $name contains this string&lt;br /&gt;
** {{DevFeature}} '''boolean_not_equals''': $name has not the same boolean value. Strictly a syntactic shortcut for the following syntax that served its absence in 1.4:&lt;br /&gt;
  [not]&lt;br /&gt;
    [variable]&lt;br /&gt;
      name=...&lt;br /&gt;
      boolean_equals=...&lt;br /&gt;
    [/variable]&lt;br /&gt;
  [/not]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[then]''': contains a set of action tags which should be executed if all conditions are true, or all conditions in any single [or] are true&lt;br /&gt;
* '''[else]''': contains a set of action tags which should be executed if any condition is false, and all [or] tags are false&lt;br /&gt;
&lt;br /&gt;
== [switch] {{DevFeature}} ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of action based on the value of a variable.&lt;br /&gt;
  [switch]&lt;br /&gt;
     variable=foo&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;A&amp;quot;&lt;br /&gt;
        ... WML if foo=A ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;B&amp;quot;&lt;br /&gt;
        ... WML if foo=B ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [else]&lt;br /&gt;
        ... WML if not foo=A nor foo=B ...&lt;br /&gt;
     [/else]&lt;br /&gt;
  [/switch]&lt;br /&gt;
&lt;br /&gt;
* '''variable''': name of the variable to check.&lt;br /&gt;
* '''[case]''': Case block. Contains:&lt;br /&gt;
** '''value''': value to test the variable against.&lt;br /&gt;
** the action WML to execute if the variable matches the value (rest of the block).&lt;br /&gt;
* '''[else]''': Block of action WML to execute if no '''[case]''' block matches.&lt;br /&gt;
&lt;br /&gt;
== [while] ==&lt;br /&gt;
&lt;br /&gt;
Executes commands if all conditions are true.&lt;br /&gt;
Continues to execute them until a condition is not true.&lt;br /&gt;
&lt;br /&gt;
Executes a maximum of 1024 iterations per invocation.&lt;br /&gt;
Condition tags are the same as for [if]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[do]''': contains actions that should be executed repeatedly until some condition is false.&lt;br /&gt;
&lt;br /&gt;
The '''[while]''' tag is useful for iterating over an array.&lt;br /&gt;
An array is a list of values.&lt;br /&gt;
The ''number''th value in the array '''array''' is stored in the WML variable '''''array''[number]'''.&lt;br /&gt;
Note that if '''number''' is the value of the variable '''variable''',&lt;br /&gt;
the expression '''$''array''[$variable]''' will return the ''number''th value in ''array''.&lt;br /&gt;
The macros 'FOREACH' and 'NEXT' ([[UtilWML]]) can be used to iterate over an array;&lt;br /&gt;
i.e. run a set of actions once per element of the array.&lt;br /&gt;
&lt;br /&gt;
=== {FOREACH} ===&lt;br /&gt;
If you wish to use a &amp;quot;for-each&amp;quot; iteration format (useful for example when you want to do an iteration for each row in a table) you can use the [http://www.wesnoth.org/macro-reference.xhtml FOREACH] and [http://www.wesnoth.org/macro-reference.xhtml NEXT] prededined macros.&lt;br /&gt;
&lt;br /&gt;
=== {REPEAT} ===&lt;br /&gt;
You can use the REPEAT macro to perform a quick iteration for a number of times you specify.&lt;br /&gt;
&lt;br /&gt;
== [event] ==&lt;br /&gt;
&lt;br /&gt;
This adds a new event to the scenario.&lt;br /&gt;
The event is in the normal format for an '''[event]''' tag (See [[EventWML]]).&lt;br /&gt;
This is useful if you want an event that can only be triggered when a prior event is fulfilled&lt;br /&gt;
&lt;br /&gt;
These tags describe actions that affect the values of WML variables&lt;br /&gt;
(see [[VariablesWML]] for information on WML variables,&lt;br /&gt;
and [[UtilWML]] for convenient macro shortcuts for some of these):&lt;br /&gt;
* '''[set_variable]''': manipulates a WML variable. {{Note:Predefined Macro|VARIABLE}} &lt;br /&gt;
** '''name''': the name of the variable to manipulate&lt;br /&gt;
** '''value''': set the variable to the given value (can be numeric or string). This only interprets dollars signs if it is the very first character, and then the entire value must be a simple variable name. (in 1.3.2, has the same effect as format. Use literal for no substitution)&lt;br /&gt;
** '''literal''': set the variable to the given value (can be numeric or string). This does not interpret any dollars signs.&lt;br /&gt;
** '''format''': set the variable to the given value. Interprets the dollar sign to a higher degree than most actions. (see [[VariablesWML]])&lt;br /&gt;
** '''to_variable''': Fully processes its value as in ''format'', and then gets the variable with that name.&lt;br /&gt;
** '''add''': add the given amount to the variable. To subtract, add a negative number.&lt;br /&gt;
** '''multiply''': multiply the variable by the given number. To divide, multiply by the inverse eg: 4/2 = 4 * 1/2 = 4 * 0.5. To negate, multiply by -1. The result is an integer.&lt;br /&gt;
** '''divide''': divide the variable by the given number. The result is an integer.&lt;br /&gt;
** '''modulo''': returns the remainder of an integer division. Both variables need to be an integer, the result is also an integer. eg 5 % 2 = 1.&lt;br /&gt;
** '''random''': the variable will be randomly set.&amp;lt;br&amp;gt;You may provide a comma separated list of possibilities, e.g. 'random=Bob,Bill,Bella'.&amp;lt;br&amp;gt;You may provide a range of numbers (integers), e.g. 'random=3..5'.&amp;lt;br&amp;gt;You may combine these, e.g. 'random=100,1..9', in which case there would be 1/10th chance of getting 100, just like for each of 1 to 9. Dollars signs are only normally interpreted here, so it is harder to have a dynamically determined range. You would need to create the random-string with ''format''.&lt;br /&gt;
** '''rand''': does the same as random, but has better MP support. See [[BuildingMultiplayerExamples]] for more info on the MP case. '''It is highly recommended that you use this feature for randomization.'''&lt;br /&gt;
** '''time=stamp''': Retrieves a timestamp in milliseconds since wesnoth was started, can be used as timing aid. Don't try to use this as random value in MP since it will cause an OOS.&lt;br /&gt;
** {{DevFeature}} '''string_length''': Retrieves the length in characters of the string passed as this attribute's value; such string is parsed and variable substitution applied automatically (see [[VariablesWML]] for details).&lt;br /&gt;
** {{DevFeature}} '''[join]''' joins an array of strings to a textual list&lt;br /&gt;
***variable: name of the array&lt;br /&gt;
***key: array[$i].key to look for the strings&lt;br /&gt;
***separator: separator to connect the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* {{DevFeature}} '''[set_variables]''': manipulates a WML array&lt;br /&gt;
** '''name''': the name of the container to manipulate&lt;br /&gt;
** '''mode''': one of the following values:&lt;br /&gt;
***replace: will clean the array '''name''' and replace it with given data&lt;br /&gt;
***append: will append given data to the current array&lt;br /&gt;
***merge: will merge in the given data into '''name'''&lt;br /&gt;
** '''to_variable''': data will be set to the given array&lt;br /&gt;
** '''[value]''': the WML inside the [value] tags will be stored in data, variables will be interpolated directly, use $| in order to escape the $ sign, you can store arrays of WML by supplying multiple [value] tags, example:&lt;br /&gt;
 [set_variables]&lt;br /&gt;
  name=arr&lt;br /&gt;
  mode=replace&lt;br /&gt;
  [value]&lt;br /&gt;
   foo=bar&lt;br /&gt;
  [/value]&lt;br /&gt;
  [value]&lt;br /&gt;
   foo=more&lt;br /&gt;
  [/value]&lt;br /&gt;
 [/set_variables]&lt;br /&gt;
 {DEBUG_MSG $arr[0].foo}&lt;br /&gt;
 {DEBUG_MSG $arr[1].foo}&lt;br /&gt;
 =&amp;gt;bar; more&lt;br /&gt;
** '''[literal]''': same as '''[value]''', but variables will not be substituted, '''[literal]''' and '''[value]''' can not be used in the same [set_variables] tag, i.e. you can not create arrays by piling a mix of '''[value]''' and '''[literal]''' tags&lt;br /&gt;
**'''[split]''' splits a textual list into an array which will then be set to data&lt;br /&gt;
***list: textual list to split&lt;br /&gt;
***key: array[$i].key to put the elements in&lt;br /&gt;
***separator: separator to separate the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* {{DevFeature}} '''[fire_event]''': trigger a WML event&lt;br /&gt;
** '''name''': the name of event to trigger&lt;br /&gt;
** '''[primary_unit]''': primary unit for the event (usually the attacker) (optional)&lt;br /&gt;
** '''[secondary_unit]''': secondary unit for the event (usually the defender) (optional)&lt;br /&gt;
** both tags have some keys which are optional :&lt;br /&gt;
*** '''x,y''': location of this unit&lt;br /&gt;
*** '''weapon''': weapon that this unit was supposed to use for this event&lt;br /&gt;
&lt;br /&gt;
* '''[store_unit]''': stores details about units into game variables.&amp;lt;br&amp;gt;Common usage is to manipulate a unit by using [store_unit] to store it into a variable, followed by manipulation of the variable, and then [unstore_unit] to re-create the unit with the modified variables.&amp;lt;br&amp;gt;Note: stored units also exist on the field, and modifying the stored variable will not automatically change the stats of the units. You need to use [unstore_unit]. See also [unstore_unit], [[DirectActionsWML]], and '''FOREACH''', [[UtilWML]]&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] all units matching this filter will be stored. If there are multiple units, they will be stored into an array of variables.&lt;br /&gt;
** '''variable''': the name of the variable into which to store the unit(s)&lt;br /&gt;
** '''mode''': defaults to ''always_clear'', which clears the variable, whether or not a match is found. If mode is set to ''replace'', the variable will only be cleared if a match is found. If mode is set to ''append'', the variable will not be cleared.&lt;br /&gt;
** '''kill''': if 'yes' the units that are stored will be removed from play. This is useful for instance to remove access to a player's recall list, with the intent to restore the recall list later.&lt;br /&gt;
:When a unit is stored, the following values may be manipulated with '''[set_variable]'''&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* gender&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* overlays&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* moves&lt;br /&gt;
:* resting&lt;br /&gt;
:* side&lt;br /&gt;
:* type&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* upkeep&lt;br /&gt;
:* user_description&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
Variables, status, and modifications are children of the stored unit variable.  Example:&lt;br /&gt;
 [set_variable]&lt;br /&gt;
 name=unit_store.status.poisoned&lt;br /&gt;
 value=yes&lt;br /&gt;
 [/set_variable]&lt;br /&gt;
&lt;br /&gt;
:All keys and tags in the unit definition may be manipulated, including some others.  Here is a sample list.  If you have a doubt about what keys are valid or what the valid value range is for each key, code a [store_unit] event, save the game, and examine what keys are in the file.&lt;br /&gt;
:* advanceto&lt;br /&gt;
:* alignment&lt;br /&gt;
:* alpha&lt;br /&gt;
:* attacks_left&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* controller&lt;br /&gt;
:* cost&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* flying&lt;br /&gt;
:* fog&lt;br /&gt;
:* gender&lt;br /&gt;
:* get_hit_sound&lt;br /&gt;
:* gold&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* id&lt;br /&gt;
:* image&lt;br /&gt;
:* image_defensive&lt;br /&gt;
:* income&lt;br /&gt;
:* language_name (same as the name key in the unit config)&lt;br /&gt;
:* level&lt;br /&gt;
:* max_attacks&lt;br /&gt;
:* max_experience&lt;br /&gt;
:* max_hitpoints&lt;br /&gt;
:* max_moves&lt;br /&gt;
:* movement&lt;br /&gt;
:* movement_type&lt;br /&gt;
:* moves&lt;br /&gt;
:* race&lt;br /&gt;
:* resting&lt;br /&gt;
:* shroud&lt;br /&gt;
:* side&lt;br /&gt;
:* team_name&lt;br /&gt;
:* type&lt;br /&gt;
:* unit_description&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* usage&lt;br /&gt;
:* value&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* zoc&lt;br /&gt;
:* [advancement]&lt;br /&gt;
:* [/advancement]&lt;br /&gt;
:* [movement_costs]&lt;br /&gt;
:* [/movement_costs]&lt;br /&gt;
:* [defense]&lt;br /&gt;
:* [/defense]&lt;br /&gt;
:* [resistance]&lt;br /&gt;
:* [/resistance]&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [/variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [/status]&lt;br /&gt;
:* [attack]&lt;br /&gt;
:* [/attack]&lt;br /&gt;
:* [modifications_description]&lt;br /&gt;
:* [/modifications_description]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
:* [/modifications]&lt;br /&gt;
&lt;br /&gt;
* '''[store_starting_location]''': Stores the starting location of a side's leader in a variable. The variable is a composite type which will have members 'x', 'y', 'terrain' (the terrain type for a starting location is always 'K' unless it has been changed) and {{DevFeature}} 'owner_side' (villages only)&lt;br /&gt;
** '''side''': the side whose starting location is to be stored&lt;br /&gt;
** '''variable''': (default='location'): the name of the variable to store the location in&lt;br /&gt;
* '''[store_locations]''': Stores a series of locations that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type) and {{DevFeature}} 'owner_side' (villages only).&lt;br /&gt;
** [[StandardLocationFilter]]: a location or location range which specifies the locations to store. You must specify this or no locations will be stored.&lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a comma-sperated list of terrain codes. (See [[TerrainCodesWML]] for possible values.) If present, locations will only be chosen if the code for the terrain type of that location is listed.&lt;br /&gt;
** '''radius''': if present, any locations which are within '''radius''' hexes of the location filter will also be stored&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] only locations with units on them that match the filter will be stored. Use a blank filter to only store locations with units.&lt;br /&gt;
* '''[store_villages]''': Stores a series of locations of villages that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type) and {{DevFeature}} 'owner_side'.&lt;br /&gt;
** '''owner_side''': a side number. If present, only villages owned by this side will be choosen. If owner_side=0, store the unowned villages. &lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a series of terrain characters. (See [[TerrainLettersWML]] for possible values.) If present, villages will only be chosen if the terrain code of the terrain type of that location is listed.  You may give a comma separated list of terrains.&lt;br /&gt;
** '''side''': (default=1) the side for which the gold should be stored&lt;br /&gt;
** '''variable''': (default='gold') the name of the variable to store the gold in&lt;br /&gt;
* '''[store_side]''': stores information about a certain side in a variable. The variable will contain the member variables 'name', 'team_name', 'gold' and 'income', 'fog', 'shroud', 'user_team_name', 'colour', 'controller', 'village_gold' and 'recruit'.)&lt;br /&gt;
** '''side''': the side whose information should be stored&lt;br /&gt;
** '''variable''': the name of the variable to store the information in&lt;br /&gt;
* '''[clear_variable]''': This will delete the given variable or array. This is good to use to clean up the set of variables -- e.g. a well-behaved scenario will delete any variables that shouldn't be kept for the next scenario before the end of the scenario.&amp;lt;br&amp;gt; Tags and variables of stored units can also be cleared, meaning that [trait]s and [object]s, for example, can be removed.&lt;br /&gt;
** '''name''': the name of the variable to clear.&lt;br /&gt;
* '''[role]''': tries to find a unit to assign a role to.&amp;lt;br&amp;gt;This is useful if you want to choose a non-major character to say some things during the game. Once a role is assigned, you can use '''role=''' in a unit filter to identify the unit with that role (See [[FilterWML]]).&amp;lt;br&amp;gt;However, there is no guarantee that roles will ever be assigned. You can use '''[have_unit]''' (see [if]) to see whether a role was assigned. This tag uses a [[StandardUnitFilter]] with the modification to order the search by type, mark only the first unit found with the role, and the role attribute is not used in the search. If for some reason you want to search for units that have or don't have existing roles, you can use one or more [not] filters. The will check recall lists in addition to units on the map. In normal use, you will probably want to include a ''side'' attribute to force the unit to be on a particular side.&lt;br /&gt;
** '''role''': the value to store as the unit's role. This role is not used in the [[StandardUnitFilter]] when doing the search for the unit to assign this role to.&lt;br /&gt;
** '''type''': a comma-separated list of possible types the unit can be. If any types are given, then units will be searched by type in the order listed. If no type is given, then no particular order with respect to type is guaranteed.&lt;br /&gt;
* {{DevFeature}} '''[store_map_dimensions]''': Stores the map dimensions in a variable.&lt;br /&gt;
** '''variable''': the name of the variable where the values will be saved into. If it is skipped, a variable 'map_size' is used, and its contents overridden, if they existed already. The result is a container variable, with members ''width'' and ''height''.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[VariablesWML]]&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InterfaceActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=25072</id>
		<title>InternalActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=25072"/>
		<updated>2008-04-03T22:23:59Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [event] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Internal actions ==&lt;br /&gt;
&lt;br /&gt;
Internal actions are actions that WML uses internally that do not directly affect gameplay, for example storing a variable.&lt;br /&gt;
&lt;br /&gt;
The internal actions '''[if]''', '''[while]''', and '''[event]''' describe when/whether sets of actions should be executed.&lt;br /&gt;
&lt;br /&gt;
== [if] ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of actions based on whether the conditions described in the condition tags are true or not.&lt;br /&gt;
&lt;br /&gt;
Condition tags:&lt;br /&gt;
* '''[have_unit]''': a unit passing this filter with &amp;gt;0 HP exists&lt;br /&gt;
** [[StandardUnitFilter]] (almost... '''Note:''' does not check for matching units in the recall list)&lt;br /&gt;
&lt;br /&gt;
* '''[have_location]''': a location passing this filter exists &lt;br /&gt;
** [[StandardLocationFilter]]&lt;br /&gt;
&lt;br /&gt;
* '''[and]''': If an [and] is present, all must evaluate to true in order for the [if] to evaluate true. Useful as a bracket for complex conditions, but not strictly necessary.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [and] evaluates to true.&lt;br /&gt;
&lt;br /&gt;
* '''[or]''': If an [or] is present, one must evaluate to true in order for the [if] to evaluate true. ([[AdvancedConditionalWML|Example]])&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, '''[or]''' evaluates to true. &lt;br /&gt;
&lt;br /&gt;
* '''[not]''': If a [not] is present, none must evaluate to true in order for the [if] to evaluate true.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [not] evaluates to false.&lt;br /&gt;
&lt;br /&gt;
* '''[and],[or],[not]''': all top-level filters will support in-order conditional handling of and, or, and not. One important thing to remember is, if you have multiple [or]s, you should not wrap your first conditional statement into an [or] block.&lt;br /&gt;
&lt;br /&gt;
* '''[variable]''': tests something about the value of a WML variable (see [[VariablesWML]])&lt;br /&gt;
** '''name''': the name of the variable to test the value of&amp;lt;br&amp;gt;Only one of the following keys should be used for comparing the value of the variable to another value:&lt;br /&gt;
** '''equals''': $name is equal (string wise) to this&lt;br /&gt;
** '''not_equals''': $name is not equal to this&lt;br /&gt;
** '''greater_than''': $name is numerically greater than this&lt;br /&gt;
** '''less_than''': $name is less than this&lt;br /&gt;
** '''greater_than_equal_to''': $name is not less than this&lt;br /&gt;
** '''less_than_equal_to''': $name is not greater than this&lt;br /&gt;
** '''numerical_not_equals''': $name is greater than or less than this&lt;br /&gt;
** '''numerical_equals''': $name is not greater than or less than this&lt;br /&gt;
** '''boolean_equals''': $name has the same boolean value (e.g. off, false, 0, no)&lt;br /&gt;
** '''contains''': $name contains this string&lt;br /&gt;
** {{DevFeature}} '''boolean_not_equals''': $name has not the same boolean value. Strictly a syntactic shortcut for the following syntax that served its absence in 1.4:&lt;br /&gt;
  [not]&lt;br /&gt;
    [variable]&lt;br /&gt;
      name=...&lt;br /&gt;
      boolean_equals=...&lt;br /&gt;
    [/variable]&lt;br /&gt;
  [/not]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[then]''': contains a set of action tags which should be executed if all conditions are true, or all conditions in any single [or] are true&lt;br /&gt;
* '''[else]''': contains a set of action tags which should be executed if any condition is false, and all [or] tags are false&lt;br /&gt;
&lt;br /&gt;
== [switch] {{DevFeature}} ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of action based on the value of a variable.&lt;br /&gt;
  [switch]&lt;br /&gt;
     variable=foo&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;A&amp;quot;&lt;br /&gt;
        ... WML if foo=A ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;B&amp;quot;&lt;br /&gt;
        ... WML if foo=B ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [else]&lt;br /&gt;
        ... WML if not foo=A nor foo=B ...&lt;br /&gt;
     [/else]&lt;br /&gt;
  [/switch]&lt;br /&gt;
&lt;br /&gt;
* '''variable''': name of the variable to check.&lt;br /&gt;
* '''[case]''': Case block. Contains:&lt;br /&gt;
** '''value''': value to test the variable against.&lt;br /&gt;
** the action WML to execute if the variable matches the value (rest of the block).&lt;br /&gt;
* '''[else]''': Block of action WML to execute if no '''[case]''' block matches.&lt;br /&gt;
&lt;br /&gt;
== [while] ==&lt;br /&gt;
&lt;br /&gt;
Executes commands if all conditions are true.&lt;br /&gt;
Continues to execute them until a condition is not true.&lt;br /&gt;
&lt;br /&gt;
Executes a maximum of 1024 iterations per invocation.&lt;br /&gt;
Condition tags are the same as for [if]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[do]''': contains actions that should be executed repeatedly until some condition is false.&lt;br /&gt;
&lt;br /&gt;
The '''[while]''' tag is useful for iterating over an array.&lt;br /&gt;
An array is a list of values.&lt;br /&gt;
The ''number''th value in the array '''array''' is stored in the WML variable '''''array''[number]'''.&lt;br /&gt;
Note that if '''number''' is the value of the variable '''variable''',&lt;br /&gt;
the expression '''$''array''[$variable]''' will return the ''number''th value in ''array''.&lt;br /&gt;
The macros 'FOREACH' and 'NEXT' ([[UtilWML]]) can be used to iterate over an array;&lt;br /&gt;
i.e. run a set of actions once per element of the array.&lt;br /&gt;
&lt;br /&gt;
=== {FOREACH} ===&lt;br /&gt;
If you wish to use a &amp;quot;for-each&amp;quot; iteration format (useful for example when you want to do an iteration for each row in a table) you can use the [http://www.wesnoth.org/macro-reference.xhtml FOREACH] and [http://www.wesnoth.org/macro-reference.xhtml NEXT] prededined macros.&lt;br /&gt;
&lt;br /&gt;
=== {REPEAT} ===&lt;br /&gt;
You can use the REPEAT macro to perform a quick iteration for a number of times you specify.&lt;br /&gt;
&lt;br /&gt;
== [event] ==&lt;br /&gt;
&lt;br /&gt;
This adds a new event to the scenario.&lt;br /&gt;
The event is in the normal format for an '''[event]''' tag (See [[EventWML]]).&lt;br /&gt;
This is useful if you want an event that can only be triggered when a prior event is fulfilled&lt;br /&gt;
&lt;br /&gt;
These tags describe actions that affect the values of WML variables&lt;br /&gt;
(see [[VariablesWML]] for information on WML variables,&lt;br /&gt;
and [[UtilWML]] for convenient macro shortcuts for some of these):&lt;br /&gt;
* '''[set_variable]''': manipulates a WML variable. {{Note:Predefined Macro|VARIABLE}} &lt;br /&gt;
** '''name''': the name of the variable to manipulate&lt;br /&gt;
** '''value''': set the variable to the given value (can be numeric or string). This only interprets dollars signs if it is the very first character, and then the entire value must be a simple variable name. (in 1.3.2, has the same effect as format. Use literal for no substitution)&lt;br /&gt;
** '''literal''': set the variable to the given value (can be numeric or string). This does not interpret any dollars signs.&lt;br /&gt;
** '''format''': set the variable to the given value. Interprets the dollar sign to a higher degree than most actions. (see [[VariablesWML]])&lt;br /&gt;
** '''to_variable''': Fully processes its value as in ''format'', and then gets the variable with that name.&lt;br /&gt;
** '''add''': add the given amount to the variable. To subtract, add a negative number.&lt;br /&gt;
** '''multiply''': multiply the variable by the given number. To divide, multiply by the inverse eg: 4/2 = 4 * 1/2 = 4 * 0.5. To negate, multiply by -1. The result is an integer.&lt;br /&gt;
** '''divide''': divide the variable by the given number. The result is an integer.&lt;br /&gt;
** '''modulo''': returns the remainder of an integer division. Both variables need to be an integer, the result is also an integer. eg 5 % 2 = 1.&lt;br /&gt;
** '''random''': the variable will be randomly set.&amp;lt;br&amp;gt;You may provide a comma separated list of possibilities, e.g. 'random=Bob,Bill,Bella'.&amp;lt;br&amp;gt;You may provide a range of numbers (integers), e.g. 'random=3..5'.&amp;lt;br&amp;gt;You may combine these, e.g. 'random=100,1..9', in which case there would be 1/10th chance of getting 100, just like for each of 1 to 9. Dollars signs are only normally interpreted here, so it is harder to have a dynamically determined range. You would need to create the random-string with ''format''.&lt;br /&gt;
** '''rand''': does the same as random, but has better MP support. See [[BuildingMultiplayerExamples]] for more info on the MP case. '''It is highly recommended that you use this feature for randomization.'''&lt;br /&gt;
** '''time=stamp''': Retrieves a timestamp in milliseconds since wesnoth was started, can be used as timing aid. Don't try to use this as random value in MP since it will cause an OOS.&lt;br /&gt;
** {{DevFeature}} '''string_length''': Retrieves the length in characters of the string passed as this attribute's value; such string is parsed and variable substitution applied automatically (see [[VariablesWML]] for details).&lt;br /&gt;
** {{DevFeature}} '''[join]''' joins an array of strings to a textual list&lt;br /&gt;
***variable: name of the array&lt;br /&gt;
***key: array[$i].key to look for the strings&lt;br /&gt;
***separator: separator to connect the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* {{DevFeature}} '''[set_variables]''': manipulates a WML array&lt;br /&gt;
** '''name''': the name of the container to manipulate&lt;br /&gt;
** '''mode''': one of the following values:&lt;br /&gt;
***replace: will clean the array '''name''' and replace it with given data&lt;br /&gt;
***append: will append given data to the current array&lt;br /&gt;
***merge: will merge in the given data into '''name'''&lt;br /&gt;
** '''to_variable''': data will be set to the given array&lt;br /&gt;
** '''[value]''': the WML inside the [value] tags will be stored in data, variables will be interpolated directly, use $| in order to escape the $ sign, you can store arrays of WML by supplying multiple [value] tags, example:&lt;br /&gt;
 [set_variables]&lt;br /&gt;
  name=arr&lt;br /&gt;
  mode=replace&lt;br /&gt;
  [value]&lt;br /&gt;
   foo=bar&lt;br /&gt;
  [/value]&lt;br /&gt;
  [value]&lt;br /&gt;
   foo=more&lt;br /&gt;
  [/value]&lt;br /&gt;
 [/set_variables]&lt;br /&gt;
 {DEBUG_MSG $arr[0].foo}&lt;br /&gt;
 {DEBUG_MSG $arr[1].foo}&lt;br /&gt;
 =&amp;gt;bar; more&lt;br /&gt;
** '''[literal]''': same as '''[value]''', but variables will not be substituted, '''[literal]''' and '''[value]''' can not be used in the same [set_variables] tag, i.e. you can not create arrays by piling a mix of '''[value]''' and '''[literal]''' tags&lt;br /&gt;
**'''[split]''' splits a textual list into an array which will then be set to data&lt;br /&gt;
***list: textual list to split&lt;br /&gt;
***key: array[$i].key to put the elements in&lt;br /&gt;
***separator: separator to separate the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* {{DevFeature}} '''[fire_event]''': trigger a WML event&lt;br /&gt;
** '''name''': the name of event to trigger&lt;br /&gt;
** '''[primary_unit]''': primary unit for the event (usually the attacker) (optional)&lt;br /&gt;
** '''[secondary_unit]''': secondary unit for the event (usually the defender) (optional)&lt;br /&gt;
** both tags have some keys which are optional :&lt;br /&gt;
*** '''x,y''': location of this unit&lt;br /&gt;
*** '''weapon''': weapon that this unit was supposed to use for this event&lt;br /&gt;
&lt;br /&gt;
* '''[store_unit]''': stores details about units into game variables.&amp;lt;br&amp;gt;Common usage is to manipulate a unit by using [store_unit] to store it into a variable, followed by manipulation of the variable, and then [unstore_unit] to re-create the unit with the modified variables.&amp;lt;br&amp;gt;Note: stored units also exist on the field, and modifying the stored variable will not automatically change the stats of the units. You need to use [unstore_unit]. See also [unstore_unit], [[DirectActionsWML]], and '''FOREACH''', [[UtilWML]]&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] all units matching this filter will be stored. If there are multiple units, they will be stored into an array of variables.&lt;br /&gt;
** '''variable''': the name of the variable into which to store the unit(s)&lt;br /&gt;
** '''mode''': defaults to ''always_clear'', which clears the variable, whether or not a match is found. If mode is set to ''replace'', the variable will only be cleared if a match is found. If mode is set to ''append'', the variable will not be cleared.&lt;br /&gt;
** '''kill''': if 'yes' the units that are stored will be removed from play. This is useful for instance to remove access to a player's recall list, with the intent to restore the recall list later.&lt;br /&gt;
:When a unit is stored, the following values may be manipulated with '''[set_variable]'''&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* gender&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* overlays&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* moves&lt;br /&gt;
:* resting&lt;br /&gt;
:* side&lt;br /&gt;
:* type&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* upkeep&lt;br /&gt;
:* user_description&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
Variables, status, and modifications are children of the stored unit variable.  Example:&lt;br /&gt;
 [set_variable]&lt;br /&gt;
 name=unit_store.status.poisoned&lt;br /&gt;
 value=yes&lt;br /&gt;
 [/set_variable]&lt;br /&gt;
&lt;br /&gt;
:All keys and tags in the unit definition may be manipulated, including some others.  Here is a sample list.  If you have a doubt about what keys are valid or what the valid value range is for each key, code a [store_unit] event, save the game, and examine what keys are in the file.&lt;br /&gt;
:* advanceto&lt;br /&gt;
:* alignment&lt;br /&gt;
:* alpha&lt;br /&gt;
:* attacks_left&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* controller&lt;br /&gt;
:* cost&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* flying&lt;br /&gt;
:* fog&lt;br /&gt;
:* gender&lt;br /&gt;
:* get_hit_sound&lt;br /&gt;
:* gold&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* id&lt;br /&gt;
:* image&lt;br /&gt;
:* image_defensive&lt;br /&gt;
:* income&lt;br /&gt;
:* language_name (same as the name key in the unit config)&lt;br /&gt;
:* level&lt;br /&gt;
:* max_attacks&lt;br /&gt;
:* max_experience&lt;br /&gt;
:* max_hitpoints&lt;br /&gt;
:* max_moves&lt;br /&gt;
:* movement&lt;br /&gt;
:* movement_type&lt;br /&gt;
:* moves&lt;br /&gt;
:* race&lt;br /&gt;
:* resting&lt;br /&gt;
:* shroud&lt;br /&gt;
:* side&lt;br /&gt;
:* team_name&lt;br /&gt;
:* type&lt;br /&gt;
:* unit_description&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* usage&lt;br /&gt;
:* value&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* zoc&lt;br /&gt;
:* [advancement]&lt;br /&gt;
:* [/advancement]&lt;br /&gt;
:* [movement_costs]&lt;br /&gt;
:* [/movement_costs]&lt;br /&gt;
:* [defense]&lt;br /&gt;
:* [/defense]&lt;br /&gt;
:* [resistance]&lt;br /&gt;
:* [/resistance]&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [/variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [/status]&lt;br /&gt;
:* [attack]&lt;br /&gt;
:* [/attack]&lt;br /&gt;
:* [modifications_description]&lt;br /&gt;
:* [/modifications_description]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
:* [/modifications]&lt;br /&gt;
&lt;br /&gt;
* '''[store_starting_location]''': Stores the starting location of a side's leader in a variable. The variable is a composite type which will have members 'x', 'y', 'terrain' (the terrain type for a starting location is always 'K' unless it has been changed) and {{DevFeature}} 'owner_side' (villages only)&lt;br /&gt;
** '''side''': the side whose starting location is to be stored&lt;br /&gt;
** '''variable''': (default='location'): the name of the variable to store the location in&lt;br /&gt;
* '''[store_locations]''': Stores a series of locations that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type) and {{DevFeature}} 'owner_side' (villages only).&lt;br /&gt;
** [[StandardLocationFilter]]: a location or location range which specifies the locations to store. You must specify this or no locations will be stored.&lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a comma-sperated list of terrain codes. (See [[TerrainCodesWML]] for possible values.) If present, locations will only be chosen if the code for the terrain type of that location is listed.&lt;br /&gt;
** '''radius''': if present, any locations which are within '''radius''' hexes of the location filter will also be stored&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] only locations with units on them that match the filter will be stored. Use a blank filter to only store locations with units.&lt;br /&gt;
* '''[store_villages]''': Stores a series of locations of villages that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type) and {{DevFeature}} 'owner_side' (villages only).&lt;br /&gt;
** '''owner_side''': a side number. If present, only villages owned by this side will be choosen. If owner_side=0, store the unowned villages. &lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a series of terrain characters. (See [[TerrainLettersWML]] for possible values.) If present, villages will only be chosen if the terrain code of the terrain type of that location is listed.  You may give a comma separated list of terrains.&lt;br /&gt;
** '''side''': (default=1) the side for which the gold should be stored&lt;br /&gt;
** '''variable''': (default='gold') the name of the variable to store the gold in&lt;br /&gt;
* '''[store_side]''': stores information about a certain side in a variable. The variable will contain the member variables 'name', 'team_name', 'gold' and 'income', 'fog', 'shroud', 'user_team_name', 'colour', 'controller', 'village_gold' and 'recruit'.)&lt;br /&gt;
** '''side''': the side whose information should be stored&lt;br /&gt;
** '''variable''': the name of the variable to store the information in&lt;br /&gt;
* '''[clear_variable]''': This will delete the given variable or array. This is good to use to clean up the set of variables -- e.g. a well-behaved scenario will delete any variables that shouldn't be kept for the next scenario before the end of the scenario.&amp;lt;br&amp;gt; Tags and variables of stored units can also be cleared, meaning that [trait]s and [object]s, for example, can be removed.&lt;br /&gt;
** '''name''': the name of the variable to clear.&lt;br /&gt;
* '''[role]''': tries to find a unit to assign a role to.&amp;lt;br&amp;gt;This is useful if you want to choose a non-major character to say some things during the game. Once a role is assigned, you can use '''role=''' in a unit filter to identify the unit with that role (See [[FilterWML]]).&amp;lt;br&amp;gt;However, there is no guarantee that roles will ever be assigned. You can use '''[have_unit]''' (see [if]) to see whether a role was assigned. This tag uses a [[StandardUnitFilter]] with the modification to order the search by type, mark only the first unit found with the role, and the role attribute is not used in the search. If for some reason you want to search for units that have or don't have existing roles, you can use one or more [not] filters. The will check recall lists in addition to units on the map. In normal use, you will probably want to include a ''side'' attribute to force the unit to be on a particular side.&lt;br /&gt;
** '''role''': the value to store as the unit's role. This role is not used in the [[StandardUnitFilter]] when doing the search for the unit to assign this role to.&lt;br /&gt;
** '''type''': a comma-separated list of possible types the unit can be. If any types are given, then units will be searched by type in the order listed. If no type is given, then no particular order with respect to type is guaranteed.&lt;br /&gt;
* {{DevFeature}} '''[store_map_dimensions]''': Stores the map dimensions in a variable.&lt;br /&gt;
** '''variable''': the name of the variable where the values will be saved into. If it is skipped, a variable 'map_size' is used, and its contents overridden, if they existed already. The result is a container variable, with members ''width'' and ''height''.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[VariablesWML]]&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InterfaceActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=EventWML&amp;diff=24785</id>
		<title>EventWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=EventWML&amp;diff=24785"/>
		<updated>2008-03-28T01:02:01Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* The [event] tag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== The [event] tag ==&lt;br /&gt;
&lt;br /&gt;
This tag is a subtag of [scenario] (or [unit] - see '''event''', [[UnitWML]]) which is used to describe a set of actions&lt;br /&gt;
which trigger at a certain point in the scenario.&lt;br /&gt;
&lt;br /&gt;
Keys and tags that describe when the event should trigger:&lt;br /&gt;
* '''name''': this is not like a normal 'name' key. It is a basic description of when the event will trigger.&lt;br /&gt;
* '''prestart''': the event is triggered before a scenario 'starts' -- before anything is shown on the screen at all. You can use this event to set up things like village ownership. For things displayed on-screen such as character dialog, use '''start'''.&lt;br /&gt;
* '''start''': this event triggers after the map is shown but before the scenario begins&lt;br /&gt;
* '''new turn''': this event triggers whenever the last player ends their turn. See also '''first_time_only=no'''. When the last player ends their turn, before any events of this type trigger, the value of the WML variable '''turn_number''' is set to the number of the turn that is beginning.&lt;br /&gt;
* '''side turn''': this event triggers when a side is about to start its turn. Before events of this type trigger, the value of the WML variable '''side_number''' is set to the number of the side of the player about to take their turn. This is before any healing takes place for that side, before calculating income, and before restoring unit movement and status.&lt;br /&gt;
* '''turn refresh''': this event triggers just before a side is taking control after healing, calculating income, and restoring unit movement and status.&lt;br /&gt;
* '''turn X''': (for X some number) this event triggers at the start of turn ''X''. ''X'' cannot be 1.&lt;br /&gt;
* '''time over''': this event triggers on turn ''turns''. (''turns'' is specified in [scenario])&lt;br /&gt;
* '''enemies defeated''': this event triggers when all units with '''canrecruit=yes''' (i.e. all leaders) not allied with side 1 are killed.&lt;br /&gt;
* '''victory''': in this scenario, any tag of the form '''[endlevel] result=victory [/endlevel]''' will be automatically preceded by all actions in this tag. It helps debugging if the victory event allows you to safely advance to any of the possible next maps after using the &amp;quot;:n&amp;quot; command. Scenarios where key units are picked up before the victory, or where some action chosen earlier determines which map to advance to, make it hard to quickly test scenarios in a campaign. (See also [endlevel], [[DirectActionsWML]])&lt;br /&gt;
* '''defeat''': in this scenario, any tag of the form '''[endlevel] result=defeat [/endlevel]''' will be automatically preceded by all actions in this tag. (See also [endlevel], [[DirectActionsWML]])&lt;br /&gt;
* '''ai turn''': is triggered just before the AI is invoked for a side. This is called after ''side turn'', and thus the WML variable '''side_number''' still holds the number of this side.&lt;br /&gt;
&lt;br /&gt;
Filters can be applied to the following event triggers (see [[FilterWML]]; see also below). The actions specified in the event tag will be executed only if the filter returns true. &lt;br /&gt;
These event triggers are all actions by units ('''moveto''', '''attack''') or things that happen to units ('''recruit''', '''advance'''). When one of these events is triggered, the position of the active unit (referred to as the '''primary unit''') is stored in the variables '''x1''' and '''y1''' and the position of any unit that primary unit does something to is stored in the variables '''x2''' and '''y2''' (this unit is referred to as the '''secondary unit''' below). '' These units are also automatically stored in the variables 'unit' and 'second_unit' as if they had been stored using the '''[store_unit]''' tag. see [[SingleUnitWML]]&lt;br /&gt;
&lt;br /&gt;
* '''moveto'''': triggers after the primary unit moves. Typically this is used when the primary unit gets to a particular location and a filter for the location of the primary unit is included; remember that this is the location that the primary unit lands on, not the location it started on or any location it travels on.&lt;br /&gt;
* '''sighted''': this event triggers when the primary unit moves to a location where the secondary unit is in sight range of the primary unit. Works only in shroud or fog.&lt;br /&gt;
* '''attack''': this event triggers when the primary unit attacks the secondary_unit.&lt;br /&gt;
* '''attacker_hits''': this event triggers when the the primary unit (the attacker) hits the secondary unit (the defender).&lt;br /&gt;
* '''attacker_misses''': same as ''attacker_hits'', but is triggered when the attacker misses.&lt;br /&gt;
* '''defender_hits''': this event triggers when the primary unit (the attacker) is hit in retaliation by the secondary unit (the defender).&lt;br /&gt;
* '''defender_misses''': same as ''defender_hits'', but is triggered when the defender misses.&lt;br /&gt;
* '''attack_end''': is similar to '''attack''', but is instead triggered after the fight, not before. Note that if either unit is killed during the fight, this event triggers before any '''die''' events.&lt;br /&gt;
* '''stone''': this event triggers when the primary unit is hit by an attack with the 'stones' ability (See ''stones'', [[AbilitiesWML]]) by the secondary unit (the unit with the 'stones' ability).&lt;br /&gt;
* '''last breath''': this event triggers when the primary unit is killed by the secondary unit, but before the death animation is triggered.&lt;br /&gt;
* '''die''': this event triggers when the primary unit is killed by the secondary unit.&lt;br /&gt;
* '''capture''': this event triggers when the primary unit captures a village. The village may have been previously neutral, or previously owned by another side; merely moving into your own villages does not constitute a capture.&lt;br /&gt;
* '''recruit''': this event triggers when the primary unit is recruited or recalled. (That is, when a unit is recruited or recalled, it will trigger this event and this event's filter will filter that unit.)&lt;br /&gt;
* '''prerecruit''': this event triggers when the primary unit is recruited, but before it is displayed. &lt;br /&gt;
* '''advance''': this event triggers just before the primary unit is going to advance to another unit.&lt;br /&gt;
* '''post_advance''': this event triggers just after the primary unit has advanced to another unit.&lt;br /&gt;
* '''select''': triggers when the primary unit is selected. ''Note: in networked multiplayer, these events are only executed by the client on which the event is triggered, leading to out of sync errors if you modify the game state in the event.''&lt;br /&gt;
* '''menu item X''': triggers when a WML menu item with id=X is selected. ''Note: if the menu item has a [command], this event may be executed before or after the command; there is no guarantee.'' &lt;br /&gt;
* {{DevFeature}} other events with a custom name may be invoked from [fire_event]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An '''[allow_undo]''' tag anywhere within a moveto event will cancel any lack of undo functionality the event would have caused. Note that undo functionality will only move the unit back to its former location; it will not other changes to the game caused by the event. Thus it is up to the scenario designer to use this tag correctly.&lt;br /&gt;
&lt;br /&gt;
The primary unit can be referred to as '''unit''' and the secondary unit can be referred to as '''second_unit''' in [message] tags using the speaker= key. For example:&lt;br /&gt;
&lt;br /&gt;
 [event]&lt;br /&gt;
 name=die&lt;br /&gt;
   [message]&lt;br /&gt;
   speaker=second_unit&lt;br /&gt;
   message=&amp;quot;Hahaha, I finally killed you!&amp;quot;&lt;br /&gt;
   [/message]&lt;br /&gt;
 &lt;br /&gt;
   [message]&lt;br /&gt;
   speaker=unit&lt;br /&gt;
   message=&amp;quot;It's not over yet! I'll come back to haunt you!&amp;quot;&lt;br /&gt;
   [/message]&lt;br /&gt;
 [/event]&lt;br /&gt;
&lt;br /&gt;
These keys and tags are more complex ways to filter when an event should trigger:&lt;br /&gt;
* '''first_time_only''': whether the event should be removed from the scenario after it is triggered.  Default is '''yes'''.&lt;br /&gt;
* '''[filter]''': the event will only trigger if the primary unit matches this filter.&lt;br /&gt;
** [[StandardUnitFilter]]: selection criteria&lt;br /&gt;
* '''[filter_second]''': is like [filter], but for the secondary unit.&lt;br /&gt;
** [[StandardUnitFilter]]: selection criteria&lt;br /&gt;
* '''[special_filter]''' and '''[special_filter_second]''': can be used to set some additional filtering criteria for the primary unit and the secondary unit that are not generally available in a standard unit filter. Can be used in events ''attack'', ''attacker_hits'', ''attacker_misses'', ''defender_hits'', ''defender_misses'' and ''attack_end''.&lt;br /&gt;
** '''weapon''': the name of the weapon used.&lt;br /&gt;
** '''terrain''': the code for the terrain the unit is on.&lt;br /&gt;
&lt;br /&gt;
=== Actions triggered by [event] ===&lt;br /&gt;
&lt;br /&gt;
After the trigger conditions have been met, all action tags within the [event] tag are executed in the order they are written in.&lt;br /&gt;
&lt;br /&gt;
There are 3 main types of actions:&lt;br /&gt;
* direct actions ([[DirectActionsWML]]) which have a direct effect on gameplay&lt;br /&gt;
* display actions ([[InterfaceActionsWML]]) which show something to the user&lt;br /&gt;
* internal actions ([[InternalActionsWML]]) which are used by WML internally&lt;br /&gt;
&lt;br /&gt;
Several actions use standard filters to find out which units&lt;br /&gt;
to execute the command on.  These are denoted by the phrases&lt;br /&gt;
&amp;quot;standard unit filter&amp;quot; and &amp;quot;standard location filter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Nested events ===&lt;br /&gt;
&lt;br /&gt;
There is 1 special type of action: event creation.  By placing an '''[event]''' tag inside another '''[event]''' tag, the nested event is created when the nested event is encountered (when executing the contents of the event).  For example, you could create a portal that opens on turn 10.  The outer event executes on turn 10, creating the nested moveto event, which executes when a player steps on a certain spot.  An equivalent way of doing this would be to a single moveto event with an if statement to check for turn number, but using nested '''[event]''' tags is a simple and elegant way to accomplish more complex tasks without resorting to excessive if statements.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 [event]&lt;br /&gt;
     name=turn 10&lt;br /&gt;
 &lt;br /&gt;
     [event]&lt;br /&gt;
         name=moveto&lt;br /&gt;
 &lt;br /&gt;
         [filter]&lt;br /&gt;
             x,y=5,8&lt;br /&gt;
         [/filter]&lt;br /&gt;
 &lt;br /&gt;
         # moving to 5,8 will trigger this event only on turn 10 and after&lt;br /&gt;
     [/event]&lt;br /&gt;
 [/event]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InternalActionsWML]]&lt;br /&gt;
* [[InterfaceActionsWML]]&lt;br /&gt;
* [[FilterWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=24779</id>
		<title>InternalActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=24779"/>
		<updated>2008-03-28T00:37:17Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [event] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Internal actions ==&lt;br /&gt;
&lt;br /&gt;
Internal actions are actions that WML uses internally that do not directly affect gameplay, for example storing a variable.&lt;br /&gt;
&lt;br /&gt;
The internal actions '''[if]''', '''[while]''', and '''[event]''' describe when/whether sets of actions should be executed.&lt;br /&gt;
&lt;br /&gt;
== [if] ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of actions based on whether the conditions described in the condition tags are true or not.&lt;br /&gt;
&lt;br /&gt;
Condition tags:&lt;br /&gt;
* '''[have_unit]''': a unit passing this filter with &amp;gt;0 HP exists&lt;br /&gt;
** [[StandardUnitFilter]] (almost... '''Note:''' does not check for matching units in the recall list)&lt;br /&gt;
&lt;br /&gt;
* '''[have_location]''': a location passing this filter exists &lt;br /&gt;
** [[StandardLocationFilter]]&lt;br /&gt;
&lt;br /&gt;
* '''[and]''': If an [and] is present, all must evaluate to true in order for the [if] to evaluate true. Useful as a bracket for complex conditions, but not strictly necessary.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [and] evaluates to true.&lt;br /&gt;
&lt;br /&gt;
* '''[or]''': If an [or] is present, one must evaluate to true in order for the [if] to evaluate true. ([[AdvancedConditionalWML|Example]])&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, '''[or]''' evaluates to true. &lt;br /&gt;
&lt;br /&gt;
* '''[not]''': If a [not] is present, none must evaluate to true in order for the [if] to evaluate true.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [not] evaluates to false.&lt;br /&gt;
&lt;br /&gt;
* '''[and],[or],[not]''': all top-level filters will support in-order conditional handling of and, or, and not. One important thing to remember is, if you have multiple [or]s, you should not wrap your first conditional statement into an [or] block.&lt;br /&gt;
&lt;br /&gt;
* '''[variable]''': tests something about the value of a WML variable (see [[VariablesWML]])&lt;br /&gt;
** '''name''': the name of the variable to test the value of&amp;lt;br&amp;gt;Only one of the following keys should be used for comparing the value of the variable to another value:&lt;br /&gt;
** '''equals''': $name is equal (string wise) to this&lt;br /&gt;
** '''not_equals''': $name is not equal to this&lt;br /&gt;
** '''greater_than''': $name is numerically greater than this&lt;br /&gt;
** '''less_than''': $name is less than this&lt;br /&gt;
** '''greater_than_equal_to''': $name is not less than this&lt;br /&gt;
** '''less_than_equal_to''': $name is not greater than this&lt;br /&gt;
** '''numerical_not_equals''': $name is greater than or less than this&lt;br /&gt;
** '''numerical_equals''': $name is not greater than or less than this&lt;br /&gt;
** '''boolean_equals''': $name has the same boolean value (e.g. off, false, 0, no)&lt;br /&gt;
** '''contains''': $name contains this string&lt;br /&gt;
** {{DevFeature}} '''boolean_not_equals''': $name has not the same boolean value. Strictly a syntactic shortcut for the following syntax that served its absence in 1.4:&lt;br /&gt;
  [not]&lt;br /&gt;
    [variable]&lt;br /&gt;
      name=...&lt;br /&gt;
      boolean_equals=...&lt;br /&gt;
    [/variable]&lt;br /&gt;
  [/not]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[then]''': contains a set of action tags which should be executed if all conditions are true, or all conditions in any single [or] are true&lt;br /&gt;
* '''[else]''': contains a set of action tags which should be executed if any condition is false, and all [or] tags are false&lt;br /&gt;
&lt;br /&gt;
== [switch] {{DevFeature}} ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of action based on the value of a variable.&lt;br /&gt;
  [switch]&lt;br /&gt;
     variable=foo&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;A&amp;quot;&lt;br /&gt;
        ... WML if foo=A ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;B&amp;quot;&lt;br /&gt;
        ... WML if foo=B ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [else]&lt;br /&gt;
        ... WML if not foo=A nor foo=B ...&lt;br /&gt;
     [/else]&lt;br /&gt;
  [/switch]&lt;br /&gt;
&lt;br /&gt;
* '''variable''': name of the variable to check.&lt;br /&gt;
* '''[case]''': Case block. Contains:&lt;br /&gt;
** '''value''': value to test the variable against.&lt;br /&gt;
** the action WML to execute if the variable matches the value (rest of the block).&lt;br /&gt;
* '''[else]''': Block of action WML to execute if no '''[case]''' block matches.&lt;br /&gt;
&lt;br /&gt;
== [while] ==&lt;br /&gt;
&lt;br /&gt;
Executes commands if all conditions are true.&lt;br /&gt;
Continues to execute them until a condition is not true.&lt;br /&gt;
&lt;br /&gt;
Executes a maximum of 1024 iterations per invocation.&lt;br /&gt;
Condition tags are the same as for [if]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[do]''': contains actions that should be executed repeatedly until some condition is false.&lt;br /&gt;
&lt;br /&gt;
The '''[while]''' tag is useful for iterating over an array.&lt;br /&gt;
An array is a list of values.&lt;br /&gt;
The ''number''th value in the array '''array''' is stored in the WML variable '''''array''[number]'''.&lt;br /&gt;
Note that if '''number''' is the value of the variable '''variable''',&lt;br /&gt;
the expression '''$''array''[$variable]''' will return the ''number''th value in ''array''.&lt;br /&gt;
The macros 'FOREACH' and 'NEXT' ([[UtilWML]]) can be used to iterate over an array;&lt;br /&gt;
i.e. run a set of actions once per element of the array.&lt;br /&gt;
&lt;br /&gt;
=== {FOREACH} ===&lt;br /&gt;
If you wish to use a &amp;quot;for-each&amp;quot; iteration format (useful for example when you want to do an iteration for each row in a table) you can use the [http://www.wesnoth.org/macro-reference.xhtml FOREACH] and [http://www.wesnoth.org/macro-reference.xhtml NEXT] prededined macros.&lt;br /&gt;
&lt;br /&gt;
=== {REPEAT} ===&lt;br /&gt;
You can use the REPEAT macro to perform a quick iteration for a number of times you specify.&lt;br /&gt;
&lt;br /&gt;
== [event] ==&lt;br /&gt;
&lt;br /&gt;
This adds a new event to the scenario.&lt;br /&gt;
The event is in the normal format for an '''[event]''' tag (See [[EventWML]]).&lt;br /&gt;
This is useful if you want an event that can only be triggered when a prior event is fulfilled&lt;br /&gt;
&lt;br /&gt;
These tags describe actions that affect the values of WML variables&lt;br /&gt;
(see [[VariablesWML]] for information on WML variables,&lt;br /&gt;
and [[UtilWML]] for convenient macro shortcuts for some of these):&lt;br /&gt;
* '''[set_variable]''': manipulates a WML variable. {{Note:Predefined Macro|VARIABLE}} &lt;br /&gt;
** '''name''': the name of the variable to manipulate&lt;br /&gt;
** '''value''': set the variable to the given value (can be numeric or string). This only interprets dollars signs if it is the very first character, and then the entire value must be a simple variable name. (in 1.3.2, has the same effect as format. Use literal for no substitution)&lt;br /&gt;
** '''literal''': set the variable to the given value (can be numeric or string). This does not interpret any dollars signs.&lt;br /&gt;
** '''format''': set the variable to the given value. Interprets the dollar sign to a higher degree than most actions. (see [[VariablesWML]])&lt;br /&gt;
** '''to_variable''': Fully processes its value as in ''format'', and then gets the variable with that name.&lt;br /&gt;
** '''add''': add the given amount to the variable. To subtract, add a negative number.&lt;br /&gt;
** '''multiply''': multiply the variable by the given number. To divide, multiply by the inverse eg: 4/2 = 4 * 1/2 = 4 * 0.5. To negate, multiply by -1. The result is an integer.&lt;br /&gt;
** '''divide''': divide the variable by the given number. The result is an integer.&lt;br /&gt;
** '''modulo''': returns the remainder of an integer division. Both variables need to be an integer, the result is also an integer. eg 5 % 2 = 1.&lt;br /&gt;
** '''random''': the variable will be randomly set.&amp;lt;br&amp;gt;You may provide a comma separated list of possibilities, e.g. 'random=Bob,Bill,Bella'.&amp;lt;br&amp;gt;You may provide a range of numbers (integers), e.g. 'random=3..5'.&amp;lt;br&amp;gt;You may combine these, e.g. 'random=100,1..9', in which case there would be 1/10th chance of getting 100, just like for each of 1 to 9. Dollars signs are only normally interpreted here, so it is harder to have a dynamically determined range. You would need to create the random-string with ''format''.&lt;br /&gt;
** '''rand''': does the same as random, but has better MP support. See [[BuildingMultiplayerExamples]] for more info on the MP case. '''It is highly recommended that you use this feature for randomization.'''&lt;br /&gt;
** '''time=stamp''': Retrieves a timestamp in milliseconds since wesnoth was started, can be used as timing aid. Don't try to use this as random value in MP since it will cause an OOS.&lt;br /&gt;
** {{DevFeature}} '''string_length''': Retrieves the length in characters of the string passed as this attribute's value; such string is parsed and variable substitution applied automatically (see [[VariablesWML]] for details).&lt;br /&gt;
** {{DevFeature}} '''[join]''' joins an array of strings to a textual list&lt;br /&gt;
***variable: name of the array&lt;br /&gt;
***key: array[$i].key to look for the strings&lt;br /&gt;
***separator: separator to connect the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* {{DevFeature}} '''[set_variables]''': manipulates a WML array&lt;br /&gt;
** '''name''': the name of the container to manipulate&lt;br /&gt;
** '''mode''': one of the following values:&lt;br /&gt;
***replace: will clean the array '''name''' and replace it with given data&lt;br /&gt;
***append: will append given data to the current array&lt;br /&gt;
***merge: will merge in the given data into '''name'''&lt;br /&gt;
** '''to_variable''': data will be set to the given array&lt;br /&gt;
** '''[value]''': the WML inside the [value] tags will be stored in data, variables will be interpolated directly, use $| in order to escape the $ sign, you can store arrays of WML by supplying multiple [value] tags, example:&lt;br /&gt;
 [set_variables]&lt;br /&gt;
  name=arr&lt;br /&gt;
  mode=replace&lt;br /&gt;
  [value]&lt;br /&gt;
   foo=bar&lt;br /&gt;
  [/value]&lt;br /&gt;
  [value]&lt;br /&gt;
   foo=more&lt;br /&gt;
  [/value]&lt;br /&gt;
 [/set_variables]&lt;br /&gt;
 {DEBUG_MSG $arr[0].foo}&lt;br /&gt;
 {DEBUG_MSG $arr[1].foo}&lt;br /&gt;
 =&amp;gt;bar; more&lt;br /&gt;
** '''[literal]''': same as '''[value]''', but variables will not be substituted, '''[literal]''' and '''[value]''' can not be used in the same [set_variables] tag, i.e. you can not create arrays by piling a mix of '''[value]''' and '''[literal]''' tags&lt;br /&gt;
**'''[split]''' splits a textual list into an array which will then be set to data&lt;br /&gt;
***list: textual list to split&lt;br /&gt;
***key: array[$i].key to put the elements in&lt;br /&gt;
***separator: separator to separate the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* {{DevFeature}} '''[fire_event]''': trigger a WML event&lt;br /&gt;
** '''name''': the name of event to trigger&lt;br /&gt;
** '''[primary_unit]''': primary unit for the event (usually the attacker) (optional)&lt;br /&gt;
** '''[secondary_unit]''': secondary unit for the event (usually the defender) (optional)&lt;br /&gt;
** both tags have some keys which are optional :&lt;br /&gt;
*** '''x,y''': location of this unit&lt;br /&gt;
*** '''weapon''': weapon that this unit was supposed to use for this event&lt;br /&gt;
&lt;br /&gt;
* '''[store_unit]''': stores details about units into game variables.&amp;lt;br&amp;gt;Common usage is to manipulate a unit by using [store_unit] to store it into a variable, followed by manipulation of the variable, and then [unstore_unit] to re-create the unit with the modified variables.&amp;lt;br&amp;gt;Note: stored units also exist on the field, and modifying the stored variable will not automatically change the stats of the units. You need to use [unstore_unit]. See also [unstore_unit], [[DirectActionsWML]], and '''FOREACH''', [[UtilWML]]&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] all units matching this filter will be stored. If there are multiple units, they will be stored into an array of variables.&lt;br /&gt;
** '''variable''': the name of the variable into which to store the unit(s)&lt;br /&gt;
** '''mode''': defaults to ''always_clear'', which clears the variable, whether or not a match is found. If mode is set to ''replace'', the variable will only be cleared if a match is found. If mode is set to ''append'', the variable will not be cleared.&lt;br /&gt;
** '''kill''': if 'yes' the units that are stored will be removed from play. This is useful for instance to remove access to a player's recall list, with the intent to restore the recall list later.&lt;br /&gt;
:When a unit is stored, the following values may be manipulated with '''[set_variable]'''&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* gender&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* overlays&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* moves&lt;br /&gt;
:* resting&lt;br /&gt;
:* side&lt;br /&gt;
:* type&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* upkeep&lt;br /&gt;
:* user_description&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
Variables, status, and modifications are children of the stored unit variable.  Example:&lt;br /&gt;
 [set_variable]&lt;br /&gt;
 name=unit_store.status.poisoned&lt;br /&gt;
 value=yes&lt;br /&gt;
 [/set_variable]&lt;br /&gt;
&lt;br /&gt;
:All keys and tags in the unit definition may be manipulated, including some others.  Here is a sample list.  If you have a doubt about what keys are valid or what the valid value range is for each key, code a [store_unit] event, save the game, and examine what keys are in the file.&lt;br /&gt;
:* advanceto&lt;br /&gt;
:* alignment&lt;br /&gt;
:* alpha&lt;br /&gt;
:* attacks_left&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* controller&lt;br /&gt;
:* cost&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* flying&lt;br /&gt;
:* fog&lt;br /&gt;
:* gender&lt;br /&gt;
:* get_hit_sound&lt;br /&gt;
:* gold&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* id&lt;br /&gt;
:* image&lt;br /&gt;
:* image_defensive&lt;br /&gt;
:* income&lt;br /&gt;
:* language_name (same as the name key in the unit config)&lt;br /&gt;
:* level&lt;br /&gt;
:* max_attacks&lt;br /&gt;
:* max_experience&lt;br /&gt;
:* max_hitpoints&lt;br /&gt;
:* max_moves&lt;br /&gt;
:* movement&lt;br /&gt;
:* movement_type&lt;br /&gt;
:* moves&lt;br /&gt;
:* race&lt;br /&gt;
:* resting&lt;br /&gt;
:* shroud&lt;br /&gt;
:* side&lt;br /&gt;
:* team_name&lt;br /&gt;
:* type&lt;br /&gt;
:* unit_description&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* usage&lt;br /&gt;
:* value&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* zoc&lt;br /&gt;
:* [advancement]&lt;br /&gt;
:* [/advancement]&lt;br /&gt;
:* [movement_costs]&lt;br /&gt;
:* [/movement_costs]&lt;br /&gt;
:* [defense]&lt;br /&gt;
:* [/defense]&lt;br /&gt;
:* [resistance]&lt;br /&gt;
:* [/resistance]&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [/variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [/status]&lt;br /&gt;
:* [attack]&lt;br /&gt;
:* [/attack]&lt;br /&gt;
:* [modifications_description]&lt;br /&gt;
:* [/modifications_description]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
:* [/modifications]&lt;br /&gt;
&lt;br /&gt;
* '''[store_starting_location]''': Stores the starting location of a side's leader in a variable. The variable is a composite type which will have members 'x', 'y', and 'terrain' (the terrain type for a starting location is always 'K' unless it has been changed)&lt;br /&gt;
** '''side''': the side whose starting location is to be stored&lt;br /&gt;
** '''variable''': (default='location'): the name of the variable to store the location in&lt;br /&gt;
* '''[store_locations]''': Stores a series of locations that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** [[StandardLocationFilter]]: a location or location range which specifies the locations to store. You must specify this or no locations will be stored.&lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a comma-sperated list of terrain codes. (See [[TerrainCodesWML]] for possible values.) If present, locations will only be chosen if the code for the terrain type of that location is listed.&lt;br /&gt;
** '''radius''': if present, any locations which are within '''radius''' hexes of the location filter will also be stored&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] only locations with units on them that match the filter will be stored. Use a blank filter to only store locations with units.&lt;br /&gt;
* '''[store_villages]''': Stores a series of locations of villages that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** '''owner_side''': a side number. If present, only villages owned by this side will be choosen. If owner_side=0, store the unowned villages. &lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a series of terrain characters. (See [[TerrainLettersWML]] for possible values.) If present, villages will only be chosen if the terrain code of the terrain type of that location is listed.  You may give a comma separated list of terrains.&lt;br /&gt;
** '''side''': (default=1) the side for which the gold should be stored&lt;br /&gt;
** '''variable''': (default='gold') the name of the variable to store the gold in&lt;br /&gt;
* '''[store_side]''': stores information about a certain side in a variable. The variable will contain the member variables 'name', 'team_name', 'gold' and 'income', 'fog', 'shroud', 'user_team_name', 'colour', 'controller', 'village_gold' and 'recruit'.)&lt;br /&gt;
** '''side''': the side whose information should be stored&lt;br /&gt;
** '''variable''': the name of the variable to store the information in&lt;br /&gt;
* '''[clear_variable]''': This will delete the given variable or array. This is good to use to clean up the set of variables -- e.g. a well-behaved scenario will delete any variables that shouldn't be kept for the next scenario before the end of the scenario.&amp;lt;br&amp;gt; Tags and variables of stored units can also be cleared, meaning that [trait]s and [object]s, for example, can be removed.&lt;br /&gt;
** '''name''': the name of the variable to clear.&lt;br /&gt;
* '''[role]''': tries to find a unit to assign a role to.&amp;lt;br&amp;gt;This is useful if you want to choose a non-major character to say some things during the game. Once a role is assigned, you can use '''role=''' in a unit filter to identify the unit with that role (See [[FilterWML]]).&amp;lt;br&amp;gt;However, there is no guarantee that roles will ever be assigned. You can use '''[have_unit]''' (see [if]) to see whether a role was assigned. This tag uses a [[StandardUnitFilter]] with the modification to order the search by type, mark only the first unit found with the role, and the role attribute is not used in the search. If for some reason you want to search for units that have or don't have existing roles, you can use one or more [not] filters. The will check recall lists in addition to units on the map. In normal use, you will probably want to include a ''side'' attribute to force the unit to be on a particular side.&lt;br /&gt;
** '''role''': the value to store as the unit's role. This role is not used in the [[StandardUnitFilter]] when doing the search for the unit to assign this role to.&lt;br /&gt;
** '''type''': a comma-separated list of possible types the unit can be. If any types are given, then units will be searched by type in the order listed. If no type is given, then no particular order with respect to type is guaranteed.&lt;br /&gt;
* {{DevFeature}} '''[store_map_dimensions]''': Stores the map dimensions in a variable.&lt;br /&gt;
** '''variable''': the name of the variable where the values will be saved into. If it is skipped, a variable 'map_size' is used, and its contents overridden, if they existed already. The result is a container variable, with members ''width'' and ''height''.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[VariablesWML]]&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InterfaceActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=24667</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=24667"/>
		<updated>2008-03-26T19:35:39Z</updated>

		<summary type="html">&lt;p&gt;Noyga: Undo revision 22919 by Esr (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, plusieurs Wikis servent de dictionnaires pour décrire l'univers de Wesnoth :&lt;br /&gt;
# unités : [[FrenchUnits]] ;&lt;br /&gt;
# noms communs : [[NomsCommuns]] ;&lt;br /&gt;
# noms propres : [[NomsPropres]].&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner son orthographe : le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
&lt;br /&gt;
Les rectifications d'orthographes préconisées par l'Académie Française peuvent s'appliquer (http://www.academie-francaise.fr/langue/orthographe/regles.html).&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* notepad++ (http://notepad-plus.sourceforge.net/fr/site.htm) ;&lt;br /&gt;
#* textpad (http://www.textpad.com/);&lt;br /&gt;
#* ou, pour Mac, Textwrangler (http://www.barebones.com/products/textwrangler/index.shtml) ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* poEdit, pour Mac et PC (http://www.poedit.net/) ;&lt;br /&gt;
#* KBabel (http://i18n.kde.org/tools/kbabel/) ;&lt;br /&gt;
#* gtranslator (http://gtranslator.sourceforge.net/).&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite commence par &amp;quot;$&amp;quot;, rien ne s'affiche&lt;br /&gt;
&lt;br /&gt;
dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe (seulement quand la phrase commence par $)&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 22/03/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth-httt (Heir To The Throne / L'Héritier du trône) : La_vie_en_Wose&lt;br /&gt;
** wesnoth-thot (The Hammer of Thursagan) : Dylann/gotrek860&lt;br /&gt;
** wesnoth-utbs (Under the burning suns) : Damien&lt;br /&gt;
** wesnoth-did (Descent in the Darkness) : Jean-joseph&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ThemeWML&amp;diff=23694</id>
		<title>ThemeWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ThemeWML&amp;diff=23694"/>
		<updated>2008-03-16T17:57:24Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [status] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== The toplevel [theme] tag ==&lt;br /&gt;
&lt;br /&gt;
Themes are used both for the wesnoth game and the wesnoth editor.&lt;br /&gt;
Themes allow flexible configuration of how everything is laid out on-screen.&lt;br /&gt;
&lt;br /&gt;
The only key in '''[theme]''' is '''name'''. This is the name of the theme.&lt;br /&gt;
&lt;br /&gt;
The only tag in '''[theme]''' is '''[resolution]''', but each theme can have multiple [resolution] tags.&lt;br /&gt;
The [resolution] tags are scanned until the first one which is of the same or lower resolution than is currently being used is found, and this is used as our theme.&lt;br /&gt;
This allows us to define themes to work differently on different resolutions, &lt;br /&gt;
and will allow us to support both high and low resolutions elegantly.&lt;br /&gt;
&lt;br /&gt;
The following keys and tags are recognized for [resolution]:&lt;br /&gt;
&lt;br /&gt;
* '''width''', '''height''': dimensions in pixels&lt;br /&gt;
&lt;br /&gt;
All subtags of [resolution] use the following keys:&lt;br /&gt;
* '''rect''': defines the rectangle to display on. Parts of a ''rect=a,b,c,d'' clause may be:&lt;br /&gt;
** number : absolute positions&lt;br /&gt;
** ''='' : same value as the same field in reference rect (alignment with reference)&lt;br /&gt;
** +number or -number : for a and b, add this value to reference's c and d respectively (spacing from reference)&lt;br /&gt;
; for c and d, add this value to self's a and b (specify by width and height)&lt;br /&gt;
** =+number or =-number : add this value to same field in reference rect (eg. consider reference as a container box)&lt;br /&gt;
* '''xanchor''', '''yanchor''': control the behavior of how this rectangle changes as the resolution changes.&lt;br /&gt;
** '''left'''': its distance from the left side of the screen always remain the same, while changes in the resolution will change its size by the same amount (top for the y axis).&lt;br /&gt;
** '''right''': its size always remain the same, as well as its distance to the right side of the screen (bottom for the y axis).&lt;br /&gt;
** '''fixed''': its co-ordinates in that axis remain constant&lt;br /&gt;
** '''proportional''': its co-ordinates multiplied by the ratio of the resolution being used to the canonical resolution.&lt;br /&gt;
&lt;br /&gt;
== [main_map] ==&lt;br /&gt;
&lt;br /&gt;
defines where the main game display (i.e. all the hexagons and units) is displayed.&lt;br /&gt;
&lt;br /&gt;
== [main_map_border] ==&lt;br /&gt;
Defines the border of the main map area. It has the following keys.&lt;br /&gt;
&lt;br /&gt;
* '''border_size''': the size of the border, the value should be between 0.0 and 0.5. The images which are used by default are sized for 0.5. If the border gets smaller the images still need the same size. They're simply cut off at the right spot.&lt;br /&gt;
* '''background_image''': the filename of the image to use as background.&lt;br /&gt;
* '''tile_image''': the filename of the image to use for the _off^_usr tile. The image in the minimal can't be controlled only the image in the main map. This image must be in the terrain directory and a png image. When specifying the image the 'terrain/' prefix and '.png' suffix _must_ be ommitted.&lt;br /&gt;
* '''corner_image_top_left''': filename for the image in the top left corner.&lt;br /&gt;
* '''corner_image_bottom_left''': filename for the image in the top left corner.&lt;br /&gt;
* '''corner_image_top_right_odd''': filename for the image in the top right corner, if the x value of the corner is odd. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_top_right_even''': filename for the image in the top right corner, if the x value of the corner is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_bottom_right_odd''': filename for the image in the bottom right corner, if the x value of the corner is odd. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_bottom_right_even''': filename for the image in the bottom right corner, if the x value of the corner is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''border_image_left''': filename for the image at the left border.&lt;br /&gt;
* '''border_image_right''': filename for the image at the right border.&lt;br /&gt;
* '''border_image_top_odd''': filename for the image at the top border, if the x value of the tile is odd. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_top_even''': filename for the image at the top border, if the x value of the tile is even. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_bottom_odd''': filename for the image at the bottom border, if the x value of the tile is odd. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_bottom_even''': filename for the image at the bottom border, if the x value of the tile is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
&lt;br /&gt;
== [mini_map] ==&lt;br /&gt;
&lt;br /&gt;
Determines where the mini map is displayed&lt;br /&gt;
&lt;br /&gt;
== [panel] ==&lt;br /&gt;
&lt;br /&gt;
Displays an image as a panel on-screen.&lt;br /&gt;
* '''image''': the image used for the panel&lt;br /&gt;
&lt;br /&gt;
== [label] ==&lt;br /&gt;
&lt;br /&gt;
Displays a text label on screen.&lt;br /&gt;
* '''prefix''': a string that will be printed before the text in all languages&lt;br /&gt;
* '''text''': a text string id to be displayed&lt;br /&gt;
* '''postfix''': a string that will be printed after the text in all languages&lt;br /&gt;
* '''icon''': an image that will be displayed instead of the text if it is available&lt;br /&gt;
* '''font_size''': the size of font to use for the label&lt;br /&gt;
&lt;br /&gt;
== [menu] ==&lt;br /&gt;
&lt;br /&gt;
* '''title''': the id of the string to write on the button&lt;br /&gt;
* '''title_literal''': a string that will be displayed &amp;quot;as is&amp;quot; in all language after the title&lt;br /&gt;
* '''image''': the image to use if available&lt;br /&gt;
* '''is_context_menu''': if set to true this menu will not be placed, but displayed on a right click&lt;br /&gt;
* '''items''': comma separated list of actions to put in the menu. if there is only one action, it will be executed immediately and no menu will be displayed&lt;br /&gt;
** '''cycle''': move to next movable unit&lt;br /&gt;
** '''endunitturn''': consume this unit's move and cycle to the next one&lt;br /&gt;
** '''leader''': center on the leader&lt;br /&gt;
** '''undo''': undo last action&lt;br /&gt;
** '''redo''': redo undone action&lt;br /&gt;
** '''zoomin''': zoom the map in&lt;br /&gt;
** '''zoomout''': zoom the map out&lt;br /&gt;
** '''zoomdefault''': return to default zoom&lt;br /&gt;
** '''fullscreen''': switch fulscreen mode&lt;br /&gt;
** '''accelerated''': switch turbo mode&lt;br /&gt;
** '''resistance''': show resistance table of current unit&lt;br /&gt;
** '''terraintable''': show terrain table of current unit&lt;br /&gt;
** '''describeunit''': show unit description&lt;br /&gt;
** '''renameunit''': change unit name&lt;br /&gt;
** '''save''': save the game&lt;br /&gt;
** '''recruit''': recruit a unit&lt;br /&gt;
** '''repeatrecruit''': repeat last recruitement&lt;br /&gt;
** '''recall''': recall a unit from previous scenarion&lt;br /&gt;
** '''endturn''': end current turn&lt;br /&gt;
** '''togglegrid''': toggle grid display&lt;br /&gt;
** '''statustable''': show status table&lt;br /&gt;
** '''mute''': mute all sounds&lt;br /&gt;
** '''speak''': send message to other players&lt;br /&gt;
** '''createunit''': debug create a unit on the map&lt;br /&gt;
** '''preferences''': open preference dialog&lt;br /&gt;
** '''objectives''': show objective window&lt;br /&gt;
** '''unitlist''': list units&lt;br /&gt;
** '''statistics''': show game statistics&lt;br /&gt;
** '''quit''': quit the game&lt;br /&gt;
** '''labelterrain''': label current location&lt;br /&gt;
** '''clearlabels''': clear all labels on map&lt;br /&gt;
** '''showenemymoves''': show grids reachable by the enemy&lt;br /&gt;
** '''bestenemymoves''': show grids reachable by the enemy with no zone of control&lt;br /&gt;
** '''editnewmap''': editor only start a new map&lt;br /&gt;
** '''editloadmap''': editor only loads an existing map&lt;br /&gt;
** '''editsavemap''': editor only saves the current map&lt;br /&gt;
** '''editsaveas''': editor only saves the current map, let you choose a filename&lt;br /&gt;
** '''editsetstartpos''': editor only set a starting position for a team&lt;br /&gt;
** '''editfloodfill''': editor only flood the map with a terrain&lt;br /&gt;
** '''toggleshroud''': toggle the &amp;quot;moving removes shroud&amp;quot; behaviour&lt;br /&gt;
** '''updateshroud'': removes all possible shroud&lt;br /&gt;
** '''AUTOSAVES'': expands to a list of all Auto-Save games prior to this one&lt;br /&gt;
&lt;br /&gt;
== [status] ==&lt;br /&gt;
&lt;br /&gt;
This tag describes the Status Table.&lt;br /&gt;
This tag contains many other tags, which determine where other game statistics, such as the current turn, and a description of selected units go.&lt;br /&gt;
For instance, the [time_of_day] tag will determine where the time of day image goes.&lt;br /&gt;
Each subtag of [status] can contain the following attributes&lt;br /&gt;
&lt;br /&gt;
** '''font_size''': the size of font to use for the status&lt;br /&gt;
** '''rect''': the rectangle as for the main_map attribute&lt;br /&gt;
** '''xanchor''': the x-wise anchoring as for the main_map attribute&lt;br /&gt;
** '''yanchor''': the y-wise anchoring as for the main_map attribute&lt;br /&gt;
** '''prefix''': the string to display before the actual status, this is the string id for internationalisation&lt;br /&gt;
** '''prefix_literal''': a string to put after the prefix, but before the label for all languages.&lt;br /&gt;
** '''postfix_literal''': a string to put after the status&lt;br /&gt;
** '''postfix''': the string to display after the postfix_literal, this is the string id for internationalisation&lt;br /&gt;
&lt;br /&gt;
the following tags are recognized for [status]:&lt;br /&gt;
* '''[unit_description]''': the user description of the current unit. Note {{DevFeature}}: this tag is now obsolete&lt;br /&gt;
* {{DevFeature}} '''[unit_name]''': the user description of the current unit&lt;br /&gt;
* '''[unit_type]''': the type of the current unit&lt;br /&gt;
* '''[unit_race]''': the race of the current unit&lt;br /&gt;
* '''[unit_level]''': the level of the current unit&lt;br /&gt;
* {{DevFeature}} '''[unit_side]''': the side of the current unit (flag)&lt;br /&gt;
* '''[unit_traits]''': the traits of the current unit&lt;br /&gt;
* '''[unit_status]''': the status of the current unit&lt;br /&gt;
* '''[unit_alignment]''': the alignment of the current unit&lt;br /&gt;
* '''[unit_abilities]''': the abilities of the current unit&lt;br /&gt;
* '''[unit_hp]''': the HP of the current unit&lt;br /&gt;
* '''[unit_xp]''': the XP of the current unit&lt;br /&gt;
* '''[unit_moves]''': the moves remaining for the current unit&lt;br /&gt;
* '''[unit_weapons]''': the attacks of the current unit&lt;br /&gt;
* '''[unit_image]''': the icon for the current unit&lt;br /&gt;
* '''[unit_profile]''': the portait for the current unit&lt;br /&gt;
* '''[time_of_day]''': the time of day on the current location&lt;br /&gt;
* '''[turn]''': the turn number and turn remaining&lt;br /&gt;
* '''[gold]''': the gold remaining&lt;br /&gt;
* '''[villages]''': the number of villages owned&lt;br /&gt;
* '''[num_units]''': the number of units owned&lt;br /&gt;
* '''[upkeep]''': the money needed to keep your units every turn&lt;br /&gt;
* '''[expenses]''': the money lost each turn when you don't have enough income&lt;br /&gt;
* '''[income]''': the income per turn (can be positive)&lt;br /&gt;
* '''[terrain]''': the text description of the current terrain&lt;br /&gt;
* '''[position]''': the current terrain's position&lt;br /&gt;
* '''[side_playing]''': the current playing side (flag)&lt;br /&gt;
* '''[observers]''': the current observers&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[ThemeSystem]]&lt;br /&gt;
* [[Using custom themes in campaigns]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ThemeWML&amp;diff=23693</id>
		<title>ThemeWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ThemeWML&amp;diff=23693"/>
		<updated>2008-03-16T17:55:46Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [status] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== The toplevel [theme] tag ==&lt;br /&gt;
&lt;br /&gt;
Themes are used both for the wesnoth game and the wesnoth editor.&lt;br /&gt;
Themes allow flexible configuration of how everything is laid out on-screen.&lt;br /&gt;
&lt;br /&gt;
The only key in '''[theme]''' is '''name'''. This is the name of the theme.&lt;br /&gt;
&lt;br /&gt;
The only tag in '''[theme]''' is '''[resolution]''', but each theme can have multiple [resolution] tags.&lt;br /&gt;
The [resolution] tags are scanned until the first one which is of the same or lower resolution than is currently being used is found, and this is used as our theme.&lt;br /&gt;
This allows us to define themes to work differently on different resolutions, &lt;br /&gt;
and will allow us to support both high and low resolutions elegantly.&lt;br /&gt;
&lt;br /&gt;
The following keys and tags are recognized for [resolution]:&lt;br /&gt;
&lt;br /&gt;
* '''width''', '''height''': dimensions in pixels&lt;br /&gt;
&lt;br /&gt;
All subtags of [resolution] use the following keys:&lt;br /&gt;
* '''rect''': defines the rectangle to display on. Parts of a ''rect=a,b,c,d'' clause may be:&lt;br /&gt;
** number : absolute positions&lt;br /&gt;
** ''='' : same value as the same field in reference rect (alignment with reference)&lt;br /&gt;
** +number or -number : for a and b, add this value to reference's c and d respectively (spacing from reference)&lt;br /&gt;
; for c and d, add this value to self's a and b (specify by width and height)&lt;br /&gt;
** =+number or =-number : add this value to same field in reference rect (eg. consider reference as a container box)&lt;br /&gt;
* '''xanchor''', '''yanchor''': control the behavior of how this rectangle changes as the resolution changes.&lt;br /&gt;
** '''left'''': its distance from the left side of the screen always remain the same, while changes in the resolution will change its size by the same amount (top for the y axis).&lt;br /&gt;
** '''right''': its size always remain the same, as well as its distance to the right side of the screen (bottom for the y axis).&lt;br /&gt;
** '''fixed''': its co-ordinates in that axis remain constant&lt;br /&gt;
** '''proportional''': its co-ordinates multiplied by the ratio of the resolution being used to the canonical resolution.&lt;br /&gt;
&lt;br /&gt;
== [main_map] ==&lt;br /&gt;
&lt;br /&gt;
defines where the main game display (i.e. all the hexagons and units) is displayed.&lt;br /&gt;
&lt;br /&gt;
== [main_map_border] ==&lt;br /&gt;
Defines the border of the main map area. It has the following keys.&lt;br /&gt;
&lt;br /&gt;
* '''border_size''': the size of the border, the value should be between 0.0 and 0.5. The images which are used by default are sized for 0.5. If the border gets smaller the images still need the same size. They're simply cut off at the right spot.&lt;br /&gt;
* '''background_image''': the filename of the image to use as background.&lt;br /&gt;
* '''tile_image''': the filename of the image to use for the _off^_usr tile. The image in the minimal can't be controlled only the image in the main map. This image must be in the terrain directory and a png image. When specifying the image the 'terrain/' prefix and '.png' suffix _must_ be ommitted.&lt;br /&gt;
* '''corner_image_top_left''': filename for the image in the top left corner.&lt;br /&gt;
* '''corner_image_bottom_left''': filename for the image in the top left corner.&lt;br /&gt;
* '''corner_image_top_right_odd''': filename for the image in the top right corner, if the x value of the corner is odd. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_top_right_even''': filename for the image in the top right corner, if the x value of the corner is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_bottom_right_odd''': filename for the image in the bottom right corner, if the x value of the corner is odd. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_bottom_right_even''': filename for the image in the bottom right corner, if the x value of the corner is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''border_image_left''': filename for the image at the left border.&lt;br /&gt;
* '''border_image_right''': filename for the image at the right border.&lt;br /&gt;
* '''border_image_top_odd''': filename for the image at the top border, if the x value of the tile is odd. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_top_even''': filename for the image at the top border, if the x value of the tile is even. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_bottom_odd''': filename for the image at the bottom border, if the x value of the tile is odd. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_bottom_even''': filename for the image at the bottom border, if the x value of the tile is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
&lt;br /&gt;
== [mini_map] ==&lt;br /&gt;
&lt;br /&gt;
Determines where the mini map is displayed&lt;br /&gt;
&lt;br /&gt;
== [panel] ==&lt;br /&gt;
&lt;br /&gt;
Displays an image as a panel on-screen.&lt;br /&gt;
* '''image''': the image used for the panel&lt;br /&gt;
&lt;br /&gt;
== [label] ==&lt;br /&gt;
&lt;br /&gt;
Displays a text label on screen.&lt;br /&gt;
* '''prefix''': a string that will be printed before the text in all languages&lt;br /&gt;
* '''text''': a text string id to be displayed&lt;br /&gt;
* '''postfix''': a string that will be printed after the text in all languages&lt;br /&gt;
* '''icon''': an image that will be displayed instead of the text if it is available&lt;br /&gt;
* '''font_size''': the size of font to use for the label&lt;br /&gt;
&lt;br /&gt;
== [menu] ==&lt;br /&gt;
&lt;br /&gt;
* '''title''': the id of the string to write on the button&lt;br /&gt;
* '''title_literal''': a string that will be displayed &amp;quot;as is&amp;quot; in all language after the title&lt;br /&gt;
* '''image''': the image to use if available&lt;br /&gt;
* '''is_context_menu''': if set to true this menu will not be placed, but displayed on a right click&lt;br /&gt;
* '''items''': comma separated list of actions to put in the menu. if there is only one action, it will be executed immediately and no menu will be displayed&lt;br /&gt;
** '''cycle''': move to next movable unit&lt;br /&gt;
** '''endunitturn''': consume this unit's move and cycle to the next one&lt;br /&gt;
** '''leader''': center on the leader&lt;br /&gt;
** '''undo''': undo last action&lt;br /&gt;
** '''redo''': redo undone action&lt;br /&gt;
** '''zoomin''': zoom the map in&lt;br /&gt;
** '''zoomout''': zoom the map out&lt;br /&gt;
** '''zoomdefault''': return to default zoom&lt;br /&gt;
** '''fullscreen''': switch fulscreen mode&lt;br /&gt;
** '''accelerated''': switch turbo mode&lt;br /&gt;
** '''resistance''': show resistance table of current unit&lt;br /&gt;
** '''terraintable''': show terrain table of current unit&lt;br /&gt;
** '''describeunit''': show unit description&lt;br /&gt;
** '''renameunit''': change unit name&lt;br /&gt;
** '''save''': save the game&lt;br /&gt;
** '''recruit''': recruit a unit&lt;br /&gt;
** '''repeatrecruit''': repeat last recruitement&lt;br /&gt;
** '''recall''': recall a unit from previous scenarion&lt;br /&gt;
** '''endturn''': end current turn&lt;br /&gt;
** '''togglegrid''': toggle grid display&lt;br /&gt;
** '''statustable''': show status table&lt;br /&gt;
** '''mute''': mute all sounds&lt;br /&gt;
** '''speak''': send message to other players&lt;br /&gt;
** '''createunit''': debug create a unit on the map&lt;br /&gt;
** '''preferences''': open preference dialog&lt;br /&gt;
** '''objectives''': show objective window&lt;br /&gt;
** '''unitlist''': list units&lt;br /&gt;
** '''statistics''': show game statistics&lt;br /&gt;
** '''quit''': quit the game&lt;br /&gt;
** '''labelterrain''': label current location&lt;br /&gt;
** '''clearlabels''': clear all labels on map&lt;br /&gt;
** '''showenemymoves''': show grids reachable by the enemy&lt;br /&gt;
** '''bestenemymoves''': show grids reachable by the enemy with no zone of control&lt;br /&gt;
** '''editnewmap''': editor only start a new map&lt;br /&gt;
** '''editloadmap''': editor only loads an existing map&lt;br /&gt;
** '''editsavemap''': editor only saves the current map&lt;br /&gt;
** '''editsaveas''': editor only saves the current map, let you choose a filename&lt;br /&gt;
** '''editsetstartpos''': editor only set a starting position for a team&lt;br /&gt;
** '''editfloodfill''': editor only flood the map with a terrain&lt;br /&gt;
** '''toggleshroud''': toggle the &amp;quot;moving removes shroud&amp;quot; behaviour&lt;br /&gt;
** '''updateshroud'': removes all possible shroud&lt;br /&gt;
** '''AUTOSAVES'': expands to a list of all Auto-Save games prior to this one&lt;br /&gt;
&lt;br /&gt;
== [status] ==&lt;br /&gt;
&lt;br /&gt;
This tag describes the Status Table.&lt;br /&gt;
This tag contains many other tags, which determine where other game statistics, such as the current turn, and a description of selected units go.&lt;br /&gt;
For instance, the [time_of_day] tag will determine where the time of day image goes.&lt;br /&gt;
Each subtag of [status] can contain the following attributes&lt;br /&gt;
&lt;br /&gt;
** '''font_size''': the size of font to use for the status&lt;br /&gt;
** '''rect''': the rectangle as for the main_map attribute&lt;br /&gt;
** '''xanchor''': the x-wise anchoring as for the main_map attribute&lt;br /&gt;
** '''yanchor''': the y-wise anchoring as for the main_map attribute&lt;br /&gt;
** '''prefix''': the string to display before the actual status, this is the string id for internationalisation&lt;br /&gt;
** '''prefix_literal''': a string to put after the prefix, but before the label for all languages.&lt;br /&gt;
** '''postfix_literal''': a string to put after the status&lt;br /&gt;
** '''postfix''': the string to display after the postfix_literal, this is the string id for internationalisation&lt;br /&gt;
&lt;br /&gt;
the following tags are recognized for [status]:&lt;br /&gt;
* '''[unit_description]''': the user description of the current unit. Note &lt;br /&gt;
* {{DevFeature}} '''[unit_name]''': the user description of the current unit&lt;br /&gt;
* '''[unit_type]''': the type of the current unit&lt;br /&gt;
* '''[unit_race]''': the race of the current unit&lt;br /&gt;
* '''[unit_level]''': the level of the current unit&lt;br /&gt;
* {{DevFeature}} '''[unit_side]''': the side of the current unit (flag)&lt;br /&gt;
* '''[unit_traits]''': the traits of the current unit&lt;br /&gt;
* '''[unit_status]''': the status of the current unit&lt;br /&gt;
* '''[unit_alignment]''': the alignment of the current unit&lt;br /&gt;
* '''[unit_abilities]''': the abilities of the current unit&lt;br /&gt;
* '''[unit_hp]''': the HP of the current unit&lt;br /&gt;
* '''[unit_xp]''': the XP of the current unit&lt;br /&gt;
* '''[unit_moves]''': the moves remaining for the current unit&lt;br /&gt;
* '''[unit_weapons]''': the attacks of the current unit&lt;br /&gt;
* '''[unit_image]''': the icon for the current unit&lt;br /&gt;
* '''[unit_profile]''': the portait for the current unit&lt;br /&gt;
* '''[time_of_day]''': the time of day on the current location&lt;br /&gt;
* '''[turn]''': the turn number and turn remaining&lt;br /&gt;
* '''[gold]''': the gold remaining&lt;br /&gt;
* '''[villages]''': the number of villages owned&lt;br /&gt;
* '''[num_units]''': the number of units owned&lt;br /&gt;
* '''[upkeep]''': the money needed to keep your units every turn&lt;br /&gt;
* '''[expenses]''': the money lost each turn when you don't have enough income&lt;br /&gt;
* '''[income]''': the income per turn (can be positive)&lt;br /&gt;
* '''[terrain]''': the text description of the current terrain&lt;br /&gt;
* '''[position]''': the current terrain's position&lt;br /&gt;
* '''[side_playing]''': the current playing side (flag)&lt;br /&gt;
* '''[observers]''': the current observers&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[ThemeSystem]]&lt;br /&gt;
* [[Using custom themes in campaigns]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ThemeWML&amp;diff=23692</id>
		<title>ThemeWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ThemeWML&amp;diff=23692"/>
		<updated>2008-03-16T17:38:19Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [status] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== The toplevel [theme] tag ==&lt;br /&gt;
&lt;br /&gt;
Themes are used both for the wesnoth game and the wesnoth editor.&lt;br /&gt;
Themes allow flexible configuration of how everything is laid out on-screen.&lt;br /&gt;
&lt;br /&gt;
The only key in '''[theme]''' is '''name'''. This is the name of the theme.&lt;br /&gt;
&lt;br /&gt;
The only tag in '''[theme]''' is '''[resolution]''', but each theme can have multiple [resolution] tags.&lt;br /&gt;
The [resolution] tags are scanned until the first one which is of the same or lower resolution than is currently being used is found, and this is used as our theme.&lt;br /&gt;
This allows us to define themes to work differently on different resolutions, &lt;br /&gt;
and will allow us to support both high and low resolutions elegantly.&lt;br /&gt;
&lt;br /&gt;
The following keys and tags are recognized for [resolution]:&lt;br /&gt;
&lt;br /&gt;
* '''width''', '''height''': dimensions in pixels&lt;br /&gt;
&lt;br /&gt;
All subtags of [resolution] use the following keys:&lt;br /&gt;
* '''rect''': defines the rectangle to display on. Parts of a ''rect=a,b,c,d'' clause may be:&lt;br /&gt;
** number : absolute positions&lt;br /&gt;
** ''='' : same value as the same field in reference rect (alignment with reference)&lt;br /&gt;
** +number or -number : for a and b, add this value to reference's c and d respectively (spacing from reference)&lt;br /&gt;
; for c and d, add this value to self's a and b (specify by width and height)&lt;br /&gt;
** =+number or =-number : add this value to same field in reference rect (eg. consider reference as a container box)&lt;br /&gt;
* '''xanchor''', '''yanchor''': control the behavior of how this rectangle changes as the resolution changes.&lt;br /&gt;
** '''left'''': its distance from the left side of the screen always remain the same, while changes in the resolution will change its size by the same amount (top for the y axis).&lt;br /&gt;
** '''right''': its size always remain the same, as well as its distance to the right side of the screen (bottom for the y axis).&lt;br /&gt;
** '''fixed''': its co-ordinates in that axis remain constant&lt;br /&gt;
** '''proportional''': its co-ordinates multiplied by the ratio of the resolution being used to the canonical resolution.&lt;br /&gt;
&lt;br /&gt;
== [main_map] ==&lt;br /&gt;
&lt;br /&gt;
defines where the main game display (i.e. all the hexagons and units) is displayed.&lt;br /&gt;
&lt;br /&gt;
== [main_map_border] ==&lt;br /&gt;
Defines the border of the main map area. It has the following keys.&lt;br /&gt;
&lt;br /&gt;
* '''border_size''': the size of the border, the value should be between 0.0 and 0.5. The images which are used by default are sized for 0.5. If the border gets smaller the images still need the same size. They're simply cut off at the right spot.&lt;br /&gt;
* '''background_image''': the filename of the image to use as background.&lt;br /&gt;
* '''tile_image''': the filename of the image to use for the _off^_usr tile. The image in the minimal can't be controlled only the image in the main map. This image must be in the terrain directory and a png image. When specifying the image the 'terrain/' prefix and '.png' suffix _must_ be ommitted.&lt;br /&gt;
* '''corner_image_top_left''': filename for the image in the top left corner.&lt;br /&gt;
* '''corner_image_bottom_left''': filename for the image in the top left corner.&lt;br /&gt;
* '''corner_image_top_right_odd''': filename for the image in the top right corner, if the x value of the corner is odd. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_top_right_even''': filename for the image in the top right corner, if the x value of the corner is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_bottom_right_odd''': filename for the image in the bottom right corner, if the x value of the corner is odd. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''corner_image_bottom_right_even''': filename for the image in the bottom right corner, if the x value of the corner is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
* '''border_image_left''': filename for the image at the left border.&lt;br /&gt;
* '''border_image_right''': filename for the image at the right border.&lt;br /&gt;
* '''border_image_top_odd''': filename for the image at the top border, if the x value of the tile is odd. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_top_even''': filename for the image at the top border, if the x value of the tile is even. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_bottom_odd''': filename for the image at the bottom border, if the x value of the tile is odd. This x value is the value seen in game (and thus not in the source). &lt;br /&gt;
* '''border_image_bottom_even''': filename for the image at the bottom border, if the x value of the tile is even. This x value is the value seen in game (and thus not in the source).&lt;br /&gt;
&lt;br /&gt;
== [mini_map] ==&lt;br /&gt;
&lt;br /&gt;
Determines where the mini map is displayed&lt;br /&gt;
&lt;br /&gt;
== [panel] ==&lt;br /&gt;
&lt;br /&gt;
Displays an image as a panel on-screen.&lt;br /&gt;
* '''image''': the image used for the panel&lt;br /&gt;
&lt;br /&gt;
== [label] ==&lt;br /&gt;
&lt;br /&gt;
Displays a text label on screen.&lt;br /&gt;
* '''prefix''': a string that will be printed before the text in all languages&lt;br /&gt;
* '''text''': a text string id to be displayed&lt;br /&gt;
* '''postfix''': a string that will be printed after the text in all languages&lt;br /&gt;
* '''icon''': an image that will be displayed instead of the text if it is available&lt;br /&gt;
* '''font_size''': the size of font to use for the label&lt;br /&gt;
&lt;br /&gt;
== [menu] ==&lt;br /&gt;
&lt;br /&gt;
* '''title''': the id of the string to write on the button&lt;br /&gt;
* '''title_literal''': a string that will be displayed &amp;quot;as is&amp;quot; in all language after the title&lt;br /&gt;
* '''image''': the image to use if available&lt;br /&gt;
* '''is_context_menu''': if set to true this menu will not be placed, but displayed on a right click&lt;br /&gt;
* '''items''': comma separated list of actions to put in the menu. if there is only one action, it will be executed immediately and no menu will be displayed&lt;br /&gt;
** '''cycle''': move to next movable unit&lt;br /&gt;
** '''endunitturn''': consume this unit's move and cycle to the next one&lt;br /&gt;
** '''leader''': center on the leader&lt;br /&gt;
** '''undo''': undo last action&lt;br /&gt;
** '''redo''': redo undone action&lt;br /&gt;
** '''zoomin''': zoom the map in&lt;br /&gt;
** '''zoomout''': zoom the map out&lt;br /&gt;
** '''zoomdefault''': return to default zoom&lt;br /&gt;
** '''fullscreen''': switch fulscreen mode&lt;br /&gt;
** '''accelerated''': switch turbo mode&lt;br /&gt;
** '''resistance''': show resistance table of current unit&lt;br /&gt;
** '''terraintable''': show terrain table of current unit&lt;br /&gt;
** '''describeunit''': show unit description&lt;br /&gt;
** '''renameunit''': change unit name&lt;br /&gt;
** '''save''': save the game&lt;br /&gt;
** '''recruit''': recruit a unit&lt;br /&gt;
** '''repeatrecruit''': repeat last recruitement&lt;br /&gt;
** '''recall''': recall a unit from previous scenarion&lt;br /&gt;
** '''endturn''': end current turn&lt;br /&gt;
** '''togglegrid''': toggle grid display&lt;br /&gt;
** '''statustable''': show status table&lt;br /&gt;
** '''mute''': mute all sounds&lt;br /&gt;
** '''speak''': send message to other players&lt;br /&gt;
** '''createunit''': debug create a unit on the map&lt;br /&gt;
** '''preferences''': open preference dialog&lt;br /&gt;
** '''objectives''': show objective window&lt;br /&gt;
** '''unitlist''': list units&lt;br /&gt;
** '''statistics''': show game statistics&lt;br /&gt;
** '''quit''': quit the game&lt;br /&gt;
** '''labelterrain''': label current location&lt;br /&gt;
** '''clearlabels''': clear all labels on map&lt;br /&gt;
** '''showenemymoves''': show grids reachable by the enemy&lt;br /&gt;
** '''bestenemymoves''': show grids reachable by the enemy with no zone of control&lt;br /&gt;
** '''editnewmap''': editor only start a new map&lt;br /&gt;
** '''editloadmap''': editor only loads an existing map&lt;br /&gt;
** '''editsavemap''': editor only saves the current map&lt;br /&gt;
** '''editsaveas''': editor only saves the current map, let you choose a filename&lt;br /&gt;
** '''editsetstartpos''': editor only set a starting position for a team&lt;br /&gt;
** '''editfloodfill''': editor only flood the map with a terrain&lt;br /&gt;
** '''toggleshroud''': toggle the &amp;quot;moving removes shroud&amp;quot; behaviour&lt;br /&gt;
** '''updateshroud'': removes all possible shroud&lt;br /&gt;
** '''AUTOSAVES'': expands to a list of all Auto-Save games prior to this one&lt;br /&gt;
&lt;br /&gt;
== [status] ==&lt;br /&gt;
&lt;br /&gt;
This tag describes the Status Table.&lt;br /&gt;
This tag contains many other tags, which determine where other game statistics, such as the current turn, and a description of selected units go.&lt;br /&gt;
For instance, the [time_of_day] tag will determine where the time of day image goes.&lt;br /&gt;
Each subtag of [status] can contain the following attributes&lt;br /&gt;
&lt;br /&gt;
** '''font_size''': the size of font to use for the status&lt;br /&gt;
** '''rect''': the rectangle as for the main_map attribute&lt;br /&gt;
** '''xanchor''': the x-wise anchoring as for the main_map attribute&lt;br /&gt;
** '''yanchor''': the y-wise anchoring as for the main_map attribute&lt;br /&gt;
** '''prefix''': the string to display before the actual status, this is the string id for internationalisation&lt;br /&gt;
** '''prefix_literal''': a string to put after the prefix, but before the label for all languages.&lt;br /&gt;
** '''postfix_literal''': a string to put after the status&lt;br /&gt;
** '''postfix''': the string to display after the postfix_literal, this is the string id for internationalisation&lt;br /&gt;
&lt;br /&gt;
the following tags are recognized for [status]:&lt;br /&gt;
* '''[unit_description]''': the user description of the current unit&lt;br /&gt;
* '''[unit_type]''': the type of the current unit&lt;br /&gt;
* '''[unit_race]''': the race of the current unit&lt;br /&gt;
* '''[unit_level]''': the level of the current unit&lt;br /&gt;
* {{DevFeature}} '''[unit_side]''': the side of the current unit (flag)&lt;br /&gt;
* '''[unit_traits]''': the traits of the current unit&lt;br /&gt;
* '''[unit_status]''': the status of the current unit&lt;br /&gt;
* '''[unit_alignment]''': the alignment of the current unit&lt;br /&gt;
* '''[unit_abilities]''': the abilities of the current unit&lt;br /&gt;
* '''[unit_hp]''': the HP of the current unit&lt;br /&gt;
* '''[unit_xp]''': the XP of the current unit&lt;br /&gt;
* '''[unit_moves]''': the moves remaining for the current unit&lt;br /&gt;
* '''[unit_weapons]''': the attacks of the current unit&lt;br /&gt;
* '''[unit_image]''': the icon for the current unit&lt;br /&gt;
* '''[unit_profile]''': the portait for the current unit&lt;br /&gt;
* '''[time_of_day]''': the time of day on the current location&lt;br /&gt;
* '''[turn]''': the turn number and turn remaining&lt;br /&gt;
* '''[gold]''': the gold remaining&lt;br /&gt;
* '''[villages]''': the number of villages owned&lt;br /&gt;
* '''[num_units]''': the number of units owned&lt;br /&gt;
* '''[upkeep]''': the money needed to keep your units every turn&lt;br /&gt;
* '''[expenses]''': the money lost each turn when you don't have enough income&lt;br /&gt;
* '''[income]''': the income per turn (can be positive)&lt;br /&gt;
* '''[terrain]''': the text description of the current terrain&lt;br /&gt;
* '''[position]''': the current terrain's position&lt;br /&gt;
* '''[side_playing]''': the current playing side (flag)&lt;br /&gt;
* '''[observers]''': the current observers&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[ThemeSystem]]&lt;br /&gt;
* [[Using custom themes in campaigns]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=23679</id>
		<title>InternalActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=23679"/>
		<updated>2008-03-16T11:01:06Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [switch] {{DevFeature}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Internal actions ==&lt;br /&gt;
&lt;br /&gt;
Internal actions are actions that WML uses internally that do not directly affect gameplay, for example storing a variable.&lt;br /&gt;
&lt;br /&gt;
The internal actions '''[if]''', '''[while]''', and '''[event]''' describe when/whether sets of actions should be executed.&lt;br /&gt;
&lt;br /&gt;
== [if] ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of actions based on whether the conditions described in the condition tags are true or not.&lt;br /&gt;
&lt;br /&gt;
Condition tags:&lt;br /&gt;
* '''[have_unit]''': a unit passing this filter with &amp;gt;0 HP exists&lt;br /&gt;
** [[StandardUnitFilter]] (almost... '''Note:''' does not check for matching units in the recall list)&lt;br /&gt;
&lt;br /&gt;
* '''[have_location]''': a location passing this filter exists &lt;br /&gt;
** [[StandardLocationFilter]]&lt;br /&gt;
&lt;br /&gt;
* '''[and]''': If an [and] is present, all must evaluate to true in order for the [if] to evaluate true. Useful as a bracket for complex conditions, but not strictly necessary.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [and] evaluates to true.&lt;br /&gt;
&lt;br /&gt;
* '''[or]''': If an [or] is present, one must evaluate to true in order for the [if] to evaluate true. ([[AdvancedConditionalWML|Example]])&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, '''[or]''' evaluates to true. &lt;br /&gt;
&lt;br /&gt;
* '''[not]''': If a [not] is present, none must evaluate to true in order for the [if] to evaluate true.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [not] evaluates to false.&lt;br /&gt;
&lt;br /&gt;
* '''[and],[or],[not]''': all top-level filters will support in-order conditional handling of and, or, and not. One important thing to remember is, if you have multiple [or]s, you should not wrap your first conditional statement into an [or] block.&lt;br /&gt;
&lt;br /&gt;
* '''[variable]''': tests something about the value of a WML variable (see [[VariablesWML]])&lt;br /&gt;
** '''name''': the name of the variable to test the value of&amp;lt;br&amp;gt;Only one of the following keys should be used for comparing the value of the variable to another value:&lt;br /&gt;
** '''equals''': $name is equal (string wise) to this&lt;br /&gt;
** '''not_equals''': $name is not equal to this&lt;br /&gt;
** '''greater_than''': $name is numerically greater than this&lt;br /&gt;
** '''less_than''': $name is less than this&lt;br /&gt;
** '''greater_than_equal_to''': $name is not less than this&lt;br /&gt;
** '''less_than_equal_to''': $name is not greater than this&lt;br /&gt;
** '''numerical_not_equals''': $name is greater than or less than this&lt;br /&gt;
** '''numerical_equals''': $name is not greater than or less than this&lt;br /&gt;
** '''boolean_equals''': $name has the same boolean value (e.g. off, false, 0, no)&lt;br /&gt;
** '''contains''': $name contains this string&lt;br /&gt;
** {{DevFeature}} '''boolean_not_equals''': $name has not the same boolean value. Strictly a syntactic shortcut for the following syntax that served its absence in 1.4:&lt;br /&gt;
  [not]&lt;br /&gt;
    [variable]&lt;br /&gt;
      name=...&lt;br /&gt;
      boolean_equals=...&lt;br /&gt;
    [/variable]&lt;br /&gt;
  [/not]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[then]''': contains a set of action tags which should be executed if all conditions are true, or all conditions in any single [or] are true&lt;br /&gt;
* '''[else]''': contains a set of action tags which should be executed if any condition is false, and all [or] tags are false&lt;br /&gt;
&lt;br /&gt;
== [switch] {{DevFeature}} ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of action based on the value of a variable.&lt;br /&gt;
  [switch]&lt;br /&gt;
     variable=foo&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;A&amp;quot;&lt;br /&gt;
        ... WML if foo=A ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;B&amp;quot;&lt;br /&gt;
        ... WML if foo=B ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [else]&lt;br /&gt;
        ... WML if not foo=A nor foo=B ...&lt;br /&gt;
     [/else]&lt;br /&gt;
  [/switch]&lt;br /&gt;
&lt;br /&gt;
* '''variable''': name of the variable to check.&lt;br /&gt;
* '''[case]''': Case block. Contains:&lt;br /&gt;
** '''value''': value to test the variable against.&lt;br /&gt;
** the action WML to execute if the variable matches the value (rest of the block).&lt;br /&gt;
* '''[else]''': Block of action WML to execute if no '''[case]''' block matches.&lt;br /&gt;
&lt;br /&gt;
== [while] ==&lt;br /&gt;
&lt;br /&gt;
Executes commands if all conditions are true.&lt;br /&gt;
Continues to execute them until a condition is not true.&lt;br /&gt;
&lt;br /&gt;
Executes a maximum of 1024 iterations per invocation.&lt;br /&gt;
Condition tags are the same as for [if]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[do]''': contains actions that should be executed repeatedly until some condition is false.&lt;br /&gt;
&lt;br /&gt;
The '''[while]''' tag is useful for iterating over an array.&lt;br /&gt;
An array is a list of values.&lt;br /&gt;
The ''number''th value in the array '''array''' is stored in the WML variable '''''array''[number]'''.&lt;br /&gt;
Note that if '''number''' is the value of the variable '''variable''',&lt;br /&gt;
the expression '''$''array''[$variable]''' will return the ''number''th value in ''array''.&lt;br /&gt;
The macros 'FOREACH' and 'NEXT' ([[UtilWML]]) can be used to iterate over an array;&lt;br /&gt;
i.e. run a set of actions once per element of the array.&lt;br /&gt;
&lt;br /&gt;
=== {FOREACH} ===&lt;br /&gt;
If you wish to use a &amp;quot;for-each&amp;quot; iteration format (useful for example when you want to do an iteration for each row in a table) you can use the [http://www.wesnoth.org/misc/macro-reference.xhtml FOREACH] and [http://www.wesnoth.org/misc/macro-reference.xhtml NEXT] prededined macros.&lt;br /&gt;
&lt;br /&gt;
=== {REPEAT} ===&lt;br /&gt;
You can use the REPEAT macro to perform a quick iteration for a number of times you specify.&lt;br /&gt;
&lt;br /&gt;
== [event] ==&lt;br /&gt;
&lt;br /&gt;
This adds a new event to the scenario.&lt;br /&gt;
The event is in the normal format for an '''[event]''' tag (See [[EventWML]]).&lt;br /&gt;
This is useful if you want an event that can only be triggered when a prior event is fulfilled&lt;br /&gt;
&lt;br /&gt;
These tags describe actions that affect the values of WML variables&lt;br /&gt;
(see [[VariablesWML]] for information on WML variables,&lt;br /&gt;
and [[UtilWML]] for convenient macro shortcuts for some of these):&lt;br /&gt;
* '''[set_variable]''': manipulates a WML variable. {{Note:Predefined Macro|VARIABLE}} &lt;br /&gt;
** '''name''': the name of the variable to manipulate&lt;br /&gt;
** '''value''': set the variable to the given value (can be numeric or string). This only interprets dollars signs if it is the very first character, and then the entire value must be a simple variable name. (in 1.3.2, has the same effect as format. Use literal for no substitution)&lt;br /&gt;
** '''literal''': set the variable to the given value (can be numeric or string). This does not interpret any dollars signs.&lt;br /&gt;
** '''format''': set the variable to the given value. Interprets the dollar sign to a higher degree than most actions. (see [[VariablesWML]])&lt;br /&gt;
** '''to_variable''': Fully processes its value as in ''format'', and then gets the variable with that name.&lt;br /&gt;
** '''add''': add the given amount to the variable. To subtract, add a negative number.&lt;br /&gt;
** '''multiply''': multiply the variable by the given number. To divide, multiply by the inverse eg: 4/2 = 4 * 1/2 = 4 * 0.5. To negate, multiply by -1. The result is an integer.&lt;br /&gt;
** '''divide''': divide the variable by the given number. The result is an integer.&lt;br /&gt;
** '''modulo''': returns the remainder of an integer division. Both variables need to be an integer, the result is also an integer. eg 5 % 2 = 1.&lt;br /&gt;
** '''random''': the variable will be randomly set.&amp;lt;br&amp;gt;You may provide a comma separated list of possibilities, e.g. 'random=Bob,Bill,Bella'.&amp;lt;br&amp;gt;You may provide a range of numbers (integers), e.g. 'random=3..5'.&amp;lt;br&amp;gt;You may combine these, e.g. 'random=100,1..9', in which case there would be 1/10th chance of getting 100, just like for each of 1 to 9. Dollars signs are only normally interpreted here, so it is harder to have a dynamically determined range. You would need to create the random-string with ''format''.&lt;br /&gt;
** '''rand''': does the same as random, but has better MP support. See [[BuildingMultiplayerExamples]] for more info on the MP case. '''It is highly recommended that you use this feature for randomization.'''&lt;br /&gt;
** '''time=stamp''': Retrieves a timestamp in milliseconds since wesnoth was started, can be used as timing aid. Don't try to use this as random value in MP since it will cause an OOS.&lt;br /&gt;
** {{DevFeature}} '''string_length''': Retrieves the length in characters of the string passed as this attribute's value; such string is parsed and variable substitution applied automatically (see [[VariablesWML]] for details).&lt;br /&gt;
** {{DevFeature}} '''[join]''' joins an array of strings to a textual list&lt;br /&gt;
***variable: name of the array&lt;br /&gt;
***key: array[$i].key to look for the strings&lt;br /&gt;
***separator: separator to connect the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* {{DevFeature}} '''[set_variables]''': manipulates a WML array&lt;br /&gt;
** '''name''': the name of the container to manipulate&lt;br /&gt;
** '''mode''': one of the following values:&lt;br /&gt;
***replace: will clean the array '''name''' and replace it with given data&lt;br /&gt;
***append: will append given data to the current array&lt;br /&gt;
***merge: will merge in the given data into '''name'''&lt;br /&gt;
** '''to_variable''': data will be set to the given array&lt;br /&gt;
** '''[value]''': the WML inside the [value] tags will be stored in data, variables will be interpolated directly, use $| in order to escape the $ sign, you can store arrays of WML by supplying multiple [value] tags&lt;br /&gt;
** '''[literal]''': same as '''[value]''', but variables will not be substituted, '''[literal]''' and '''[value]''' can not be used in the same [set_variables] tag, i.e. you can not create arrays by piling a mix of '''[value]''' and '''[literal]''' tags&lt;br /&gt;
**'''[split]''' splits a textual list into an array which will then be set to data&lt;br /&gt;
***list: textual list to split&lt;br /&gt;
***key: array[$i].key to put the elements in&lt;br /&gt;
***separator: separator to separate the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* '''[store_unit]''': stores details about units into game variables.&amp;lt;br&amp;gt;Common usage is to manipulate a unit by using [store_unit] to store it into a variable, followed by manipulation of the variable, and then [unstore_unit] to re-create the unit with the modified variables.&amp;lt;br&amp;gt;Note: stored units also exist on the field, and modifying the stored variable will not automatically change the stats of the units. You need to use [unstore_unit]. See also [unstore_unit], [[DirectActionsWML]], and '''FOREACH''', [[UtilWML]]&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] all units matching this filter will be stored. If there are multiple units, they will be stored into an array of variables.&lt;br /&gt;
** '''variable''': the name of the variable into which to store the unit(s)&lt;br /&gt;
** '''mode''': defaults to ''always_clear'', which clears the variable, whether or not a match is found. If mode is set to ''replace'', the variable will only be cleared if a match is found. If mode is set to ''append'', the variable will not be cleared.&lt;br /&gt;
** '''kill''': if 'yes' the units that are stored will be removed from play. This is useful for instance to remove access to a player's recall list, with the intent to restore the recall list later.&lt;br /&gt;
:When a unit is stored, the following values may be manipulated with '''[set_variable]'''&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* gender&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* overlays&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* moves&lt;br /&gt;
:* resting&lt;br /&gt;
:* side&lt;br /&gt;
:* type&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* upkeep&lt;br /&gt;
:* user_description&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
Variables, status, and modifications are children of the stored unit variable.  Example:&lt;br /&gt;
 [set_variable]&lt;br /&gt;
 name=unit_store.status.poisoned&lt;br /&gt;
 value=yes&lt;br /&gt;
 [/set_variable]&lt;br /&gt;
&lt;br /&gt;
:All keys and tags in the unit definition may be manipulated, including some others.  Here is a sample list.  If you have a doubt about what keys are valid or what the valid value range is for each key, code a [store_unit] event, save the game, and examine what keys are in the file.&lt;br /&gt;
:* advanceto&lt;br /&gt;
:* alignment&lt;br /&gt;
:* alpha&lt;br /&gt;
:* attacks_left&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* controller&lt;br /&gt;
:* cost&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* flying&lt;br /&gt;
:* fog&lt;br /&gt;
:* gender&lt;br /&gt;
:* get_hit_sound&lt;br /&gt;
:* gold&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* id&lt;br /&gt;
:* image&lt;br /&gt;
:* image_defensive&lt;br /&gt;
:* income&lt;br /&gt;
:* language_name (same as the name key in the unit config)&lt;br /&gt;
:* level&lt;br /&gt;
:* max_attacks&lt;br /&gt;
:* max_experience&lt;br /&gt;
:* max_hitpoints&lt;br /&gt;
:* max_moves&lt;br /&gt;
:* movement&lt;br /&gt;
:* movement_type&lt;br /&gt;
:* moves&lt;br /&gt;
:* race&lt;br /&gt;
:* resting&lt;br /&gt;
:* shroud&lt;br /&gt;
:* side&lt;br /&gt;
:* team_name&lt;br /&gt;
:* type&lt;br /&gt;
:* unit_description&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* usage&lt;br /&gt;
:* value&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* zoc&lt;br /&gt;
:* [advancement]&lt;br /&gt;
:* [/advancement]&lt;br /&gt;
:* [movement_costs]&lt;br /&gt;
:* [/movement_costs]&lt;br /&gt;
:* [defense]&lt;br /&gt;
:* [/defense]&lt;br /&gt;
:* [resistance]&lt;br /&gt;
:* [/resistance]&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [/variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [/status]&lt;br /&gt;
:* [attack]&lt;br /&gt;
:* [/attack]&lt;br /&gt;
:* [modifications_description]&lt;br /&gt;
:* [/modifications_description]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
:* [/modifications]&lt;br /&gt;
&lt;br /&gt;
* '''[store_starting_location]''': Stores the starting location of a side's leader in a variable. The variable is a composite type which will have members 'x', 'y', and 'terrain' (the terrain type for a starting location is always 'K' unless it has been changed)&lt;br /&gt;
** '''side''': the side whose starting location is to be stored&lt;br /&gt;
** '''variable''': (default='location'): the name of the variable to store the location in&lt;br /&gt;
* '''[store_locations]''': Stores a series of locations that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** [[StandardLocationFilter]]: a location or location range which specifies the locations to store. You must specify this or no locations will be stored.&lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a comma-sperated list of terrain codes. (See [[TerrainCodesWML]] for possible values.) If present, locations will only be chosen if the code for the terrain type of that location is listed.&lt;br /&gt;
** '''radius''': if present, any locations which are within '''radius''' hexes of the location filter will also be stored&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] only locations with units on them that match the filter will be stored. Use a blank filter to only store locations with units.&lt;br /&gt;
* '''[store_villages]''': Stores a series of locations of villages that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** '''owner_side''': a side number. If present, only villages owned by this side will be choosen. If owner_side=0, store the unowned villages. &lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a series of terrain characters. (See [[TerrainLettersWML]] for possible values.) If present, villages will only be chosen if the terrain code of the terrain type of that location is listed.  You may give a comma separated list of terrains.&lt;br /&gt;
** '''side''': (default=1) the side for which the gold should be stored&lt;br /&gt;
** '''variable''': (default='gold') the name of the variable to store the gold in&lt;br /&gt;
* '''[store_side]''': stores information about a certain side in a variable. The variable will contain the member variables 'name', 'team_name', 'gold' and 'income', 'fog', 'shroud', 'user_team_name', 'colour', 'controller', 'village_gold' and 'recruit'.)&lt;br /&gt;
** '''side''': the side whose information should be stored&lt;br /&gt;
** '''variable''': the name of the variable to store the information in&lt;br /&gt;
* '''[clear_variable]''': This will delete the given variable or array. This is good to use to clean up the set of variables -- e.g. a well-behaved scenario will delete any variables that shouldn't be kept for the next scenario before the end of the scenario.&amp;lt;br&amp;gt; Tags and variables of stored units can also be cleared, meaning that [trait]s and [object]s, for example, can be removed.&lt;br /&gt;
** '''name''': the name of the variable to clear.&lt;br /&gt;
* '''[role]''': tries to find a unit to assign a role to.&amp;lt;br&amp;gt;This is useful if you want to choose a non-major character to say some things during the game. Once a role is assigned, you can use '''role=''' in a unit filter to identify the unit with that role (See [[FilterWML]]).&amp;lt;br&amp;gt;However, there is no guarantee that roles will ever be assigned. You can use '''[have_unit]''' (see [if]) to see whether a role was assigned. This tag uses a [[StandardUnitFilter]] with the modification to order the search by type, mark only the first unit found with the role, and the role attribute is not used in the search. If for some reason you want to search for units that have or don't have existing roles, you can use one or more [not] filters. The will check recall lists in addition to units on the map. In normal use, you will probably want to include a ''side'' attribute to force the unit to be on a particular side.&lt;br /&gt;
** '''role''': the value to store as the unit's role. This role is not used in the [[StandardUnitFilter]] when doing the search for the unit to assign this role to.&lt;br /&gt;
** '''type''': a comma-separated list of possible types the unit can be. If any types are given, then units will be searched by type in the order listed. If no type is given, then no particular order with respect to type is guaranteed.&lt;br /&gt;
* {{DevFeature}} '''[store_map_dimensions]''': Stores the map dimensions in a variable.&lt;br /&gt;
** '''variable''': the name of the variable where the values will be saved into. If it is skipped, a variable 'map_size' is used, and its contents overridden, if they existed already. The result is a container variable, with members ''width'' and ''height''.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[VariablesWML]]&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InterfaceActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=23677</id>
		<title>InternalActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=23677"/>
		<updated>2008-03-16T10:57:30Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [switch] {{DevFeature}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Internal actions ==&lt;br /&gt;
&lt;br /&gt;
Internal actions are actions that WML uses internally that do not directly affect gameplay, for example storing a variable.&lt;br /&gt;
&lt;br /&gt;
The internal actions '''[if]''', '''[while]''', and '''[event]''' describe when/whether sets of actions should be executed.&lt;br /&gt;
&lt;br /&gt;
== [if] ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of actions based on whether the conditions described in the condition tags are true or not.&lt;br /&gt;
&lt;br /&gt;
Condition tags:&lt;br /&gt;
* '''[have_unit]''': a unit passing this filter with &amp;gt;0 HP exists&lt;br /&gt;
** [[StandardUnitFilter]] (almost... '''Note:''' does not check for matching units in the recall list)&lt;br /&gt;
&lt;br /&gt;
* '''[have_location]''': a location passing this filter exists &lt;br /&gt;
** [[StandardLocationFilter]]&lt;br /&gt;
&lt;br /&gt;
* '''[and]''': If an [and] is present, all must evaluate to true in order for the [if] to evaluate true. Useful as a bracket for complex conditions, but not strictly necessary.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [and] evaluates to true.&lt;br /&gt;
&lt;br /&gt;
* '''[or]''': If an [or] is present, one must evaluate to true in order for the [if] to evaluate true. ([[AdvancedConditionalWML|Example]])&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, '''[or]''' evaluates to true. &lt;br /&gt;
&lt;br /&gt;
* '''[not]''': If a [not] is present, none must evaluate to true in order for the [if] to evaluate true.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [not] evaluates to false.&lt;br /&gt;
&lt;br /&gt;
* '''[and],[or],[not]''': all top-level filters will support in-order conditional handling of and, or, and not. One important thing to remember is, if you have multiple [or]s, you should not wrap your first conditional statement into an [or] block.&lt;br /&gt;
&lt;br /&gt;
* '''[variable]''': tests something about the value of a WML variable (see [[VariablesWML]])&lt;br /&gt;
** '''name''': the name of the variable to test the value of&amp;lt;br&amp;gt;Only one of the following keys should be used for comparing the value of the variable to another value:&lt;br /&gt;
** '''equals''': $name is equal (string wise) to this&lt;br /&gt;
** '''not_equals''': $name is not equal to this&lt;br /&gt;
** '''greater_than''': $name is numerically greater than this&lt;br /&gt;
** '''less_than''': $name is less than this&lt;br /&gt;
** '''greater_than_equal_to''': $name is not less than this&lt;br /&gt;
** '''less_than_equal_to''': $name is not greater than this&lt;br /&gt;
** '''numerical_not_equals''': $name is greater than or less than this&lt;br /&gt;
** '''numerical_equals''': $name is not greater than or less than this&lt;br /&gt;
** '''boolean_equals''': $name has the same boolean value (e.g. off, false, 0, no)&lt;br /&gt;
** '''contains''': $name contains this string&lt;br /&gt;
** {{DevFeature}} '''boolean_not_equals''': $name has not the same boolean value. Strictly a syntactic shortcut for the following syntax that served its absence in 1.4:&lt;br /&gt;
  [not]&lt;br /&gt;
    [variable]&lt;br /&gt;
      name=...&lt;br /&gt;
      boolean_equals=...&lt;br /&gt;
    [/variable]&lt;br /&gt;
  [/not]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[then]''': contains a set of action tags which should be executed if all conditions are true, or all conditions in any single [or] are true&lt;br /&gt;
* '''[else]''': contains a set of action tags which should be executed if any condition is false, and all [or] tags are false&lt;br /&gt;
&lt;br /&gt;
== [switch] {{DevFeature}} ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of action based on the value of a variable.&lt;br /&gt;
  [switch]&lt;br /&gt;
     variable=foo&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;A&amp;quot;&lt;br /&gt;
        ... WML if foo=A ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;B&amp;quot;&lt;br /&gt;
        ... WML if foo=B ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [else]&lt;br /&gt;
        ... WML if not foo=A nor foo=B ...&lt;br /&gt;
     [/else]&lt;br /&gt;
  [/switch]&lt;br /&gt;
&lt;br /&gt;
* '''variable''': variable to check.&lt;br /&gt;
* '''[case]''': Case block. Contains:&lt;br /&gt;
** '''value''': the value to test the variable against.&lt;br /&gt;
** the action WML to execute if the variable matches the value (rest of the block).&lt;br /&gt;
* '''[else]''': Block of action WML to execute if no '''[case]''' block matches.&lt;br /&gt;
&lt;br /&gt;
== [while] ==&lt;br /&gt;
&lt;br /&gt;
Executes commands if all conditions are true.&lt;br /&gt;
Continues to execute them until a condition is not true.&lt;br /&gt;
&lt;br /&gt;
Executes a maximum of 1024 iterations per invocation.&lt;br /&gt;
Condition tags are the same as for [if]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[do]''': contains actions that should be executed repeatedly until some condition is false.&lt;br /&gt;
&lt;br /&gt;
The '''[while]''' tag is useful for iterating over an array.&lt;br /&gt;
An array is a list of values.&lt;br /&gt;
The ''number''th value in the array '''array''' is stored in the WML variable '''''array''[number]'''.&lt;br /&gt;
Note that if '''number''' is the value of the variable '''variable''',&lt;br /&gt;
the expression '''$''array''[$variable]''' will return the ''number''th value in ''array''.&lt;br /&gt;
The macros 'FOREACH' and 'NEXT' ([[UtilWML]]) can be used to iterate over an array;&lt;br /&gt;
i.e. run a set of actions once per element of the array.&lt;br /&gt;
&lt;br /&gt;
=== {FOREACH} ===&lt;br /&gt;
If you wish to use a &amp;quot;for-each&amp;quot; iteration format (useful for example when you want to do an iteration for each row in a table) you can use the [http://www.wesnoth.org/misc/macro-reference.xhtml FOREACH] and [http://www.wesnoth.org/misc/macro-reference.xhtml NEXT] prededined macros.&lt;br /&gt;
&lt;br /&gt;
=== {REPEAT} ===&lt;br /&gt;
You can use the REPEAT macro to perform a quick iteration for a number of times you specify.&lt;br /&gt;
&lt;br /&gt;
== [event] ==&lt;br /&gt;
&lt;br /&gt;
This adds a new event to the scenario.&lt;br /&gt;
The event is in the normal format for an '''[event]''' tag (See [[EventWML]]).&lt;br /&gt;
This is useful if you want an event that can only be triggered when a prior event is fulfilled&lt;br /&gt;
&lt;br /&gt;
These tags describe actions that affect the values of WML variables&lt;br /&gt;
(see [[VariablesWML]] for information on WML variables,&lt;br /&gt;
and [[UtilWML]] for convenient macro shortcuts for some of these):&lt;br /&gt;
* '''[set_variable]''': manipulates a WML variable. {{Note:Predefined Macro|VARIABLE}} &lt;br /&gt;
** '''name''': the name of the variable to manipulate&lt;br /&gt;
** '''value''': set the variable to the given value (can be numeric or string). This only interprets dollars signs if it is the very first character, and then the entire value must be a simple variable name. (in 1.3.2, has the same effect as format. Use literal for no substitution)&lt;br /&gt;
** '''literal''': set the variable to the given value (can be numeric or string). This does not interpret any dollars signs.&lt;br /&gt;
** '''format''': set the variable to the given value. Interprets the dollar sign to a higher degree than most actions. (see [[VariablesWML]])&lt;br /&gt;
** '''to_variable''': Fully processes its value as in ''format'', and then gets the variable with that name.&lt;br /&gt;
** '''add''': add the given amount to the variable. To subtract, add a negative number.&lt;br /&gt;
** '''multiply''': multiply the variable by the given number. To divide, multiply by the inverse eg: 4/2 = 4 * 1/2 = 4 * 0.5. To negate, multiply by -1. The result is an integer.&lt;br /&gt;
** '''divide''': divide the variable by the given number. The result is an integer.&lt;br /&gt;
** '''modulo''': returns the remainder of an integer division. Both variables need to be an integer, the result is also an integer. eg 5 % 2 = 1.&lt;br /&gt;
** '''random''': the variable will be randomly set.&amp;lt;br&amp;gt;You may provide a comma separated list of possibilities, e.g. 'random=Bob,Bill,Bella'.&amp;lt;br&amp;gt;You may provide a range of numbers (integers), e.g. 'random=3..5'.&amp;lt;br&amp;gt;You may combine these, e.g. 'random=100,1..9', in which case there would be 1/10th chance of getting 100, just like for each of 1 to 9. Dollars signs are only normally interpreted here, so it is harder to have a dynamically determined range. You would need to create the random-string with ''format''.&lt;br /&gt;
** '''rand''': does the same as random, but has better MP support. See [[BuildingMultiplayerExamples]] for more info on the MP case. '''It is highly recommended that you use this feature for randomization.'''&lt;br /&gt;
** '''time=stamp''': Retrieves a timestamp in milliseconds since wesnoth was started, can be used as timing aid. Don't try to use this as random value in MP since it will cause an OOS.&lt;br /&gt;
** {{DevFeature}} '''string_length''': Retrieves the length in characters of the string passed as this attribute's value; such string is parsed and variable substitution applied automatically (see [[VariablesWML]] for details).&lt;br /&gt;
** {{DevFeature}} '''[join]''' joins an array of strings to a textual list&lt;br /&gt;
***variable: name of the array&lt;br /&gt;
***key: array[$i].key to look for the strings&lt;br /&gt;
***separator: separator to connect the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* {{DevFeature}} '''[set_variables]''': manipulates a WML array&lt;br /&gt;
** '''name''': the name of the container to manipulate&lt;br /&gt;
** '''mode''': one of the following values:&lt;br /&gt;
***replace: will clean the array '''name''' and replace it with given data&lt;br /&gt;
***append: will append given data to the current array&lt;br /&gt;
***merge: will merge in the given data into '''name'''&lt;br /&gt;
** '''to_variable''': data will be set to the given array&lt;br /&gt;
** '''[value]''': the WML inside the [value] tags will be stored in data, variables will be interpolated directly, use $| in order to escape the $ sign, you can store arrays of WML by supplying multiple [value] tags&lt;br /&gt;
** '''[literal]''': same as '''[value]''', but variables will not be substituted, '''[literal]''' and '''[value]''' can not be used in the same [set_variables] tag, i.e. you can not create arrays by piling a mix of '''[value]''' and '''[literal]''' tags&lt;br /&gt;
**'''[split]''' splits a textual list into an array which will then be set to data&lt;br /&gt;
***list: textual list to split&lt;br /&gt;
***key: array[$i].key to put the elements in&lt;br /&gt;
***separator: separator to separate the elements&lt;br /&gt;
***remove_empty: wether to ignore empty elements&lt;br /&gt;
&lt;br /&gt;
* '''[store_unit]''': stores details about units into game variables.&amp;lt;br&amp;gt;Common usage is to manipulate a unit by using [store_unit] to store it into a variable, followed by manipulation of the variable, and then [unstore_unit] to re-create the unit with the modified variables.&amp;lt;br&amp;gt;Note: stored units also exist on the field, and modifying the stored variable will not automatically change the stats of the units. You need to use [unstore_unit]. See also [unstore_unit], [[DirectActionsWML]], and '''FOREACH''', [[UtilWML]]&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] all units matching this filter will be stored. If there are multiple units, they will be stored into an array of variables.&lt;br /&gt;
** '''variable''': the name of the variable into which to store the unit(s)&lt;br /&gt;
** '''mode''': defaults to ''always_clear'', which clears the variable, whether or not a match is found. If mode is set to ''replace'', the variable will only be cleared if a match is found. If mode is set to ''append'', the variable will not be cleared.&lt;br /&gt;
** '''kill''': if 'yes' the units that are stored will be removed from play. This is useful for instance to remove access to a player's recall list, with the intent to restore the recall list later.&lt;br /&gt;
:When a unit is stored, the following values may be manipulated with '''[set_variable]'''&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* gender&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* overlays&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* moves&lt;br /&gt;
:* resting&lt;br /&gt;
:* side&lt;br /&gt;
:* type&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* upkeep&lt;br /&gt;
:* user_description&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
Variables, status, and modifications are children of the stored unit variable.  Example:&lt;br /&gt;
 [set_variable]&lt;br /&gt;
 name=unit_store.status.poisoned&lt;br /&gt;
 value=yes&lt;br /&gt;
 [/set_variable]&lt;br /&gt;
&lt;br /&gt;
:All keys and tags in the unit definition may be manipulated, including some others.  Here is a sample list.  If you have a doubt about what keys are valid or what the valid value range is for each key, code a [store_unit] event, save the game, and examine what keys are in the file.&lt;br /&gt;
:* advanceto&lt;br /&gt;
:* alignment&lt;br /&gt;
:* alpha&lt;br /&gt;
:* attacks_left&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* controller&lt;br /&gt;
:* cost&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* flying&lt;br /&gt;
:* fog&lt;br /&gt;
:* gender&lt;br /&gt;
:* get_hit_sound&lt;br /&gt;
:* gold&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* id&lt;br /&gt;
:* image&lt;br /&gt;
:* image_defensive&lt;br /&gt;
:* income&lt;br /&gt;
:* language_name (same as the name key in the unit config)&lt;br /&gt;
:* level&lt;br /&gt;
:* max_attacks&lt;br /&gt;
:* max_experience&lt;br /&gt;
:* max_hitpoints&lt;br /&gt;
:* max_moves&lt;br /&gt;
:* movement&lt;br /&gt;
:* movement_type&lt;br /&gt;
:* moves&lt;br /&gt;
:* race&lt;br /&gt;
:* resting&lt;br /&gt;
:* shroud&lt;br /&gt;
:* side&lt;br /&gt;
:* team_name&lt;br /&gt;
:* type&lt;br /&gt;
:* unit_description&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* usage&lt;br /&gt;
:* value&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* zoc&lt;br /&gt;
:* [advancement]&lt;br /&gt;
:* [/advancement]&lt;br /&gt;
:* [movement_costs]&lt;br /&gt;
:* [/movement_costs]&lt;br /&gt;
:* [defense]&lt;br /&gt;
:* [/defense]&lt;br /&gt;
:* [resistance]&lt;br /&gt;
:* [/resistance]&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [/variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [/status]&lt;br /&gt;
:* [attack]&lt;br /&gt;
:* [/attack]&lt;br /&gt;
:* [modifications_description]&lt;br /&gt;
:* [/modifications_description]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
:* [/modifications]&lt;br /&gt;
&lt;br /&gt;
* '''[store_starting_location]''': Stores the starting location of a side's leader in a variable. The variable is a composite type which will have members 'x', 'y', and 'terrain' (the terrain type for a starting location is always 'K' unless it has been changed)&lt;br /&gt;
** '''side''': the side whose starting location is to be stored&lt;br /&gt;
** '''variable''': (default='location'): the name of the variable to store the location in&lt;br /&gt;
* '''[store_locations]''': Stores a series of locations that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** [[StandardLocationFilter]]: a location or location range which specifies the locations to store. You must specify this or no locations will be stored.&lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a comma-sperated list of terrain codes. (See [[TerrainCodesWML]] for possible values.) If present, locations will only be chosen if the code for the terrain type of that location is listed.&lt;br /&gt;
** '''radius''': if present, any locations which are within '''radius''' hexes of the location filter will also be stored&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] only locations with units on them that match the filter will be stored. Use a blank filter to only store locations with units.&lt;br /&gt;
* '''[store_villages]''': Stores a series of locations of villages that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** '''owner_side''': a side number. If present, only villages owned by this side will be choosen. If owner_side=0, store the unowned villages. &lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a series of terrain characters. (See [[TerrainLettersWML]] for possible values.) If present, villages will only be chosen if the terrain code of the terrain type of that location is listed.  You may give a comma separated list of terrains.&lt;br /&gt;
** '''side''': (default=1) the side for which the gold should be stored&lt;br /&gt;
** '''variable''': (default='gold') the name of the variable to store the gold in&lt;br /&gt;
* '''[store_side]''': stores information about a certain side in a variable. The variable will contain the member variables 'name', 'team_name', 'gold' and 'income', 'fog', 'shroud', 'user_team_name', 'colour', 'controller', 'village_gold' and 'recruit'.)&lt;br /&gt;
** '''side''': the side whose information should be stored&lt;br /&gt;
** '''variable''': the name of the variable to store the information in&lt;br /&gt;
* '''[clear_variable]''': This will delete the given variable or array. This is good to use to clean up the set of variables -- e.g. a well-behaved scenario will delete any variables that shouldn't be kept for the next scenario before the end of the scenario.&amp;lt;br&amp;gt; Tags and variables of stored units can also be cleared, meaning that [trait]s and [object]s, for example, can be removed.&lt;br /&gt;
** '''name''': the name of the variable to clear.&lt;br /&gt;
* '''[role]''': tries to find a unit to assign a role to.&amp;lt;br&amp;gt;This is useful if you want to choose a non-major character to say some things during the game. Once a role is assigned, you can use '''role=''' in a unit filter to identify the unit with that role (See [[FilterWML]]).&amp;lt;br&amp;gt;However, there is no guarantee that roles will ever be assigned. You can use '''[have_unit]''' (see [if]) to see whether a role was assigned. This tag uses a [[StandardUnitFilter]] with the modification to order the search by type, mark only the first unit found with the role, and the role attribute is not used in the search. If for some reason you want to search for units that have or don't have existing roles, you can use one or more [not] filters. The will check recall lists in addition to units on the map. In normal use, you will probably want to include a ''side'' attribute to force the unit to be on a particular side.&lt;br /&gt;
** '''role''': the value to store as the unit's role. This role is not used in the [[StandardUnitFilter]] when doing the search for the unit to assign this role to.&lt;br /&gt;
** '''type''': a comma-separated list of possible types the unit can be. If any types are given, then units will be searched by type in the order listed. If no type is given, then no particular order with respect to type is guaranteed.&lt;br /&gt;
* {{DevFeature}} '''[store_map_dimensions]''': Stores the map dimensions in a variable.&lt;br /&gt;
** '''variable''': the name of the variable where the values will be saved into. If it is skipped, a variable 'map_size' is used, and its contents overridden, if they existed already. The result is a container variable, with members ''width'' and ''height''.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[VariablesWML]]&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InterfaceActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=23653</id>
		<title>InternalActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=23653"/>
		<updated>2008-03-16T00:13:53Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* [switch] {{DevFeature}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Internal actions ==&lt;br /&gt;
&lt;br /&gt;
Internal actions are actions that WML uses internally that do not directly affect gameplay, for example storing a variable.&lt;br /&gt;
&lt;br /&gt;
The internal actions '''[if]''', '''[while]''', and '''[event]''' describe when/whether sets of actions should be executed.&lt;br /&gt;
&lt;br /&gt;
== [if] ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of actions based on whether the conditions described in the condition tags are true or not.&lt;br /&gt;
&lt;br /&gt;
Condition tags:&lt;br /&gt;
* '''[have_unit]''': a unit passing this filter with &amp;gt;0 HP exists&lt;br /&gt;
** [[StandardUnitFilter]] (almost... '''Note:''' does not check for matching units in the recall list)&lt;br /&gt;
&lt;br /&gt;
* '''[have_location]''': a location passing this filter exists &lt;br /&gt;
** [[StandardLocationFilter]]&lt;br /&gt;
&lt;br /&gt;
* '''[and]''': If an [and] is present, all must evaluate to true in order for the [if] to evaluate true. Useful as a bracket for complex conditions, but not strictly necessary.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [and] evaluates to true.&lt;br /&gt;
&lt;br /&gt;
* '''[or]''': If an [or] is present, one must evaluate to true in order for the [if] to evaluate true. ([[AdvancedConditionalWML|Example]])&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, '''[or]''' evaluates to true. &lt;br /&gt;
&lt;br /&gt;
* '''[not]''': If a [not] is present, none must evaluate to true in order for the [if] to evaluate true.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [not] evaluates to false.&lt;br /&gt;
&lt;br /&gt;
* '''[and],[or],[not]''': all top-level filters will support in-order conditional handling of and, or, and not. One important thing to remember is, if you have multiple [or]s, you should not wrap your first conditional statement into an [or] block.&lt;br /&gt;
&lt;br /&gt;
* '''[variable]''': tests something about the value of a WML variable (see [[VariablesWML]])&lt;br /&gt;
** '''name''': the name of the variable to test the value of&amp;lt;br&amp;gt;Only one of the following keys should be used for comparing the value of the variable to another value:&lt;br /&gt;
** '''equals''': $name is equal (string wise) to this&lt;br /&gt;
** '''not_equals''': $name is not equal to this&lt;br /&gt;
** '''greater_than''': $name is numerically greater than this&lt;br /&gt;
** '''less_than''': $name is less than this&lt;br /&gt;
** '''greater_than_equal_to''': $name is not less than this&lt;br /&gt;
** '''less_than_equal_to''': $name is not greater than this&lt;br /&gt;
** '''numerical_not_equals''': $name is greater than or less than this&lt;br /&gt;
** '''numerical_equals''': $name is not greater than or less than this&lt;br /&gt;
** '''boolean_equals''': $name has the same boolean value (e.g. off, false, 0, no)&lt;br /&gt;
** '''contains''': $name contains this string&lt;br /&gt;
** {{DevFeature}} '''boolean_not_equals''': $name has not the same boolean value. Strictly a syntactic shortcut for the following syntax that served its absence in 1.4:&lt;br /&gt;
  [not]&lt;br /&gt;
    [variable]&lt;br /&gt;
      name=...&lt;br /&gt;
      boolean_equals=...&lt;br /&gt;
    [/variable]&lt;br /&gt;
  [/not]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[then]''': contains a set of action tags which should be executed if all conditions are true, or all conditions in any single [or] are true&lt;br /&gt;
* '''[else]''': contains a set of action tags which should be executed if any condition is false, and all [or] tags are false&lt;br /&gt;
&lt;br /&gt;
== [switch] {{DevFeature}} ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of action based ont the value of a variable.&lt;br /&gt;
  [switch]&lt;br /&gt;
     variable=foo&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;A&amp;quot;&lt;br /&gt;
        ... WML if foo=A ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;B&amp;quot;&lt;br /&gt;
        ... WML if foo=B ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [else]&lt;br /&gt;
        ... WML if not foo=A nor foo=B ...&lt;br /&gt;
     [/else]&lt;br /&gt;
  [/switch]&lt;br /&gt;
&lt;br /&gt;
* '''variable''': variable to check.&lt;br /&gt;
* '''[case]''': Case block. Contains:&lt;br /&gt;
** '''value''': the value to test the variable against.&lt;br /&gt;
** the action WML to execute if the variable matches the value (rest of the block).&lt;br /&gt;
* '''[else]''': Block of action WML to execute if no '''[case]''' block matches.&lt;br /&gt;
&lt;br /&gt;
== [while] ==&lt;br /&gt;
&lt;br /&gt;
Executes commands if all conditions are true.&lt;br /&gt;
Continues to execute them until a condition is not true.&lt;br /&gt;
&lt;br /&gt;
Executes a maximum of 1024 iterations per invocation.&lt;br /&gt;
Condition tags are the same as for [if]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[do]''': contains actions that should be executed repeatedly until some condition is false.&lt;br /&gt;
&lt;br /&gt;
The '''[while]''' tag is useful for iterating over an array.&lt;br /&gt;
An array is a list of values.&lt;br /&gt;
The ''number''th value in the array '''array''' is stored in the WML variable '''''array''[number]'''.&lt;br /&gt;
Note that if '''number''' is the value of the variable '''variable''',&lt;br /&gt;
the expression '''$''array''[$variable]''' will return the ''number''th value in ''array''.&lt;br /&gt;
The macros 'FOREACH' and 'NEXT' ([[UtilWML]]) can be used to iterate over an array;&lt;br /&gt;
i.e. run a set of actions once per element of the array.&lt;br /&gt;
&lt;br /&gt;
=== {FOREACH} ===&lt;br /&gt;
If you wish to use a &amp;quot;for-each&amp;quot; iteration format (useful for example when you want to do an iteration for each row in a table) you can use the [http://www.wesnoth.org/misc/macro-reference.xhtml FOREACH] and [http://www.wesnoth.org/misc/macro-reference.xhtml NEXT] prededined macros.&lt;br /&gt;
&lt;br /&gt;
=== {REPEAT} ===&lt;br /&gt;
You can use the REPEAT macro to perform a quick iteration for a number of times you specify.&lt;br /&gt;
&lt;br /&gt;
== [event] ==&lt;br /&gt;
&lt;br /&gt;
This adds a new event to the scenario.&lt;br /&gt;
The event is in the normal format for an '''[event]''' tag (See [[EventWML]]).&lt;br /&gt;
This is useful if you want an event that can only be triggered when a prior event is fulfilled&lt;br /&gt;
&lt;br /&gt;
These tags describe actions that affect the values of WML variables&lt;br /&gt;
(see [[VariablesWML]] for information on WML variables,&lt;br /&gt;
and [[UtilWML]] for convenient macro shortcuts for some of these):&lt;br /&gt;
* '''[set_variable]''': manipulates a WML variable. {{Note:Predefined Macro|VARIABLE}} &lt;br /&gt;
** '''name''': the name of the variable to manipulate&lt;br /&gt;
** '''value''': set the variable to the given value (can be numeric or string). This only interprets dollars signs if it is the very first character, and then the entire value must be a simple variable name. (in 1.3.2, has the same effect as format. Use literal for no substitution)&lt;br /&gt;
** '''literal''': set the variable to the given value (can be numeric or string). This does not interpret any dollars signs.&lt;br /&gt;
** '''format''': set the variable to the given value. Interprets the dollar sign to a higher degree than most actions. (see [[VariablesWML]])&lt;br /&gt;
** '''to_variable''': Fully processes its value as in ''format'', and then gets the variable with that name.&lt;br /&gt;
** '''add''': add the given amount to the variable. To subtract, add a negative number.&lt;br /&gt;
** '''multiply''': multiply the variable by the given number. To divide, multiply by the inverse eg: 4/2 = 4 * 1/2 = 4 * 0.5. To negate, multiply by -1. The result is an integer.&lt;br /&gt;
** '''divide''': divide the variable by the given number. The result is an integer.&lt;br /&gt;
** '''modulo''': returns the remainder of an integer division. Both variables need to be an integer, the result is also an integer. eg 5 % 2 = 1.&lt;br /&gt;
** '''random''': the variable will be randomly set.&amp;lt;br&amp;gt;You may provide a comma separated list of possibilities, e.g. 'random=Bob,Bill,Bella'.&amp;lt;br&amp;gt;You may provide a range of numbers (integers), e.g. 'random=3..5'.&amp;lt;br&amp;gt;You may combine these, e.g. 'random=100,1..9', in which case there would be 1/10th chance of getting 100, just like for each of 1 to 9. Dollars signs are only normally interpreted here, so it is harder to have a dynamically determined range. You would need to create the random-string with ''format''.&lt;br /&gt;
** '''rand''': does the same as random, but has better MP support. See [[BuildingMultiplayerExamples]] for more info on the MP case. '''It is highly recommended that you use this feature for randomization.'''&lt;br /&gt;
** '''time=stamp''': Retrieves a timestamp in milliseconds since wesnoth was started, can be used as timing aid. Don't try to use this as random value in MP since it will cause an OOS.&lt;br /&gt;
** {{DevFeature}} '''string_length''': Retrieves the length in characters of the string passed as this attribute's value; such string is parsed and variable substitution applied automatically (see [[VariablesWML]] for details).&lt;br /&gt;
&lt;br /&gt;
* '''[store_unit]''': stores details about units into game variables.&amp;lt;br&amp;gt;Common usage is to manipulate a unit by using [store_unit] to store it into a variable, followed by manipulation of the variable, and then [unstore_unit] to re-create the unit with the modified variables.&amp;lt;br&amp;gt;Note: stored units also exist on the field, and modifying the stored variable will not automatically change the stats of the units. You need to use [unstore_unit]. See also [unstore_unit], [[DirectActionsWML]], and '''FOREACH''', [[UtilWML]]&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] all units matching this filter will be stored. If there are multiple units, they will be stored into an array of variables.&lt;br /&gt;
** '''variable''': the name of the variable into which to store the unit(s)&lt;br /&gt;
** '''mode''': defaults to ''always_clear'', which clears the variable, whether or not a match is found. If mode is set to ''replace'', the variable will only be cleared if a match is found. If mode is set to ''append'', the variable will not be cleared.&lt;br /&gt;
** '''kill''': if 'yes' the units that are stored will be removed from play. This is useful for instance to remove access to a player's recall list, with the intent to restore the recall list later.&lt;br /&gt;
:When a unit is stored, the following values may be manipulated with '''[set_variable]'''&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* gender&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* overlays&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* moves&lt;br /&gt;
:* resting&lt;br /&gt;
:* side&lt;br /&gt;
:* type&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* upkeep&lt;br /&gt;
:* user_description&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
Variables, status, and modifications are children of the stored unit variable.  Example:&lt;br /&gt;
 [set_variable]&lt;br /&gt;
 name=unit_store.status.poisoned&lt;br /&gt;
 value=yes&lt;br /&gt;
 [/set_variable]&lt;br /&gt;
&lt;br /&gt;
:All keys and tags in the unit definition may be manipulated, including some others.  Here is a sample list.  If you have a doubt about what keys are valid or what the valid value range is for each key, code a [store_unit] event, save the game, and examine what keys are in the file.&lt;br /&gt;
:* advanceto&lt;br /&gt;
:* alignment&lt;br /&gt;
:* alpha&lt;br /&gt;
:* attacks_left&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* controller&lt;br /&gt;
:* cost&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* flying&lt;br /&gt;
:* fog&lt;br /&gt;
:* gender&lt;br /&gt;
:* get_hit_sound&lt;br /&gt;
:* gold&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* id&lt;br /&gt;
:* image&lt;br /&gt;
:* image_defensive&lt;br /&gt;
:* income&lt;br /&gt;
:* language_name (same as the name key in the unit config)&lt;br /&gt;
:* level&lt;br /&gt;
:* max_attacks&lt;br /&gt;
:* max_experience&lt;br /&gt;
:* max_hitpoints&lt;br /&gt;
:* max_moves&lt;br /&gt;
:* movement&lt;br /&gt;
:* movement_type&lt;br /&gt;
:* moves&lt;br /&gt;
:* race&lt;br /&gt;
:* resting&lt;br /&gt;
:* shroud&lt;br /&gt;
:* side&lt;br /&gt;
:* team_name&lt;br /&gt;
:* type&lt;br /&gt;
:* unit_description&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* usage&lt;br /&gt;
:* value&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* zoc&lt;br /&gt;
:* [advancement]&lt;br /&gt;
:* [/advancement]&lt;br /&gt;
:* [movement_costs]&lt;br /&gt;
:* [/movement_costs]&lt;br /&gt;
:* [defense]&lt;br /&gt;
:* [/defense]&lt;br /&gt;
:* [resistance]&lt;br /&gt;
:* [/resistance]&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [/variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [/status]&lt;br /&gt;
:* [attack]&lt;br /&gt;
:* [/attack]&lt;br /&gt;
:* [modifications_description]&lt;br /&gt;
:* [/modifications_description]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
:* [/modifications]&lt;br /&gt;
&lt;br /&gt;
* '''[store_starting_location]''': Stores the starting location of a side's leader in a variable. The variable is a composite type which will have members 'x', 'y', and 'terrain' (the terrain type for a starting location is always 'K' unless it has been changed)&lt;br /&gt;
** '''side''': the side whose starting location is to be stored&lt;br /&gt;
** '''variable''': (default='location'): the name of the variable to store the location in&lt;br /&gt;
* '''[store_locations]''': Stores a series of locations that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** [[StandardLocationFilter]]: a location or location range which specifies the locations to store. You must specify this or no locations will be stored.&lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a comma-sperated list of terrain codes. (See [[TerrainCodesWML]] for possible values.) If present, locations will only be chosen if the code for the terrain type of that location is listed.&lt;br /&gt;
** '''radius''': if present, any locations which are within '''radius''' hexes of the location filter will also be stored&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] only locations with units on them that match the filter will be stored. Use a blank filter to only store locations with units.&lt;br /&gt;
* '''[store_villages]''': Stores a series of locations of villages that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** '''owner_side''': a side number. If present, only villages owned by this side will be choosen. If owner_side=0, store the unowned villages. &lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a series of terrain characters. (See [[TerrainLettersWML]] for possible values.) If present, villages will only be chosen if the terrain code of the terrain type of that location is listed.  You may give a comma separated list of terrains.&lt;br /&gt;
** '''side''': (default=1) the side for which the gold should be stored&lt;br /&gt;
** '''variable''': (default='gold') the name of the variable to store the gold in&lt;br /&gt;
* '''[store_side]''': stores information about a certain side in a variable. The variable will contain the member variables 'name', 'team_name', 'gold' and 'income', 'fog', 'shroud', 'user_team_name', 'colour', 'controller', 'village_gold' and 'recruit'.)&lt;br /&gt;
** '''side''': the side whose information should be stored&lt;br /&gt;
** '''variable''': the name of the variable to store the information in&lt;br /&gt;
* '''[clear_variable]''': This will delete the given variable or array. This is good to use to clean up the set of variables -- e.g. a well-behaved scenario will delete any variables that shouldn't be kept for the next scenario before the end of the scenario.&amp;lt;br&amp;gt; Tags and variables of stored units can also be cleared, meaning that [trait]s and [object]s, for example, can be removed.&lt;br /&gt;
** '''name''': the name of the variable to clear.&lt;br /&gt;
* '''[role]''': tries to find a unit to assign a role to.&amp;lt;br&amp;gt;This is useful if you want to choose a non-major character to say some things during the game. Once a role is assigned, you can use '''role=''' in a unit filter to identify the unit with that role (See [[FilterWML]]).&amp;lt;br&amp;gt;However, there is no guarantee that roles will ever be assigned. You can use '''[have_unit]''' (see [if]) to see whether a role was assigned. This tag uses a [[StandardUnitFilter]] with the modification to order the search by type, mark only the first unit found with the role, and the role attribute is not used in the search. If for some reason you want to search for units that have or don't have existing roles, you can use one or more [not] filters. The will check recall lists in addition to units on the map. In normal use, you will probably want to include a ''side'' attribute to force the unit to be on a particular side.&lt;br /&gt;
** '''role''': the value to store as the unit's role. This role is not used in the [[StandardUnitFilter]] when doing the search for the unit to assign this role to.&lt;br /&gt;
** '''type''': a comma-separated list of possible types the unit can be. If any types are given, then units will be searched by type in the order listed. If no type is given, then no particular order with respect to type is guaranteed.&lt;br /&gt;
* {{DevFeature}} '''[store_map_dimensions]''': Stores the map dimensions in a variable.&lt;br /&gt;
** '''variable''': the name of the variable where the values will be saved into. If it is skipped, a variable 'map_size' is used, and its contents overridden, if they existed already. The result is a container variable, with members ''width'' and ''height''.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[VariablesWML]]&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InterfaceActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=23652</id>
		<title>InternalActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InternalActionsWML&amp;diff=23652"/>
		<updated>2008-03-16T00:11:47Z</updated>

		<summary type="html">&lt;p&gt;Noyga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Internal actions ==&lt;br /&gt;
&lt;br /&gt;
Internal actions are actions that WML uses internally that do not directly affect gameplay, for example storing a variable.&lt;br /&gt;
&lt;br /&gt;
The internal actions '''[if]''', '''[while]''', and '''[event]''' describe when/whether sets of actions should be executed.&lt;br /&gt;
&lt;br /&gt;
== [if] ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of actions based on whether the conditions described in the condition tags are true or not.&lt;br /&gt;
&lt;br /&gt;
Condition tags:&lt;br /&gt;
* '''[have_unit]''': a unit passing this filter with &amp;gt;0 HP exists&lt;br /&gt;
** [[StandardUnitFilter]] (almost... '''Note:''' does not check for matching units in the recall list)&lt;br /&gt;
&lt;br /&gt;
* '''[have_location]''': a location passing this filter exists &lt;br /&gt;
** [[StandardLocationFilter]]&lt;br /&gt;
&lt;br /&gt;
* '''[and]''': If an [and] is present, all must evaluate to true in order for the [if] to evaluate true. Useful as a bracket for complex conditions, but not strictly necessary.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [and] evaluates to true.&lt;br /&gt;
&lt;br /&gt;
* '''[or]''': If an [or] is present, one must evaluate to true in order for the [if] to evaluate true. ([[AdvancedConditionalWML|Example]])&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, '''[or]''' evaluates to true. &lt;br /&gt;
&lt;br /&gt;
* '''[not]''': If a [not] is present, none must evaluate to true in order for the [if] to evaluate true.&lt;br /&gt;
** condition tags as in [if]: if these evaluate to true, [not] evaluates to false.&lt;br /&gt;
&lt;br /&gt;
* '''[and],[or],[not]''': all top-level filters will support in-order conditional handling of and, or, and not. One important thing to remember is, if you have multiple [or]s, you should not wrap your first conditional statement into an [or] block.&lt;br /&gt;
&lt;br /&gt;
* '''[variable]''': tests something about the value of a WML variable (see [[VariablesWML]])&lt;br /&gt;
** '''name''': the name of the variable to test the value of&amp;lt;br&amp;gt;Only one of the following keys should be used for comparing the value of the variable to another value:&lt;br /&gt;
** '''equals''': $name is equal (string wise) to this&lt;br /&gt;
** '''not_equals''': $name is not equal to this&lt;br /&gt;
** '''greater_than''': $name is numerically greater than this&lt;br /&gt;
** '''less_than''': $name is less than this&lt;br /&gt;
** '''greater_than_equal_to''': $name is not less than this&lt;br /&gt;
** '''less_than_equal_to''': $name is not greater than this&lt;br /&gt;
** '''numerical_not_equals''': $name is greater than or less than this&lt;br /&gt;
** '''numerical_equals''': $name is not greater than or less than this&lt;br /&gt;
** '''boolean_equals''': $name has the same boolean value (e.g. off, false, 0, no)&lt;br /&gt;
** '''contains''': $name contains this string&lt;br /&gt;
** {{DevFeature}} '''boolean_not_equals''': $name has not the same boolean value. Strictly a syntactic shortcut for the following syntax that served its absence in 1.4:&lt;br /&gt;
  [not]&lt;br /&gt;
    [variable]&lt;br /&gt;
      name=...&lt;br /&gt;
      boolean_equals=...&lt;br /&gt;
    [/variable]&lt;br /&gt;
  [/not]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[then]''': contains a set of action tags which should be executed if all conditions are true, or all conditions in any single [or] are true&lt;br /&gt;
* '''[else]''': contains a set of action tags which should be executed if any condition is false, and all [or] tags are false&lt;br /&gt;
&lt;br /&gt;
== [switch] {{DevFeature}} ==&lt;br /&gt;
&lt;br /&gt;
Executes different sets of action based ont the value of a variable.&lt;br /&gt;
  [switch]&lt;br /&gt;
     variable=foo&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;A&amp;quot;&lt;br /&gt;
        ... WML if A ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [case]&lt;br /&gt;
        value=&amp;quot;B&amp;quot;&lt;br /&gt;
        ... WML if B ...&lt;br /&gt;
     [/case]&lt;br /&gt;
     [else]&lt;br /&gt;
        ... WML if not A nor B ...&lt;br /&gt;
     [/else]&lt;br /&gt;
  [/switch]&lt;br /&gt;
&lt;br /&gt;
* '''variable''': variable to check.&lt;br /&gt;
* '''[case]''': Case block. Contains:&lt;br /&gt;
** '''value''': the value to test the variable against.&lt;br /&gt;
** the action WML to execute if the variable matches the value (rest of the block).&lt;br /&gt;
* '''[else]''': Block of action WML to execute if no '''[case]''' block matches.&lt;br /&gt;
&lt;br /&gt;
== [while] ==&lt;br /&gt;
&lt;br /&gt;
Executes commands if all conditions are true.&lt;br /&gt;
Continues to execute them until a condition is not true.&lt;br /&gt;
&lt;br /&gt;
Executes a maximum of 1024 iterations per invocation.&lt;br /&gt;
Condition tags are the same as for [if]&lt;br /&gt;
&lt;br /&gt;
After condition tags:&lt;br /&gt;
* '''[do]''': contains actions that should be executed repeatedly until some condition is false.&lt;br /&gt;
&lt;br /&gt;
The '''[while]''' tag is useful for iterating over an array.&lt;br /&gt;
An array is a list of values.&lt;br /&gt;
The ''number''th value in the array '''array''' is stored in the WML variable '''''array''[number]'''.&lt;br /&gt;
Note that if '''number''' is the value of the variable '''variable''',&lt;br /&gt;
the expression '''$''array''[$variable]''' will return the ''number''th value in ''array''.&lt;br /&gt;
The macros 'FOREACH' and 'NEXT' ([[UtilWML]]) can be used to iterate over an array;&lt;br /&gt;
i.e. run a set of actions once per element of the array.&lt;br /&gt;
&lt;br /&gt;
=== {FOREACH} ===&lt;br /&gt;
If you wish to use a &amp;quot;for-each&amp;quot; iteration format (useful for example when you want to do an iteration for each row in a table) you can use the [http://www.wesnoth.org/misc/macro-reference.xhtml FOREACH] and [http://www.wesnoth.org/misc/macro-reference.xhtml NEXT] prededined macros.&lt;br /&gt;
&lt;br /&gt;
=== {REPEAT} ===&lt;br /&gt;
You can use the REPEAT macro to perform a quick iteration for a number of times you specify.&lt;br /&gt;
&lt;br /&gt;
== [event] ==&lt;br /&gt;
&lt;br /&gt;
This adds a new event to the scenario.&lt;br /&gt;
The event is in the normal format for an '''[event]''' tag (See [[EventWML]]).&lt;br /&gt;
This is useful if you want an event that can only be triggered when a prior event is fulfilled&lt;br /&gt;
&lt;br /&gt;
These tags describe actions that affect the values of WML variables&lt;br /&gt;
(see [[VariablesWML]] for information on WML variables,&lt;br /&gt;
and [[UtilWML]] for convenient macro shortcuts for some of these):&lt;br /&gt;
* '''[set_variable]''': manipulates a WML variable. {{Note:Predefined Macro|VARIABLE}} &lt;br /&gt;
** '''name''': the name of the variable to manipulate&lt;br /&gt;
** '''value''': set the variable to the given value (can be numeric or string). This only interprets dollars signs if it is the very first character, and then the entire value must be a simple variable name. (in 1.3.2, has the same effect as format. Use literal for no substitution)&lt;br /&gt;
** '''literal''': set the variable to the given value (can be numeric or string). This does not interpret any dollars signs.&lt;br /&gt;
** '''format''': set the variable to the given value. Interprets the dollar sign to a higher degree than most actions. (see [[VariablesWML]])&lt;br /&gt;
** '''to_variable''': Fully processes its value as in ''format'', and then gets the variable with that name.&lt;br /&gt;
** '''add''': add the given amount to the variable. To subtract, add a negative number.&lt;br /&gt;
** '''multiply''': multiply the variable by the given number. To divide, multiply by the inverse eg: 4/2 = 4 * 1/2 = 4 * 0.5. To negate, multiply by -1. The result is an integer.&lt;br /&gt;
** '''divide''': divide the variable by the given number. The result is an integer.&lt;br /&gt;
** '''modulo''': returns the remainder of an integer division. Both variables need to be an integer, the result is also an integer. eg 5 % 2 = 1.&lt;br /&gt;
** '''random''': the variable will be randomly set.&amp;lt;br&amp;gt;You may provide a comma separated list of possibilities, e.g. 'random=Bob,Bill,Bella'.&amp;lt;br&amp;gt;You may provide a range of numbers (integers), e.g. 'random=3..5'.&amp;lt;br&amp;gt;You may combine these, e.g. 'random=100,1..9', in which case there would be 1/10th chance of getting 100, just like for each of 1 to 9. Dollars signs are only normally interpreted here, so it is harder to have a dynamically determined range. You would need to create the random-string with ''format''.&lt;br /&gt;
** '''rand''': does the same as random, but has better MP support. See [[BuildingMultiplayerExamples]] for more info on the MP case. '''It is highly recommended that you use this feature for randomization.'''&lt;br /&gt;
** '''time=stamp''': Retrieves a timestamp in milliseconds since wesnoth was started, can be used as timing aid. Don't try to use this as random value in MP since it will cause an OOS.&lt;br /&gt;
** {{DevFeature}} '''string_length''': Retrieves the length in characters of the string passed as this attribute's value; such string is parsed and variable substitution applied automatically (see [[VariablesWML]] for details).&lt;br /&gt;
&lt;br /&gt;
* '''[store_unit]''': stores details about units into game variables.&amp;lt;br&amp;gt;Common usage is to manipulate a unit by using [store_unit] to store it into a variable, followed by manipulation of the variable, and then [unstore_unit] to re-create the unit with the modified variables.&amp;lt;br&amp;gt;Note: stored units also exist on the field, and modifying the stored variable will not automatically change the stats of the units. You need to use [unstore_unit]. See also [unstore_unit], [[DirectActionsWML]], and '''FOREACH''', [[UtilWML]]&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] all units matching this filter will be stored. If there are multiple units, they will be stored into an array of variables.&lt;br /&gt;
** '''variable''': the name of the variable into which to store the unit(s)&lt;br /&gt;
** '''mode''': defaults to ''always_clear'', which clears the variable, whether or not a match is found. If mode is set to ''replace'', the variable will only be cleared if a match is found. If mode is set to ''append'', the variable will not be cleared.&lt;br /&gt;
** '''kill''': if 'yes' the units that are stored will be removed from play. This is useful for instance to remove access to a player's recall list, with the intent to restore the recall list later.&lt;br /&gt;
:When a unit is stored, the following values may be manipulated with '''[set_variable]'''&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* gender&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* overlays&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* moves&lt;br /&gt;
:* resting&lt;br /&gt;
:* side&lt;br /&gt;
:* type&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* upkeep&lt;br /&gt;
:* user_description&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
Variables, status, and modifications are children of the stored unit variable.  Example:&lt;br /&gt;
 [set_variable]&lt;br /&gt;
 name=unit_store.status.poisoned&lt;br /&gt;
 value=yes&lt;br /&gt;
 [/set_variable]&lt;br /&gt;
&lt;br /&gt;
:All keys and tags in the unit definition may be manipulated, including some others.  Here is a sample list.  If you have a doubt about what keys are valid or what the valid value range is for each key, code a [store_unit] event, save the game, and examine what keys are in the file.&lt;br /&gt;
:* advanceto&lt;br /&gt;
:* alignment&lt;br /&gt;
:* alpha&lt;br /&gt;
:* attacks_left&lt;br /&gt;
:* canrecruit&lt;br /&gt;
:* controller&lt;br /&gt;
:* cost&lt;br /&gt;
:* description&lt;br /&gt;
:* experience&lt;br /&gt;
:* facing&lt;br /&gt;
:* flying&lt;br /&gt;
:* fog&lt;br /&gt;
:* gender&lt;br /&gt;
:* get_hit_sound&lt;br /&gt;
:* gold&lt;br /&gt;
:* goto_x&lt;br /&gt;
:* goto_y&lt;br /&gt;
:* hitpoints&lt;br /&gt;
:* id&lt;br /&gt;
:* image&lt;br /&gt;
:* image_defensive&lt;br /&gt;
:* income&lt;br /&gt;
:* language_name (same as the name key in the unit config)&lt;br /&gt;
:* level&lt;br /&gt;
:* max_attacks&lt;br /&gt;
:* max_experience&lt;br /&gt;
:* max_hitpoints&lt;br /&gt;
:* max_moves&lt;br /&gt;
:* movement&lt;br /&gt;
:* movement_type&lt;br /&gt;
:* moves&lt;br /&gt;
:* race&lt;br /&gt;
:* resting&lt;br /&gt;
:* shroud&lt;br /&gt;
:* side&lt;br /&gt;
:* team_name&lt;br /&gt;
:* type&lt;br /&gt;
:* unit_description&lt;br /&gt;
:* unrenamable&lt;br /&gt;
:* usage&lt;br /&gt;
:* value&lt;br /&gt;
:* x&lt;br /&gt;
:* y&lt;br /&gt;
:* zoc&lt;br /&gt;
:* [advancement]&lt;br /&gt;
:* [/advancement]&lt;br /&gt;
:* [movement_costs]&lt;br /&gt;
:* [/movement_costs]&lt;br /&gt;
:* [defense]&lt;br /&gt;
:* [/defense]&lt;br /&gt;
:* [resistance]&lt;br /&gt;
:* [/resistance]&lt;br /&gt;
:* [variables]&lt;br /&gt;
:* [/variables]&lt;br /&gt;
:* [status]&lt;br /&gt;
:* [/status]&lt;br /&gt;
:* [attack]&lt;br /&gt;
:* [/attack]&lt;br /&gt;
:* [modifications_description]&lt;br /&gt;
:* [/modifications_description]&lt;br /&gt;
:* [modifications]&lt;br /&gt;
:* [/modifications]&lt;br /&gt;
&lt;br /&gt;
* '''[store_starting_location]''': Stores the starting location of a side's leader in a variable. The variable is a composite type which will have members 'x', 'y', and 'terrain' (the terrain type for a starting location is always 'K' unless it has been changed)&lt;br /&gt;
** '''side''': the side whose starting location is to be stored&lt;br /&gt;
** '''variable''': (default='location'): the name of the variable to store the location in&lt;br /&gt;
* '''[store_locations]''': Stores a series of locations that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** [[StandardLocationFilter]]: a location or location range which specifies the locations to store. You must specify this or no locations will be stored.&lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a comma-sperated list of terrain codes. (See [[TerrainCodesWML]] for possible values.) If present, locations will only be chosen if the code for the terrain type of that location is listed.&lt;br /&gt;
** '''radius''': if present, any locations which are within '''radius''' hexes of the location filter will also be stored&lt;br /&gt;
** '''[filter]''': [[StandardUnitFilter]] only locations with units on them that match the filter will be stored. Use a blank filter to only store locations with units.&lt;br /&gt;
* '''[store_villages]''': Stores a series of locations of villages that pass certain criteria into an array. Each member of the array has members 'x' and 'y' (the position) and 'terrain' (the terrain type).&lt;br /&gt;
** '''owner_side''': a side number. If present, only villages owned by this side will be choosen. If owner_side=0, store the unowned villages. &lt;br /&gt;
** '''variable''': the name of the variable (array) into which to store the locations&lt;br /&gt;
** '''terrain''': a series of terrain characters. (See [[TerrainLettersWML]] for possible values.) If present, villages will only be chosen if the terrain code of the terrain type of that location is listed.  You may give a comma separated list of terrains.&lt;br /&gt;
** '''side''': (default=1) the side for which the gold should be stored&lt;br /&gt;
** '''variable''': (default='gold') the name of the variable to store the gold in&lt;br /&gt;
* '''[store_side]''': stores information about a certain side in a variable. The variable will contain the member variables 'name', 'team_name', 'gold' and 'income', 'fog', 'shroud', 'user_team_name', 'colour', 'controller', 'village_gold' and 'recruit'.)&lt;br /&gt;
** '''side''': the side whose information should be stored&lt;br /&gt;
** '''variable''': the name of the variable to store the information in&lt;br /&gt;
* '''[clear_variable]''': This will delete the given variable or array. This is good to use to clean up the set of variables -- e.g. a well-behaved scenario will delete any variables that shouldn't be kept for the next scenario before the end of the scenario.&amp;lt;br&amp;gt; Tags and variables of stored units can also be cleared, meaning that [trait]s and [object]s, for example, can be removed.&lt;br /&gt;
** '''name''': the name of the variable to clear.&lt;br /&gt;
* '''[role]''': tries to find a unit to assign a role to.&amp;lt;br&amp;gt;This is useful if you want to choose a non-major character to say some things during the game. Once a role is assigned, you can use '''role=''' in a unit filter to identify the unit with that role (See [[FilterWML]]).&amp;lt;br&amp;gt;However, there is no guarantee that roles will ever be assigned. You can use '''[have_unit]''' (see [if]) to see whether a role was assigned. This tag uses a [[StandardUnitFilter]] with the modification to order the search by type, mark only the first unit found with the role, and the role attribute is not used in the search. If for some reason you want to search for units that have or don't have existing roles, you can use one or more [not] filters. The will check recall lists in addition to units on the map. In normal use, you will probably want to include a ''side'' attribute to force the unit to be on a particular side.&lt;br /&gt;
** '''role''': the value to store as the unit's role. This role is not used in the [[StandardUnitFilter]] when doing the search for the unit to assign this role to.&lt;br /&gt;
** '''type''': a comma-separated list of possible types the unit can be. If any types are given, then units will be searched by type in the order listed. If no type is given, then no particular order with respect to type is guaranteed.&lt;br /&gt;
* {{DevFeature}} '''[store_map_dimensions]''': Stores the map dimensions in a variable.&lt;br /&gt;
** '''variable''': the name of the variable where the values will be saved into. If it is skipped, a variable 'map_size' is used, and its contents overridden, if they existed already. The result is a container variable, with members ''width'' and ''height''.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[VariablesWML]]&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InterfaceActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=23454</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=23454"/>
		<updated>2008-03-10T20:05:08Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, plusieurs Wikis servent de dictionnaires pour décrire l'univers de Wesnoth :&lt;br /&gt;
# noms communs : [[NomsCommuns]] ;&lt;br /&gt;
# noms propres : [[NomsPropres]].&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner son orthographe : le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
&lt;br /&gt;
Les rectifications d'orthographes préconisées par l'Académie Française peuvent s'appliquer (http://www.academie-francaise.fr/langue/orthographe/regles.html).&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* notepad++ (http://notepad-plus.sourceforge.net/fr/site.htm) ;&lt;br /&gt;
#* textpad (http://www.textpad.com/);&lt;br /&gt;
#* ou, pour Mac, Textwrangler (http://www.barebones.com/products/textwrangler/index.shtml) ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* poEdit, pour Mac et PC (http://www.poedit.net/) ;&lt;br /&gt;
#* KBabel (http://i18n.kde.org/tools/kbabel/) ;&lt;br /&gt;
#* gtranslator (http://gtranslator.sourceforge.net/).&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite commence par &amp;quot;$&amp;quot;, rien ne s'affiche&lt;br /&gt;
&lt;br /&gt;
dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe (seulement quand la phrase commence par $)&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 10/03/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth-httt (Heir To The Throne / L'Héritier du trône) : La_vie_en_Wose&lt;br /&gt;
** wesnoth-thot (The Hammer of Thursagan) : Dylann/gotrek860&lt;br /&gt;
** wesnoth-nr (Northern Rebirth) : Damien&lt;br /&gt;
** wesnoth-l (Liberty) : Pierre&lt;br /&gt;
** wesnoth-did (Descent in the Darkness) : Jean-joseph&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
&lt;br /&gt;
[[Category:Translations]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23187</id>
		<title>SpellingMistakes</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23187"/>
		<updated>2008-03-02T21:50:38Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* 1.4 Annuncement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to be a list for mistakes in campaigns and other texts in the en_US version of the game.&lt;br /&gt;
&lt;br /&gt;
==An Orcish Incursion==&lt;br /&gt;
&lt;br /&gt;
==Descent into Darkness==&lt;br /&gt;
&lt;br /&gt;
==Eastern Invasion==&lt;br /&gt;
&lt;br /&gt;
==Heir to the Throne==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Northern Rebirth==&lt;br /&gt;
&lt;br /&gt;
==Sceptre of Fire==&lt;br /&gt;
&lt;br /&gt;
==Son of the Black Eye==&lt;br /&gt;
&lt;br /&gt;
==The Hammer of Thursagan==&lt;br /&gt;
&lt;br /&gt;
==The Rise of Wesnoth==&lt;br /&gt;
&lt;br /&gt;
==The South Guard==&lt;br /&gt;
&lt;br /&gt;
==Two Brothers==&lt;br /&gt;
&lt;br /&gt;
==Under the Burning Suns==&lt;br /&gt;
&lt;br /&gt;
==Editor==&lt;br /&gt;
&lt;br /&gt;
==Tutorial==&lt;br /&gt;
&lt;br /&gt;
==Manual==&lt;br /&gt;
&lt;br /&gt;
==1.4 Annuncement==&lt;br /&gt;
#: ../template.html:111&lt;br /&gt;
&amp;quot;New maps and multiplayer campaigns: &amp;lt;cite&amp;gt; Auction-X, Dark Forecast Hamlets, &amp;quot;&lt;br /&gt;
&amp;quot;Mokena Prairie, The Manzivan Traps, Xanthe Chaos, &amp;lt;/cite&amp;gt;.  Revised maps: &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Alirok Marsh&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Triple Blitz&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; &amp;quot;&lt;br /&gt;
&amp;quot;Amohsad Caldera, Blue Water Province, Castle Hopping Isle, Caves of the &amp;quot;&lt;br /&gt;
&amp;quot;Basilisk&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Blitz&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Crossing, Crusaders &amp;quot;&lt;br /&gt;
&amp;quot;Fields, Cynsaun Battlefield, Den of Onis, Fallenstar Lake&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Meteor Lake&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Forest of Fear, Freelands&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Charge&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; Hexcake, Hornshark Island, Island of the &amp;quot;&lt;br /&gt;
&amp;quot;Horatii, King of the Hill, Lagoon, Loris River, Merkwuerdigliebe, Morituri, &amp;quot;&lt;br /&gt;
&amp;quot;Paths of Daggers, Sablestone Delta, Siege Castles, Silverhead, Sulla's &amp;quot;&lt;br /&gt;
&amp;quot;Ruins, Waterloo Sunset, Wesbowl&amp;lt;/cite&amp;gt;.&amp;quot;&lt;br /&gt;
#Extra useless spaces in many places&lt;br /&gt;
#Missing comma before Hamlets&lt;br /&gt;
#Should be no comma and space after Xanthe Chaos&lt;br /&gt;
#Missing &amp;quot;Weldyn Channel&amp;quot; before &amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Blitz&amp;lt;/cite&amp;gt;)&lt;br /&gt;
#Missing &amp;quot;Siverhead&amp;quot; before Crossing&lt;br /&gt;
&lt;br /&gt;
==Other (ingame help, ...)==&lt;br /&gt;
&lt;br /&gt;
==Translation code bugs==&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23186</id>
		<title>SpellingMistakes</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23186"/>
		<updated>2008-03-02T21:49:09Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* 1.4 Annuncement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to be a list for mistakes in campaigns and other texts in the en_US version of the game.&lt;br /&gt;
&lt;br /&gt;
==An Orcish Incursion==&lt;br /&gt;
&lt;br /&gt;
==Descent into Darkness==&lt;br /&gt;
&lt;br /&gt;
==Eastern Invasion==&lt;br /&gt;
&lt;br /&gt;
==Heir to the Throne==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Northern Rebirth==&lt;br /&gt;
&lt;br /&gt;
==Sceptre of Fire==&lt;br /&gt;
&lt;br /&gt;
==Son of the Black Eye==&lt;br /&gt;
&lt;br /&gt;
==The Hammer of Thursagan==&lt;br /&gt;
&lt;br /&gt;
==The Rise of Wesnoth==&lt;br /&gt;
&lt;br /&gt;
==The South Guard==&lt;br /&gt;
&lt;br /&gt;
==Two Brothers==&lt;br /&gt;
&lt;br /&gt;
==Under the Burning Suns==&lt;br /&gt;
&lt;br /&gt;
==Editor==&lt;br /&gt;
&lt;br /&gt;
==Tutorial==&lt;br /&gt;
&lt;br /&gt;
==Manual==&lt;br /&gt;
&lt;br /&gt;
==1.4 Annuncement==&lt;br /&gt;
#: ../template.html:111&lt;br /&gt;
&amp;quot;New maps and multiplayer campaigns: &amp;lt;cite&amp;gt; Auction-X, Dark Forecast Hamlets, &amp;quot;&lt;br /&gt;
&amp;quot;Mokena Prairie, The Manzivan Traps, Xanthe Chaos, &amp;lt;/cite&amp;gt;.  Revised maps: &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Alirok Marsh&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Triple Blitz&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; &amp;quot;&lt;br /&gt;
&amp;quot;Amohsad Caldera, Blue Water Province, Castle Hopping Isle, Caves of the &amp;quot;&lt;br /&gt;
&amp;quot;Basilisk&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Blitz&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Crossing, Crusaders &amp;quot;&lt;br /&gt;
&amp;quot;Fields, Cynsaun Battlefield, Den of Onis, Fallenstar Lake&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Meteor Lake&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Forest of Fear, Freelands&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Charge&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; Hexcake, Hornshark Island, Island of the &amp;quot;&lt;br /&gt;
&amp;quot;Horatii, King of the Hill, Lagoon, Loris River, Merkwuerdigliebe, Morituri, &amp;quot;&lt;br /&gt;
&amp;quot;Paths of Daggers, Sablestone Delta, Siege Castles, Silverhead, Sulla's &amp;quot;&lt;br /&gt;
&amp;quot;Ruins, Waterloo Sunset, Wesbowl&amp;lt;/cite&amp;gt;.&amp;quot;&lt;br /&gt;
#Extra useless spaces in many places&lt;br /&gt;
#Missing comma before Hamlets&lt;br /&gt;
#Should be no comma and space after Xanthe Chaos&lt;br /&gt;
#Missing &amp;quot;Weldyn Channel&amp;quot; before &amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Blitz&amp;lt;/cite&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
==Other (ingame help, ...)==&lt;br /&gt;
&lt;br /&gt;
==Translation code bugs==&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23185</id>
		<title>SpellingMistakes</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23185"/>
		<updated>2008-03-02T21:34:26Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* 1.4 Annuncement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to be a list for mistakes in campaigns and other texts in the en_US version of the game.&lt;br /&gt;
&lt;br /&gt;
==An Orcish Incursion==&lt;br /&gt;
&lt;br /&gt;
==Descent into Darkness==&lt;br /&gt;
&lt;br /&gt;
==Eastern Invasion==&lt;br /&gt;
&lt;br /&gt;
==Heir to the Throne==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Northern Rebirth==&lt;br /&gt;
&lt;br /&gt;
==Sceptre of Fire==&lt;br /&gt;
&lt;br /&gt;
==Son of the Black Eye==&lt;br /&gt;
&lt;br /&gt;
==The Hammer of Thursagan==&lt;br /&gt;
&lt;br /&gt;
==The Rise of Wesnoth==&lt;br /&gt;
&lt;br /&gt;
==The South Guard==&lt;br /&gt;
&lt;br /&gt;
==Two Brothers==&lt;br /&gt;
&lt;br /&gt;
==Under the Burning Suns==&lt;br /&gt;
&lt;br /&gt;
==Editor==&lt;br /&gt;
&lt;br /&gt;
==Tutorial==&lt;br /&gt;
&lt;br /&gt;
==Manual==&lt;br /&gt;
&lt;br /&gt;
==1.4 Annuncement==&lt;br /&gt;
 # type: Content of: &amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;dl&amp;gt;&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
 #: ../template.html:111&lt;br /&gt;
 &amp;quot;New maps and multiplayer campaigns: &amp;lt;cite&amp;gt; Auction-X, Dark Forecast Hamlets, &amp;quot;&lt;br /&gt;
 &amp;quot;Mokena Prairie, The Manzivan Traps, Xanthe Chaos, &amp;lt;/cite&amp;gt;.  Revised maps: &amp;quot;&lt;br /&gt;
 &amp;quot;&amp;lt;cite&amp;gt;Alirok Marsh&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Triple Blitz&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; &amp;quot;&lt;br /&gt;
 &amp;quot;Amohsad Caldera, Blue Water Province, Castle Hopping Isle, Caves of the &amp;quot;&lt;br /&gt;
 &amp;quot;Basilisk&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Blitz&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Crossing, Crusaders &amp;quot;&lt;br /&gt;
 &amp;quot;Fields, Cynsaun Battlefield, Den of Onis, Fallenstar Lake&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
 &amp;quot;&amp;lt;cite&amp;gt;Meteor Lake&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Forest of Fear, Freelands&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
 &amp;quot;&amp;lt;cite&amp;gt;Charge&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; Hexcake, Hornshark Island, Island of the &amp;quot;&lt;br /&gt;
 &amp;quot;Horatii, King of the Hill, Lagoon, Loris River, Merkwuerdigliebe, Morituri, &amp;quot;&lt;br /&gt;
 &amp;quot;Paths of Daggers, Sablestone Delta, Siege Castles, Silverhead, Sulla's &amp;quot;&lt;br /&gt;
 &amp;quot;Ruins, Waterloo Sunset, Wesbowl&amp;lt;/cite&amp;gt;.&amp;quot;&lt;br /&gt;
#Extra useless spaces in many places&lt;br /&gt;
#Missing comma before Hamlets&lt;br /&gt;
#Should be no comma and space after Xanthe Chaos&lt;br /&gt;
&lt;br /&gt;
==Other (ingame help, ...)==&lt;br /&gt;
&lt;br /&gt;
==Translation code bugs==&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23184</id>
		<title>SpellingMistakes</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23184"/>
		<updated>2008-03-02T21:31:43Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* 1.4 Annuncement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to be a list for mistakes in campaigns and other texts in the en_US version of the game.&lt;br /&gt;
&lt;br /&gt;
==An Orcish Incursion==&lt;br /&gt;
&lt;br /&gt;
==Descent into Darkness==&lt;br /&gt;
&lt;br /&gt;
==Eastern Invasion==&lt;br /&gt;
&lt;br /&gt;
==Heir to the Throne==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Northern Rebirth==&lt;br /&gt;
&lt;br /&gt;
==Sceptre of Fire==&lt;br /&gt;
&lt;br /&gt;
==Son of the Black Eye==&lt;br /&gt;
&lt;br /&gt;
==The Hammer of Thursagan==&lt;br /&gt;
&lt;br /&gt;
==The Rise of Wesnoth==&lt;br /&gt;
&lt;br /&gt;
==The South Guard==&lt;br /&gt;
&lt;br /&gt;
==Two Brothers==&lt;br /&gt;
&lt;br /&gt;
==Under the Burning Suns==&lt;br /&gt;
&lt;br /&gt;
==Editor==&lt;br /&gt;
&lt;br /&gt;
==Tutorial==&lt;br /&gt;
&lt;br /&gt;
==Manual==&lt;br /&gt;
&lt;br /&gt;
==1.4 Annuncement==&lt;br /&gt;
 # type: Content of: &amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;dl&amp;gt;&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
 #: ../template.html:111&lt;br /&gt;
 &amp;quot;New maps and multiplayer campaigns: &amp;lt;cite&amp;gt; Auction-X, Dark Forecast Hamlets, &amp;quot;&lt;br /&gt;
 &amp;quot;Mokena Prairie, The Manzivan Traps, Xanthe Chaos, &amp;lt;/cite&amp;gt;.  Revised maps: &amp;quot;&lt;br /&gt;
 &amp;quot;&amp;lt;cite&amp;gt;Alirok Marsh&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Triple Blitz&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; &amp;quot;&lt;br /&gt;
 &amp;quot;Amohsad Caldera, Blue Water Province, Castle Hopping Isle, Caves of the &amp;quot;&lt;br /&gt;
 &amp;quot;Basilisk&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Blitz&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Crossing, Crusaders &amp;quot;&lt;br /&gt;
 &amp;quot;Fields, Cynsaun Battlefield, Den of Onis, Fallenstar Lake&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
 &amp;quot;&amp;lt;cite&amp;gt;Meteor Lake&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Forest of Fear, Freelands&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
 &amp;quot;&amp;lt;cite&amp;gt;Charge&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; Hexcake, Hornshark Island, Island of the &amp;quot;&lt;br /&gt;
 &amp;quot;Horatii, King of the Hill, Lagoon, Loris River, Merkwuerdigliebe, Morituri, &amp;quot;&lt;br /&gt;
 &amp;quot;Paths of Daggers, Sablestone Delta, Siege Castles, Silverhead, Sulla's &amp;quot;&lt;br /&gt;
 &amp;quot;Ruins, Waterloo Sunset, Wesbowl&amp;lt;/cite&amp;gt;.&amp;quot;&lt;br /&gt;
#Missing comma before Hamlets&lt;br /&gt;
#Should be no comma and space after Xanthe Chaos&lt;br /&gt;
&lt;br /&gt;
==Other (ingame help, ...)==&lt;br /&gt;
&lt;br /&gt;
==Translation code bugs==&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23183</id>
		<title>SpellingMistakes</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23183"/>
		<updated>2008-03-02T21:29:46Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* 1.4 Annoncement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to be a list for mistakes in campaigns and other texts in the en_US version of the game.&lt;br /&gt;
&lt;br /&gt;
==An Orcish Incursion==&lt;br /&gt;
&lt;br /&gt;
==Descent into Darkness==&lt;br /&gt;
&lt;br /&gt;
==Eastern Invasion==&lt;br /&gt;
&lt;br /&gt;
==Heir to the Throne==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Northern Rebirth==&lt;br /&gt;
&lt;br /&gt;
==Sceptre of Fire==&lt;br /&gt;
&lt;br /&gt;
==Son of the Black Eye==&lt;br /&gt;
&lt;br /&gt;
==The Hammer of Thursagan==&lt;br /&gt;
&lt;br /&gt;
==The Rise of Wesnoth==&lt;br /&gt;
&lt;br /&gt;
==The South Guard==&lt;br /&gt;
&lt;br /&gt;
==Two Brothers==&lt;br /&gt;
&lt;br /&gt;
==Under the Burning Suns==&lt;br /&gt;
&lt;br /&gt;
==Editor==&lt;br /&gt;
&lt;br /&gt;
==Tutorial==&lt;br /&gt;
&lt;br /&gt;
==Manual==&lt;br /&gt;
&lt;br /&gt;
==1.4 Annuncement==&lt;br /&gt;
# type: Content of: &amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;dl&amp;gt;&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
#: ../template.html:111&lt;br /&gt;
&amp;quot;New maps and multiplayer campaigns: &amp;lt;cite&amp;gt; Auction-X, Dark Forecast Hamlets, &amp;quot;&lt;br /&gt;
&amp;quot;Mokena Prairie, The Manzivan Traps, Xanthe Chaos, &amp;lt;/cite&amp;gt;.  Revised maps: &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Alirok Marsh&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Triple Blitz&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; &amp;quot;&lt;br /&gt;
&amp;quot;Amohsad Caldera, Blue Water Province, Castle Hopping Isle, Caves of the &amp;quot;&lt;br /&gt;
&amp;quot;Basilisk&amp;lt;/cite&amp;gt; (formerly &amp;lt;cite&amp;gt;Blitz&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Crossing, Crusaders &amp;quot;&lt;br /&gt;
&amp;quot;Fields, Cynsaun Battlefield, Den of Onis, Fallenstar Lake&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Meteor Lake&amp;lt;/cite&amp;gt;), &amp;lt;cite&amp;gt; Forest of Fear, Freelands&amp;lt;/cite&amp;gt; (formerly &amp;quot;&lt;br /&gt;
&amp;quot;&amp;lt;cite&amp;gt;Charge&amp;lt;/cite&amp;gt;),&amp;lt;cite&amp;gt; Hexcake, Hornshark Island, Island of the &amp;quot;&lt;br /&gt;
&amp;quot;Horatii, King of the Hill, Lagoon, Loris River, Merkwuerdigliebe, Morituri, &amp;quot;&lt;br /&gt;
&amp;quot;Paths of Daggers, Sablestone Delta, Siege Castles, Silverhead, Sulla's &amp;quot;&lt;br /&gt;
&amp;quot;Ruins, Waterloo Sunset, Wesbowl&amp;lt;/cite&amp;gt;.&amp;quot;&lt;br /&gt;
Missing comma before Hamlets&lt;br /&gt;
Should be no comma and space after Xanthe Chaos&lt;br /&gt;
&lt;br /&gt;
==Other (ingame help, ...)==&lt;br /&gt;
&lt;br /&gt;
==Translation code bugs==&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23182</id>
		<title>SpellingMistakes</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SpellingMistakes&amp;diff=23182"/>
		<updated>2008-03-02T21:26:55Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Other (ingame help, ...) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to be a list for mistakes in campaigns and other texts in the en_US version of the game.&lt;br /&gt;
&lt;br /&gt;
==An Orcish Incursion==&lt;br /&gt;
&lt;br /&gt;
==Descent into Darkness==&lt;br /&gt;
&lt;br /&gt;
==Eastern Invasion==&lt;br /&gt;
&lt;br /&gt;
==Heir to the Throne==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Northern Rebirth==&lt;br /&gt;
&lt;br /&gt;
==Sceptre of Fire==&lt;br /&gt;
&lt;br /&gt;
==Son of the Black Eye==&lt;br /&gt;
&lt;br /&gt;
==The Hammer of Thursagan==&lt;br /&gt;
&lt;br /&gt;
==The Rise of Wesnoth==&lt;br /&gt;
&lt;br /&gt;
==The South Guard==&lt;br /&gt;
&lt;br /&gt;
==Two Brothers==&lt;br /&gt;
&lt;br /&gt;
==Under the Burning Suns==&lt;br /&gt;
&lt;br /&gt;
==Editor==&lt;br /&gt;
&lt;br /&gt;
==Tutorial==&lt;br /&gt;
&lt;br /&gt;
==Manual==&lt;br /&gt;
&lt;br /&gt;
==1.4 Annoncement==&lt;br /&gt;
==Other (ingame help, ...)==&lt;br /&gt;
&lt;br /&gt;
==Translation code bugs==&lt;br /&gt;
&lt;br /&gt;
[[Category:Troubleshooting and Bugs]]&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23127</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23127"/>
		<updated>2008-03-02T13:25:38Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Noyga */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&gt;
This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project ==&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
Wesnoth has always had a simple C++ based AI. David (our lead developer) has been working on a simple language to write AI in Wesnoth ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The Wesnoth AI is used as an opponent in most campaigns, and as such is an important piece of code for the Wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and work could be done&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to develop a new AI that would replace the original C++ AI. The main criterias we would want for this new AI are&lt;br /&gt;
&lt;br /&gt;
* ''Plugability :'' It should be trivial for any content maker to change the behavior of the AI in specific case. The exact cases are still to be defined but should typically include&lt;br /&gt;
** hardwiring the first few turns of the AI&lt;br /&gt;
** changing the recruitment pattern&lt;br /&gt;
** completely controlling a given unit (scenario unit)&lt;br /&gt;
** taking control then giving back control of a given unit&lt;br /&gt;
* ''tunability :'' It should be easy for a scenario author to specify the general behaviour of the enemy on a given scenario (aggressiveness, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* ''A minimal knowledge of C++ is required, a good knowledge of C++ is desired :'' The formula AI framework is a work in progress and chances are high that some changes in the wesnoth code base will be needed. The wesnoth developer community is used to handle people that are familiar with coding but not C++, however the Formula AI framework uses advanced C++ features and a good knowledge of the language would avoid a major hurdle when plugging in new entries or functionalities for the AI&lt;br /&gt;
* ''Good social interaction with a large player community :'' A preliminary phase to coding any AI is to know the strategies and game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give milestones at this point, but here are some ideas of what could be done&lt;br /&gt;
&lt;br /&gt;
* ''AI design description, and basic function library :'' This first deliverable aims to conclude the '''study and analysis''' part of the project : becoming familiar with the formula language, study of multiplayer strategies and of the need of scenario writers with regard to AI. We would like to have a description of the code structure of the AI, some basis of the play strategies it would use and how external scenario writers could configure it for the particular behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim is to deliver a working AI implementing the strategies described in the first phase. It would not have to systematically beat the standard C++ AI at this point, but should be able to play the game correctly (recruit, early deployment on villages, grouping units to attack, holding its ground, protecting weak/important units). Moreover most plug-in entries should be available and a test-case for these entries should be provided.&lt;br /&gt;
* ''Fine tunning and behaviour library :'' The third phase would validate the actual strategy of the AI. The AI should consistently beat the default C++ AI, and do fairly well against an average human player. At that stage a library of scenario behaviours should also be delivered. The AI does not need to be as efficient with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the development team met at FOSDEM, we had our multiplayer community, though it is strong and healthy, had its growth restrained by the interface of the multiplayer lobby.&lt;br /&gt;
&lt;br /&gt;
==== General Description ====&lt;br /&gt;
The general idea of this project would be&lt;br /&gt;
* To study the current lobby,&lt;br /&gt;
* To present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&lt;br /&gt;
&lt;br /&gt;
Some ideas that we had (but that are in no way mandatory)&lt;br /&gt;
* Having a simple way to register and authenticate nicknames, similar to what IRC offers. The point is not to have cryptographically safe logins, but to have something simple that gets the job done&lt;br /&gt;
* Having a simple room system? again inspired on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criteria you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not convinced are good, but that are certainly worth studying (especially how the communities based around these concepts are different from ours)&lt;br /&gt;
* ranking players&lt;br /&gt;
* guilds&lt;br /&gt;
* official tournaments&lt;br /&gt;
* titles for players&lt;br /&gt;
* metaservers&lt;br /&gt;
* game matching when players are ranked (poker, bridge...)&lt;br /&gt;
&lt;br /&gt;
The scalability of the project, both in term of number of players, and in term of the possibility for players and developers to extend the concept will be a valued criteria&lt;br /&gt;
&lt;br /&gt;
Administration/moderation problems and techniques should also be studied&lt;br /&gt;
&lt;br /&gt;
interaction with the Add-On server/forum might be an interesting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on C++ is required. Wesnoth uses some advanced C++ features and is heavily based on BOOST and STL. We can train you in some of the libraries used, but learning all of them would be a big hurdle&lt;br /&gt;
* Various experience with multiplayer games, in order to have a good idea of what multiplayer lobbies of other game look like, and (more importantly) a good idea of the social behaviours of multiple MP communities, how teams are formed in games and things like that&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
* A first milestone would be a presentation summarizing the different studies, and the proposed interface. preliminary informal stages would probably be desirable, to make sure the proposed idea is already a consensus within devs &lt;br /&gt;
** Study of other MP game-matching interfaces and functionalities&lt;br /&gt;
** Study of other MP communities&lt;br /&gt;
** Study of other MP moderation practices&lt;br /&gt;
** Study of the Wesnoth MP community, including needs, various opinons from different developers and players&lt;br /&gt;
* A second milestone would be the main code delivery. Code should be functional for it will be delivered in the next Wesnoth development release&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
Currently, in order to create campaign or multiplayer scenarios, it is necessary to manually edit WML files - XML-like configuration files. The goal of this project would be to create a graphical editor allowing the same.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
A scenario editor for Wesnoth supporting everything possible by Wesnoth's engine would be a huge project, so the scope of the actual project would of course be limited - what exactly should be implemented would be decided by initial discussion. Implementation details and choice of language/tools would also be up to the student to choose. The main ideas would be for the scenario editor to be:&lt;br /&gt;
* cross-platform (at least Linux, OSX, Windows)&lt;br /&gt;
* easy to use (someone who tries reasonably hard should be able to create a simple scenario/campaign with it, even if not knowing WML)&lt;br /&gt;
* powerful (there already is a map editor coming with Wesnoth - the scenario editor will provide more/different things)&lt;br /&gt;
* extensible (also after the SoC project, it should be easy to add additional features)&lt;br /&gt;
&lt;br /&gt;
There exist at least two attempts at a scenario editor, an OSX-only one which shipped with early Wesnoth versions, and CampGen, an external tool written in WxPython. The student could look at them for ideas or even use one of them as base, but that should be discussed first. The below assumes a new application is developed from scratch (which likely will be much more motivating for the student than reviving an existing attempt). The actual things to be done would be:&lt;br /&gt;
&lt;br /&gt;
* Decide on a cross-platform GUI which would be best suited (Qt4, Wx, GTK, Wesnoth's builtin GUI (in that case, could maybe integrate with the existing map editor, but would have serious other problems), or others...).&lt;br /&gt;
* Decide on a platform/language to use (C++, Python, or others...). Wesnoth is written in C++, so it's what most developers would prefer, but as long as it can be expected to work on Linux, OSX and Windows, this is completely open.&lt;br /&gt;
* GUI design. This is the main part of the project. The editor should make it easy to create scenarios, so the GUI must not be confusing/hard to use.&lt;br /&gt;
* Decide on base features. [[ReferenceWML]] lists everything currently supported by WML. Theoretically, the scenario editor could support everything, but for the timeframe of the SoC project, it will be necessary to decide on the most important features and implement those.&lt;br /&gt;
** WML-centric or not? Two opposite views for such an editor would be to either strictly follow WML, as extreme case have one dialog for each WML element. Or on the other hand make a scenario creation tool which completely hides WML and then simply can export to WML, translating features as necessary. The final design likely would be somewhere in between.&lt;br /&gt;
** Ability to read existing WML? The editor will export to WML, but need to decide if it also should be able to read it.&lt;br /&gt;
** Built-in map editor? Wesnoth comes with a map editor, but it can only be used to define the terrain. The scenario editor has to allow placing events and units and other things, so it will need a way to display maps as well. Would be worth investigating if the existing C++ map-drawing code of Wesnoth can be re-used.&lt;br /&gt;
** Ability to enter custom WML code? For advanced users this might be nice, if it can integrate well.&lt;br /&gt;
** Story screen editor for campaigns?&lt;br /&gt;
** How powerful should the events editor be? WML basically is a turing complete language, so must decide what should be supported and how to present to the user.&lt;br /&gt;
** Custom unit animations?&lt;br /&gt;
** Custom multi-hex terrains?&lt;br /&gt;
* Extensibility (leave the possibility to extend the application with plugins for some of the above things, either with a plugin architecture or by making the source code modular enough)&lt;br /&gt;
* WML-export. The second major part besides designing and implementing all the GUI will be exporting the result to WML, and depending on some design choices this could prove more or less hard to do.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++. Even in case the editor is not written in C++, it will be necessary to look at some parts of Wesnoth's source code (WML-parser, editor, ...) and understand them, possibly even integrate/re-use them.&lt;br /&gt;
* Ability/interest in GUI/application design. A not negligible part of the project likely will be spent designing various GUI dialogs.&lt;br /&gt;
* Prior use of level creation tools/modding tools. Knowing existing tools for other games will help a lot in the design phase, as many good ideas can be seen there. Not required though.&lt;br /&gt;
* Having played Wesnoth and knowing what scenarios look like would help. Someone who never played Wesnoth before would risk losing a lot of precious time playing the game instead of working :) But it's not required of course.&lt;br /&gt;
* Knowledge of WML. A candidate who already knows Wesnoth's WML could save the initial time studying it. (On the other hand, not knowing WML might mean less technical bias and might lead to an application which is easer to use for non-technical users.)&lt;br /&gt;
* Ability to interact with developers/users. Presenting GUI mockups and test versions and incorporating early user feedback likely will improve the end result a lot. The Wesnoth community is big enough that there should be quite some willing testers.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
The initial design will decide on many later things, and likely a lot of talking to developers and users will be necessary. But some general milestones I'd expect:&lt;br /&gt;
* Create a base test application in the chosen language/platform. This will not do much yet, maybe load some WML and display it as text. Try to package it for Linux, OSX and Windows (there will be help from the Wesnoth community, so no need to have access to all of them), and see if it can be expected to work. If a standard GUI like C++/Qt4 is used, this will be rather trivial. Something like Python/Wx or C#/.NET might take more time.&lt;br /&gt;
* Add ability to edit some very simple, maybe only textual properties of a scenario, and export to WML. It should already have base features like Save/Load/Undo, copy/paste, multiple documents, and so on. Depending on the chosen GUI this may be easy or already require some work.&lt;br /&gt;
* Finish design. Should list the intended features and demonstrate how the GUI will work.&lt;br /&gt;
* Start implementation, a natural milestone would be to make it possible to create and export a very simple, but playable scenario.&lt;br /&gt;
* Add more of the features (which ones and in which order depends on the design above, a detailed roadmap will be part of it).&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
Both the server and client side of the addon server haven't&lt;br /&gt;
been improved over the years and can use quite some improvements.&lt;br /&gt;
The client side GUI needs quite some improvements. For the&lt;br /&gt;
server side it's wanted to allow better integration with&lt;br /&gt;
various tools, which improve the quality of the addons.&lt;br /&gt;
&lt;br /&gt;
===== Server side =====&lt;br /&gt;
The server code either needs to be updated or rewritten, the&lt;br /&gt;
student is free to make this decision him or herself. The&lt;br /&gt;
student is free to choose the language for the server.&lt;br /&gt;
&lt;br /&gt;
* The server only needs to run on Linux systems, crossplatform would be nice but isn't  required.&lt;br /&gt;
* At the moment there's a rudimentary integration with our translation project Wescamp. This needs to be improved. Upon uploading the new content needs to be send to Wescamp (via a svn commit). And the translations need to be fetched on a regular basis.&lt;br /&gt;
* We have various tools to check the WML code and also upgrade it to newer version. The addon server needs to be able to run those tools on the content.&lt;br /&gt;
&lt;br /&gt;
===== Client side =====&lt;br /&gt;
The client side needs improvements, there are two main clients&lt;br /&gt;
the ingame version and a standalone version in Python.&lt;br /&gt;
&lt;br /&gt;
* Upgrade the GUI, Mordante is working on a new GUI library which is intended to make it possible to make the wanted changes.&lt;br /&gt;
* Make it easier to see what kind of addon it is, at the moment a lot of new users download something and have no clue what kind of addon it is.&lt;br /&gt;
* Make it easier to see whether a newer version of the addon is on the server and update the addon.&lt;br /&gt;
* Make it easy to select which translations you want to download and also look for newer versions of the translations.&lt;br /&gt;
&lt;br /&gt;
====  Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++, the game is written in C++ and modifications need to be made there. &lt;br /&gt;
* Knowlegde of Python, various tools have been written in Python which need to be intergrated with the new server.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to determine what exactly needs to be done and determine in which language the server will be rewritten. This includes, but isn't limited to:&lt;br /&gt;
** Determine the exact feature set.&lt;br /&gt;
** Protocol changes needed.&lt;br /&gt;
** Methods to integrate with both the WML tools and Wescamp with the new server.&lt;br /&gt;
** Determine the GUI for the client side.&lt;br /&gt;
* This needs to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
If you have your own idea the best thing is to join &lt;br /&gt;
IRC wesnoth-dev at irc.freenode.net and discuss the&lt;br /&gt;
idea with the developers there. If the developers&lt;br /&gt;
think your idea is interesting and like the feature&lt;br /&gt;
you can start to turn it into a full proposal. Once &lt;br /&gt;
done discuss it again on IRC so the developers can &lt;br /&gt;
accept your idea.&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the ave generator) etc.&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?====&lt;br /&gt;
&lt;br /&gt;
Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry.&lt;br /&gt;
&lt;br /&gt;
If a student were dedicated to any of these uncovered areas, we believe that person could be brought up to speed relatively quickly and function as a peer of the existing developers.&lt;br /&gt;
&lt;br /&gt;
By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart some areas of the project that have lagged behind&lt;br /&gt;
&lt;br /&gt;
==== Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.====&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?====&lt;br /&gt;
&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC&lt;br /&gt;
&lt;br /&gt;
==== Who will your organization administrator be? Please include Google Account information.====&lt;br /&gt;
Nils Kneuper aka Ivanovic&lt;br /&gt;
&lt;br /&gt;
crazy.ivanovic |ATTT| googlemail.com&lt;br /&gt;
&lt;br /&gt;
==== What license(s) does your project use?====&lt;br /&gt;
Our project is entirely GPL.&lt;br /&gt;
&lt;br /&gt;
All code is GPL.&lt;br /&gt;
&lt;br /&gt;
All art is GPL, 99% was made for the project, everything was taken from content that was checked to be GPL.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your ideas page?====&lt;br /&gt;
Our main summer of code page is located at http://www.wesnoth.org/wiki/SummerOfCodeIdeas&lt;br /&gt;
&lt;br /&gt;
This page contains various coding ideas and the thought the development team has already given them.&lt;br /&gt;
&lt;br /&gt;
It also contains a list of the developers that are the most active on IRC and their domains of interest.&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list or forum for your organization?====&lt;br /&gt;
Most development work takes place on &amp;quot;wesnoth-dev |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/forum/.&lt;br /&gt;
&lt;br /&gt;
in particular, all art developement takes place on the forum.&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization?====&lt;br /&gt;
&lt;br /&gt;
All our IRC channels are on the ''freenode'' network&lt;br /&gt;
&lt;br /&gt;
* ''#wesnoth-dev'' is the main development channel, where most discussion takes place&lt;br /&gt;
* ''#wesnoth'' is a generic channel for the community&lt;br /&gt;
* ''#wesnoth-mp'' is a separate channel for multiplayer games and balancing&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now.====&lt;br /&gt;
We plan mainly to meet potential students through our IRC channel, but the following questions are wesnoth-specific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay? &lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&lt;br /&gt;
* Have you played Wesnoth? How long?  Single player or multiplayer? We do not plan to favor Wesnoth players as such, but some projects require a good feeling of the game which is hard to get without having played intensively.&lt;br /&gt;
* What nickname do you plan to use on IRC and the forum?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''''to be completed''''&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? Please include Google Account information.====&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&lt;br /&gt;
&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jeremy Rosen alias Boucman (boucman2|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Mark de Wever aka Mordante (gmail.com account mordante.wesnoth)&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select these individuals as mentors? Please be as specific as possible.====&lt;br /&gt;
&lt;br /&gt;
Dave is the project leader and one of the most knowledgeable in C++. He has also written the Formula AI code which we plan to develop via the SoC&lt;br /&gt;
&lt;br /&gt;
He is well known in our community for formulating simple but effective explanations for complicated topics, and has good design intuition. &lt;br /&gt;
&lt;br /&gt;
The growth of Wesnoth demonstrates his capacity to get other developers to work together and keep them involved in a thriving community.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project's community before, during and after the program?====&lt;br /&gt;
&lt;br /&gt;
Wesnoth has a particularly healthy community, both for developers and for players. &lt;br /&gt;
&lt;br /&gt;
Our general policy regarding new coders has always been &amp;quot;two patch... you're in&amp;quot; In other word, anybody that is able to get two non-trivial patches applied is offered commit right.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developers into our community. This is a well known and effective process we plan to apply to students, directing them to our [[EasyCoding]] pages (these project are usually a couple of hours long and has been chosen to provide easy access to code)&lt;br /&gt;
&lt;br /&gt;
Usually, patches go back and forth a couple of time, to make sure that all secondary things are in place (indenting, coding style, modified makefiles etc.) The idea is that coder education should take place before the coder gets commit rights, but that getting new coder in is one of the most important things to maintain our project alive.&lt;br /&gt;
&lt;br /&gt;
If the student is a little proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also plan to give a special forum title to any students. This will allow all forum members to tell them appart from normal users and give them read/write access to the developper only forums.&lt;br /&gt;
&lt;br /&gt;
This will also allow usto quickly spot any problem they might have interacting with the player community. We have a very mature developper community, but our player community is made of all sort of people of all age and education, and it can be rough at time.&lt;br /&gt;
&lt;br /&gt;
==== What will you do to ensure that your accepted students stick with the project after GSoC concludes?====&lt;br /&gt;
&lt;br /&gt;
Since our community has a history of having developpers easily and quickly join, we expect the student to be full-fledge developpers quite faset (probably a little after the end of the bonding period). &lt;br /&gt;
&lt;br /&gt;
Thus there will be no &amp;quot;end of GSoC&amp;quot; transition. At the end of the Summer of code we expect the student to be responsible for the part he developped, and to continue taking care of it, like other developpers are responsible for their part.&lt;br /&gt;
&lt;br /&gt;
''''TO BE COMPLETED''''&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. He is currently our C++ expert and is also the one that is working on the new Formula AI. Any questions regarding the formula AI should be directed to him.&lt;br /&gt;
&lt;br /&gt;
==== Mordante ====&lt;br /&gt;
Many of the possible projects involve the code for which he is an area expert. Also, many of the possible projects currently listed on the ideas page require GUI parts to work. Given that Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as already being our area expert for the terrain engine.&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He wrote the original version of campgen and as such will know a lot about what is needed to to make such an editor work correctly. The work on a scenario editor might be based upon campgen and as such his knowledge will be really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he participated at GSoC as a student, so he will understand the situation of GSoC students. Beside this he is our top expert on embedded devices, and is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he accustomed to critiquing patches of every kind. Beside this, he knows many areas of the game due to working on applying patches. He is particularly used to answering question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
He was the one who started the &amp;quot;two patches, you're in&amp;quot; policy and the ReferenceWML part of the project&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He knows our MP server setup best. Beside this he has already done a lot of work on the MP server himself. So he probably has most knowledge about it and, being one of our MP-developers, might provide important help from the perspective of the MP player community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuvaen ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&lt;br /&gt;
&lt;br /&gt;
==== YogiHH or Piotr Cychowski (cycholka) ====&lt;br /&gt;
Since they are the two developers who know most about building under Windows, they will probably be really helpful. Either if the student comes from the Windows side, or to help test resulting work to make sure that it does work on Windows and, for the case that it does not, to show them where problems are.&lt;br /&gt;
&lt;br /&gt;
==== Eric S. Raymond (ESR) ====&lt;br /&gt;
ESR is our project toolsmith; he has written several tools that semi-automate various aspects of WML maintenance.  While most of our developers/designers concentrate on either the C++ core or WML but not both, he has a balanced understanding of both levels and may be helpful in helping students develop a grasp of the overall architecture.  Finally, he did the last overhaul of the Wesnoth UI and understands UI design principles; he is well-equipped to guide students working in that area.&lt;br /&gt;
&lt;br /&gt;
==== Noyga ====&lt;br /&gt;
Another versatile developer, on the C++ side he doesn't concentrate on a particular area, did some tweaks to improve translations in some languages (like enabling the female forms for names in various place) but know quite well the C++ side of units, abilities and WML. On the WML side he's an expert.&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23126</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23126"/>
		<updated>2008-03-02T13:23:05Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* People to bug on IRC, possible mentors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&gt;
This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project ==&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
Wesnoth has always had a simple C++ based AI. David (our lead developer) has been working on a simple language to write AI in Wesnoth ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The Wesnoth AI is used as an opponent in most campaigns, and as such is an important piece of code for the Wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and work could be done&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to develop a new AI that would replace the original C++ AI. The main criterias we would want for this new AI are&lt;br /&gt;
&lt;br /&gt;
* ''Plugability :'' It should be trivial for any content maker to change the behavior of the AI in specific case. The exact cases are still to be defined but should typically include&lt;br /&gt;
** hardwiring the first few turns of the AI&lt;br /&gt;
** changing the recruitment pattern&lt;br /&gt;
** completely controlling a given unit (scenario unit)&lt;br /&gt;
** taking control then giving back control of a given unit&lt;br /&gt;
* ''tunability :'' It should be easy for a scenario author to specify the general behaviour of the enemy on a given scenario (aggressiveness, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* ''A minimal knowledge of C++ is required, a good knowledge of C++ is desired :'' The formula AI framework is a work in progress and chances are high that some changes in the wesnoth code base will be needed. The wesnoth developer community is used to handle people that are familiar with coding but not C++, however the Formula AI framework uses advanced C++ features and a good knowledge of the language would avoid a major hurdle when plugging in new entries or functionalities for the AI&lt;br /&gt;
* ''Good social interaction with a large player community :'' A preliminary phase to coding any AI is to know the strategies and game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give milestones at this point, but here are some ideas of what could be done&lt;br /&gt;
&lt;br /&gt;
* ''AI design description, and basic function library :'' This first deliverable aims to conclude the '''study and analysis''' part of the project : becoming familiar with the formula language, study of multiplayer strategies and of the need of scenario writers with regard to AI. We would like to have a description of the code structure of the AI, some basis of the play strategies it would use and how external scenario writers could configure it for the particular behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim is to deliver a working AI implementing the strategies described in the first phase. It would not have to systematically beat the standard C++ AI at this point, but should be able to play the game correctly (recruit, early deployment on villages, grouping units to attack, holding its ground, protecting weak/important units). Moreover most plug-in entries should be available and a test-case for these entries should be provided.&lt;br /&gt;
* ''Fine tunning and behaviour library :'' The third phase would validate the actual strategy of the AI. The AI should consistently beat the default C++ AI, and do fairly well against an average human player. At that stage a library of scenario behaviours should also be delivered. The AI does not need to be as efficient with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the development team met at FOSDEM, we had our multiplayer community, though it is strong and healthy, had its growth restrained by the interface of the multiplayer lobby.&lt;br /&gt;
&lt;br /&gt;
==== General Description ====&lt;br /&gt;
The general idea of this project would be&lt;br /&gt;
* To study the current lobby,&lt;br /&gt;
* To present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&lt;br /&gt;
&lt;br /&gt;
Some ideas that we had (but that are in no way mandatory)&lt;br /&gt;
* Having a simple way to register and authenticate nicknames, similar to what IRC offers. The point is not to have cryptographically safe logins, but to have something simple that gets the job done&lt;br /&gt;
* Having a simple room system? again inspired on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criteria you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not convinced are good, but that are certainly worth studying (especially how the communities based around these concepts are different from ours)&lt;br /&gt;
* ranking players&lt;br /&gt;
* guilds&lt;br /&gt;
* official tournaments&lt;br /&gt;
* titles for players&lt;br /&gt;
* metaservers&lt;br /&gt;
* game matching when players are ranked (poker, bridge...)&lt;br /&gt;
&lt;br /&gt;
The scalability of the project, both in term of number of players, and in term of the possibility for players and developers to extend the concept will be a valued criteria&lt;br /&gt;
&lt;br /&gt;
Administration/moderation problems and techniques should also be studied&lt;br /&gt;
&lt;br /&gt;
interaction with the Add-On server/forum might be an interesting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on C++ is required. Wesnoth uses some advanced C++ features and is heavily based on BOOST and STL. We can train you in some of the libraries used, but learning all of them would be a big hurdle&lt;br /&gt;
* Various experience with multiplayer games, in order to have a good idea of what multiplayer lobbies of other game look like, and (more importantly) a good idea of the social behaviours of multiple MP communities, how teams are formed in games and things like that&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
* A first milestone would be a presentation summarizing the different studies, and the proposed interface. preliminary informal stages would probably be desirable, to make sure the proposed idea is already a consensus within devs &lt;br /&gt;
** Study of other MP game-matching interfaces and functionalities&lt;br /&gt;
** Study of other MP communities&lt;br /&gt;
** Study of other MP moderation practices&lt;br /&gt;
** Study of the Wesnoth MP community, including needs, various opinons from different developers and players&lt;br /&gt;
* A second milestone would be the main code delivery. Code should be functional for it will be delivered in the next Wesnoth development release&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
Currently, in order to create campaign or multiplayer scenarios, it is necessary to manually edit WML files - XML-like configuration files. The goal of this project would be to create a graphical editor allowing the same.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
A scenario editor for Wesnoth supporting everything possible by Wesnoth's engine would be a huge project, so the scope of the actual project would of course be limited - what exactly should be implemented would be decided by initial discussion. Implementation details and choice of language/tools would also be up to the student to choose. The main ideas would be for the scenario editor to be:&lt;br /&gt;
* cross-platform (at least Linux, OSX, Windows)&lt;br /&gt;
* easy to use (someone who tries reasonably hard should be able to create a simple scenario/campaign with it, even if not knowing WML)&lt;br /&gt;
* powerful (there already is a map editor coming with Wesnoth - the scenario editor will provide more/different things)&lt;br /&gt;
* extensible (also after the SoC project, it should be easy to add additional features)&lt;br /&gt;
&lt;br /&gt;
There exist at least two attempts at a scenario editor, an OSX-only one which shipped with early Wesnoth versions, and CampGen, an external tool written in WxPython. The student could look at them for ideas or even use one of them as base, but that should be discussed first. The below assumes a new application is developed from scratch (which likely will be much more motivating for the student than reviving an existing attempt). The actual things to be done would be:&lt;br /&gt;
&lt;br /&gt;
* Decide on a cross-platform GUI which would be best suited (Qt4, Wx, GTK, Wesnoth's builtin GUI (in that case, could maybe integrate with the existing map editor, but would have serious other problems), or others...).&lt;br /&gt;
* Decide on a platform/language to use (C++, Python, or others...). Wesnoth is written in C++, so it's what most developers would prefer, but as long as it can be expected to work on Linux, OSX and Windows, this is completely open.&lt;br /&gt;
* GUI design. This is the main part of the project. The editor should make it easy to create scenarios, so the GUI must not be confusing/hard to use.&lt;br /&gt;
* Decide on base features. [[ReferenceWML]] lists everything currently supported by WML. Theoretically, the scenario editor could support everything, but for the timeframe of the SoC project, it will be necessary to decide on the most important features and implement those.&lt;br /&gt;
** WML-centric or not? Two opposite views for such an editor would be to either strictly follow WML, as extreme case have one dialog for each WML element. Or on the other hand make a scenario creation tool which completely hides WML and then simply can export to WML, translating features as necessary. The final design likely would be somewhere in between.&lt;br /&gt;
** Ability to read existing WML? The editor will export to WML, but need to decide if it also should be able to read it.&lt;br /&gt;
** Built-in map editor? Wesnoth comes with a map editor, but it can only be used to define the terrain. The scenario editor has to allow placing events and units and other things, so it will need a way to display maps as well. Would be worth investigating if the existing C++ map-drawing code of Wesnoth can be re-used.&lt;br /&gt;
** Ability to enter custom WML code? For advanced users this might be nice, if it can integrate well.&lt;br /&gt;
** Story screen editor for campaigns?&lt;br /&gt;
** How powerful should the events editor be? WML basically is a turing complete language, so must decide what should be supported and how to present to the user.&lt;br /&gt;
** Custom unit animations?&lt;br /&gt;
** Custom multi-hex terrains?&lt;br /&gt;
* Extensibility (leave the possibility to extend the application with plugins for some of the above things, either with a plugin architecture or by making the source code modular enough)&lt;br /&gt;
* WML-export. The second major part besides designing and implementing all the GUI will be exporting the result to WML, and depending on some design choices this could prove more or less hard to do.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++. Even in case the editor is not written in C++, it will be necessary to look at some parts of Wesnoth's source code (WML-parser, editor, ...) and understand them, possibly even integrate/re-use them.&lt;br /&gt;
* Ability/interest in GUI/application design. A not negligible part of the project likely will be spent designing various GUI dialogs.&lt;br /&gt;
* Prior use of level creation tools/modding tools. Knowing existing tools for other games will help a lot in the design phase, as many good ideas can be seen there. Not required though.&lt;br /&gt;
* Having played Wesnoth and knowing what scenarios look like would help. Someone who never played Wesnoth before would risk losing a lot of precious time playing the game instead of working :) But it's not required of course.&lt;br /&gt;
* Knowledge of WML. A candidate who already knows Wesnoth's WML could save the initial time studying it. (On the other hand, not knowing WML might mean less technical bias and might lead to an application which is easer to use for non-technical users.)&lt;br /&gt;
* Ability to interact with developers/users. Presenting GUI mockups and test versions and incorporating early user feedback likely will improve the end result a lot. The Wesnoth community is big enough that there should be quite some willing testers.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
The initial design will decide on many later things, and likely a lot of talking to developers and users will be necessary. But some general milestones I'd expect:&lt;br /&gt;
* Create a base test application in the chosen language/platform. This will not do much yet, maybe load some WML and display it as text. Try to package it for Linux, OSX and Windows (there will be help from the Wesnoth community, so no need to have access to all of them), and see if it can be expected to work. If a standard GUI like C++/Qt4 is used, this will be rather trivial. Something like Python/Wx or C#/.NET might take more time.&lt;br /&gt;
* Add ability to edit some very simple, maybe only textual properties of a scenario, and export to WML. It should already have base features like Save/Load/Undo, copy/paste, multiple documents, and so on. Depending on the chosen GUI this may be easy or already require some work.&lt;br /&gt;
* Finish design. Should list the intended features and demonstrate how the GUI will work.&lt;br /&gt;
* Start implementation, a natural milestone would be to make it possible to create and export a very simple, but playable scenario.&lt;br /&gt;
* Add more of the features (which ones and in which order depends on the design above, a detailed roadmap will be part of it).&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
Both the server and client side of the addon server haven't&lt;br /&gt;
been improved over the years and can use quite some improvements.&lt;br /&gt;
The client side GUI needs quite some improvements. For the&lt;br /&gt;
server side it's wanted to allow better integration with&lt;br /&gt;
various tools, which improve the quality of the addons.&lt;br /&gt;
&lt;br /&gt;
===== Server side =====&lt;br /&gt;
The server code either needs to be updated or rewritten, the&lt;br /&gt;
student is free to make this decision him or herself. The&lt;br /&gt;
student is free to choose the language for the server.&lt;br /&gt;
&lt;br /&gt;
* The server only needs to run on Linux systems, crossplatform would be nice but isn't  required.&lt;br /&gt;
* At the moment there's a rudimentary integration with our translation project Wescamp. This needs to be improved. Upon uploading the new content needs to be send to Wescamp (via a svn commit). And the translations need to be fetched on a regular basis.&lt;br /&gt;
* We have various tools to check the WML code and also upgrade it to newer version. The addon server needs to be able to run those tools on the content.&lt;br /&gt;
&lt;br /&gt;
===== Client side =====&lt;br /&gt;
The client side needs improvements, there are two main clients&lt;br /&gt;
the ingame version and a standalone version in Python.&lt;br /&gt;
&lt;br /&gt;
* Upgrade the GUI, Mordante is working on a new GUI library which is intended to make it possible to make the wanted changes.&lt;br /&gt;
* Make it easier to see what kind of addon it is, at the moment a lot of new users download something and have no clue what kind of addon it is.&lt;br /&gt;
* Make it easier to see whether a newer version of the addon is on the server and update the addon.&lt;br /&gt;
* Make it easy to select which translations you want to download and also look for newer versions of the translations.&lt;br /&gt;
&lt;br /&gt;
====  Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++, the game is written in C++ and modifications need to be made there. &lt;br /&gt;
* Knowlegde of Python, various tools have been written in Python which need to be intergrated with the new server.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to determine what exactly needs to be done and determine in which language the server will be rewritten. This includes, but isn't limited to:&lt;br /&gt;
** Determine the exact feature set.&lt;br /&gt;
** Protocol changes needed.&lt;br /&gt;
** Methods to integrate with both the WML tools and Wescamp with the new server.&lt;br /&gt;
** Determine the GUI for the client side.&lt;br /&gt;
* This needs to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
If you have your own idea the best thing is to join &lt;br /&gt;
IRC wesnoth-dev at irc.freenode.net and discuss the&lt;br /&gt;
idea with the developers there. If the developers&lt;br /&gt;
think your idea is interesting and like the feature&lt;br /&gt;
you can start to turn it into a full proposal. Once &lt;br /&gt;
done discuss it again on IRC so the developers can &lt;br /&gt;
accept your idea.&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the ave generator) etc.&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?====&lt;br /&gt;
&lt;br /&gt;
Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry.&lt;br /&gt;
&lt;br /&gt;
If a student were dedicated to any of these uncovered areas, we believe that person could be brought up to speed relatively quickly and function as a peer of the existing developers.&lt;br /&gt;
&lt;br /&gt;
By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart some areas of the project that have lagged behind&lt;br /&gt;
&lt;br /&gt;
==== Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.====&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?====&lt;br /&gt;
&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC&lt;br /&gt;
&lt;br /&gt;
==== Who will your organization administrator be? Please include Google Account information.====&lt;br /&gt;
Nils Kneuper aka Ivanovic&lt;br /&gt;
&lt;br /&gt;
crazy.ivanovic |ATTT| googlemail.com&lt;br /&gt;
&lt;br /&gt;
==== What license(s) does your project use?====&lt;br /&gt;
Our project is entirely GPL.&lt;br /&gt;
&lt;br /&gt;
All code is GPL.&lt;br /&gt;
&lt;br /&gt;
All art is GPL, 99% was made for the project, everything was taken from content that was checked to be GPL.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your ideas page?====&lt;br /&gt;
Our main summer of code page is located at http://www.wesnoth.org/wiki/SummerOfCodeIdeas&lt;br /&gt;
&lt;br /&gt;
This page contains various coding ideas and the thought the development team has already given them.&lt;br /&gt;
&lt;br /&gt;
It also contains a list of the developers that are the most active on IRC and their domains of interest.&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list or forum for your organization?====&lt;br /&gt;
Most development work takes place on &amp;quot;wesnoth-dev |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/forum/.&lt;br /&gt;
&lt;br /&gt;
in particular, all art developement takes place on the forum.&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization?====&lt;br /&gt;
&lt;br /&gt;
All our IRC channels are on the ''freenode'' network&lt;br /&gt;
&lt;br /&gt;
* ''#wesnoth-dev'' is the main development channel, where most discussion takes place&lt;br /&gt;
* ''#wesnoth'' is a generic channel for the community&lt;br /&gt;
* ''#wesnoth-mp'' is a separate channel for multiplayer games and balancing&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now.====&lt;br /&gt;
We plan mainly to meet potential students through our IRC channel, but the following questions are wesnoth-specific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay? &lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&lt;br /&gt;
* Have you played Wesnoth? How long?  Single player or multiplayer? We do not plan to favor Wesnoth players as such, but some projects require a good feeling of the game which is hard to get without having played intensively.&lt;br /&gt;
* What nickname do you plan to use on IRC and the forum?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''''to be completed''''&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? Please include Google Account information.====&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&lt;br /&gt;
&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jeremy Rosen alias Boucman (boucman2|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Mark de Wever aka Mordante (gmail.com account mordante.wesnoth)&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select these individuals as mentors? Please be as specific as possible.====&lt;br /&gt;
&lt;br /&gt;
Dave is the project leader and one of the most knowledgeable in C++. He has also written the Formula AI code which we plan to develop via the SoC&lt;br /&gt;
&lt;br /&gt;
He is well known in our community for formulating simple but effective explanations for complicated topics, and has good design intuition. &lt;br /&gt;
&lt;br /&gt;
The growth of Wesnoth demonstrates his capacity to get other developers to work together and keep them involved in a thriving community.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project's community before, during and after the program?====&lt;br /&gt;
&lt;br /&gt;
Wesnoth has a particularly healthy community, both for developers and for players. &lt;br /&gt;
&lt;br /&gt;
Our general policy regarding new coders has always been &amp;quot;two patch... you're in&amp;quot; In other word, anybody that is able to get two non-trivial patches applied is offered commit right.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developers into our community. This is a well known and effective process we plan to apply to students, directing them to our [[EasyCoding]] pages (these project are usually a couple of hours long and has been chosen to provide easy access to code)&lt;br /&gt;
&lt;br /&gt;
Usually, patches go back and forth a couple of time, to make sure that all secondary things are in place (indenting, coding style, modified makefiles etc.) The idea is that coder education should take place before the coder gets commit rights, but that getting new coder in is one of the most important things to maintain our project alive.&lt;br /&gt;
&lt;br /&gt;
If the student is a little proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also plan to give a special forum title to any students. This will allow all forum members to tell them appart from normal users and give them read/write access to the developper only forums.&lt;br /&gt;
&lt;br /&gt;
This will also allow usto quickly spot any problem they might have interacting with the player community. We have a very mature developper community, but our player community is made of all sort of people of all age and education, and it can be rough at time.&lt;br /&gt;
&lt;br /&gt;
==== What will you do to ensure that your accepted students stick with the project after GSoC concludes?====&lt;br /&gt;
&lt;br /&gt;
Since our community has a history of having developpers easily and quickly join, we expect the student to be full-fledge developpers quite faset (probably a little after the end of the bonding period). &lt;br /&gt;
&lt;br /&gt;
Thus there will be no &amp;quot;end of GSoC&amp;quot; transition. At the end of the Summer of code we expect the student to be responsible for the part he developped, and to continue taking care of it, like other developpers are responsible for their part.&lt;br /&gt;
&lt;br /&gt;
''''TO BE COMPLETED''''&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. He is currently our C++ expert and is also the one that is working on the new Formula AI. Any questions regarding the formula AI should be directed to him.&lt;br /&gt;
&lt;br /&gt;
==== Mordante ====&lt;br /&gt;
Many of the possible projects involve the code for which he is an area expert. Also, many of the possible projects currently listed on the ideas page require GUI parts to work. Given that Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as already being our area expert for the terrain engine.&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He wrote the original version of campgen and as such will know a lot about what is needed to to make such an editor work correctly. The work on a scenario editor might be based upon campgen and as such his knowledge will be really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he participated at GSoC as a student, so he will understand the situation of GSoC students. Beside this he is our top expert on embedded devices, and is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he accustomed to critiquing patches of every kind. Beside this, he knows many areas of the game due to working on applying patches. He is particularly used to answering question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
He was the one who started the &amp;quot;two patches, you're in&amp;quot; policy and the ReferenceWML part of the project&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He knows our MP server setup best. Beside this he has already done a lot of work on the MP server himself. So he probably has most knowledge about it and, being one of our MP-developers, might provide important help from the perspective of the MP player community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuvaen ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&lt;br /&gt;
&lt;br /&gt;
==== YogiHH or Piotr Cychowski (cycholka) ====&lt;br /&gt;
Since they are the two developers who know most about building under Windows, they will probably be really helpful. Either if the student comes from the Windows side, or to help test resulting work to make sure that it does work on Windows and, for the case that it does not, to show them where problems are.&lt;br /&gt;
&lt;br /&gt;
==== Eric S. Raymond (ESR) ====&lt;br /&gt;
ESR is our project toolsmith; he has written several tools that semi-automate various aspects of WML maintenance.  While most of our developers/designers concentrate on either the C++ core or WML but not both, he has a balanced understanding of both levels and may be helpful in helping students develop a grasp of the overall architecture.  Finally, he did the last overhaul of the Wesnoth UI and understands UI design principles; he is well-equipped to guide students working in that area.&lt;br /&gt;
&lt;br /&gt;
==== Noyga ====&lt;br /&gt;
Another versatile developer, on the C++ side he doesn't concentrate on a particular area, but know quite well the C++ side of units, abilities and WML. On the WML side he's an expert.&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2008&amp;diff=21809</id>
		<title>Fosdem2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2008&amp;diff=21809"/>
		<updated>2008-02-19T21:05:12Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
* Fosdem - http://fosdem.org/2008/&lt;br /&gt;
* Dave's talk (Chavanne, Saturday, 15:00-15:45) - http://fosdem.org/2008/schedule/events/240&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| Boucman&lt;br /&gt;
| 22, 22:10 (train: Bruxelles-Midi)&lt;br /&gt;
| 24, 18:40 (train: Bruxelles-Midi)&lt;br /&gt;
| Hotel Du Congres&lt;br /&gt;
|-&lt;br /&gt;
| David &amp;amp; Lisa&lt;br /&gt;
| 18, morning&lt;br /&gt;
| 25, morning&lt;br /&gt;
| Novotel Grand Place&lt;br /&gt;
|-&lt;br /&gt;
| ettin&lt;br /&gt;
| 22, 9:15 (BRU)&lt;br /&gt;
| 24, 15:25 (BRU)&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| grzywacz&lt;br /&gt;
| 22, 20:35 (CHA)&lt;br /&gt;
| 24, 20:50 (CHA)&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic&lt;br /&gt;
| 22, lunchtime&lt;br /&gt;
| 25, lunchtime&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| Mist (aka cycholka)&lt;br /&gt;
| 22, 19:30 (train: Bruxelles-Midi)&lt;br /&gt;
| 25, lunchtime&lt;br /&gt;
| CrownePlaza (Europa)&lt;br /&gt;
|-&lt;br /&gt;
| Mordante&lt;br /&gt;
| 22, lunchtime&lt;br /&gt;
| 24, lunchtime&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| Noyga (together with boucman)&lt;br /&gt;
| 22, 22:10 (train: Bruxelles-Midi)&lt;br /&gt;
| 24, 18:40 (train: Bruxelles-Midi)&lt;br /&gt;
| Hotel Du Congres &lt;br /&gt;
|-&lt;br /&gt;
| PingPangQui&lt;br /&gt;
| 21st, evening&lt;br /&gt;
| 25th, late afternoon&lt;br /&gt;
| Bruegel YH (no bed for 23rd yet)&lt;br /&gt;
|-&lt;br /&gt;
| Rhonda&lt;br /&gt;
| 22, 08:40 (BRU)&lt;br /&gt;
| 24, 19:50 (BRU)&lt;br /&gt;
| NH Brussels City Centre&lt;br /&gt;
|-&lt;br /&gt;
| YogiHH&lt;br /&gt;
| 22, 19:40 (BRU)&lt;br /&gt;
| 24, 20:00 (BRU)&lt;br /&gt;
| Floris Louise&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
* [http://tinyurl.com/3a65gr Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/35br9c Brussels Central (Train Station) → Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/37d9v4 Bruegel YH → Brussels Central (Train Station) → Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/2mzns6 Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/3dggg3 CrownePlaza (Europa)]&lt;br /&gt;
* [http://tinyurl.com/36epxj FOSDEM]&lt;br /&gt;
* [http://tinyurl.com/2w4bms Novotel Grand Place -&amp;gt; FOSDEM]&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
Information about how to reach the FOSDEM is listed at the [http://fosdem.org/2008/practical/transportation official transportation subpage].&lt;br /&gt;
&lt;br /&gt;
Short version of how to get there for those that reside in Bruegel YH and Novotel Grand Place:&lt;br /&gt;
&lt;br /&gt;
* Enter Bus 71 (Debrouckere - Central Station (&amp;quot;Gare Centrale&amp;quot;) - Delta) somewhere at 'Central Station'&lt;br /&gt;
* Leave the bus at &amp;quot;ULB&amp;quot; (crossroads Ave. Adolphe Buyl - Sq. Deveze)&lt;br /&gt;
* Walk down Ave. Paul Heger on your right hand.&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2008&amp;diff=21807</id>
		<title>Fosdem2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2008&amp;diff=21807"/>
		<updated>2008-02-19T21:00:50Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
* Fosdem - http://fosdem.org/2008/&lt;br /&gt;
* Dave's talk (Chavanne, Saturday, 15:00-15:45) - http://fosdem.org/2008/schedule/events/240&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| Boucman&lt;br /&gt;
| 22, 21:10 (train: Bruxelles-Midi)&lt;br /&gt;
| 24, 18:40 (train: Bruxelles-Midi)&lt;br /&gt;
| Hotel Du Congres&lt;br /&gt;
|-&lt;br /&gt;
| David &amp;amp; Lisa&lt;br /&gt;
| 18, morning&lt;br /&gt;
| 25, morning&lt;br /&gt;
| Novotel Grand Place&lt;br /&gt;
|-&lt;br /&gt;
| ettin&lt;br /&gt;
| 22, 9:15 (BRU)&lt;br /&gt;
| 24, 15:25 (BRU)&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| grzywacz&lt;br /&gt;
| 22, 20:35 (CHA)&lt;br /&gt;
| 24, 20:50 (CHA)&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic&lt;br /&gt;
| 22, lunchtime&lt;br /&gt;
| 25, lunchtime&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| Mist (aka cycholka)&lt;br /&gt;
| 22, 19:30 (train: Bruxelles-Midi)&lt;br /&gt;
| 25, lunchtime&lt;br /&gt;
| CrownePlaza (Europa)&lt;br /&gt;
|-&lt;br /&gt;
| Mordante&lt;br /&gt;
| 22, lunchtime&lt;br /&gt;
| 24, lunchtime&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| Noyga (together with boucman)&lt;br /&gt;
| 22, 21:10 (train: Bruxelles-Midi)&lt;br /&gt;
| 24, 18:40 (train: Bruxelles-Midi)&lt;br /&gt;
| Hotel Du Congres &lt;br /&gt;
|-&lt;br /&gt;
| PingPangQui&lt;br /&gt;
| 21st, evening&lt;br /&gt;
| 25th, late afternoon&lt;br /&gt;
| Bruegel YH (no bed for 23rd yet)&lt;br /&gt;
|-&lt;br /&gt;
| Rhonda&lt;br /&gt;
| 22, 08:40 (BRU)&lt;br /&gt;
| 24, 19:50 (BRU)&lt;br /&gt;
| NH Brussels City Centre&lt;br /&gt;
|-&lt;br /&gt;
| YogiHH&lt;br /&gt;
| 22, 19:40 (BRU)&lt;br /&gt;
| 24, 20:00 (BRU)&lt;br /&gt;
| Floris Louise&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
* [http://tinyurl.com/3a65gr Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/35br9c Brussels Central (Train Station) → Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/37d9v4 Bruegel YH → Brussels Central (Train Station) → Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/2mzns6 Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/3dggg3 CrownePlaza (Europa)]&lt;br /&gt;
* [http://tinyurl.com/36epxj FOSDEM]&lt;br /&gt;
* [http://tinyurl.com/2w4bms Novotel Grand Place -&amp;gt; FOSDEM]&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
Information about how to reach the FOSDEM is listed at the [http://fosdem.org/2008/practical/transportation official transportation subpage].&lt;br /&gt;
&lt;br /&gt;
Short version of how to get there for those that reside in Bruegel YH and Novotel Grand Place:&lt;br /&gt;
&lt;br /&gt;
* Enter Bus 71 (Debrouckere - Central Station (&amp;quot;Gare Centrale&amp;quot;) - Delta) somewhere at 'Central Station'&lt;br /&gt;
* Leave the bus at &amp;quot;ULB&amp;quot; (crossroads Ave. Adolphe Buyl - Sq. Deveze)&lt;br /&gt;
* Walk down Ave. Paul Heger on your right hand.&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21578</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21578"/>
		<updated>2008-02-11T21:06:52Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, plusieurs Wikis servent de dictionnaires pour décrire l'univers de Wesnoth :&lt;br /&gt;
# unités : [[FrenchUnits]] ;&lt;br /&gt;
# noms communs : [[NomsCommuns]] ;&lt;br /&gt;
# noms propres : [[NomsPropres]].&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner son orthographe : le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
&lt;br /&gt;
Les rectifications d'orthographes préconisées par l'Académie Française peuvent s'appliquer (http://www.academie-francaise.fr/langue/orthographe/regles.html).&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* notepad++ (http://notepad-plus.sourceforge.net/fr/site.htm) ;&lt;br /&gt;
#* textpad (http://www.textpad.com/);&lt;br /&gt;
#* ou, pour Mac, Textwrangler (http://www.barebones.com/products/textwrangler/index.shtml) ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* poEdit, pour Mac et PC (http://www.poedit.net/) ;&lt;br /&gt;
#* KBabel (http://i18n.kde.org/tools/kbabel/) ;&lt;br /&gt;
#* gtranslator (http://gtranslator.sourceforge.net/).&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite commence par &amp;quot;$&amp;quot;, rien ne s'affiche&lt;br /&gt;
&lt;br /&gt;
dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe (seulement quand la phrase commence par $)&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 11/02/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth (.po principal) : Noyga&lt;br /&gt;
** wesnoth-multiplayer (Multijoueur) : Noyga&lt;br /&gt;
** wesnoth-httt (Heir To The Throne / L'Héritier du trône) : La_vie_en_Wose&lt;br /&gt;
** wesnoth-thot (The Hammer of Thursagan) : Dylann/gotrek860&lt;br /&gt;
** wesnoth-nr (Northern Rebirth) : Damien&lt;br /&gt;
** wesnoth-tsg (The South Guard) : Damien&lt;br /&gt;
** wesnoth-l (Liberty) : Pierre&lt;br /&gt;
** wesnoth-did (Descent in the Darkness) : Jean-joseph&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
** wesnoth-lib (Librairie commune) : Noyga&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21573</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21573"/>
		<updated>2008-02-11T11:25:50Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, plusieurs Wikis servent de dictionnaires pour décrire l'univers de Wesnoth :&lt;br /&gt;
# unités : [[FrenchUnits]] ;&lt;br /&gt;
# noms communs : [[NomsCommuns]] ;&lt;br /&gt;
# noms propres : [[NomsPropres]].&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner son orthographe : le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
&lt;br /&gt;
Les rectifications d'orthographes préconisées par l'Académie Française peuvent s'appliquer (http://www.academie-francaise.fr/langue/orthographe/regles.html).&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* notepad++ (http://notepad-plus.sourceforge.net/fr/site.htm) ;&lt;br /&gt;
#* textpad (http://www.textpad.com/);&lt;br /&gt;
#* ou, pour Mac, Textwrangler (http://www.barebones.com/products/textwrangler/index.shtml) ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* poEdit, pour Mac et PC (http://www.poedit.net/) ;&lt;br /&gt;
#* KBabel (http://i18n.kde.org/tools/kbabel/) ;&lt;br /&gt;
#* gtranslator (http://gtranslator.sourceforge.net/).&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite commence par &amp;quot;$&amp;quot;, rien ne s'affiche&lt;br /&gt;
&lt;br /&gt;
dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe (seulement quand la phrase commence par $)&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 11/02/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth (.po principal) : Noyga&lt;br /&gt;
** wesnoth-multiplayer (Multijoueur) : Noyga&lt;br /&gt;
** wesnoth-httt (Heir To The Throne / L'Héritier du trône) : La_vie_en_Wose&lt;br /&gt;
** wesnoth-thot (The Hammer of Thursagan) : Dylann/gotrek860&lt;br /&gt;
** wesnoth-nr (Northern Rebirth) : Damien&lt;br /&gt;
** wesnoth-tsg (The South Guard) : Damien&lt;br /&gt;
** wesnoth-l (Liberty) : Pierre&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
** wesnoth-lib (Librairie commune) : Noyga&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21572</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21572"/>
		<updated>2008-02-11T11:25:01Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, plusieurs Wikis servent de dictionnaires pour décrire l'univers de Wesnoth :&lt;br /&gt;
# unités : [[FrenchUnits]] ;&lt;br /&gt;
# noms communs : [[NomsCommuns]] ;&lt;br /&gt;
# noms propres : [[NomsPropres]].&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner son orthographe : le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
&lt;br /&gt;
Les rectifications d'orthographes préconisées par l'Académie Française peuvent s'appliquer (http://www.academie-francaise.fr/langue/orthographe/regles.html).&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* notepad++ (http://notepad-plus.sourceforge.net/fr/site.htm) ;&lt;br /&gt;
#* textpad (http://www.textpad.com/);&lt;br /&gt;
#* ou, pour Mac, Textwrangler (http://www.barebones.com/products/textwrangler/index.shtml) ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* poEdit, pour Mac et PC (http://www.poedit.net/) ;&lt;br /&gt;
#* KBabel (http://i18n.kde.org/tools/kbabel/) ;&lt;br /&gt;
#* gtranslator (http://gtranslator.sourceforge.net/).&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite commence par &amp;quot;$&amp;quot;, rien ne s'affiche&lt;br /&gt;
&lt;br /&gt;
dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe (seulement quand la phrase commence par $)&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 08/02/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth (.po principal) : Noyga&lt;br /&gt;
** wesnoth-multiplayer (Multijoueur) : Noyga&lt;br /&gt;
** wesnoth-httt (Heir To The Throne / L'Héritier du trône) : La_vie_en_Wose&lt;br /&gt;
** wesnoth-thot (The Hammer of Thursagan) : Dylann/gotrek860&lt;br /&gt;
** wesnoth-nr (Northern Rebirth) : Damien&lt;br /&gt;
** wesnoth-tsg (The South Guard) : Damien&lt;br /&gt;
** wesnoth-l (Liberty) : Pierre&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
** wesnoth-lib (Librairie commune) : Noyga&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21532</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21532"/>
		<updated>2008-02-09T09:49:44Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, plusieurs Wikis servent de dictionnaires pour décrire l'univers de Wesnoth :&lt;br /&gt;
# unités : [[FrenchUnits]] ;&lt;br /&gt;
# noms communs : [[NomsCommuns]] ;&lt;br /&gt;
# noms propres : [[NomsPropres]].&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner son orthographe : le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
&lt;br /&gt;
Les rectifications d'orthographes préconisées par l'Académie Française peuvent s'appliquer (http://www.academie-francaise.fr/langue/orthographe/regles.html).&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* notepad++ (http://notepad-plus.sourceforge.net/fr/site.htm) ;&lt;br /&gt;
#* textpad (http://www.textpad.com/);&lt;br /&gt;
#* ou, pour Mac, Textwrangler (http://www.barebones.com/products/textwrangler/index.shtml) ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* poEdit, pour Mac et PC (http://www.poedit.net/) ;&lt;br /&gt;
#* KBabel (http://i18n.kde.org/tools/kbabel/) ;&lt;br /&gt;
#* gtranslator (http://gtranslator.sourceforge.net/).&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite commence par &amp;quot;$&amp;quot;, rien ne s'affiche&lt;br /&gt;
&lt;br /&gt;
dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe (seulement quand la phrase commence par $)&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 08/02/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth (.po principal) : Noyga&lt;br /&gt;
** wesnoth-multiplayer (Multijoueur) : Noyga&lt;br /&gt;
** wesnoth-httt (Heir To The Throne / L'Héritier du trône) : La_vie_en_Wose&lt;br /&gt;
** wesnoth-thot (The Hammer of Thursagan) : Dylann/gotrek860&lt;br /&gt;
** wesnoth-nr (Northern Rebirth) : Damien&lt;br /&gt;
** wesnoth-tsg (The South Guard) : Damien&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
** wesnoth-lib (Librairie commune) : Noyga&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21451</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21451"/>
		<updated>2008-02-03T18:18:05Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, plusieurs Wikis servent de dictionnaires pour décrire l'univers de Wesnoth :&lt;br /&gt;
# unités : [[FrenchUnits]] ;&lt;br /&gt;
# noms communs : [[NomsCommuns]] ;&lt;br /&gt;
# noms propres : [[NomsPropres]].&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner son orthographe : le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
&lt;br /&gt;
Les rectifications d'orthographes préconisées par l'Académie Française peuvent s'appliquer (http://www.academie-francaise.fr/langue/orthographe/regles.html).&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* notepad++ (http://notepad-plus.sourceforge.net/fr/site.htm) ;&lt;br /&gt;
#* textpad (http://www.textpad.com/);&lt;br /&gt;
#* ou, pour Mac, Textwrangler (http://www.barebones.com/products/textwrangler/index.shtml) ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* poEdit, pour Mac et PC (http://www.poedit.net/) ;&lt;br /&gt;
#* KBabel (http://i18n.kde.org/tools/kbabel/) ;&lt;br /&gt;
#* gtranslator (http://gtranslator.sourceforge.net/).&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite commence par &amp;quot;$&amp;quot;, rien ne s'affiche&lt;br /&gt;
&lt;br /&gt;
dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe (seulement quand la phrase commence par $)&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 14/01/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth (.po principal) : Noyga&lt;br /&gt;
** wesnoth-multiplayer (Multijoueur) : Noyga&lt;br /&gt;
** wesnoth-httt (Heir To The Throne / L'Héritier du trône) : La_vie_en_Wose&lt;br /&gt;
** wesnoth-thot (The Hammer of Thursagan) : Dylann/gotrek860&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
** wesnoth-lib (Librairie commune) : Noyga&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21450</id>
		<title>FrenchTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrenchTranslation&amp;diff=21450"/>
		<updated>2008-02-03T18:17:49Z</updated>

		<summary type="html">&lt;p&gt;Noyga: /* Aujourd'hui, qui fait quoi ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Battle for Wesnoth - Traduction française&lt;br /&gt;
== Le mot d'introduction ==&lt;br /&gt;
&lt;br /&gt;
Cette page sert à mieux coordonner l'effort de tous et à donner les informations souvent demandées avant de se lancer dans la traduction française.&lt;br /&gt;
&lt;br /&gt;
== Règles de traduction ==&lt;br /&gt;
=== Respect des termes de l'univers de Wesnoth ===&lt;br /&gt;
Pour améliorer la cohérence de l'ensemble des traductions, plusieurs Wikis servent de dictionnaires pour décrire l'univers de Wesnoth :&lt;br /&gt;
# unités : [[FrenchUnits]] ;&lt;br /&gt;
# noms communs : [[NomsCommuns]] ;&lt;br /&gt;
# noms propres : [[NomsPropres]].&lt;br /&gt;
&lt;br /&gt;
=== Respect du contexte ===&lt;br /&gt;
Il est important de correctement traduire les différents textes. Il ne suffit pas de traduire mot à mot les différentes phrases, il faut aussi faire très attention au contexte. &lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de typographie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Titres ====&lt;br /&gt;
Les titres des campagnes, des scénarios et des chapitres doivent suivre les règles de la langue française. Ces règles se trouvent sur http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_typographiques.&lt;br /&gt;
&lt;br /&gt;
==== Ponctuation ====&lt;br /&gt;
Les traductions doivent aussi suivre les règles de ponctuation de la langue française, essentielles à un bon affichage du texte ; par exemple, l'utilisation d'une espace fine avant le signe « : » évitera que ce signe ne se trouve en début de ligne d'un texte. Ces règles se trouvent sur http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html.&lt;br /&gt;
&lt;br /&gt;
Il est préférable de ne pas mettre de virgule ni avant le « et », ni avant le « ou » (contrairement à l'anglais).&lt;br /&gt;
&lt;br /&gt;
Remarque : sous Windows, la combinaison Alt+(0160) permet d'écrire une espace fine (les parenthèses indiquent qu'il faut maintenir la touche Alt appuyée).&lt;br /&gt;
Voici d'autres raccourcis : http://www.crdp-montpellier.fr/cd48/tice/trucs/majuscules.htm#win&lt;br /&gt;
&lt;br /&gt;
==== Majuscules ====&lt;br /&gt;
Les majuscules doivent être accentuées dans les textes traduits : À, Â, Æ, Ç, É, Ê, È, Î, Ô, Œ, Ù, Û...&lt;br /&gt;
&lt;br /&gt;
Voici également quelques rappels sur des confusions fréquentes :&lt;br /&gt;
# pas de majuscules aux noms des races (« nains », « elfes », « orcs », etc.)  ;&lt;br /&gt;
# majuscules aux noms de clans ou de factions (les humains de « l'Ordre de la Serre Pourpre ») ;&lt;br /&gt;
# majuscules aux points cardinaux quand on parle d'une partie d'un tout (« les forêts de l'Ouest » peuvent se trouver à l'est), et minuscule quand on parle de la direction (« aller vers le nord »).&lt;br /&gt;
&lt;br /&gt;
=== Respect des règles de l'orthographe ===&lt;br /&gt;
Il est préférable de soigner son orthographe : le CNRS et l'ATILF fournissent un dictionnaire en ligne performant et complet : http://atilf.atilf.fr/&lt;br /&gt;
&lt;br /&gt;
Les rectifications d'orthographes préconisées par l'Académie Française peuvent s'appliquer (http://www.academie-francaise.fr/langue/orthographe/regles.html).&lt;br /&gt;
&lt;br /&gt;
== Principes de traduction pour Wesnoth == &lt;br /&gt;
Le principe est de mettre à jour les fichiers .po, fichiers servant à gérer les traductions dans Wesnoth. Les échanges se font via la mailing list.&lt;br /&gt;
&lt;br /&gt;
=== S'inscrire à la mailing list ===&lt;br /&gt;
La mailing list francophone de Wesnoth est l'outil privilégié pour &lt;br /&gt;
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),&lt;br /&gt;
# envoyer ses traductions pour validation ou relecture,&lt;br /&gt;
# poser des questions.&lt;br /&gt;
&lt;br /&gt;
Pour s'inscrire à la mailing list, envoyez un mail vide ayant comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnoth-request@ml.free.fr?subject=subscribe et envoyez...&lt;br /&gt;
&lt;br /&gt;
Les responsables des différentes mailing list sont ici : [[WesnothTranslations]].&lt;br /&gt;
&lt;br /&gt;
Les archives de la mailing list sont ici : http://news.gmane.org/gmane.games.wesnoth-fr ; vous pouvez vous abonner au serveur de news news.gmane.org (gmane.games.wesnoth-fr).&lt;br /&gt;
&lt;br /&gt;
Il est également possible de discuter sur le canal IRC #wesnothfr (sur irc.freenode.net) ou sur le forum, mais l'équipe de traduction française ne s'y promène que rarement.&lt;br /&gt;
&lt;br /&gt;
=== Récupérer les fichiers .po nécessaires ===&lt;br /&gt;
Les fichiers à traduire sont accessibles :&lt;br /&gt;
# soit par cette page : http://gettext.wesnoth.org/ (le plus simple),&lt;br /&gt;
# soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS). &lt;br /&gt;
&lt;br /&gt;
=== Modifier les fichiers .po et vérifier le statut des lignes traduites ===&lt;br /&gt;
Plusieurs logiciels permettent de modifier ces fichiers : &lt;br /&gt;
# les éditeurs de texte&lt;br /&gt;
#* notepad++ (http://notepad-plus.sourceforge.net/fr/site.htm) ;&lt;br /&gt;
#* textpad (http://www.textpad.com/);&lt;br /&gt;
#* ou, pour Mac, Textwrangler (http://www.barebones.com/products/textwrangler/index.shtml) ; &lt;br /&gt;
#* et puis bien d'autres encore...&lt;br /&gt;
# ou des éditeurs spécifiques aux fichiers .po &lt;br /&gt;
#* poEdit, pour Mac et PC (http://www.poedit.net/) ;&lt;br /&gt;
#* KBabel (http://i18n.kde.org/tools/kbabel/) ;&lt;br /&gt;
#* gtranslator (http://gtranslator.sourceforge.net/).&lt;br /&gt;
&lt;br /&gt;
Chaque champ de traduction possède un statut :&lt;br /&gt;
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative (&amp;quot;fuzzy&amp;quot; en anglais), et ce même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;&lt;br /&gt;
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ; &lt;br /&gt;
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;&lt;br /&gt;
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.&lt;br /&gt;
&lt;br /&gt;
=== Tester sa traduction ===&lt;br /&gt;
Si vous le désirez, vous pouvez immédiatement tester votre traduction :&lt;br /&gt;
# enlevez l'option fuzzy de la ligne (ou des lignes) que vous voulez vérifier ;&lt;br /&gt;
# générez un fichier compilé « .mo » à partir du fichier texte « .po » ;&lt;br /&gt;
#*En ligne de commande : la commande « msgfmt » peut être utilisée avec le nom du fichier « .po » (exemple : « msgfmt mon_fichier.po -o mon_fichier.mo » générera « mon_fichier.mo »).&lt;br /&gt;
#*Avec l'éditeur « poedit » : « Fichier -&amp;gt; Préférence », onglet « Editeur, cochez la case « Compiler automatiquement les fichiers .mo lors de la sauvegarde » ; sauvez le fichier. &lt;br /&gt;
# copiez votre fichier dans le répertoire contenant les traductions et renommez-le ;&lt;br /&gt;
#*Sous Windows, &amp;lt;Répertoire d'installation de Wesnoth&amp;gt;\fr\LC_MESSAGES\&amp;lt;Nom du fichier à tester&amp;gt; (Exemple : C:\Wesnoth\po\fr\LC_MESSAGES\wesnoth-utbs.mo) ;&lt;br /&gt;
#*Sous Linux, répertoire en fonction de la distribution (Exemple Mandriva : /usr/share/locale/fr/LC_MESSAGES).&lt;br /&gt;
# jouez.... jusqu'au moment où le texte traduit est censé apparaître ; il n'est pas nécessaire de tout reprendre depuis le début, une sauvegarde fonctionne. Un texte traduit sans erreur apparaît... traduit.&lt;br /&gt;
&lt;br /&gt;
Remarque : pour accélérer les tests, vous pouvez utiliser le mode debug de Wesnoth :&lt;br /&gt;
#Pour passer en mode débug :&lt;br /&gt;
#*taper : (pour ouvrir le mode de commande), puis : debug&amp;lt;entrée&amp;gt;&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe --debug&amp;quot;,&lt;br /&gt;
#*ou taper &amp;quot;wesnoth.exe -d&amp;quot;&lt;br /&gt;
# pour utiliser le mode débug :&lt;br /&gt;
#*&amp;quot;:debug&amp;quot; entre en mode debug&lt;br /&gt;
#*&amp;quot;:n&amp;quot; termine le scénario immédiatement&lt;br /&gt;
&lt;br /&gt;
=== Envoyer sa traduction ===&lt;br /&gt;
Une traduction terminée est compressée, puis envoyée à la ML.&lt;br /&gt;
&lt;br /&gt;
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du mail, par exemple en faisant comme ci-dessous :&lt;br /&gt;
#Exemple 1 (refonte d'une phrase) : &amp;lt;br /&amp;gt;N° ligne&amp;lt;br /&amp;gt;Anciene version =&amp;gt; Nouvelle version.&lt;br /&gt;
#Exemple 2 (correction d'une faute, indiquée par des *) : &amp;lt;br /&amp;gt;N°Ligne&amp;lt;br /&amp;gt;Ancien*n*e version&lt;br /&gt;
&lt;br /&gt;
Il est également possible de générer un fichier différentiel entre l'ancienne et la nouvelle version ; mais l'expérience semble montrer que cela est peu relu.&lt;br /&gt;
Cette techique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).&lt;br /&gt;
&lt;br /&gt;
=== Attention ===&lt;br /&gt;
Il y a un bug récurent dans les fichiers po : lorsque la phrase traduite commence par &amp;quot;$&amp;quot;, rien ne s'affiche&lt;br /&gt;
&lt;br /&gt;
dans le jeu. Pour corriger le problème, il suffit de mettre un simple espace devant le signe (seulement quand la phrase commence par $)&lt;br /&gt;
&lt;br /&gt;
== Aujourd'hui, qui fait quoi ? ==&lt;br /&gt;
Ce chapitre vous permet de savoir qui fait quoi... &lt;br /&gt;
&lt;br /&gt;
Date de dernière mise à jour : 14/01/2008&lt;br /&gt;
* Traductions&lt;br /&gt;
** wesnoth (.po principal) : Noyga&lt;br /&gt;
** wesnoth-multiplayer (Multijoueur) : Noyga&lt;br /&gt;
** wesnoth-httt (Heir To The Throne / L'Héritier du trône) : La_vie_en_Wose&lt;br /&gt;
** wesnoth-thot (The hammer of Thursagan) : Dylann/gotrek860&lt;br /&gt;
* Relectures / À relire&lt;br /&gt;
** wesnoth-lib (Librairie commune) : Noyga&lt;/div&gt;</summary>
		<author><name>Noyga</name></author>
		
	</entry>
</feed>