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.

Notes

[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

Discussion

15 discussions

  • 7

    Salut,

    Il semblerait que ça ne fonctionne pas avec le plugin page unique (il me semblait que cela fonctionnait avant). En tout cas il faut trafiquer dans la base de données pour attribuer les bonnes langues (et id_trad).

    • Salut,

      ce plugin a été remplacé par Interface de traduction pour objets. Tu as quelle version du plugin installé ?

      Rainer

    • J’ai la totale :
      interface_traduction_objets 1.2.3
      secteur_langue 1.1.0
      taa 2.0.0
      trad_rub 2.0.0
      tradrub 3.1.3
      le tout sur spip 3.3 dev mais j’ai le même soucis sur une 3.2.8

    • Si je ne me trompe pas une page est un article détourné qui devrait disposer par défaut des champs lang et id_trad, condition de base pour le interface_traduction_objets. Donc à priori cela devrait fonctionner. Qu’est-ce qui ne va pas, Les onglets de langues ne s’’affichen pas ?

    • Sisi mais ils restent en italiques (même l’article nouvellement créé).
      Si je met les infos à la main dans la base de données tout fonctionne bien, par contre si j’utilise l’interface les champs id_trad et lang restent vident.

    • rectificatif, id_trad fonctionne, c’est lang qui reste vide. Si on veut affecter une langue à un article ça dit que tout s’est bien passé, mais le champ lang reste vide

    • ok, je comprends.

      secteur_langue n’a pas pris en compte le cas particulier de pages lors de la détection de la langue.

      C’est corrigé dans la version 1.1.1

    • Impeccable ! Ça fonctionne

    Répondre à ce message

  • 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.

    Répondre à ce 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

    Répondre à ce 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

    Répondre à ce 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.

    Répondre à ce 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.

    Répondre à ce 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

    Répondre à ce 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 ...

    Répondre à ce 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 <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+bWFiYXNlPC9jb2RlPg=="></span>.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);
      }

    Répondre à ce 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

    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