Traductions d’articles autrement 3

Adaptation pour SPIP 3 du plugin Traductions d’articles autrement Ce plugin modifie légèrement l’interface de SPIP afin de rendre la traduction des articles plus aisée.

Principe

Attention, avec la version 2 (>Spip3) ce plugin prend sa retraite et sera remplacé par le plugin Interface de traduction pour objets qui étend les fonctionnalités de ce plugin à tous les objets éditoriales traduisibles.

Des liens de langues, affichés en haut de l’article, permettent de naviguer plus facilement entre les différentes traductions d’un article, d’y ajouter une traductions ou d’en enlever une.

Pour chaque langue du site un lien est crée. En blanc les langues dans lesquelles l’article est traduit et en gris les traductions manquant.

Si on crée un nouvel article, celui-ci, comme nativement dans SPIP, est crée dans la langue de l’espace privé. La langue peut alors être changée en cliquant sur l’icône a droite des onglets de langue.

Affichage compacte

Par défaut, le plugin change l’affichage des listes d’articles [1], en regroupant tous les traductions.

Sont seulement listés les articles d’origine (l’article qui sert de base pour les traductions - s’ils correspondent aux critères de sélection de l’environnement [2] - sinon la première traduction qui correspond aux critères [3]), puis sur la même ligne on peut trouvé les traductions de l’article.

En cliquant sur la flèche dans la colonne traductions, il est possible de voir toutes les traductions de manière plus détaillé.

Configuration

Dans le panneau de configuration du plugin, il est possible de modifier son comportement:

Langue par Secteur

Si vous avez opté pour une structure de site ou chaque langue est définit par secteur et que vous avez installé le plugin Traduction entre rubriques le présent plugin, avant d’ouvrir la fenêtre de traduction de l’article, vérifie si les rubriques parents sont déjà traduits et, à défaut, propose de les traduire.

Pour les sites avec langue par secteur ou si vous êtes perdu avec le sujet du multilinguisme, vous pouvez installer le plugin Site multilingue facile Qui vous permet de disposer d’un site multilingue en quelques clics.

Footnotes

