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

  • 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

    Répondre à ce message

  • 1

    Bonjour , je suis encore en Spip 2.1.12, je n’ai pas compris comment trouver ce plugin pour cette version, les liens « Adaptation pour SPIP 3 du plugin Traductions d’articles autrement » ne menant PAS à un téléchargement de fichier zip.
    merci de votre aide.

    • Bonjour,

      il y avait un conflit des urls cela devrait fonctionner maintenant :
      voici : l’article et le zip.

      Le plugin peut également etre installé via l’installateur automatique des plugins dans le dossier plugins/auto/

      Rainer

    Répondre à ce message

  • 6

    Bonjour,
    j’ai parfaitement installé et utilise ce plugin qui me ravit ! Merci.

    Cependant, il m’apparait une erreur sous cette forme :
    1/ Lorsque je souhaite traduire un article dans ma langue secondaire (espagnol), je clique sur Español dans la barre de traduction dans l’article et cela m’amène à créer un nouvel article en espagnol.
    SAUF QUE, après avoir enregistré ce nouvel article, son champ ’lang’ est renseigné comme français.

    2/ Lorsque je veux changer cela dans la fenêtre le permettant, il surgit cette erreur (cf image jointe) :
    « Une erreur technique a empêché l’enregistrement correct du champ ’lang’. »

    • Je repose ma question, de manière plus claire j’espère.

      SPIP : 3.0.5
      Traduire article autrement : 1.3.4
      PHP : 5.2.17
      MySQL : 5.0

      Problème :
      Si je veux changer la langue d’un article déjà rédiger, via la fenêtre “Langue de l’article”, arrive une erreur « Une erreur technique a empêché l’enregistrement correct du champ ’lang’. » (cf image jointe). La champ ’lang’ dans la base de données est alors renseigné avec les dix premières lettres de l’adresse du site (http://pyr dans mon exemple).

    • Bonjour,

      D’abord pourriez vous me dire si vous avez configurez votre site avec une langue par secteur ou si vous traduisez les rubriques via les balise multi ?

      La dernière version du plugin devait en effet corriger le bug qui empechait la prise en compte de la langue de traduction de l’article dans un environnement avec traductions des rubriques via balises multi.
      Si vous êtes dans un tel environnement et si vous vous venez d’actualiser le plugin, vider le cache et ressayer de faire une traduction, il devrait maintenant être enregistré. Dites-moi si cela fonctionne maintenant.

      Ensuite, le menu de traduction que vous montrez et celui de spip, activé dans la configuration multilingue de spip. Essayez de changer la langue avec la focntion du plugin en appuyant sur le globe bleu a coté du menu de langue et changez la langue de cette manière. est-ce que l’erreur persiste ?

    • Bonjour,
      mon site est configuré avec une langue par secteur.

      Le problème ne se pose pas quand je créé un nouvel article et que je créé ensuite sa traduction via les onglets du menu de langue (situés au dessus de la date de création de l’article). En revanche, le problème se pose toujours si je veux changer la langue d’un article existant.

      Quand je clique sur le globe bleu, le plugin me propose de lier l’article à un autre mais pas de changer sa langue.

    • Ok, dans ce cas, comme la langue dépend de la rubrique dans laquelle se trouve l’article, le plugin ne propose pas de liens pour changer la langue car ceci se fait en changeant la rubrique de l’article.
      Donc éditer l’article-> changer la rubrique vers celle correspondant à la langue -> enregistrer -> et la langue devrait être changé.

    • Effectivement ! Ça fonctionne comme ça.
      Merci beaucoup pour ces éclaircissements.

      Nico.

    • Grâce à vos remarques j’ai pu corriger un bug qui empêchait l’adaptation de la langue lors d’un changement de rubrique dans un structure avec langue par secteur.

    Répondre à ce message

  • 4

    Bonjour,

    Très bonne initiative que ce plugin : merci !

    J’ai cependant un souci :
    -  SPIP 3.0.3 [19675]
    -  traa [1.3.0]

    Si j’affiche la barre de langue dans le secteur, et que je clique sur modifier l’article, j’ai ce message d’erreur :

    Fatal error : Call to undefined function icone_verticale() in /mon-site/www/plugins/auto/taa/v1.3.0/inc/barre_langues.php on line 38

    Dans les prefs de TRAA, si je coche Ne pas afficher la barre de langue dans le secteur : pour toutes mes rubriques, tout fonctionne.

    Bonne journée,
    françois

    • J’ai constaté la même erreur. Qui disparait aussi si je coche les cases, malheureusement j’ai vraiment besoin de ne pas les cocher.

      Sinon le plugin apporte un vrai plus à la gestion multilingue, bravo.

    • Bonjour,

      il manque un include_spip je pense dans le fichier inc/barre_langues.php de taa :

      ligne 6 après : include_spip('inc/actions');
      ajouter :

        if (!function_exists('icone_verticale')) {
              include_spip('inc/presentation');
          }

      Cordialement
      Alex

    • Bonjour,

      Désolé pour le retard de ma réponse, j’étais en vacances la semaine passé.

      Merci pour communiquer le bug que je ne reproduisais pas chez moi et merci pour le fix de Alex que je viens d’intégrer dans le plugin.

      Actualisez donc le plugin et dites moi si tout fonctionne normalement

      Rainer

    • Bonjour,

      Tout semble fonctionner correctement.

      Merci beaucoup !

      françois

    Répondre à ce message

  • 1
    ChateauDav

    Pour ma part, j’ai des problèmes d’affichage avec ce plugin, peu importe si j’active ou desactive l’affichage compact des articles. Un symptome est le décalage des deux icones au dessus de la liste des plugins.

    • S’il s’agit d’une actualisation depuis la version spip 2 du plugin tu devrais vider le cache de spip et recharger la, page, afin d’êetre sur d’avoir la bonne feuille de style.

      Si cela ne corrige pas le problème, donne moi ta version du plugin et attache un screenshot stp.

    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