Wiktionnaire:Questions techniques/octobre 2014

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

Page mensuelle des questions techniques posées en octobre 2014. Page précédente : septembre 2014Page suivante : novembre 2014Modifier ce cadre



Catégories à langues automatiques[modifier le wikicode]

Je suis en train de voir s'il est possible de ne pas préciser le code langue pour les modèles catégorisants, c'est-à-dire tous les {{term}}, {{familier}}, etc. qu'on trouve sur les lignes de définition.

L'idée est la suivante :

  • Un module peut récupérer sans surcoût le contenu wikitexte de la page en cours.
  • Il est possible de charger un module une et une seule fois en utilisant mw.loadData(), même si ce module est utilisé par plusieurs modèles dans une page.
  • En combinant ces deux choses, on peut faire un préparseur, lancé en tout début, qui :
    1. Parse le code wiki
    2. Lit les sections de langue
    3. Liste des modèles catégorisants
    4. Crée les catégories associées avec la langue déduite de la section

À en juger par Utilisateur:Darkdadaah/Test/Délangage/test, c'est faisable. Un exemple de simplification possible :

Code wiki Rendu
Actuel
=== {{S|nom|fr}} ===
'''test''' {{pron|tEst|fr}} {{m}}
# {{lexique|zoologie|fr}} {{familier|fr}} Fruit de l’hippopotame.

Locution nominale [modifier le wikicode]

test \tEst\ masculin

  1. (Zoologie) (Familier) Fruit de l’hippopotame.
Possible
=== {{S|nom|fr}} ===
'''test''' {{pron|tEst|fr}} {{m}}
# {{C|zoologie|familier}} Fruit de l’hippopotame.

Locution nominale [modifier le wikicode]

test \tEst\ masculin

  1. (Zoologie, familier) Fruit de l’hippopotame.

Les catégories ne seraient créées pour cet exemple que pour les modèles dans les lignes de définition : même pas besoin du coup d'utiliser "nocat" ailleurs. — Dakdada 3 octobre 2014 à 08:43 (UTC)[répondre]

NB : avec un modèle général {{C}} plus simple à repérer, il suffirait de maintenir à jour une liste des catégories correspondant aux différents noms (comme Module:contexte/data), ce qui éviterais d'avoir à gérer des milliers de modèles (comme pour les langues et les titres de section). — Dakdada 3 octobre 2014 à 08:47 (UTC)[répondre]

Ça paraît super. La page Utilisateur:Darkdadaah/Test/Délangage/test présente une erreur d’affichage (la chaine "fr" après (Arbres fruitiers)) et pas de catégories, ce serait bien qu’on puisse voir le test avec les catégories. — Automatik (discussion) 3 octobre 2014 à 11:42 (UTC)[répondre]
Ce n'était pas une erreur : c'était pour montrer qu'on pouvait détecter les langues d'une page (dans ce cas : fr). — Dakdada 14 octobre 2014 à 14:50 (UTC)[répondre]

Avancement[modifier le wikicode]

Nouvelle version dans ma page de test Utilisateur:Darkdadaah/Test/Délangage/test. La détection et l'écriture des catégories se fait via un modèle spécial, {{catégoriseur}} qui détecte tous les modèles de contexte dans la page et crée les catégories correspondantes si elles sont définies dans Module:contexte/data.

Afin d'éviter de mettre ce modèle dans les articles, le plus simple serait de l'intégrer dans les modèles {{langue}} (chaque modèle créerait alors toutes les catégories correspondant à sa propre langue, pour être propre). — Dakdada 30 octobre 2014 à 09:33 (UTC)[répondre]

Propositions[modifier le wikicode]

Est-ce qu’on pourrait faire en sorte que la première lettre entre parenthèses ne soit pas automatiquement mis en majuscule lorsque le contexte n’est pas dans la ligne de définition ? Exemple : liste de synonymes, traductions, etc. — Automatik (discussion) 8 novembre 2014 à 20:56 (UTC)[répondre]

