Difference between revisions of "FrenchTranslation"

From The Battle for Wesnoth Wiki
(Dictionnaire)
 
(214 intermediate revisions by 22 users not shown)
Line 1: Line 1:
= Battle for Wesnoth - Traduction française =
+
Battle for Wesnoth - Traduction française
 
== Le mot d'introduction ==
 
== Le mot d'introduction ==
  
Cette page sert à mieux coordonner l'effort de tous. Elle ne remplace pas complètement la ML mais essaye d'afficher
+
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.
un statut plus clair et moins difficile à trouver que de parcourir les archives de la
 
ML ( http://news.gmane.org/gmane.games.wesnoth-fr ).
 
  
== Marche à suivre ==
 
  
Pour traduire les Wesnoth il faut mettre à jour les fichiers .po, fichiers servants à gérer les traductions dans
+
== Comment participer? ==
Wesnoth (et dans de nombreux projets).
+
Comme pour de nombreux autres projets open source, l'internationalisation de Battle for Wesnoth est basée sur l'utilisation de fichiers .po (pour en savoir plus sur ce système : http://fr.wikipedia.org/wiki/Gettext).
 +
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.
  
 +
=== Première étape : S'inscrire à la liste de diffusion ===
 +
La liste de diffusion francophone de Wesnoth est l'outil privilégié pour
 +
# d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),
 +
# envoyer ses traductions pour validation ou relecture,
 +
# poser des questions.
  
Pour ce faire il faut tout d'abord les récupérer :
+
Pour s'inscrire à la liste, envoyez un courriel vide à wesnothfr-request (at) lists.tuxfamily.org avec comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnothfr-request@lists.tuxfamily.org?subject=subscribe et envoyez... Pour se désinscrire, envoyez aussi un courriel à wesnothfr-request@lists.tuxfamily.org, mais avec pour sujet unsubscribe.
* soit par cette page : http://gettext.wesnoth.org/ (c'est le plus simple)
 
* soit par le CVS : http://savannah.nongnu.org/cvs/?group=wesnoth (si on aime CVS).
 
  
Quand vous êtes en possession de ces fichiers, il vous suffit de les modifier.
+
Une fois que vous aurez envoyé le message d'inscription, il vous faudra la confirmer en cliquant sur un lien fourni dans un courriel envoyé par le robot de souscription. Une fois ceci fait, vous pourrez utiliser la liste de diffusion dont l'adresse est '''wesnothfr (at) lists.tuxfamily.org'''
  
Pour cela plusieurs solutions :
+
A titre d'information, la liste de diffusion changé le 19/10/2019, passant de wesnoth (at) ml.free.fr à wesnothfr (at) lists.tuxfamily.org.
* Vous modifiez directement le fichier avec un éditeur de fichier texte
 
* Vous utilisez un logiciel pour éditer les fichiers .po ( http://www.poedit.org/ - http://i18n.kde.org/tools/kbabel/
 
- http://gtranslator.sourceforge.net/ ).
 
  
 +
Les responsables des différentes listes de diffusion sont ici : [[WesnothTranslations]].
  
Si vous décidez de participer à la traduction du jeu, il est important de tenir au courant le reste de l'équipe de
+
=== Deuxième étape : S'équiper pour modifier les fichiers .po ===
traduction pour ne pas travailler sur le même fichier.
+
Plusieurs logiciels permettent de modifier ces fichiers :
 +
# des éditeurs spécifiques aux fichiers .po
 +
#* [http://www.poedit.net/ poEdit], Multiplateforme ;
 +
#* [http://gtranslator.sourceforge.net/ gtranslator], Multiplateforme ;
 +
#* [http://translate.sourceforge.net/wiki/virtaal/ Virtaal], Multiplateforme ;
 +
#* [http://userbase.kde.org/Lokalize Lokalize] ainsi que KBabel qui n'est plus maintenu au profit de Lokalize.
 +
# ou les éditeurs de texte (moins pratique)
 +
#* [http://notepad-plus.sourceforge.net/fr/site.htm notepad++] ;
 +
#* [http://www.textpad.com/ textpad] ;
 +
#* ou, pour Mac, [http://www.barebones.com/products/textwrangler/index.shtml Textwrangler] ;
 +
#* et puis bien d'autres encore...
  
Pour ce faire, il suffit d'envoyer un message sur la mailing liste (rubrique [#contact contact]) en
+
Quel que soit le logiciel choisi, il est nécessaire de réaliser un petit paramétrage, pas très compliqué, mais qu'il vaut mieux faire correctement tout de même...
indiquant sur quel fichier vous travaillez, et si vous effectuez une relecture ou une traduction.
 
  
Actuellement, il serait intéressant de participer à la relecture des fichiers officiels (hors campagnes utilisateurs
+
Les logiciels spécifiques (poEdit, gtranslator, ...) requièrent un petit paramétrage lors de la première utilisation. Tout ou partie des informations suivantes pourraient vous être demandées (parfois sous des dénominations différentes). Vous devez les renseigner tel quel : <br />
donc) pour ainsi améliorer la traduction de la distribution de base.
+
''Language-Team: French <wesnothfr@lists.tuxfamily.org> ''<br />
 +
''Language: fr ''<br />
 +
''MIME-Version: 1.0 ''<br />
 +
''Content-Type: text/plain; charset=UTF-8 ''<br />
 +
''Content-Transfer-Encoding: 8bit ''<br />
 +
''Plural-Forms: nplurals=2; plural=(n > 1); ''
  
== Quelles sont les règles de la traduction ? ==
+
(Notez la présence d'un point virgule à la fin du dernier champ.)
  
Attention, 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.
+
Pour les simples éditeurs de texte, cette configuration à la première utilisation n'est pas nécessaire mais une configuration similaire est nécessaire lors de la traduction d'un nouveau fichier (qui n'a encore jamais été traduit). Il faut alors renseigner l'entête du fichier .po, le plus simple étant alors de se baser sur l'entête d'un fichier po existant.
  
Il est aussi important de faire attention à la typographie du texte.
+
=== Troisième étape : Jeter votre dévolu sur un fichier à actualiser, et récupérer les fichiers .po nécessaires ===
 +
Idéalement, le processus est le suivant : Traduction-Révision-Relecture. Pour les traductions ou révisions, il est est nécessaire de posséder un bon niveau dans les deux langues, mais les relectures ne concernent en principe que des fautes de frappe ou des fautes d'orthographe. A vous de juger de votre niveau d'expérience pour vous atteler à une tâche qui vous convient.
  
En effet, dans la langue française, des règles très précises sont utilisées pour placer les différents signes de ponctuation. Vous pouvez trouver ces règles sur cette page :
+
Les fichiers à traduire sont dans les sous-répertoires du répertoire « po » du code source de Wesnoth (pour les traductions officielles) et sur Wescamp (pour les extensions). Pour les traductions officielles, trouvez les liens à [[WesnothRepository]]. Pour les extensions, voir [[WesCamp]] et naviguer sur https://github.com/wescamp
http://www.reveenjoie-poesie.com/outils-linguistiques/Typographie_francaise.html
 
  
Un point sur lequel Ayin (un traducteur et développeur) est pointilleux, c'est concernant les espaces insécables (point abordé dans la page du lien ci-dessus). Pour information, sous Windows il faut utiliser la combinaison suivante pour l'obtenir : alt+(0160) (les parenthèses indiquent qu'il faut maintenir alt appuyé).
+
Une alternative est de consulter cette page sur l'état d'avancement : http://www.wesnoth.org/gettext/?view=langs&version=branch&lang=fr
: J'ai jamais été tellement pointilleux que ça pour les espaces insécables - après tout, ça peut se scripter relativement facilement :-). Par contre, pour les accents, c'est une autre histoire. [[User:Ayin|Ayin]] <sup>[[User_talk:Ayin|(talk)]]</sup> 18:39, 24 October 2005 (CEST)
+
Cette méthode permet de facilement consulter l'étendu de ce qu'il reste à traduire : pour débuter, vous pouvez prendre un fichier dont il reste moins d'une dizaine de chaines à traduire.
  
Un autre point important est la présence des majuscules accentuées telles que É, È, À, et des ligatures telles que œ et Œ qui s'obtiennent par des combinaisons de touches assez facilement.
 
  
Un dernier point : en français, et contrairement à l'anglais, on ne met pas de virgule ni avant le ''et'' ni avant le ''ou''.
+
Pour les fichiers à réviser ou à relire, il est préférable de s'adresser à la liste de diffusion pour être certain de récupérer la dernière version disponible.
  
== Dictionnaires ==
+
'''Remarque :''' Wesnoth suit un [[FrenchTranslation/CycleDeDeveloppementDeWesnoth|cycle de développement]]. Déterminer la période de développement actuelle vous permettra de savoir s'il est préférable d'actualiser la version stable ou la version de développement du fichier que vous choisirez. N'hésitez pas à demander quelle version il vaut mieux actualiser sur la liste de diffusion. (Une quelconque question sur la liste n'engage à aucune contribution !)
  
* La liste des unités et leur traduction : [[FrenchUnits]]
+
==== Traduire les images ====
 +
Certaines images comme le logo de Wesnoth, les cartes et les captures d'écrans peuvent être « traduites ». Si vous êtes intéressés par de telles traductions, renseignez-vous sur les images à traduire sur la liste de diffusion.
  
* Les noms communs utilisés dans l'univers de Wesnoth: [[NomsCommuns]]
+
Quelques informations sur ce type de traduction sont disponibles ici : [[ImageLocalization]]
  
* Les noms propres utilisés dans l'univers de Wesnoth : [[NomsPropres]] ''galactic turkey''
+
Le fichier [https://github.com/wesnoth/wesnoth/blob/master/l10n-track l10n-track] (anciennement [http://svn.gna.org/viewcvs/wesnoth/trunk/l10n-track?view=markup svn l10n-track]) donne le statut des traductions ''existantes''. Lorsque le statut n'est pas « ok », l'image doit être mise à jour. Les fichiers xcf (GIMP) des précédentes mises à jour sont disponibles [https://github.com/wesnoth/resources/tree/master/image-localization ici] (anciennement [http://svn.gna.org/viewcvs/wesnoth/branches/resources/image-localization/fr/ svn]) et peuvent être utilisés pour de nouvelles mises à jour.
  
== Contact ==
+
=== Quatrième étape : Modifier les fichiers .po et vérifier le statut des lignes traduites ===
 +
TRÈS IMPORTANT! : Avant de commencer à travailler, annoncez à la mailing list, ce que vous entreprenez.
 +
Avant de commencer votre première traduction, veuillez lire attentivement cette page de [[Conseils|Règles & Conseils]].
  
Les discussions sur la traduction française se font principalement sur la mailing list francophone de wesnoth
+
Ce qu'il faut savoir sur les fichiers .po, c'est que chaque champ de traduction possède un statut :
et le canal IRC #wesnothfr (sur irc.freenode.net).
+
# si vous traduisez pour la première fois un champ, mettez-le en traduction approximative ("fuzzy" en anglais), et cela, même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;
 +
# si vous relisez un champ, libre à vous de décider de son statut après votre relecture ;
 +
#* sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;
 +
#* laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.
  
Pour s'inscrire à la mailing list mailto:wesnoth-request@ml.free.fr?subject=subscribe
+
=== Pour finir : Envoyer sa traduction ===
 +
Une traduction terminée est compressée, puis envoyée à la ML.
  
Attention : bien qu'il existe un forum officiel pour les traductions, l'équipe de traduction française ne s'y promène que rarement, utilisez de préférence la mailing list.
+
Il est préférable, en cas de relecture, de signaler les modifications dans le corps du courriel, par exemple en faisant comme ci-dessous :
 +
#Exemple 1 (refonte d'une phrase) : <br />N° ligne<br />Anciene version => Nouvelle version.
 +
#Exemple 2 (correction d'une faute, indiquée par des *) : <br />N°Ligne<br />Ancien*n*e version
 +
 
 +
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.
 +
Cette technique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).
 +
 
 +
 
 +
=== Dans l'idéal : documenter sa traduction ===
 +
Traduire c'est aussi faire des choix. Pour que la relecture se passe bien et que la traduction soit maintenue correctement sur la durée, il est utile de commenter certains choix, notamment lorsqu'on opte pour une traduction libre. Il ne faut donc pas hésiter à mettre des commentaires dans les fichiers .po.
 +
 
 +
Une bonne pratique est également de mettre en place une page wiki pour archiver les choix faits, notamment en traduisant la page correspondant à la campagne ou à l'ère. Le nom de la page commencera par FR: suivi du nom de la campagne. Par exemple : [[Era_of_Myths]] et sa traduction [[FR:Era_of_Myths]] avec l'explication des choix des noms de factions.
 +
 
 +
=== Attention ===
 +
Voici quelques points qui nécessitent une attention particulière lors de la traduction (leur non-respect entrainant divers bugs) :
 +
* 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''.
 +
 
 +
* 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.
 +
 
 +
* ''\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'' bug s'il n'y a pas le même nombre de ''\n'' des deux côtés).
 +
 
 +
* Les chaînes telles que "Prefs section^General" ne doivent pas être traduites de manière classique : le texte précédent le ^ (« Prefs section » dans l'exemple) permet de définir le contexte pour la traduction et ne doit pas être traduit. La traduction de l'exemple ci-dessus serait donc "Général".
 +
 
 +
* Il n'est pas important de passer les commentaires de traductions d'une ligne à plusieurs lignes (ou inversement) : cela ne provoquera aucun bug.
 +
 
 +
== Aujourd'hui, qui fait quoi ? ==
 +
Pour avoir une idée des tâches en cours, le plus simple est de poser la question sur la liste de diffusion : "Quel fichier puis-je traduire ?"
 +
 
 +
Vous retrouvez l'adresse et les instructions pour s'inscrire à la liste ici : [[#Première étape : S'inscrire à la liste de diffusion]]
 +
 
 +
Si vous souhaitez vous lancer dans une traduction ou une relecture, pensez à avertir les autres traducteurs à travers la liste. Cela évitera le travail en double.
 +
 
 +
== Voir aussi ==
 +
* [[Conseils|Règles & Conseils]]
 +
 
 +
 
 +
[[Category:Translations]]
 +
[[Category:French]]

Latest revision as of 09:26, 22 October 2019

Battle for Wesnoth - Traduction française

Le mot d'introduction

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.


Comment participer?

Comme pour de nombreux autres projets open source, l'internationalisation de Battle for Wesnoth est basée sur l'utilisation de fichiers .po (pour en savoir plus sur ce système : http://fr.wikipedia.org/wiki/Gettext). 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.

Première étape : S'inscrire à la liste de diffusion

La liste de diffusion francophone de Wesnoth est l'outil privilégié pour

  1. d'abord avertir les traducteurs que vous allez commencer une traduction (et éviter de travailler sur le même fichier),
  2. envoyer ses traductions pour validation ou relecture,
  3. poser des questions.

Pour s'inscrire à la liste, envoyez un courriel vide à wesnothfr-request (at) lists.tuxfamily.org avec comme sujet « subscribe » (il sera traité par un robot) ; ou cliquez directement ici mailto:wesnothfr-request@lists.tuxfamily.org?subject=subscribe et envoyez... Pour se désinscrire, envoyez aussi un courriel à wesnothfr-request@lists.tuxfamily.org, mais avec pour sujet unsubscribe.

Une fois que vous aurez envoyé le message d'inscription, il vous faudra la confirmer en cliquant sur un lien fourni dans un courriel envoyé par le robot de souscription. Une fois ceci fait, vous pourrez utiliser la liste de diffusion dont l'adresse est wesnothfr (at) lists.tuxfamily.org

A titre d'information, la liste de diffusion changé le 19/10/2019, passant de wesnoth (at) ml.free.fr à wesnothfr (at) lists.tuxfamily.org.

Les responsables des différentes listes de diffusion sont ici : WesnothTranslations.

Deuxième étape : S'équiper pour modifier les fichiers .po

Plusieurs logiciels permettent de modifier ces fichiers :

  1. des éditeurs spécifiques aux fichiers .po
  2. ou les éditeurs de texte (moins pratique)

Quel que soit le logiciel choisi, il est nécessaire de réaliser un petit paramétrage, pas très compliqué, mais qu'il vaut mieux faire correctement tout de même...

Les logiciels spécifiques (poEdit, gtranslator, ...) requièrent un petit paramétrage lors de la première utilisation. Tout ou partie des informations suivantes pourraient vous être demandées (parfois sous des dénominations différentes). Vous devez les renseigner tel quel :
Language-Team: French <wesnothfr@lists.tuxfamily.org>
Language: fr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=(n > 1);

(Notez la présence d'un point virgule à la fin du dernier champ.)

Pour les simples éditeurs de texte, cette configuration à la première utilisation n'est pas nécessaire mais une configuration similaire est nécessaire lors de la traduction d'un nouveau fichier (qui n'a encore jamais été traduit). Il faut alors renseigner l'entête du fichier .po, le plus simple étant alors de se baser sur l'entête d'un fichier po existant.

Troisième étape : Jeter votre dévolu sur un fichier à actualiser, et récupérer les fichiers .po nécessaires

Idéalement, le processus est le suivant : Traduction-Révision-Relecture. Pour les traductions ou révisions, il est est nécessaire de posséder un bon niveau dans les deux langues, mais les relectures ne concernent en principe que des fautes de frappe ou des fautes d'orthographe. A vous de juger de votre niveau d'expérience pour vous atteler à une tâche qui vous convient.

Les fichiers à traduire sont dans les sous-répertoires du répertoire « po » du code source de Wesnoth (pour les traductions officielles) et sur Wescamp (pour les extensions). Pour les traductions officielles, trouvez les liens à WesnothRepository. Pour les extensions, voir WesCamp et naviguer sur https://github.com/wescamp

Une alternative est de consulter cette page sur l'état d'avancement : http://www.wesnoth.org/gettext/?view=langs&version=branch&lang=fr Cette méthode permet de facilement consulter l'étendu de ce qu'il reste à traduire : pour débuter, vous pouvez prendre un fichier dont il reste moins d'une dizaine de chaines à traduire.


Pour les fichiers à réviser ou à relire, il est préférable de s'adresser à la liste de diffusion pour être certain de récupérer la dernière version disponible.

Remarque : Wesnoth suit un cycle de développement. Déterminer la période de développement actuelle vous permettra de savoir s'il est préférable d'actualiser la version stable ou la version de développement du fichier que vous choisirez. N'hésitez pas à demander quelle version il vaut mieux actualiser sur la liste de diffusion. (Une quelconque question sur la liste n'engage à aucune contribution !)

Traduire les images

Certaines images comme le logo de Wesnoth, les cartes et les captures d'écrans peuvent être « traduites ». Si vous êtes intéressés par de telles traductions, renseignez-vous sur les images à traduire sur la liste de diffusion.

Quelques informations sur ce type de traduction sont disponibles ici : ImageLocalization

Le fichier l10n-track (anciennement svn l10n-track) donne le statut des traductions existantes. Lorsque le statut n'est pas « ok », l'image doit être mise à jour. Les fichiers xcf (GIMP) des précédentes mises à jour sont disponibles ici (anciennement svn) et peuvent être utilisés pour de nouvelles mises à jour.

Quatrième étape : Modifier les fichiers .po et vérifier le statut des lignes traduites

TRÈS IMPORTANT! : Avant de commencer à travailler, annoncez à la mailing list, ce que vous entreprenez. Avant de commencer votre première traduction, veuillez lire attentivement cette page de Règles & Conseils.

Ce qu'il faut savoir sur les fichiers .po, c'est que chaque champ de traduction possède un statut :

  1. si vous traduisez pour la première fois un champ, mettez-le en traduction approximative ("fuzzy" en anglais), et cela, même si c'est une traduction très basique ; toute traduction doit être relue au moins une fois avant d'être approuvée ;
  2. si vous relisez un champ, libre à vous de décider de son statut après votre relecture ;
    • sortez-le de son état approximatif si vous le considérez incontestablement bien traduit ;
    • laissez-le à l'état approximatif et demandez une deuxième relecture si vous n'êtes pas sûr de la traduction.

Pour finir : Envoyer sa traduction

Une traduction terminée est compressée, puis envoyée à la ML.

Il est préférable, en cas de relecture, de signaler les modifications dans le corps du courriel, par exemple en faisant comme ci-dessous :

  1. Exemple 1 (refonte d'une phrase) :
    N° ligne
    Anciene version => Nouvelle version.
  2. Exemple 2 (correction d'une faute, indiquée par des *) :
    N°Ligne
    Ancien*n*e version

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. Cette technique est surtout à utiliser qu'en cas de modifications massives (cas où le suivi ligne à ligne serait complexe et lourd).


Dans l'idéal : documenter sa traduction

Traduire c'est aussi faire des choix. Pour que la relecture se passe bien et que la traduction soit maintenue correctement sur la durée, il est utile de commenter certains choix, notamment lorsqu'on opte pour une traduction libre. Il ne faut donc pas hésiter à mettre des commentaires dans les fichiers .po.

Une bonne pratique est également de mettre en place une page wiki pour archiver les choix faits, notamment en traduisant la page correspondant à la campagne ou à l'ère. Le nom de la page commencera par FR: suivi du nom de la campagne. Par exemple : Era_of_Myths et sa traduction FR:Era_of_Myths avec l'explication des choix des noms de factions.

Attention

Voici quelques points qui nécessitent une attention particulière lors de la traduction (leur non-respect entrainant divers bugs) :

  • 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.
  • 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.
  • \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 bug s'il n'y a pas le même nombre de \n des deux côtés).
  • Les chaînes telles que "Prefs section^General" ne doivent pas être traduites de manière classique : le texte précédent le ^ (« Prefs section » dans l'exemple) permet de définir le contexte pour la traduction et ne doit pas être traduit. La traduction de l'exemple ci-dessus serait donc "Général".
  • Il n'est pas important de passer les commentaires de traductions d'une ligne à plusieurs lignes (ou inversement) : cela ne provoquera aucun bug.

Aujourd'hui, qui fait quoi ?

Pour avoir une idée des tâches en cours, le plus simple est de poser la question sur la liste de diffusion : "Quel fichier puis-je traduire ?"

Vous retrouvez l'adresse et les instructions pour s'inscrire à la liste ici : #Première étape : S'inscrire à la liste de diffusion

Si vous souhaitez vous lancer dans une traduction ou une relecture, pensez à avertir les autres traducteurs à travers la liste. Cela évitera le travail en double.

Voir aussi

This page was last edited on 22 October 2019, at 09:26.