Déprécier l'ancienne syntaxe des fichiers de langue en 4.4, la supprime en 5.0

Hop,

suite à

@marcimat propose de déprécier en 4.4 l’ancienne syntaxe des fichiers de langue, et de ne prendre que la nouvelle en 5.0 (qui existe depuis la 4.1).

Concrètement cela veut dire pour les gens :

  • remplacer dans tout les fichiers de langue $GLOBALS[$GLOBALS['idx_lang']] = par return
  • passer les plugons compatible 5.0 à 4.1 minimum comme compat (c’est deja le grand écart !)

Pour permettre de faciliter cela

Un avis la team @maintenance ?

On peut en discuter en message bien sur, mais pour celleux dont les avis sont deja tranchés, je met un vote dès maintenant, comme cela on n’oublie pas de trancher à la fin.

  • Garder la compatibilité en 5.0, juste déprécier
  • Supprimer la compatiblité en 5.0, déprécier en 4.4

0 votant

Perso je suis plutot favorable à le faire dès la 5.0

  • ca prend vraiment 2 min pour les gens
  • Vu que de toute facon on va avoir une grosse 5.0, autant assumer jusqu’au bout.
3 « J'aime »

Note que pour tous les plugins qui sont déclarés à salvatore (traduire.spip.net) là traductions.txt · master · spip-contrib-outils / archivelists · GitLab il n’y a besoin que de changer le fichier de langue de référence (fr souvent), et salvatore (plugin trad-lang) fera la transformation des autres fichiers de langue.

À ce stade, j’en suis à :

  • Total des dépôts git: 957 (dans des groupes publics, non-archivés)
  • Total des plugins: 884 (présence d’un fichier paquet.xml à la racine d’un dépôt git, branche par défaut)
  • Plugins compatibles SPIP 4.1+: 197 (en fonction de la borne min trouvée dans paquet.xml)
  • dossiers lang/: 174 (présence d’un dossier lang/ à la racine du dépôt git d’un plugin compatible SPIP 4.1+, branche par défaut)

Pour ces 174 plugins, j’ai cherché la présence d’une balise <traduire .../> dans leur paquet.xml pour récupérer la liste des modules de langue déclarés là avec leur code de langue de référence. Celui est toujours fr, mais au moins, je m’en suis assuré.

Pour la recherche ci-après :

  • Déduit des modules et code de langue de référence, j’ajoute les fichiers lang/module_code.php et lang/paquet-module_code.php
  • En l’absence de balise <traduire .../>, , j’ajoute les fichiers lang/prefix_fr.php et lang/paquet-prefix_fr.php