Bonjour, est ce que quelqu’un pourrait corriger {{an-accord-mf}} de sorte de faire disparaitre le {{#if: | {{{p2}}} qui apparait. Merci d’avance. Pamputt [Discuter] 14 octobre 2014 à 12:58 (UTC)[répondre]

J'ai fait ce que j'ai pu. — Dakdada 14 octobre 2014 à 14:49 (UTC)[répondre]

L'outil de création traductions propose de créer des traductions dans la section "à trier"[modifier le wikicode]

C’est mal (exemple). Y a-t-il moyen d’empêcher cela ? --GaAs 14 octobre 2014 à 19:18 (UTC)[répondre]

Automatik, c’est toi qui sait comment faire ? --GaAs 14 octobre 2014 à 19:56 (UTC)[répondre]
En fait dans sa version originelle le gadget ne proposait pas d’ajouter des traductions dans les boites à trier, mais j’ai changé le comportement suite à Discussion MediaWiki:Gadget-translation editor.js#Suggestion – L'étendre aux traductions à trier. Je te laisse y voir l’utilité (rare il est vrai) en parcourant la discussion. — Automatik (discussion) 14 octobre 2014 à 20:10 (UTC)[répondre]
Bon, Automatik, je ne vais pas lire la discussion en question (perte de temps), je vais me contenter de ton affirmation qu’il y a eu décision sur le sujet (décision que je respecterai), et je ferai désormais comme je l’ai indiqué sur Wiktionnaire:Wikidémie/octobre 2014 #Comment trier les traductions "à la sauvage".Clin d’œil--GaAs 14 octobre 2014 à 20:21 (UTC)[répondre]

Bonjour,

Quelqu’un comprend-t-il l’ajout automatique de la catégorie Catégorie:Pages using duplicate arguments in template calls à la page Blüte ? Je ne trouve pas de modèles avec des paramètres en double… J’ai aussi essayé avec une autre page.

Pour info, cette nouvelle catégorie automatique a été annoncée dans Wiktionnaire:Questions_techniques/journaux#Tech News: 2014-43 (à la fin). — Automatik (discussion) 21 octobre 2014 à 20:06 (UTC)[répondre]

C'est dû à {{de-tab-cas-f-n}}, qui n'appelle pourtant pas {{de-nom}} avec plusieurs fois le même {{{1}}}... JackPotte ($) 21 octobre 2014 à 20:21 (UTC)[répondre]
Merci je n’avais pas remarqué c’est déjà une piste ; je demanderai à un développeur sous peu si on ne trouve pas nous-même pourquoi. — Automatik (discussion) 21 octobre 2014 à 20:58 (UTC)[répondre]
Merci à Urhixidur d’avoir corrigé [1]. — Automatik (discussion) 22 octobre 2014 à 17:29 (UTC)[répondre]
Je pense qu'il y a quand même un bug quelque part, j'ai regardé pas mal de pages et de modèles sans rien trouver (par exemple garments). Les anglophones ont aussi une catégorie bien remplie : en:Category:Pages using duplicate arguments in template calls. NB : il faudrait traduire la catégorie. — Dakdada 22 octobre 2014 à 17:52 (UTC)[répondre]
Oui il y a d’autres cas bizarres. Pour la traduction, translatewiki:MediaWiki:Duplicate-args-category/fr a été créée ce matin, donc la catégorie devrait devenir Catégorie:Pages utilisant des arguments dupliqués dans les appels de modèle d’ici quelques jours. — Automatik (discussion) 22 octobre 2014 à 17:59 (UTC)[répondre]
Pour garments c’était en fait simple : [2]. De façon plus générale, il semble qu'il y ait effectivement un problème sur toutes ces pages, souvent via un modèle qui utilise lui-même des paramètres en double (et pas directement la page qui appelle ce modèle). Notamment pour les pages utilisant {{ko-nom}} (cf. Discussion utilisateur:TAKASUGI Shinji/2014#Modèle:ko-nom/2) ou certains modèles appelant {{Documentation}} cf. [3], etc. — Automatik (discussion) 23 octobre 2014 à 11:46 (UTC)[répondre]

Bonjour,

Suite à cette modification, je vois toute la page Modèle:de-nom-f-n sens dessus dessous. Quelqu’un a-t-il une explication à apporter ? Bien sûr, s’il y a une répercussion quelconque sur les articles, merci d’annuler. — Automatik (discussion) 21 octobre 2014 à 22:19 (UTC)[répondre]

Je pense que c'est un bug de HHVM quand on parcourt les diffs et anciennes versions : le désactiver me donne une mise en page normale. — Dakdada 22 octobre 2014 à 09:31 (UTC)[répondre]
J'ai trouvé un rapport de bug : ça veut dire qu'il y a un problème de balise non fermée quelque part (mais ça ne devrait pas faire ça quand même). — Dakdada 22 octobre 2014 à 09:36 (UTC)[répondre]
Note : [4] serait-ce dû à HHVM ? — Automatik (discussion) 22 octobre 2014 à 11:05 (UTC)[répondre]
Merci pour le lien vers Bugzilla, le bug est maintenant corrigé [5]. — Automatik (discussion) 22 octobre 2014 à 11:09 (UTC)[répondre]
C'est très bizarre, car <div /> est valide en HTML. — Dakdada 22 octobre 2014 à 12:31 (UTC)[répondre]
Correction : c'est valide en xml, pas en html. Zut. — Dakdada 22 octobre 2014 à 12:34 (UTC)[répondre]

Salut à tous,

Bientôt Bugzilla va être migré vers Phabricator. Il faudra peut-être mettre à jour les {{bugzilla}} (mais il y aura des redirections de toute façon).

Plus important, peut-être pourrait-on gérer certains aspects techniques du projet ici. On a plusieurs outils qui tournent : les bots, mais aussi les outils annexes (comme mes outils Anagrimes), du javascript (gadgets) et les modèles (dont Lua). Peut-être serait-il utile de tester la gestion des bugs par Phabricator ? L'avantage est qu'on pourra plus facilement organiser les bugs sans qu'ils se perdent dans les pages de discussions ou les archives. — Dakdada 23 octobre 2014 à 13:56 (UTC)[répondre]

Bonjour, suite à cette discussion avec Popolano, il apparait que {{eo-rég}} fournit des prononciations incorrectes pour les autres cas que le nominatif singulier dans le cas des noms. Exemple avec arbo qui donne /ˈar.boj/ pour le nominatif pluriel alors que ça devrait être /ˈar.bɔj/. Idemn pour les formes à l’accusatif. Du coup quelle est la meilleure manière de corriger ce problème ? Le modèle actuel est extrêmement simple puisqu’il se contente de rajouter du contenu après la prononciation de base. Hors, il semble qu’il faille modifier la prononciation de base. À mon avis on doit passer par un bot pour ajouter un radical de prononciation dans le modèle ainsi que pour corriger les prononciations sur la ligne de forme qui reprennent la forme erronée. Une meilleure idée ? Pamputt [Discuter] 26 octobre 2014 à 08:20 (UTC)[répondre]

Non, l’espéranto n’a pas de distinction phonologique entre o et ɔ, ni entre e et ɛ. C’est un gallicisme de les distinguer. Cette langue a une orthographe phonologiquement stricte, et elle n’a que e et o. Cela explique bien. — TAKASUGI Shinji (d) 26 octobre 2014 à 09:14 (UTC)[répondre]

Appeler une variable interne[modifier le wikicode]

Bonjour, est ce qu’il est possible de réutiliser le contenu d’une variable interne dans un modèle. Je m’explique. Dans {{lv-tab-2}}, dans les cas où les paramètres « NS » ou « SS » sont indiqués à « oui », je voudrais que la variable « gs » ait le même contenu que « ns ». Je ne sais pas si c’est très clair mais en gros, dans les cas où le nominatif singulier se termine par « ns » ou « ss », alors le génitif singulier est identique au nominatif singulier. Si vous voulez nettoyer le code, n’hésitez pas car je pense que ça pourrait être beaucoup plus joli (et plus lisible). Merci d’avance. Pamputt [Discuter] 30 octobre 2014 à 23:16 (UTC)[répondre]

Salut, tu avais mis {{ns|}} au lieu de {{{ns|}}}, mais il y a eu conflit d’édition et maintenant je ne vois plus ce paramètre "ns" utilisé. — Automatik (discussion) 30 octobre 2014 à 23:21 (UTC)[répondre]
Auparavant, j’avais essayé de mettre {{{ns|}}} mais ça ne fonctionnait pas (je ne me rappelle plus précisément de ce que ça affichait). Maintenant j’ai fais un truc vraiment moche mais qui fonctionne. N’hésite pas à jouer avec le modèle pour rendre le code plus lisible (il n’est utilisé que sur quelques pages qui pour la plupart sont données en exemple). Pamputt [Discuter] 30 octobre 2014 à 23:26 (UTC)[répondre]
Effectivement, si on ne passe jamais de paramètre "ns" au modèle, {{{ns}}} sera toujours vide.
Par ailleurs tu as mis dans la dernière version la ligne suivante : |gs={{#if:{{{NS|}}}{{{SS|}}}|{{{1}}}{{#if:{{{NS|}}}|ns|{{#if:{{{SS|}}}|ss|{{{2}}}is}}}}|{{{1}}}{{#if:{{{3|}}}|{{{3}}}|{{{2}}}}}a}} : le {{{2}}}is ne sera jamais interprété : il faudrait à la fois avoir "NS" ou "SS" renseigné et ni "NS" ni "SS" renseigné (car sinon on est déjà entré dans les branches précédentes). — Automatik (discussion) 30 octobre 2014 à 23:39 (UTC)[répondre]
Pour « ns », je lui donne une valeur (à la première ligne). Je voudrais juste que « gs = ns » dans certaines conditions (si le mot se termine par « ns » ou « ss »). Et apparemment, je n’arrive pas à faire ça.
Pour ta deuxième remarque, tu as raison, le code inutile venait de ce très moche copier-coller ; j'ai nettoyé un peu le code dans ce sens (mais c’est toujours pas franchement lisible). Pamputt [Discuter] 31 octobre 2014 à 07:01 (UTC)[répondre]
Juste pour info, il n’est pas possible de donner automatiquement la même valeur à "ns" et à "gs", mais il est quand même possible de le faire en copiant la valeur après "ns=" et en la collant juste après "gs=". — Automatik (discussion) 3 novembre 2014 à 10:05 (UTC)[répondre]

C’est plus très grave, avec Shalott, on a vu qu’il est préférable de simplifier les modèles et c’est une bonne chose. Pamputt [Discuter] 31 octobre 2014 à 07:31 (UTC)[répondre]

Bonjour à vous. Est-il possible de faire enpréciser sur qe ce script :

function addPageBottom() {
        $("#WikiaArticleFooter").append('<div style="clear:both" align="center"><img src="ImageQueTuSouhaites"></div>');
}
 
$(addPageBottom);

Ne s'affecte pas sur toutes les pages, mais seulement une page (de discussion) ? Dans image que tu souhaites, je compte mettre une image ^^. Merci d'avance.

Il faudrait l'appeler depuis un modèle, mais apparemment ce n'est pas pour le dictionnaire. JackPotte ($) 1 novembre 2014 à 12:58 (UTC)[répondre]

Non ce n'est pas pour le dictionnaire, l'appeler depuis un modèle c'est-à-dire ?

C'est possible, il suffit de regarder la valeur de mw.config.get( 'wgNamespaceNumber' ). — Dakdada 1 novembre 2014 à 14:00 (UTC)[répondre]
Mille excuse, j'ai un peu de mal avec le javascript, pourrais-tu me donner un exemple donc ?

Merci énormément !

Alors ? ^^

??

Bonjour. Pour qu'il soit facile de vous aider, il est bon de nous donner la configuration avec laquelle vous travaillez (typiquement, un lien vers Spécial:Version du wiki sur lequel vous codez). Pour répondre à votre question, il existe en général sur chaque page d'un site MediaWiki avec JavaScript activé un certain nombre de variables globales dans la page. L’une d’entre elles vous fournit l’espace de noms dans lequel est la page. C’est la variable wgNamespaceNumber qu’on récupère avec un appel à mw.config.get().
Chaque espace de noms a un numéro qui lui est associé (l’espace de discussion des articles est 1, généralement). Si vous voulez connaitre les espaces de noms de votre site changez "fr.wiktionary" dans l’adresse suivante : https://fr.wiktionary.org/w/api.php?action=query&meta=siteinfo&siprop=namespaces&format=xml par le nom du site sur lequel vous travaillez. Un autre moyen est de poser le mot magique {{NAMESPACENUMBER}} dans une page, puis de prévisualiser le résultat : ce sera le numéro de l’espace de noms de la page en cours de prévisualisation.
Dans votre cas, si j’ai bien compris vous voulez tester que votre page est bien dans l’espace de noms 1 (pages qui ont pour préfixe Discussion:). Il vous suffit alors d’écrire :
if ( mw.config.get( 'wgNamespaceNumber' ) === 1 ) {
    // Ici le code à exécuter uniquement dans l’espace Discussion:
    // par exemple :
    $(addPageBottom);
}
En espérant vous avoir renseigné. — Automatik (discussion) 2 novembre 2014 à 15:27 (UTC)[répondre]
Bonsoir, si j'ai bien compris, il faut remplaçait 'wgNamespaceNumber' par "Discussion:..." n'est-ce pas ? Si on met {{NAMESPACENUMBER}} à la place de 'wgNamespaceNumber' ça marchera ?
Merci d'avance, bonne soirée. 92.92.60.119 2 novembre 2014 à 21:18 (UTC)[répondre]
Bonsoir, non, on ne peut pas remplacer 'wgNamespaceNumber' par "Discussion:..." ni par {{NAMESPACENUMBER}}. Tout simplement parce que ce ne sont pas des variables javascript et que mw.config.get() ne va pas pouvoir les interpréter. {{NAMESPACENUMBER}} est du wikicode, pas du javascript, et il n’est pas possible de composer en wikicode dans une page Javascript, ce sont deux langages bien différents. Il n’y a rien à remplacer, tout simplement. Si vous remplacez $(addPageBottom); par le code que je vous ai donné, votre script devrait bien être activé uniquement dans les espaces de noms souhaités. — Automatik (discussion) 2 novembre 2014 à 21:55 (UTC)[répondre]
Je compte utilisé ce code sur Wikia, et dans la page spécial : MediaWiki:Wikia.js, et où placé les espaces de noms souhaitaient ? 92.92.60.119
Avez-vous bien lu mon message ci-dessus ? Le 1 correspond à l’espace de noms "Discussion:", si vous le remplacez par "0", cela signifie que vous souhaitez l’espace de noms des articles du wiki, etc. — Automatik (discussion) 2 novembre 2014 à 22:17 (UTC)[répondre]
Ah, oui en effet, autant pour moi. Mais il faut bien presciser quelle discussion: serait affectée ? Parce ce que ce script sera mit sur le js du wiki, et sur le wiki,il y a plein d'utilisateur, et ils ne veulent pas tous être affectés par le script.
Merci d'avance et désolé du dérangement.
Ce n’est pas clair. Le script est censé s’activer sur les pages de discussion des articles ou sur les pages de discussion des utilisateurs ? Sur certaines, sur toutes ? — Automatik (discussion) 2 novembre 2014 à 23:45 (UTC)[répondre]
Excusez moi, non, sur les page de discussion utilisateurs, mais pas toutes juste une seul — message non signé de VegetaMoustache33 (d · c)
Le code doit-il fonctionner pour tous les utilisateurs du site ou juste un seul voire quelques-uns ? — Automatik (discussion) 3 novembre 2014 à 09:47 (UTC)[répondre]
Juste une seul :)
Eh bien dans ce cas-là il vaut mieux utiliser un script personnel (User:Nom d’utilisateur/common.js) et mettre le code dedans. Il faudra remplacer if ( mw.config.get( 'wgNamespaceNumber' ) === 1 ) par if ( mw.config.get( 'wgPageName' ) === 'Discussion utilisateur:Machin' ) où vous remplacez "Discussion utilisateur:Machin" par le nom de la page où vous voulez que le script s’active. — Automatik (discussion) 3 novembre 2014 à 12:16 (UTC)[répondre]
Vous êtes sûr que même en mettant le script dans le js personnel, il sera vu par tout le monde ? En tout cas merci énormément !
« Le code doit-il fonctionner pour tous les utilisateurs du site ou juste un seul voire quelques-uns ? »« Juste une seul » Mais maintenant vous voulez qu'il fonctionne pour tout le monde ? Il faut savoir. — Automatik (discussion) 3 novembre 2014 à 12:28 (UTC)[répondre]
Non, en fait, je veux qu'il affecte qu'une page de discussion, et que cette dernière qui est affecté soit vu par tout le monde.
Pour affecter tout le monde, il faut mettre le script dans une page globale comme MediaWiki:Common.js. (J’ignore ce qu’est Mediawiki:Wikia.js, mais ce n’est sans doute pas important). — Automatik (discussion) 3 novembre 2014 à 12:46 (UTC)[répondre]
Ok, merci ! MediaWiki:Wikia.js est une extension chez Wikia.