« Aide:Gadget-CreerNouveauMot-ancien/Comment ajouter une langue » : différence entre les versions

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.
Contenu supprimé Contenu ajouté
Ligne 47 : Ligne 47 :


====DialogHtm()====
====DialogHtm()====
Génère la partie de code html créant la boite de dialogue qui est susceptible de changer d'une langue à une autre.

Le code html doit contenir les éléments suivants, sans modifier leurs "id" {{small|ou alors il faut modifier le module principal, ce qui ne devrait être fait qu'en dernière extrémité}}
*<code>select id="IdType"</code>
*<code>select id="IdGenre"</code>
*<code>input type="checkbox" id="IdLocution"</code> {{small|justification : la notion de "locution" peut varier d'une langue à l'autre}}
*<code>input type="checkbox" id="IdSigle"</code> {{small|justification : aucune}}
*<code>input type="checkbox" id="IdFlexion"</code>
*<code>input type="text" id="IdLemme"</code> {{small|le moyen de déterminer la forme non-fléchie dépend de la langue}}
Il est important de ne pas changer les "id", car c'est sur eux que se base le code principal pour récupérer les valeurs et les ranger dans des variables globales, pour que <code>Patron()</code> puisse générer le wikicode.

====Type()====
====Type()====
====Patron()====
====Patron()====

Version du 13 mai 2013 à 18:09

Le gadget Gadget-CreerNouveauMot est un code javascript, activable par tout utilisateur (enregistré) dans ses préférences, qui permet, lors de l’édition d’une page, d’ajouter en quelques clics un patron d’article dans la page en cours d’édition.

Mais au fait, comment y ajouter une langue ?

Cahier des charges

Gadget-CreerNouveauMot fonctionne pour toutes les langues. Mais un petit nombre d'entre elles bénéficient du support complet par le gadget, c'est-à-dire :

  • une barre des caractères API adaptée à la langue,
  • une interface proposant seulement et exactement les types de mots qui existent dans la langue,
    • une adaptation dynamique des menus pour ne proposer que ce qui existe,
    • une adaptation dynamique des menus pour essayer de proposer les options les plus probables,
  • une génération de wikicode adaptée à la langue,
    • création de la structure des articles avec le code de langue partout où il faut,
    • modèles d'ébauche insérés partout où l'utilisateur n'a pas rempli la case,
    • ajout automatique des modèles de flexion quand c'est possible,

Comment ajouter une langue

Le code principal du gadget est dans MediaWiki:Gadget-CreerNouveauMot.js. Le code spécifique à une langue est dans la sous-page MediaWiki:Gadget-CreerNouveauMot.js/code-langue.js.

Pour créer une nouvelle langue, il faut donc créer une nouvelle sous-page, puis la lier au code principal.

Contenu de la sous-page de langue

Elle contient les fonctions "publiques" (càd utilisées par le module principal) suivantes, qui par définition doivent être personnalisées :

  • CrNoMo_TitreHtml_code-langue() (titre de la boite de dialogue)
  • CrNoMo_BarreAPI_code-langue() (barre API de la boite de dialogue)
  • CrNoMo_DialogHtml_code-langue() (partie spécifique de la boite de dialogue)
  • CrNoMo_Type_code-langue() (gestion dynamique de la boite de dialogue)
  • CrNoMo_Patron_code-langue() (génération de la partie spécifique du patron)

Et qu'est-ce qu'il faut faire ?

Le plus simple est de copier-coller la page d'une des langues existantes, et de personnaliser les cinq fonctions qu'elle contient.

La première chose à faire après le copier-coller est bien évidemment de remplacer code-langue partout où il apparait :

  • dans les déclarations des fonctions,
  • dans les évènements html (onchange, onclick, etc.).

TitreHtml()

Retourne le code html pour le texte de la barre de titre de la boite de dialogue.

Remplacez juste le nom de la langue impossible de faire ça automatiquement sans ajouter de pénibles requêtes aux serveurs.

BarreAPI()

Retourne le code html pour le texte de la barre de caractères API de la boite de dialogue.

Remplacez par la liste des caractères API pertinents pour la langue (pensez que c'est aussi un guide pour l'utilisateur, alors n'y mettez que le nécessaire pour la phonologie standard).

Utilisez la fonction CrNoMo_BarCharAPI(lc), qui est dans le module principal, et qui crée les liens adéquats.

DialogHtm()

Génère la partie de code html créant la boite de dialogue qui est susceptible de changer d'une langue à une autre.

Le code html doit contenir les éléments suivants, sans modifier leurs "id" ou alors il faut modifier le module principal, ce qui ne devrait être fait qu'en dernière extrémité

  • select id="IdType"
  • select id="IdGenre"
  • input type="checkbox" id="IdLocution" justification : la notion de "locution" peut varier d'une langue à l'autre
  • input type="checkbox" id="IdSigle" justification : aucune
  • input type="checkbox" id="IdFlexion"
  • input type="text" id="IdLemme" le moyen de déterminer la forme non-fléchie dépend de la langue

Il est important de ne pas changer les "id", car c'est sur eux que se base le code principal pour récupérer les valeurs et les ranger dans des variables globales, pour que Patron() puisse générer le wikicode.

Type()

Patron()

Tester la sous-page de langue avant de faire des bêtises

Si vous êtes admin, vous pouvez créer la page directement à sa place définitive dans l'espace Mediawiki:, mais en fait vous devriez faire comme ceux qui ne le sont pas, et qui peuvent néanmoins créer, tester, et utiliser de nouvelles sous-pages :

  • cochez le gadget dans vos préférences, bien sûr avez-vous branché la prise ?Clin d’œil,
  • créez la page dans votre espace perso, par exemple Utilisateur:Exemple/Gadget-CreerNouveauMot.js/code-langue.js,
  • ajoutez à votre common.js le code importScript("Utilisateur:Exemple/Gadget-CreerNouveauMot.js/code-langue.js");

Désormais, vous disposez de la nouvelle langue, et vous pouvez faire toutes les modifications que vous voulez au code javascript sans gêner les autres utilisateurs. ceci est applicable à toutes les sous-pages existantes, puisque votre version est prioritaire, juste pour vous

Intégrer la sous-page de langue au gadget

Une fois que vous êtes content du code que vous avez écrit dans votre sous-page, demandez à un admin de faire les deux choses suivantes (afin que tout le monde puisse profiter de vos améliorations) :

  • déplacer votre sous-page Utilisateur:Exemple/Gadget-CreerNouveauMot.js/code-langue.js vers la même dans l'espace Mediawiki: ou remplacer l'ancienne version, si elle existait déjà,
  • modifier MediaWiki:Gadget-CreerNouveauMot.js en y ajoutant importScript("MediaWiki:Gadget-CreerNouveauMot.js/code-langue.js"); si ce n'était déjà fait

Voilou, c'est fit ! Tout le monde peut en profiter !Sourire