Site multilingue facile

Site multilingue facile permet de mettre en place facilement un site multilingue avec une langue par secteur.

Introduction

Même si le multilinguisme est nativement intégré dans spip, réaliser un site multilingue n’est pas toujours évident. Ce plugin a pour objectif de faciliter cette tâche en permettant de mettre en place en quelques clics un site multilingue avec une langue par secteur. [1]

Principe

Le plugin rassemble plusieurs plugins déjà existants et apporte quelques modifications aux squelettes.

Installation

Le plugin s’installe comme n’importe quel plugin.

Il nécessite toutefois les plugins suivants :

Sous Spip >= 3 l’installation de ces plugins requis se fait automatiquement en installant le présent plugin.

Sous Spip 2 ou 2.1 il est recommandé d’installer auparavant le plugin Step pour installer « Site multilingue facile » et de forcer ainsi l’installation automatique de tous les plugins nécessaires.

Le plugin modifie également quelques squelettes (sommaire.html, rubrique.html et article.html) et quelques noisettes.

Une fois installés les plugins nécessaires, il vous suffit de déterminer les langues du site dans « Configuration »->« Mulilinguisme »->« Gestion des langues » et voilà votre site est multilingue ; vous pouvez maintenant commencer à rédiger vos contenus.

Squelettes

Le plugin surcharge les squelettes sommaire.html, article.html et rubrique.html afin de les adapter à la structure « une langue par secteur »[1].

Évidemment vous pouvez les surcharger à votre tour en copiant les fichier d’origine depuis le dossier squelettes-dist dans votre dossier squelettes, mais vous perdriez les adaptations spécifiques à la structure « langue par secteur »[1]. Vous pouvez également réutiliser les adaptations proposé par ce plugin.

Modifications des squelettes proposés par le plugin

Si vous voulez maintenir la redirection automatique vers le bon secteur de langue [1], veuillez ne pas surcharger le fichier sommaire.html, car il contient la balise #LANGUE_PREFEREE_SECTEUR_REDIRECTION du Plugin « Langue préférée par l’internaute » provoquant la redirection vers le secteur de la bonne langue.

Concernant les squelettes article.html et rubrique.html, si vous souhaitez les modifier, copiez les fichier correspondant à votre version dans votre dossier squelettes, puis renommez-le correctement :

Pour la version spip 2 et 2.1 copiez les fichiers « rubrique_spip2.html » et « article_spip2.html » dans votre dossier squelettes, puis renommez les en leur enlevant « _spip2 ».

Pour la version spip 3 et plus procédez de la même manière en prenant les fichiers contenant « _spip3 ».

Le logo
Ce qui suit est valable pour les versions de Spip inférieurs à 3.2. [2]

Les Balises #LOGO_objet comme par exemple #LOGO_ARTICLE permettent maintenant de chercher le logo de l’objet d’origine si l’objet traduit ne dispose pas de logo. Donc si l’article 2, traduction de l’article 1 n’ait pas de logo attaché, la Balise #LOGO_ARTICLE affichera le logo de l’article 1.

Cette fonctionnalité peut-être désactivé dans le panneau de configuration du plugin.

Le menu de langue

vous pouvez utiliser la noisette
<INCLURE{fond=inclure/menu_langues,env}/>
qui est inclue d’office si vous utilisez ce plugin dans Spip3 et +.

Pour Spip2 et 2.1 vous devriez copier le fichier inc-entete.html dans votre dossier squelettes et remplacer
#MENU_LANG par <INCLURE{fond=inclure/menu_langues,env}/>

Le menu de navigation

Si vous utilisez les squelettes par défaut ou ceux de Zspip, ce plugin inclut directement un menu de rubriques adapté à la structure langue par secteur [1].

Sinon vous pouvez insérer la noisette <INCLURE{fond=inclure/nav,env}/> à l’endroit ou vous voulez faire apparaitre le menu de navigation

Le plugin est compatible avec Zspip

Notes

