Préambule
holaaaaaaaaaa !!!
Ce plugin a été initié par Renato en 2009. Son « cœur » est le fichier multilang.js. A l’origine il ne fonctionnait que sur les pages d’édition des rubriques. Le fichier multilang.js était stocké dans prive/javascript mais sans être utilisé nulle part dans le core... Manque l’historique du pourquoi. Une version dérivée de ce fichier existe aussi dans le plugin « Forms&Tables ».
Description
Le traitement consiste à rajouter un menu de langues du type [fr] [en] [it] au dessus de chaque formulaire, en fonction des langues activées dans la configuration du site. Le clic sur une langue, bascule le contenu de tous les champs éligibles du formulaire dans la langue choisie. Le résultat est sauvegardé sous la forme « multi » de spip, à savoir <multi>[fr]texte français[en]English text</multi>
. Si le plugin est désactivé, l’ensemble reste donc compatible spip. C’est donc juste une aide à la rédaction.
Installation
Récupérez le zip du plugin sur l’espace de téléchargement de la Zone : https://files.spip.net/spip-zone/mu.... L’installation se déroule ensuite comme pour tous les autres plugins, cf. https://www.spip.net/fr_article3396.html
Pour fonctionner, ce plugin requiert également l’installation :
Attention
Les pages qui comportent beaucoup de formulaires (comme par exemple un article avec 80 documents joints et qu’on n’utilise pas le plugin Médiathèque) peuvent être longues à s’exécuter et générer des timeout d’execution de scripts au niveau du navigateur. Le nombre de langues est également un facteur important de ralentissement. Avec un grand nombre de langues, mieux vaut gérer le multilinguisme sur les articles en utilisant le système de traduction d’articles fourni avec SPIP.
Fonctionnement
Une fois activé, tous les champs input:text et textarea sauf ceux des forms .form_upload et .form_upload_icon sont traites dans les objets suivants (et suivant la configuration du plugin) :
- articles
- rubriques
- configuration du site
- auteurs (intéressant uniquement pour le champs BIO)
- documents dans les colonnes de gauche des pages d’édition d’articles et de rubriques
- documents dans les parties basses des pages de présentation des articles et rubriques
- mots clés et groupe de mots clés
- sites
- brèves
Un champ « numéro » est rajouté au dessus des champs #titre (articles, rubriques, mots clés) et #titre_documentXX pour saisir le numéro de l’objet (sans le point qui est rajouté automatiquement)
Une image est rajoutée en background de chaque champs traité et indique son état :
- no multi : pas de multi dans le champ
- multi (barré) : multi désactivé dans ce champ
- multi fr : texte affiché actuellement en français
- multi en : texte affiché actuellement en anglais
Dans le menu des langues, un item « Tout » est rajouté en dernier. Il permet de visualiser le contenu des champs du formulaire sans le traitement « Multilang » et donc de copier le contenu (mais de modification possible)
Si un des champs du formulaire contentant une structure multi, contient une valeur de langue non renseignée, ladite langue est surlignée dans le menu des langues.
Champs éligibles :
- input:text
- textarea
- select
- ... ?
Les champs contenant du texte (autre que espace, tab, retour) en dehors de la structure multi ne sont pas traités (image « multi barré » en background). Par exemple :
du texte avant
<multi>[fr]texte[en]text</multi>
et du texte après
Intégration dans d’autres plugins
D’une manière générale et dans toutes les pages de l’espace privé, le plugin est actif : dès qu’il trouve un champ de class « multilang », il rajoute un menu de langues au « form » parent.
A faire... ou pas
- Le faire fonctionner avec les crayons
- Le faire fonctionner avec la lame « Tout Couleur » du couteau suisse
Discussions par date d’activité
6 discussions
Bonjour,
Je suis tombé sur un gros bug avec le formulaire d’édition des documents : https://git.spip.net/spip-contrib-extensions/multilang/issues/2 (perte des multi en cas de changement du fichier du document)
Répondre à ce message
Bonjour,
J’ai installé et paramétré le plugin pour les articles.
Il ne fonctionne pas (SPIP 3.2.7 et PHP 7.2).
Avez-vous une piste ?
Est-il incompatible avec d’autres plugins ?
Merci
Répondre à ce message
Bonjour, je viens de mettre à jour mon site SPIP et par conséquent les plugins
J’utilise « Multilang » & « Interface de traduction pour objets »
Seulement, le changement d’interface rend, l’emploie des deux plugins en parallèlle vraiment perturbant, car beaucoup trop similaire on ne comprend plus rien. (voir screenshoot joint, la zone A correspond à interface de traduction pour objects, la zone B à multilang)
C’était bien mieux avec le petit menu discret d’avant.
Mais au delà de ce souci esthétique, mon plus gros problème, viens du fait que j’aimerai désactiver « Multilang » pour les articles et ne les garder que pour les rubriques, mais sans succès. Lorsque je décoche article dans configuration du plugin, je n’ai aucun changement.
Avez vous constatez cela aussi ?
Merci d’avance.
Et dans la suite, je n’arrive pas à activer le plugin sur les mots clés ou groupe de mot clés. Malgré la case coché dans la configuration.
Au ca sou liste des plugins activé sur mon site :
Analyclick 0.3.4 - test
Authority 0.12.0 - stable
Automatic backup 1.2.6 - stable
Control API 1.9.5 - stable
CVT Upload 1.18.0 - test
Déclarer le parent 1.3.5 - dev
Duplicator 2.0.6 - stable
Entries for forms 3.30.0 - stable
Extra fields 3.12.4 - stable
Extra fields (Interface) 3.5.8 - stable
Formidable 3.46.7 - stable
Home article 1.2.2 - stable
Interface de traduction pour objets 1.1.5 - test
LESS CSS 1.4.4 - stable
MailCrypt 2 2.4.5 - stable
minibando 1.3.10 - stable
Multilang 1.4.3 - stable
NoSPAM 2.1.3 - test
Pencils 1.26.19 - stable
Postman 3.7.2 - stable
Raccourci Accordéon 1.0.5 - test
Rang 1.0.13 - test
Recycle bin 3.1.2 - stable
Rubriqueur 2.1.1 - stable
SPIP Bonux 3.5.4 - stable
YAML 2.0.11 - test
Pour le point 2), il y a un cache d’1 semaine sur le javascript qui gère le menu de langue, il faut sans doute vider le cache pour voir un changement de config tout de suite.
Pour le point 1), je plaide coupable votre honneur !
Suite à des retours utilisateurs qui avaient des soucis avec l’ancien menu (pas assez visible et libellés peu clairs), j’ai mis une petite couche de peinture.
Efectivement, le menu est assez ressemblant avec celui de traduction par objets.
Cela dit, dans quel cas de figure y a-t-il besoin d’avoir à la fois les balises
<multi>
et les « vraies » traductions sur un même objet ?Besoin je ne sais pas ^^
Mais perso il m’arrive souvent de faire des sites multi avec les rubriques commune à toutes les langues, (donc utilisant multi) et des articles traduit.
Peut etre est ce une mauvaise pratique ?
Ah ok, oui dans ce cas, je comprends le besoin d’avoir les 2 plugins en même temps. Je sais pas si c’est une bonne pratique ou pas, mais je comprends :)
Par contre je ne vois pas de solution simple au niveau interface pour ce cas de figure : il faut bien afficher 2 menus de langues différents, et il n’y a pas de raison d’en rendre un des 2 « moins visible » que l’autre. En tout cas pour multilang, ça pénaliserait les utilisateurs qui ne l’utilisent pas en conjenction avec l’autre plugin, ce qui je pense est la majorité des cas (mais j’ai pas de stats sous la main).
Répondre à ce message
Bonjour,
Merci à vous pour cette contrib géniale que j’utilise massivement sur mes sites !
Depuis une mise à jour récente, multilang ne fonctionne plus dans les crayons (dans l’interface publique). La console de mon navigateur est pleine d’erreur JS.
Merci d’y jetter un oeil à l’occasion !
Jul
Bonjour,
Merci pour le retour, je confirme, ce sera corrigé dès que possible.
C’est corrigé dans la 1.4.4 qui sera publiée bientôt (mais pas aujourd’hui : on n’a pas de serveur :p)
Très bien, j’attends donc la 1.4.4 avec impatience ;)
Répondre à ce message
Souci qui vient d’apparaître, qui empêche l’usage de ce plugin (parfait, par ailleurs, que j’utilise depuis des années), qui ne vient peut-être pas du plugin lui-même.
Voici le problème bloquant : lorsqu’il crée la chaîne :
<multi>[fr]texte_fr[en]texte_en</multi>
Eh bien, maintenant, au lieu de [en] il met [nglis]. Bizarre...
Du coup, ça ne marche plus !
PS : c’est apparu chez moi après la mise à jour du 15/11/2019. Mais maintenant, même si je remet une version précédente du plugin, le problème reste le même.
Le problème s’est réglé, peut-être parce que, dans la configuration du plugin j’ai sélectionné les deux langues :
Répondre à ce message
Bonjour
La traduction semble ne pas fonctionner pour les crédits des images.
Les documents sont bien cochés dans la config du plugin.
Le titre et la description sont bien traduits.
Mais les crédits sont laissés tels quels :
et cela m’affiche [fr]Crédits : Observatoire d’Arecibo[en]Credits : Arecibo Observatory sous mon image
Je précise que dans l’interface privée, multilang semble bien fonctionner : j’ai bien le « no multi » quand la traduction n’est pas faite, et les « multi fr » et « multi en » quand je demande une langue.
C’est uniquement dans le rendu (à la fois dans l’interface privée et publique)
Hello, c’est très certainement car la balise Credits n’est pas traitée de la même manière.
Peux tu essayer quelquechose du genre dans un fichier mes_options.php :
$GLOBALS['table_des_traitements']['CREDITS']['documents'] = 'extraire_multi(%s, "TYPO", $connect, $Pile[0])';
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |