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

33 discussions

  • 1

    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

    Répondre à ce message

  • 1

    Merci pour cette contribution fort utile, toutefois je dois l’abandonner à moins qu’il y aie une solution. Dans le cadre d’un projet je dois générer un fichier xml basé sur les mots clés du site (des pays). J’utilise donc le multilinguisme sur les mots clés. Toufefois le xml accepte uniquement le titre du mot clé mais n’accepte pas le mot sil est entouré d’un span=« fr »... j’ai donc inséré la balise TITRE ainsi : (#TITRE et là le problème est à moitié résolu. Les span disparaissent sauf dans le cas suivant (ce qui m’empêche de générer un xml qui fonctionne) :

    lorsque je crèe le mot Afghanistan, sa traduction en anglais est la même, donc le système ne crèe pas un multi avec français et anglais mais uniquement avec le français :( et donc dans le code span apparait.

    La seule façon que jai c’est d insérer manuellement les champs multi et là tout fonctionne...

    Répondre à ce message

  • 3

    Ce plugin a l’air d’être bien intéressant.

    Mais une installation en version 2.1.8 ne m’affiche strictement rien dans les articles, les rubriques,... malgré que tout soit coché à oui dans / ?exec=cfg&cfg=multilang

    Une idée de comment vérifier si le plugin est bien actif ?

    • Tu as bien défini plusieurs langues ?
      Regarde avec firebug, s’il n’y a pas d’erreurs js

    • Etrange, j’avais 3 langues de sélectionnée et le plugin n’était pas chargé.

      En rajoutant une langue, le plugin s’active bien et reste fonctionnel quand on revient à 3 langues.

    • Chouette plugin, juste quelques questions/remarques en passant ...

      -  Comment se détermine l’ordre d’affichage des langues [fr][en][nl][Tout] et comment le modifier ?
      -  Dans l’interface privée on ne voit que la visualisation du contenu de la première langue, ce serait bien de mettre aussi l’affichage des langues [fr][en][nl] pour visualiser le contenu des autres langues sans devoir passer par l’édition.
      -  Le suivi des modifications est rendu compliqué ...
      -  Pour les urls propres, on se retrouve avec une url qui prend le titre de la première langue par défaut, je ne sais pas si ce serait possible d’avoir facilement un système qui génèrerait les urls en fonction de la langue : titre-fr/titre-nl/titre-en

    Répondre à ce message

  • Superbe, ça marche avec spip 2.1.2, mais je ne pouvais pas bien lire l’image in background dans les textarea - donc, j’ai changé le CSS pour le mettre à 95% , pas de 98%. Mais, autrement, tiptop, merci !

    Répondre à ce message

  • 3

    Bonjour,
    j’ai installé votre plugin qui marche très bien.
    J’ai une petite difficulté sur mon site car toutes langues sont cochées pour gérer les traductions mais le site global n’utilise que 4 langues.
    Est-ce possible de configurer que ces 4 langues dans le multilangue ?
    merci d’avance.

    • Bonjour

      Le plugin n’utilise que les langues qui sont cochées dans la page ecrire/ ?exec=config_multilang

    • Le problème c’est que j’ai selectionné une dizaine de langue pour pouvoir gérer la traduction des articles.
      mais le multilinguisme du site global n’est que de 4 langues forcées.
      Puis-je forcer les langues dans votre plugin également en dur dans le code ?

    • Tu peux essayer. Ca se passe dans le fichier multilang_pipelines.php à l’insertion du script

    Répondre à ce message

  • 2

    Bonjour,
    J’ai un soucis au niveau du comportement de #MENU_LANG avec les balises multi.
    Il ne me trouve pas les traductions.
    Quelqu’un chez qui çà fonctionne aurait t’il un bout de code à me montrer ?
    Merci

    • Je précise qu’il voit les langues au niveau « menu » mais lorsque je clique il me fait une erreur 404 sauf pour la page d’accueil.

    • Désolé, j’ai trouvé, c’est un problème de multi manquant dans les articles que j’ai testés ..... cà marche impec....

    Répondre à ce message

  • 5

    Bonjour,

    J’ai constaté une chose. Même en paramétrant le plugin avec CFG, le plugin ne me propose aucune interface multilingue pour les mots-clefs ou encore la configuration du site !

    • Hello, je viens de retester, pour moi ca fonctionne. Le menu apparait-il dans pour les rubriques par exemple ?

    • oui. l interface multilang s’affiche uniquement sur les rubriques, mais pas avec les mots-clefs !

    • bizarre, peux tu m’envoyer en privé un code d’accès rédacteur au site en question ?

    • bonjour Yffic,

      Merci pour ton message.
      J’ai fait qq recherches de mon côté et j’ai (re)découvert une chose. Lorsque j’ai désactivé le plugin « porte plume partout », le menu langue est apparu dans mes mots-clefs !
      J’ai déjà écrit un commentaire à ce sujet. Je travaille habituellement avec FF. Malheureusement, je ne sais vraiment pas d’où vient le problème.

      As-tu besoin d’autres informations ou précisions ?

    • Hello

      Je viens de revérifier. Pour moi ca fonctionne correctement avec PPP... Faudrait vraiment que je puisse accéder à du code pour essayer de comprendre ce qui ne va pas chez toi

    Répondre à ce message

  • 3

    Bonjour,
    j’utilise le plugin sur un SPIP 2.1.1, j’ai juste 2 questions :
    quel est l’avantage de mettre les champs qui n’ont pas encore de balise multi en lecture seule ?

    il me semble qu’il y a aussi un petit problème : lorsqu’aucune balise multi n’existe encore dans le champ, elles ne sont pas ajoutées automatiquement, elles sont prises en compte seulement si elles existent... l’automatisation serait bien venue pour éviter la rédaction fastidieuse, et les balise multi resteraient inconnue du rédacteur novice...
    est-ce un problème technique ?
    aurait-il fallu créer les articles après la mise en place du plugin ?

    merci et bon courage,

    • Effectivement, sur 2.1.1, enfin 2.1.2 ;-) , obligé de saisir manuellement la première fois les champs multi. Il me semble que ça n’était pas la cas sur les précédentes versions. Y a-t-il une raison particulière à cette logique qui diminue la force de cet excellent plugin ?

    • Vu... C’est normalement corrigé

    • oui super, c’est corrigé,
      merci, c’est du tonnerre !

    Répondre à ce message

  • 1
    Valerie

    Bonjour,
    Les textarea munis de ckeditor (le texte des rubriques notamment), ne se traduisent pas en multi. Spip enregistre le texte de la dernière modification dans ce champs.
    J’imagine que ça vient du traitement du texte par ckeditor. Est-ce voulu ? Ou y a t il des modifications prévues à ce niveau ?
    A bientôt, et encore bravo pour ce plugin indispensable pour Spip.

    • Les textarea munis de ckeditor (le texte des rubriques notamment), ne se traduisent pas en multi. Spip enregistre le texte de la dernière modification dans ce champs.
      J’imagine que ça vient du traitement du texte par ckeditor. Est-ce voulu ?

      On pourrait parler des plombes sur l’utilisation de Ckeditor ... Je pense plutôt que tu devrais te tourner vers les mainteneurs (s’ils existent) de ce plugin.

      Il n’y a aucune modif prévu à notre niveau pour le supporter en tout cas.

    Répondre à ce message

  • 5

    Bonjour,

    J’ai constaté un souci avec le plugin Multilang. Lorsque les plugins multilang + porte plume partout sont activés ds spip 2.1, la barre d’outils porte plume disparaît dans les champs supplémentaire. Si je déactive multilang, alors les barres d’outils réapparaissent normalement.

    Autre problème, ce plugin ne semble pas fonctionner normalement ds IE

    • Sous IE, les boutons permettant de changer de langue (par ex [fr] [en]) ne s’affiche pas. On ne voit que le titre de la rubrique dans une langue et il est impossible de le visualiser dans une autre langue.

    • Salut

      J’ai normalement corrigé le problème sous IE... Mais je n’ai testé que sous IE8, pas de IE7 sous la main...

    • Re

      Concernant le problème avec PPP, je n’arrive pas à le reproduire, ni sous FF ni sous IE... Vérifie que la correction précédente n’a pas fait disparaître ce soucis. Sinon, donne moi plus d’infos

    • Valerie

      Bonjour,
      Et merci pour ce plugin tant attendu. Le soucis du non-affichage sous IE7 semble réglé, en conservant toutefois le petit décalage de l’input du numero vers le bas. Mais rien de bien grâve, par rapport à ce qu’IE 7 est capable de générer comme Bug.

    • (désolé, je colle mon précédent post en réponse)

      Merci pour les infos.
      Je n’ai pas eu l’occasion de tester sous IE.
      Par contre, il y a tjs un problème avec porte plume partout sous FF3.6 et safari 5.0.
      J’avais installé ppp pour obtenir une barre typographique sur le champ chapeau de mon formulaire d’article. Lorsque j’ai installé et activé le plugin multilang, la barre typo sur les champs chapeau avait disparu. Si je désactive multilang, alors la barre typo réapparaît comme par magie.

      Je n’ai pas plus d’indications pour le moment, car je ne sais ce qui est la source du problème. Mais je te réponds volontiers si tu as des questions précises.

      Merci pour ton travail

    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 :

  • 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
  • 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 apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom