Multilang

Ce plugin rajoute 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.

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

Discussion

32 discussions

  • Bonjour,
    Je voudrais savoir comment mettre les liens cliquables des langues sur la page d’accueil du site?
    Quels balises ou code faut il insérer?
    Merci

    Reply to this message

  • Ce plugin est formidable et me sauve la vie, vraiment. Parce qu’effectivement ça rend la saisie des mots-clés et des titres des documents tellement plus confortable

    Cela dit, il y a un truc un peu bizarre, je suis sous SPIP 3 (toute dernière version) et, bien qu’ “Article” soit décoché dans les paramètres du plugin, Multilang reste actif dans les articles.

    Je crois que c’est dû à un autre réglage, mais j’ai oublié lequel.

    Reply to this message

  • Bonjour,

    je ne suis pas si c’est ici que je dois poster cette question ou plutôt dans champs extras ou saisies.

    Quand je déclare un champ extra de (type textarea dans la table spip_syndic) via l’api de champs extras, le champ reçoit la classe multi_lang_no_multi et le javascript n’agit pas sur ce champ.

    Selon la documentation le javascript devrait réagir sur textarea, ce qu’il fait pour le textarea “descriptif” du formulaire mais pas le champ extra; ajouter une classe “text” ne change rien non plus.

    Si par contre j’entre manuellement la structure multi et je sauvegarde, alors il reconnait le champ extra et l’inclue dans la gestion des langue par le plugin.

    Comment dois-je déclarer ce champ que le javascript l’inclut d’office?

    Merci

    Rainer

    Reply to this message

  • Bonjour tout le monde,
    Je remercie le créateur de ce plugin, qui, une fois installé sur le site, à laisser entendre un grand souffle de soulagement de la part de mes utilisateurs : “Oufffff, plus besoin de saisir ces PUxAINS de balises multi !!! Hourra!”
    Par contre, nous utilisions également des éléments hors balises, il est vraiment regrettable que le bouton “tout”, nous contraignent aux champs complets en lecture seule ...
    Il serait génial de pouvoir éditer celui-ci, grace a quoi nous pourrions mettre du texte hors balises.

    De plus mes utilisateurs rencontrent également des soucis, lorsque ils saisissent qu’une seule langue dans l’article (dans l’optique de mettre l’autre langue dans un second temps), et que celle-ci n’est pas celle par défaut. J’essaierais de détailler cela dans un autre post.

    Merci à vous,

    Jul

    Reply to this message

  • 2

    bonsoir
    j’utilise spip 2.1 avec sarka spip, j’ai installé multilang, mais quand je suis sur un article et que je souhaite modifier la langue, j’obtiens une erreur 404. J’ai lu que certaines personnes avaient eu ce problème mais je n’ai pas trouvé la correction à faire, quelqu’un pourrait il m’aider ?
    merci

    • Bonjour, et as-tu trouvé la solution ? je cherche aussi. Merci d’avance !

    • bonjour, non pas trouvé j’ai enlevé sarka et installe soyezcreateur, cela fonctionne bien

    Reply to this message

  • 1

    Bonjour,
    Génial ce plugin!

    Par contre je rencontre un soucis, je m’explique:
    Je viens de concevoir un site donc multilangue et ne sachant pas exactement les langues finales j’ai utilisé au départ le francais et l’anglais tous marché nickel.

    Puis un fois réalisé j’ai du ajouter l’allemand, je l’ajoute dans l’admin je vide le cache puis je vais dans un article déjà rédigé pour ajouter la traduction allemande: j’ai bien dans la barre de langue de et quand je clic dessus tous marche normal, je renseigne la traduction.

    Et pour finir je sauvegarde l’article, et la problème l’édition n’est pas prise en compte.

    J’ai vérifier la requete ajax c’est belle et bien la bonne chaine qui par :

    exemple : < multi >[fr]Accueil[en]Home[de]Welcomen

    Le seul moyen que j’ai trouvé pour modifier la chaine c’est en passant par phpmyadmin (pas très userfriendly).

    Et quand je veux modifier l’article via l’admin (après avoir ajouter [de]Welcomen via phpmyadmin), tjr aucune modif prise en compte.

    En esperant avoir été asse clair.

    D’avance merci,
    Alexandre

    • Erratum : après investigation ce plugin n’est pas en cause il sagirait plutôt dans soucis dans comments.

      Milles excuses.

      Alexandre

    Reply to this message

  • 1

    Bonjour,

    J’utilise sur un spip3 ce plugin — qui au passage est vraiment vraiment très utile, merci — couplé au plugin champ extra. Et là, je retrouve sur le site public le contenu des deux langues l’un au dessous de l’autre.

    Est-il possible que ces deux plugins ne soient pas compatibles ? Quelqu’un a déjà eu ce cas de figure ?
    Merci !

    • Oups, je n’avais pas activé les filtres propres sur ces champs extra.
      Mea culpa

    Reply to this message

  • 2

    Excellent plugin, devrait être intégré dans le core de spip 3.
    JE viens de le découvrir et il vas me simplifier la vie.. Expliquer à mes client le coup de la balise multi était toujours délicat :D !!!

    Merci aux dev !

    • Le rêve serait que cela fontionne de la même façon pour les articles :-)
      En tout cas c’est beaucoup plus intuitif pour les rédacteurs.

    • C’est possible en le configurant pour les articles (utiliser cfg pour cela) mais ce n’est pas dans l’install par défaut car SPIP a un système de traduction pour les articles...

    Reply to this message

  • Bonjour,

    Merci pour ce plugin, découvert à l’occasion de la mise-à-jour de sécurité récente, qui va (sans doute) me permettre de basculer en v2.1 un site toujours bloqué en 1.9 pour MultiLangue !

    Mais il semble qu’il y ait plusieurs incompatibilités, (en cours de tests sur une V2.1.12 neuve)
    -  d’une part avec la lame “tout en couleurs” du couteau suisse (comme implicitement dit ci-dessus),
    -  d’autre part avec le “bandeau” (les menus n’apparaissent que comme un trait noir “par moments”....

    @ suivre
    Yannx

    Reply to this message

  • 1
    arriflex

    Bonjour et merci pour ce plugin,

    Je l’utilise avec une version 2.1.10 [17657] de SPIP pour un site bilingue (fr-en) et (notamment) le plugin couteau suisse, et je voulais rapporter 2 bugs:

    1) lorsque je clique sur tout, les champs s’affichent avec les raccourcis spip <multi> mais impossible d’éditer quoi que ce soit. Pour pouvoir modifier le texte, je dois cliquer soit sur [fr] soit sur [en] pour que le texte soit éditable.

    2) le plugin semble incompatible avec l’option “Tout en couleurs” du couteau suisse: lorsque j’essaye de colorer du texte ex: découvrir [gold] {{Paris}}[/gold], le texte s’affiche correctement en public mais dans la partie privée le code n’est pas bien interprété et s’affiche découvrir  {{ et plus rien ensuite...

    Savez vous comment faire disparaître ces petits bugs?

    Merci encore pour ce plugin, vivement qu’il soit complètement opérationnel !

    • Bonjour

      1) C’est le fonctionnement normal. Comme indiqué dans l’article, “tout” permet de visualiser le contenu d’un champ... (je viens de rajouter qu’il ne permet pas la modification)

      2) Rajouté dans la liste des choses à faire

      Merci pour le retour

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom