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

Aucune discussion

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