[1Ce comportement peut-être désactivé dans Configuration.

[2l’article d’origine n’est cependant seulement correctement reconnu si l’origine de traduction a l’id_article le plus bas de toutes les traductions

[3trié par id_article

updated on 2 October 2019

Discussion

14 discussions

  • 5

    Bonjour Rainer,
    Super ce plugin qui facilite la gestion des traductions, et l’adaptation aux objets qui est le bien venu. J’ai cependant un soucis entre ce plugin et le plugin “rang”. Ce problème existait sur la version d’avant et la gestion du rang des articles. C’était résolu. Le conflit est revenu maintenant uniquement pour la gestion des objets, L’ordonnancement à la souris n’est plus possible. Pour les articles cela fonctionne bien.

    Reply to this message

  • 2
    liberte

    Bonjour,
    Je n’arrive pas à obtenir la v1.1.10 par la gestion de plugins:

    • il y avait un faute de frappe dans le fichier paquet.xml, la version 1.1.1 le corrige.

    • Liberté

      Merci pour la correction.

      Téléchargement réussi. La version indiquée est 1.1.0

    Reply to this message

  • 6

    j’ai upgradé ma version du plugin, j’en utilisais une ancienne qui n’utilisais pas interface_traduction_objets ; mais je me retrouve avec une erreur:

    SQL error 1054
    Unknown column ’id_trad’ in ’field list’
    SELECT id_trad, id_rubrique FROM spip_rubriques WHERE id_rubrique=xx

    template:
    /home/t9a_web/spip/plugins/auto/interface_traduction_objets/v1.0.1/interface_traduction_objets_pipelines.php

    Loop
    interface_traduction_objets_recuperer_fond() sql_fetsel();

    Line
    75

    Est ce qu’il y a moyen de corriger cela ?

    • Salut pipol,

      je vois, peux tu tester cette version https://github.com/abelass/interface_traduction_objets/archive/master.zip

      j’ai enlevé ce bout de code inutile

    • Super merci (entre temps j’étais repasser à la V1.5 pour voir, cela avait résolu l’erreur - Sachant que j’upgradais à la base de la V1.4 je crois)

      -  
      Ok ca resoud le bug merci ! :-)

      Par une petites remarques, niveau graphisme, dans la colonne de gauche “dans la section” de l’article, les indication de lang, font déborder la colonne sur celle central, c’est pas très agréable.

    • tu peux m’envoyer un screenshot?

    • Voilà un screenshoot. Avec la colonne de gauche qui déborde, Un problème de CSS du squelette privé je pense. Il manque un max-width ou overflow.

      Ou bien revenir comme à la version d’avant ou l’effet d’empilement des trad n’était pas présent dans cette colonne.

      Et je t’ai souligné aussi le bouton pour les option de lang. Car je le trouvais plus pertinent dans la version d’avant ou il se plaçait en petit à droite des langues. Là il prend beaucoup de place ave cun effet de survol, pour une option que finalement le plugin rend quasi obsolète.

      En tout cas merci beaucoup pour ton plugin il simplifie vraiment la vie pour le multilingue

    • je regarderai ça

    • la version 1.0.3 intégrera tes propositions

    Reply to this message

  • 2

    Attention, si vous utilisez le plugin rang, il faut cocher la case ’Enlever l’affichage compact’ sinon le drag & drop ne fonctionne pas.

    Reply to this message

  • 5

    Bonjour,

    Peut-être décelé un petit bug. Bien que n’étant pas sélectionnée dans les langues que je vais utiliser (je n’utiliserai a priori que l’anglais et le lao), le français m’est imposé...

    • Bonjour,

      je ne reproduis pas. Quelle est la langue par défaut?

      Je vous que l’anglais n’apparait pas dans la liste des langues. Est-ce que c’est cette langue est activé dans ecrire/?exec=configurer_multilinguisme ?

      Quelle version de spip?

      Bonne journée
      Rainer

    • Bonjour Rainer,

      La langue par défaut est l’anglais (paramétrage réalisé dès la mise en place de SPIP), multilingue (donc Anglais obligatoire + Lao). Oui, pardon, j’oubliais : SPIP 3.1.3, avec plugin (mis à jour?) v1.3.14 (Revision: 94532)

    • Tu as quelles langues activés dans ecrire/?exec=configurer_multilinguism

      Si dans la config tu plugin tu change les langues à afficher en mettant smt le lao, qu’est ce qui se passe?

    • d’ailleurs la denri`re version du plugin c’est le 1.3.15 (99898)

    • Re-bonjour Rainer,

      J’ai mis à jour avec la toute dernière version du plugin, la langue française est (alors ?) apparue cochée... j’ai décoché, rafraîchit dans l’espace privé sur un article, et dans la barre langue le Français avait disparu et était apparu à la place l’Anglais. Bref, tout est rentré dans l’ordre ! Merci.

    Reply to this message

  • 1

    Bonjour,

    travaillant sur un SPIP 3.1.1 multilingue j’ai constaté qu’en faisant la trad d’un article les documents du portfolio n’étaient pas réinjectés à l’article traduit automatiquement. Est-ce normal ? Je n’ai pas de version antérieur pour me faire un avis.

    Merci :)

    • Pardon, je n’avais pas vu ce poste.

      Le plugin n’intervient pas sur ce fonctionnement.

      Si je me souviens bien spip attache les document seulement si ils sont incrusté dans l’article.

      Bonne journée
      Rainer

    Reply to this message

  • 1

    Salut,

    2 gros problèmes suite à la version 1.3.11:

    -  Le déplacement d’un article vers une autre rubrique modifie la langue (il semble switcher vers la langue de la rubrique)
    -  Tout les articles ne sont plus affichés, il semble se limiter à 20 et n’affiche plus les autres qui semblent donc ne pas exister.

    Si je peux faire quelque chose pour donner plus d’infos ...

    • Pour le point 1
      -  Est-ce que le plugin traduction de rubrique autrement est activé, si oui c’est normal
      -  pour le point 2, a priori le plugin n’a rien avoir car il n’intervient pas sur l’affichage des boucles. Il faudrait donner plus d’informations sur ce que tu as fait exactement, les plugins actifs ...

    Reply to this message

  • 5

    Curieux bug,

    Je travaille sur un CVT et un curieux message SQL s’affiche au moment de valider mon formulaire (traiter). Quelle rapport me diras-tu, et bien je n’ai pas ce message d’erreur quand le plugin taa est désactivé. Ce message apparait quand j’utilise la fonction spip objet_inserer()
    http://core.spip.org/projects/spip/repository/entry/spip/ecrire/action/editer_objet.php#L145

    Et le message laconique est le suivant :

    Erreur 1064 de mysql : You have an error in your SQL syntax ; check the manual that corresponds to your MySQL server version for the right syntax to use near ’’ at line 3
    
    SELECT lang
    FROM `mabase`.spip_rubriques
    WHERE id_rubrique=

    J’ai beau retourner le plugin ds tous les sens, je ne vois pas. Aurais-tu l’ébauche d’une solution quelque part.

    Pour info voici le code minimal de la partie traiter() du CVT :

    include_spip('action/editer_objet');
    $id_article_fr = objet_inserer('article', $id_rubrique_fr);
    • abelass

      Salut Fab,

      tu dois mettre une id_rubrique par défaut. Mets la dans un champ hidden ou met un
      set_request('id_rubrique',$id_rubrique'); avant ta fonction objet_inserer

      Dis-moi si cela résous ton problème

      Rainer

    • Salut,

      Et bien je ne pige pas car $id_rubrique_fr existe bel et bien, d’ailleurs ça fonctionne puisque l’ajout dans la base de données spip fonctionne parfaitement. En fait je pourrai ignorer ce message SQL puisque ça ne change rien, le script fonctionne. Je pense juste que le plugin taa cherche à faire un select lang à un moment donné et je ne comprend pas où et pourquoi. Si je le désactive ça fonctionne pareil (le message SQL en moins). Est-ce que j’ai des chances de trouver une trace de cette requête dans le cache spip ?

    • En fait il essaie de chercher la langue par défaut et pour si tu mets set_request('lang_dest','fr') ?

    • Ahh, je crois avoir compris objet_inserer ne fait que créer un article “vide” que je rempli ensuite avec objet_modifier (je force la langue à ce niveau là) hors taa lors de la première phase aurait besoin de la langue ? Bref ça fonctionne et voilà ce que j’ai fait :

      	$id_rubrique_fr = 11;
      	$id_rubrique_br = 12;
      	$id_rubrique_en = 85;
       
      	if(filtre_info_plugin_dist("TAA","est_actif"))
      		$taa = true;
       
      	if($taa)
      		set_request('lang_dest','fr');
      	$id_article_fr = objet_inserer('article', $id_rubrique_fr);
       
      	if($taa)
      		set_request('lang_dest','br');
      	$id_article_br = objet_inserer('article', $id_rubrique_br);
       
      	if($taa)
      		set_request('lang_dest','en');
      	$id_article_en = objet_inserer('article', $id_rubrique_en);

      Oui c’est très artisanal mais ça fonctionne, joie ;)

    • Alors tu peux le faire un peu plus court

      $rubriques=array(11=>'fr',12=>'br',85=>'en');
      
      foreach($rubriques AS $id_rubrique=>$lang_dest){
              if ($taa)set_request('lang_dest',$lang_dest);
              objet_inserer('article', $id_rubrique);
      }

    Reply to this message

  • 1

    Bonjour, j’ai un curieux bug avec ce plugin, lorsqu’il est activé, le moteur de recherche interne (celui de l’interface privée) ne filtre plus du tout les résultats de la recherche...

    Raphaël

    Reply to this message

  • 1

    Bonjour,

    Merci pour ce plugin très utile

    Tout va bien en tant qu’admin, en revanche il y a un souci inexpliqué avec les rédacteurs :

    lorsqu’un rédacteur clique sur un des liens dans la barre de langue pour écrire une nouvelle traduction, la liste des rubriques est vide, on ne peut pas sélectionner de rubrique.

    Il faut d’abord enregistrer une fois, pour voir la liste des rubriques réapparaître, avec le message “information obligatoire”, et seulement là on peut enregistrer l’article ...

    Merci d’avance

    • Bonjour,

      J’imagine, comme vous êtes sur le forum de la version3 de ce plugin que vous êtes en spip3.

      je viens de faire un teste avec spip 3.0.10 et la version 1.3.8 du plugin.

      Apparemment c’est une histoire d’autorisations de spip qui n’a rien à voir avec le plugin. (vous pouvez d’ailleurs désinstaller le plugin, vous obtiendrez le même résultat.

      Si je crée un article en tant que rédacteur et que j’en fais une traduction, je peux librement choisir la rubrique dés la création de la traduction.

      Cependant si je veux comme rédacteur traduire un article écrit par un administrateur je ne peux pas modifier la rubrique seulement quand je modifie l’article.

      En soi cela ne devrait pas poser de problème car, si vous êtes dans le cas ou les rubriques ne sont pas traduites mais utilisent le tag multi pour afficher des contenus selon la langue, l’article se trouvera d’office dans la bonne rubrique.

      Cependant si vous avez définit un secteur par langue je vous conseille alors d’utiliser également le plugin Traductions de rubriques autrement qui mettra votre article directement dans la bonne rubrique traduite. Donc à priori plus besoin de modifier la rubrique

    Reply to this message

Comment on this article

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