Recherche de présence :

  • fichiers de référence lang/*.php: 317
  • fichiers de référence contenant GLOBALS: 258

Donc, 258 fichiers de langue qu’on peut convertir en <?php return [...];

Par anticipation de la demande, en voici la liste exhaustive :

https://git.spip.net/spip-contrib-extensions/agenda_inscription/-/blob/master/lang/paquet-agenda_inscription_fr.php
https://git.spip.net/spip-contrib-extensions/agenda_inscription/-/blob/master/lang/agenda_inscription_fr.php
https://git.spip.net/spip-contrib-extensions/banniere/-/blob/main/lang/paquet-banniere_fr.php
https://git.spip.net/spip-contrib-extensions/banniere/-/blob/main/lang/banniere_fr.php
https://git.spip.net/spip-contrib-extensions/comptes_expirables/-/blob/master/lang/comptes_expirables_fr.php
https://git.spip.net/spip-contrib-extensions/comptes_expirables/-/blob/master/lang/paquet-comptes_expirables_fr.php
https://git.spip.net/spip-contrib-extensions/zippeur/-/blob/master/lang/paquet-zippeur_fr.php
https://git.spip.net/spip-contrib-extensions/zippeur/-/blob/master/lang/zippeur_fr.php
https://git.spip.net/spip-contrib-extensions/fil_ariane/-/blob/master/lang/paquet-fil_ariane_fr.php
https://git.spip.net/spip-contrib-extensions/mes_fichiers/-/blob/master/lang/mes_fichiers_fr.php
https://git.spip.net/spip-contrib-extensions/mes_fichiers/-/blob/master/lang/paquet-mes_fichiers_fr.php
https://git.spip.net/spip-contrib-extensions/linkcheck/-/blob/master/lang/linkcheck_fr.php
https://git.spip.net/spip-contrib-extensions/linkcheck/-/blob/master/lang/paquet-linkcheck_fr.php
https://git.spip.net/spip-contrib-extensions/images_compare/-/blob/master/lang/paquet-imgcompare_fr.php
https://git.spip.net/spip-contrib-extensions/pdform/-/blob/master/lang/paquet-pdform_fr.php
https://git.spip.net/spip-contrib-extensions/pdform/-/blob/master/lang/pdform_fr.php
https://git.spip.net/spip-contrib-extensions/autorite/-/blob/master/lang/autorite_fr.php
https://git.spip.net/spip-contrib-extensions/autorite/-/blob/master/lang/paquet-autorite_fr.php
https://git.spip.net/spip-contrib-extensions/jquery_menu_superfish/-/blob/master/lang/jquerysuperfish_fr.php
https://git.spip.net/spip-contrib-extensions/jquery_menu_superfish/-/blob/master/lang/paquet-jquerysuperfish_fr.php
https://git.spip.net/spip-contrib-extensions/select2/-/blob/master/lang/select2_fr.php
https://git.spip.net/spip-contrib-extensions/select2/-/blob/master/lang/paquet-select2_fr.php
https://git.spip.net/spip-contrib-extensions/mes_abonnes/-/blob/master/lang/mesabonnes_fr.php
https://git.spip.net/spip-contrib-extensions/mes_abonnes/-/blob/master/lang/paquet-mesabonnes_fr.php
https://git.spip.net/spip-contrib-extensions/stats_data/-/blob/main/lang/paquet-stats_data_fr.php
https://git.spip.net/spip-contrib-extensions/pages/-/blob/master/lang/pages_fr.php
https://git.spip.net/spip-contrib-extensions/pages/-/blob/master/lang/paquet-pages_fr.php
https://git.spip.net/spip-contrib-extensions/imagemap_departements/-/blob/master/lang/paquet-imapdepart_fr.php
https://git.spip.net/spip-contrib-extensions/criteres_suivant_precedent/-/blob/master/lang/suivant_precedent_fr.php
https://git.spip.net/spip-contrib-extensions/criteres_suivant_precedent/-/blob/master/lang/paquet-suivant_precedent_fr.php
https://git.spip.net/spip-contrib-extensions/cache_cool/-/blob/master/lang/paquet-cache_cool_fr.php
https://git.spip.net/spip-contrib-extensions/svp_referentiel/-/blob/master/lang/paquet-svpbase_fr.php
https://git.spip.net/spip-contrib-extensions/svp_referentiel/-/blob/master/lang/svpbase_fr.php
https://git.spip.net/spip-contrib-extensions/ape_naf/-/blob/master/lang/paquet-ape_naf_fr.php
https://git.spip.net/spip-contrib-extensions/ape_naf/-/blob/master/lang/ape_naf_fr.php
https://git.spip.net/spip-contrib-extensions/icalendar/-/blob/master/lang/paquet-icalendar_fr.php
https://git.spip.net/spip-contrib-extensions/modeles_facebook/-/blob/master/lang/fbmodeles_fr.php
https://git.spip.net/spip-contrib-extensions/saveauto/-/blob/master/lang/saveauto_fr.php
https://git.spip.net/spip-contrib-extensions/saveauto/-/blob/master/lang/paquet-saveauto_fr.php
https://git.spip.net/spip-contrib-extensions/selections_editoriales/-/blob/master/lang/paquet-selections_editoriales_fr.php
https://git.spip.net/spip-contrib-extensions/selections_editoriales/-/blob/master/lang/selections_editoriales_fr.php
https://git.spip.net/spip-contrib-extensions/porte_plume_citations/-/blob/master/lang/paquet-pp_citations_fr.php
https://git.spip.net/spip-contrib-extensions/porte_plume_citations/-/blob/master/lang/pp_citations_fr.php
https://git.spip.net/spip-contrib-extensions/stats_scalp/-/blob/master/lang/paquet-statsscalp_fr.php
https://git.spip.net/spip-contrib-extensions/stats_scalp/-/blob/master/lang/statsscalp_fr.php
https://git.spip.net/spip-contrib-extensions/gis/-/blob/master/lang/gis_fr.php
https://git.spip.net/spip-contrib-extensions/gis/-/blob/master/lang/paquet-gis_fr.php
https://git.spip.net/spip-contrib-extensions/jeux/-/blob/master/lang/jeux_gerer_resultats_fr.php
https://git.spip.net/spip-contrib-extensions/jeux/-/blob/master/lang/pendu_fr.php
https://git.spip.net/spip-contrib-extensions/jeux/-/blob/master/lang/sudoku_fr.php
https://git.spip.net/spip-contrib-extensions/jeux/-/blob/master/lang/qcm_fr.php
https://git.spip.net/spip-contrib-extensions/jeux/-/blob/master/lang/jeux_fr.php
https://git.spip.net/spip-contrib-extensions/jeux/-/blob/master/lang/jeu_fr.php
https://git.spip.net/spip-contrib-extensions/jeux/-/blob/master/lang/motscroises_fr.php
https://git.spip.net/spip-contrib-extensions/jeux/-/blob/master/lang/paquet-jeux_fr.php
https://git.spip.net/spip-contrib-extensions/trad--/blob/master/lang/lang/paquet-tradlang_fr.php
https://git.spip.net/spip-contrib-extensions/trad--/blob/master/lang/lang/tradlang_fr.php
https://git.spip.net/spip-contrib-extensions/ma-lettre/-/blob/master/lang/malettre_fr.php
https://git.spip.net/spip-contrib-extensions/ma-lettre/-/blob/master/lang/paquet-malettre_fr.php
https://git.spip.net/spip-contrib-extensions/intertitres_hierarchises_et_table_matieres/-/blob/master/lang/paquet-intertitrestdm_fr.php
https://git.spip.net/seenthis/seenthis/-/blob/master/lang/paquet-seenthis_fr.php
https://git.spip.net/seenthis/squelettes/-/blob/master/lang/paquet-seenthissq_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_future_imperfect/-/blob/master/lang/html5up_future_imperfect_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_hyperspace/-/blob/master/lang/paquet-html5up_hyperspace_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_hyperspace/-/blob/master/lang/html5up_hyperspace_fr.php
https://git.spip.net/spip-contrib-squelettes/sendagi/-/blob/master/lang/paquet-sendagi_fr.php
https://git.spip.net/spip-contrib-squelettes/sendagi/-/blob/master/lang/sendagi_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_forty/-/blob/master/lang/html5up_forty_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_forty/-/blob/master/lang/paquet-html5up_forty_fr.php
https://git.spip.net/spip-contrib-squelettes/gribouille_2/-/blob/master/lang/paquet-gribouille_fr.php
https://git.spip.net/spip-contrib-squelettes/gribouille_2/-/blob/master/lang/gribouille_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_twenty/-/blob/master/lang/html5up_twenty_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_twenty/-/blob/master/lang/paquet-html5up_twenty_fr.php
https://git.spip.net/spip-contrib-squelettes/cambio/-/blob/master/lang/paquet-cambio_fr.php
https://git.spip.net/spip-contrib-squelettes/cambio/-/blob/master/lang/cambio_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_solid_state/-/blob/master/lang/html5up_solid_state_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_solid_state/-/blob/master/lang/paquet-html5up_solid_state_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_telephasic/-/blob/master/lang/html5up_telephasic_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_telephasic/-/blob/master/lang/paquet-html5up_telephasic_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_editorial/-/blob/master/lang/paquet-html5up_editorial_fr.php
https://git.spip.net/spip-contrib-squelettes/scolaspip/-/blob/master/lang/scolaspip_fr.php
https://git.spip.net/spip-contrib-squelettes/scolaspip/-/blob/master/lang/paquet-scolaspip_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_escape_velocity/-/blob/master/lang/html5up_escape_velocity_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_escape_velocity/-/blob/master/lang/paquet-html5up_escape_velocity_fr.php
https://git.spip.net/spip-contrib-squelettes/ginza/-/blob/main/lang/paquet-ginza_fr.php
https://git.spip.net/spip-contrib-squelettes/ginza/-/blob/main/lang/ginza_fr.php
https://git.spip.net/spip-contrib-squelettes/spipr-dane/-/blob/master/lang/spipr_dane_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_spectral/-/blob/master/lang/paquet-html5up_spectral_fr.php
https://git.spip.net/spip-contrib-squelettes/oshiage/-/blob/master/lang/paquet-oshiage_fr.php
https://git.spip.net/spip-contrib-squelettes/oshiage/-/blob/master/lang/oshiage_fr.php
https://git.spip.net/spip-contrib-squelettes/odaiba/-/blob/master/lang/odaiba_fr.php
https://git.spip.net/spip-contrib-squelettes/odaiba/-/blob/master/lang/paquet-odaiba_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_alpha/-/blob/master/lang/alpha_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_alpha/-/blob/master/lang/paquet-alpha_fr.php
https://git.spip.net/spip-contrib-squelettes/aveline/-/blob/master/lang/aveline_fr.php
https://git.spip.net/spip-contrib-squelettes/aveline/-/blob/master/lang/avelinepublic_fr.php
https://git.spip.net/spip-contrib-squelettes/aveline/-/blob/master/lang/paquet-aveline_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_prologue/-/blob/master/lang/html5up_prologue_fr.php
https://git.spip.net/spip-contrib-squelettes/ueno/-/blob/master/lang/paquet-ueno_fr.php
https://git.spip.net/spip-contrib-squelettes/ueno/-/blob/master/lang/ueno_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_story/-/blob/master/lang/html5up_story_fr.php
https://git.spip.net/spip-contrib-squelettes/html5up_story/-/blob/master/lang/paquet-html5up_story_fr.php
https://git.spip.net/spip-contrib-squelettes/kamakura/-/blob/master/lang/paquet-kamakura_fr.php
https://git.spip.net/spip-contrib-squelettes/kamakura/-/blob/master/lang/kamakura_fr.php
https://git.spip.net/spip-contrib-squelettes/aoto/-/blob/master/lang/aoto_fr.php
https://git.spip.net/spip-contrib-squelettes/aoto/-/blob/master/lang/paquet-aoto_fr.php
https://git.spip.net/spip-contrib-squelettes/nezu/-/blob/master/lang/nezu_fr.php
https://git.spip.net/spip-contrib-squelettes/nezu/-/blob/master/lang/paquet-nezu_fr.php

Si vous avez dérouler jusqu’ici, bravo !

258 c’est pas beaucoup … Vous les éditez à la main ?

attention, la balise <traduire> n’est pas un indicateur fiable. Elle sert uniquement à indiquer que salvatore peut s’en servir pour traduire… et en pratique celui-ci n’en a pas besoin. J’utilise très régulièrement salvatore en oubliant de mettre <traduire> dans le paquet.xml

A vrai dire pour moi c’est une balise qui pourrait sauter.

C’est tordu, ce système ! Rien n’est fiable, tout est approximatif ou obsolète …

Bref, vous avez une liste et elle est fiable. Vous pouvez en faire ce que vous voulez.

Et je referai peut-être un script plus « fiable » quand la team @fonctionnel aura écrit une spécification fonctionnelle fiable :stuck_out_tongue:

C’est déjà fait, la seule vraie liste fiable centralisée c’est celle là non ?

Enfin pour ce qui est d’avoir un « fichier de référence », càd seulement pour ceux des plugins qui vont dans Salvatore puis TradLang…

Car sinon ya aussi des plugins qui n’y vont pas, où tout est en code, et dans ce cas il n’y a pas de langue de référence, faut juste changer tous les fichiers du plugin tels quels.

En fait on s’en fiche que ca passe ou pas par salvatore. Et on pourrait meme modifier les fichiers de traductions qui passe par salvatore, ca changerait rien au problème.

Bon, il est nécessaire de rétablir un peu l’historique de cette balise.
J’ai créé cette balise il y a des années au moment où l’on avait refactoré feu Smart Paquets. Le but était que Smart Paquets construise le fichier traductions.txt à partir des balises traduire.

On est jamais allé au bout de l’idée et donc traductions.txt a continué à se remplir manuellement et la balise traduire a exister de façon aléatoire.
Il devrait donc être possible de s’en débarrasser mais faudrait juste vérifier qu’on ne l’utilise pas pour SVP (partie référentiel utilisée par Plugins SPIP). Je crois que non, on doit utiliser uniquement le XML fabriqué par TradLang pour toutes les informations affichées.
Après, on pourrait aussi finir le job en ne gardant que la balise.

C’est sur que s’intéresser aux sujets 10 ans ou plus après c’est pas immédiat…

ca arrive regulièrement que des chantiers aille pas jusqu’au bout hein. C’est comme ca on est des humain·es qui plus ait benévole sur pas mal d’action.

J’ai tendance à penser que vu les habitudes des gens, autant continuer avec.

9 des 14 membres de l’équipe maintenance ont approuvé la proposition, 1 s’est exprimé·e contre, mais sans donner d’argument. Les 4 derniers membres ne peuvent renverse la tendance. C’est donc intégré dans le code remove: support des fichiers de langue peuplant une globale (!6067) · Requêtes de fusion · spip / spip · GitLab

On était 13 mercredi, il s’est passé quoi ?

D’autre part, pour pas que tu te méprennes, @maieul, il n’y ni restriction à l’accès à cette catégorie, ni configuration sur le sondage qui limite le vote aux membres d’un groupe, donc, on ne sait pas qui a voté et ça peut être n’importe qui :wink:

On dirait bien que @taffit nous a rejoint :slight_smile:

Suivi :

  • Total des dépôts git: 957 :heavy_equals_sign:
  • Total des plugins: 884 :heavy_equals_sign:
  • Plugins compatibles SPIP 4.1+: 197 :arrow_upper_right: 208
  • dossiers lang/: 174 :arrow_upper_right: 185

Présence $GLOBALS :

  • fichiers de référence lang/*.php: 317 :arrow_upper_right: 337
  • lang/*.php avec GLOBALS:258 :arrow_lower_right: 244
1 « J'aime »