[1Langue par secteur signifie que pour chaque langue, une rubrique est crée à la racine du site (rubrique secteur). Les rubriques d’une même langue seront alors des sous-rubriques de la rubrique secteur correspondante à la langue.

[2A partir de Spip 3.2 le logo original est ajouté automatiquement à la traduction, donc cette fonctionnalité n’est plus d’utilité.

Discussion

27 discussions

  • Avec SPIP 4.0 et site multilingue facile v3.0.0, lorsqu’un article traduit n’a pas de logo, le plugin ne va pas/plus chercher le logo de l’article de référence avec #LOGO_ARTICLE. Pareil pour les rubriques.

    Répondre à ce message

  • 1

    SPIP is an excellent engine, but if they do not implement multilingualism, how long has it become a standard of usability - article - tab of languages - transition to a translated article (how it has long been implemented everywhere - on the same WordPress). Or is it impossible in principle ? Thanks if someone answers.

    • Hi Limbo,
      I don’t know why you think that there I no multilingualism in spip when it is natively implemented for much longer than in WP.

      Present plugin only helps you setup a multilingual website using mainly native spip features and some plugins that are tweaking spips multilingual features.

      Can you explain more precisely what you think is lacking in spips multilingual approach ?
      Rainer

    Répondre à ce message

  • 6

    Bonjour, la traduction d’article et de rubrique fonctionne comme espéré mais lors de la création d’une traduction d’un article le logo de l’article original disparaît, il faut alors le rée-uploader..
    Une idée d’où peux venir le problème ?
    Merci.

    SPIP 3.2.1 - tout les plugin à jour.

    • Je n’ai pas encore rencontré ce phénomène. Si tu désactive tous le plugins non nécessaires, le problème persiste ?

    • Je viens de voir le problème. C’est la détection du logo de traduction qui cause le problème. Apparemment, et en tout cas en 3.2.1, quand on traduit un article, son logo est automatiquement ajouté à sa traduction.

      Je vais analyser quels versions de spip ont adopté ce fonctionnent, en attendant il te suffit de désactiver dans la config l’inclusion automatique du logo d’origine.

      Merci pour m’avoir communique ce bug.

    • Bonjour, en effet en désactivant l’option dans la config ca fonctionne et le logo d’origine est bien ajouté à la traduction. Merci.

    • C’est corrigé dans la version 1.0.12 (111641)

    • A noter tout de même que cette mise à jour résout le problème pour les nouveaux (et futurs) articles/rubriques mais n’affiche plus les logos pour les existants, qui étaient correctement affichés jusqu’ici.

    Répondre à ce message

  • 4
    dominique Robin

    bonjour, je teste le plugin avec 3 langues. Au niveau de la rubrique c’est bon mais au niveau de l’article je n’arrive pas à sélectionner une nouvelle langue que je dois modifier directement dans la table. Mon plus gros problème est que les articles traduits apparaissent dans le menu sur l’interface publique. J’ai donc 4 liens vers les articles traduits. Par contre j’affiche correctement l’article traduit en anglais et en français à l’aide la liste des langues.
    Mon site teste est : http://preuilly.preuillysurclaise.fr/?foret-de-tours-preuilly-detente&lang=fr
    J’ai peut être pas tout compris au niveau du paramétrage des différents plugins utilisés. Merci de votre aide.

    • Bonjour

      de l’article je n’arrive pas à sélectionner une nouvelle langue que je dois modifier directement dans la table.

      Je ne comprends pas. Pourqoui changer directement dans la table ? Ou est-ce que tu n’arrives pas à sélectionner une nouvelle langue ? Screenshot ?

      J’ai donc 4 liens vers les articles traduits.

      Peux-tu également mettre un screenshot ?

      Rainer

    • dominique Robin

      bonjour, suite à ton message j’ai compris pourquoi j’avais plusieurs articles. Tout simplement du fait que je ne rattachais pas l’article traduit en anglais à la rubrique traduite en anglais. Si je n’arrivais pas à sélectionner une nouvelle langue c’est que je voulais modifier la langue après avoir créé un nouvelle traduction. Maintenant je crois avoir compris et cela fonctionne sur le site test. Fort de mon succès j’ai créé des traductions sur le site principal preuillysurclaise.fr et là j’ai un nouveau problème car avec le même paramétrage des plugins ma traduction est bien liée à la rubrique anglaise mais j’ai deux boutons qui s’affichent au lieu de la liste déroulante du choix de la langue. Pour le site principal j’utilise le squelette soyezcreateurs sur le test le squelette spip de base 3.11. Je vais tenter de trouver mon erreur Merci de ton aide si tu as le temps de m’aiguiller

    • Bonjour Dominique

      Les squelettes de base de spip proposent un menu langue spécifique pour les articles dans le corps de l’article et un pour les autres page en haut de la page. Le présent plugin les fusionne.

      Comme tu utilise un autre squelette, j’imgine que le menu traduction article réapparait, il suffit de l’enlever dans le squelette article.

      Rainer

    • dominique Robin

      bonjour et merci, je vais suivre tes conseils car en effet il semble que les différents plugins installés se contraries.

    Répondre à ce message

  • Bonjour Rainer,

    Désolée pour ma réponse tardive mais j’ai un problème annexe qui m’a empêché de travailler sur le site (le disque dure du serveur est en train de lâcher... :-/ )
    Je réinstallerait tout la semaine prochaine et repartirai de 0.

    Merci pour tes réponses, je reviendrai t’embêter, où je l’espère te donner de bonnes nouvelles :D, dès que possible :)

    Répondre à ce message

  • 2

    Merci pour ta réponse Rainer,

    j’avais déjà essayé avec le $GLOBALS mais ça ne donnait rien (dans /config/mes_options.php)

    et concernant l’astuce, j’ai copié-collé le code dans mes_options.php et là j’ai une page blanche x-/ si je mets ?/lang=en j’ai toutes ma page en en mais le retour en fr laisse page blanche...

    Je n’ai auxune idée :’(

    merci pour ton aide.

    Répondre à ce message

  • 1

    Bonjour,

    Je n’ai pas utilisé les secteurs par langue (en mettant en dure / ?lang=en les noisettes se traduisaient tout de même ainsi que les articles).
    J’ai fais un test en créant les secteurs par lange (dossier racine en et fr) contenant les ss-rubriques et articles traduits et j’ai exactement le même problème.

    le site de test peut-être visible ici :
    test.sfv.leotxando.net
    htpasswd : id : spip
    mdp : SpiP0u

    Merci pour ton aide !

    • Bonjour,

      ce que je vois tu as du écraser le fichier sommaire.html, qui normalement renvoie vers la rubrique du secteur correspondant à la langue par défaut, ou choisit par le visiteur. le sommaire n’ayant pas de langue il faut lui l’indiquer via la variable lang.

      Tu pourrais mettre

       $GLOBALS['forcer_lang'] = true;

      dans ton fichier mes_options mais cela peut avoir dés effets non désires car no seulement il ajoute automatiquement la variable lang à l’url mais

      elle indique en même temps que les chaines de langue de l’interface s’affichent dans la langue du visiteur, et non dans la langue des articles ou rubriques.

      Extraits de http://programmer.spip.net/Forcer-la-langue-selon-le-visiteur

      dans ce même page sous « Autre utilisation du cookie » tu trouvera une astuce qui t’évitera d’utiliser le

       $GLOBALS['forcer_lang'] = true;

      Rainer

    Répondre à ce message

  • 1

    Bonjour,
    bravo pour ce plugin qui simplifie grandement les choses !

    J’ai un soucis au niveau du menu_lang : ce dernier me force l’affichage en français systématiquement, malgré le fait que j’ai mis mon navigateur en anglais.
    Par contre, si je mets / ?lang=en j’ai bien l’affichage du menu_lang qui me notifie que je suis en anglais, quand je clique sur français je reviens en fr mais l’inverse ne s’effectue pas :/

    comment faire le basculement de langue ? je n’arrive pas à me « déboguer » :D

    Merci !
    Je suis sous spip 3.1.0 avec multilingue 1.0.6 stable.

    Répondre à ce message

  • 1

    Bonjour à tous et merci aux dev !

    Depuis le passage à SPIP 3.1, j’ai un pb...
    Impossible de passer d’une langue à l’autre par le menu

    Mon site est : http://www.davduf.net
    Le lien qui est donné, par ex, pour passer à l ;’anglais est : http://www.davduf.net/spip.php?action=converser&hash=61ce3bd35953067339c63f1526d178297e568647&redirect=.%2F

    J’ignore complètement à quoi il se rapporte...

    Merci mille fois !

    Répondre à ce message

  • 5

    ce plugin est super mais il me fait planter le moteur de recherche en partie privée du site il me retourne une erreur SQL 1064

    le probleme semble proveni de :
    SELECT id_trad FROM spip_articles WHERE id_article=

    • Je ne reproduis pas ce problème. Quelle version de spip, du plugin. Quelle moteur de recherche celui dans la barre coloré ?

      As-tu fais des essais en désinstallant tous les autres plugins non nécessaires ?

    • dans multilingue_fonctions.php, en remplaçant :
      AND $id_trad=sql_getfetsel('id_trad',$table,$_id_objet.'='.$id)
      par :
      AND $id_trad=sql_getfetsel('id_trad',$table,$_id_objet.'='.intval($id))
      cette erreur a disparue.

    • Bonjour et merci pour ce d´pistage,

      C’est bizarre que cette erreur apparaisse, vue que $id ne devrait jamais être vide, pourrais-tu me donner le contexte de cette erreur. Quelle version spip avec quelles plugins (version php).

      Merci

      Rainer

    • Bonjour Rainer,

      Après enquête, l’erreur vient d’une utilisation certainement abusive de ma part de la balise #LOGO_ARTICLE_RUBRIQUE pour afficher de manière générique logo de l’article ou de la rubrique dans un entête de page.

      Sur la page rubrique, le logo de la rubrique est bien trouvé mais l’erreur apparaît.. Il y a peut être alors, dans l’environnement de cette page, un id_rubrique mais pas de id_article.

      Avec la modification, le logo est toujours bien affiché mais l’erreur disparaît. Ce n’est certainement pas une solution très propre mais peut être qu’elle servira malgré tout à d’autres..

      Seule la fonction « traduction de logo » du plugin est utilisée.
      Merci pour ce code très utile ! :)

      victor

    • Bonjour Victor,

      Merci pour tes retours. J’ai actualisé le code avec ta suggestion.

    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