Recherche de repreneur
Je ne suis plus suffisamment impliqué dans spip pour assurer un maintien correcte de ce plugins, Donc si quelqu’un veuille reprendre la main, c’est avec plaisir.
Introduction
Principe
Ce plugin est censé rendre la gestion des traductions de vos objets éditoriales traduisibles [1] plus faciles. Il intègre et applique à tout objet traduisible les solutions apportées par Traductions d’articles autrement et Traductions de rubriques autrement. Ces derniers seront rendus obsolètes par l’installation du présent plugin et pourront donc être désinstallés sans problème.
Secteur par langue
On parle de secteur par langue si vos rubriques à la racine définissent le secteur d’une langue. Tout contenu contenu à l’intérieur de ce secteur (article ou autre objet qui dépend de rubrique) héritera la langue de la rubrique parente. Afin de profiter des fonctionnalités « Secteur par langue » il vous faut installer le plugin Secteur par Langue
Notez que vous pouvez également installer le plugin Site multilingue facile qui vous permet de disposer d’un site multilingue avec secteur par langue en quelques clics. Tous les plugins nécessaires, dont Secteur par Langue et le présent plugin seront installés automatiquement.
Barre des traductions
Onglets de langues
Pour tout objet éditorial traduisible ce plugin insère des onglets de langues en haut de l’objet, permettent de naviguer plus facilement entre les différentes traductions de cet objet, d’y ajouter une traductions ou d’en enlever une.
Pour chaque langue du site un onglet est créé. En blanc les langues dans lesquelles l’objet est traduit et en gris les traductions manquantes. L’astérisque désigne l’objet d’origine, la référence de la traduction.
Hiérarchie
Quand vous créez une nouvelle traduction et que votre objet dépend d’une rubrique, sa traduction sera automatiquement attachée à la rubrique de l’objet d’origine.
Si vous trouvez dans un système de secteur par langue, la nouvelle traduction d’un objet sera enregistrée sous la traduction correspondante de la rubrique parente. Si la rubrique parente n’est pas encore traduite dans la langue de destination, le plugin vous forcera à traduire toute la structure parente dans la langue de destination avant de pouvoir traduire l’objet en question.
Options de langues
Les options de langues peuvent être modifiées en cliquant sur l’icône à droite des onglets de langue.
S’ouvre alors le formulaire natif de gestion de traductions [2]
La langue
Par défaut, lors de la création d’un nouvel objet, celui-ci, comme nativement dans SPIP, est créé dans la langue de l’espace privé. La langue peut alors être changée en cliquant sur le lien « changer ».
Dans un système de secteur par langue, si votre objet se trouve dans une rubrique, l’objet créé prendra la langue de cette rubrique. Dans ce contexte il n’est pas possible de changer la langue car elle dépend de la rubrique parente.
Traduction de référence
Il s’agit de l’objet original. Vous pouvez le changer en appuyant sur le bouton dans la colonne Traduction.
Affichage compact
Par défaut, le plugin change l’affichage des listes des objets traduisibles [3], en regroupant toutes les traductions.
Sont seulement listés les objets non traduits et les objets d’origine, triés par l’identifiant de l’objet, puis sur la même ligne on peut trouver les éventuelles traductions de l’objet.
En cliquant sur la flèche dans la colonne traductions, il est possible de voir toutes les traductions de manière plus détaillée.
Personnalisation
A défaut d’un squelette de liste compacte pour un objet déterminé, le plugin crée une liste générique.
Vous pouvez vous inspirer de
prive/objets/liste/compacte/articles.html
pour créer la liste compacte pour votre objet.
il suffit de respecter le chemin de base
prive/objets/liste/compacte/NomObjet.html
Configuration
Dans le panneau de configuration du plugin, pour chaque objet traduisible il est possible de :
- désactiver les onglets de langue ;
- désactiver l’affichage compact.
Discussions par date d’activité
12 discussions
Bonjour,
Merci pour ce plugin !
est-ce qu’un portage en version en 4.2 est à l’ordre du jour ?
Est-ce que quelqu’un a testé sur 4.2 en modifiant le paquet.xml par hasard ?
Je m’auto-réponds.
Testé en mofiant le paquet.xml (en mettant 4.2.)
4 erreurs identiques apparaissent :
Aucun squelette prive/objets/liste/objets_compacte n’est disponible...
Donc non, ça ne passe pas ;)
Répondre à ce message
Bonjour,
Sous SPIP 4, à la création d’une nouvelle traduction d’un objet, son logo n’est pas copié.
Cela provoque même une erreur :
ERREUR : Echec document_inserer() du document /Users/...../tmp/upload/arton5.jpgUsG8Km arton5.jpg (M ’logoon’ T ’article’ L ’26’ D ’’)
La fonction document_inserer() du plugin medias appelle le pipeline « pre_insertion » et tente de renseigner des champs qui n’existent pas dans la table spip_documents.
Il me semble que le problème vient de la fonction interface_traduction_objets_pre_insertion() à la ligne 248 dans le fichier pipelines du plugin qui n’est pas assez restrictive. En mettant ceci, le problème est corrigé :
Merci pour ce plugin, bien utile !
Répondre à ce message
Bonjour
Pour info, j’ai les messages suivants (pas bloquant) Spip 3.2.13 :
en lignes 88 et 108
1Erreur SQL 1054
Unknown column ’spip_rubriques_liens.id_rubrique’ in ’where clause’
SELECT id_trad,id_livre FROM spip_livres LEFT JOIN spip_rubriques_liens ON spip_livres.id_livre=spip_rubriques_liens.id_objet WHERE spip_rubriques_liens.objet LIKE ’livre’ AND spip_rubriques_liens.id_rubrique=37 AND spip_livres.id_rubrique=37 ORDER BY id_livre desc
/home/users/1/mon site/plugins/auto/interface_traduction_objets/v2.0.4/prive/objets/liste/objets_compacte_fonctions.php liste_compacte_requete_objet() sql_allfetsel() ; 88
2 Erreur SQL 1054
Unknown column ’spip_rubriques_liens.id_rubrique’ in ’where clause’
SELECT id_livre as id, date_parution as date FROM spip_livres LEFT JOIN spip_rubriques_liens ON spip_livres.id_livre=spip_rubriques_liens.id_objet WHERE spip_rubriques_liens.objet LIKE ’livre’ AND spip_rubriques_liens.id_rubrique=37 AND spip_livres.id_rubrique=37 AND spip_livres.id_livre IN (-1) ORDER BY id_livre desc
/home/users/1/mon site/plugins/auto/interface_traduction_objets/v2.0.4/prive/objets/liste/objets_compacte_fonctions.php
Répondre à ce message
Salut,
Il y a eu un petit soucis avec le post de mon message précédent. Je ne peux plus répondre dans la discussion maintenant ?!
Je reprends ici, désolé.
Pour référence :
Merci pour cette version 2.0.3 mais elle ne règle pas le problème malheureusement. Je ne traduis pas les mots clé (je ne pensais pas que c’était possible)
Comme tu ne reproduis pas le problème j’ai fouillé un peu plus : c’est quand le plugin Traduction des rubriques est actif que l’erreur apparaît. Il faut dire qu’il n’est pas encore donné comme compatible 4.1 ceci explique peut-être cela. J’essayerais de regarder le code plus en détail dans la semaine.
Merci de ton aide en tout cas.
Bonjour,
Après une bonne plongée dan le code :
prive/objets/liste/objets_compacte_fonctions.php ligne 57
elseif ($objet_associable = objet_associable($exec))
$exec est NULL chez moi et c’est ce qui déclenche l’erreur.
elseif ($objet_associable = objet_associable($exec ?? ''))
permet de la masquer, mais du coup je me demande ce qu’est censée contenir $exec ?
Bien joué Alexis,
la variable
devrait ètre la valeur du parametre exec
mais n’est déclaré nulle part.
C’est corrigé dans la v 2.0.4
Super merci !
Répondre à ce message
Bonjour,
Je teste le plugin v2.0.2 avec spip 4.1.0 et sur la page /ecrire/ ?exec=mot&id_mot=xxx
j’obtiens une erreur d’exécution :
Erreur d’exécution ../plugins/auto/interface_traduction_objets/v2.0.2/prive/objets/liste/objets_compacte.html | File […]/ecrire/base/objets.php Line 1067 : Argument 1 passed to table_objet_sql() must be of the type string, null given, called in […]/ecrire/action/editer_liens.php on line 51
Quelqu’un d’autre constate ce problème ?
Bonjour Alexis,
je vais regarder ça. En attendant peux-tu regarder si en désactivant le mode compact dans la config l’erreur disparaît.
Rainer
J’ai coché « Désactiver les listes compactes » dans la config
et l’erreur persiste.
Bonne journée.
Salut Alexis,
je ne reproduis pas, néanmoins j’ai fait une petite modif dans la v 2.0.3 qui pourrait résoudre ton problème.
Est-ce que traduits tes mots ?
Rainer
Répondre à ce message
bonjour,
sur un spip 4 « vierge », après installation du plugin, la traduction entre les rubriques n’est pas disponible. Le point est discuté (si j’ai bien compris) dans un échange de ce forum en 2019 et il semble qu’il faille activer le plugin « Traduction entre rubriques » pour que cela soit possible, mais alors pourquoi ces garder 2 plugins, qui font grosso modo la même chose ?
Mais si les deux se complètent, alors pourquoi ne pas ajouter « Traductions entre rubriques » comme une dépendance explicite et requise de ce plugin ?
J’en profite pour quelques remarques :
- il me semble que la présentation en liste horizontale des langues disponibles sous forme de boutons est assez perturbante. Pourquoi ne pas choisir une interface par select comme c’est le cas partout ailleurs dans Spip ? Ou alors si vous pensez que c’est vraiment mieux de le faire sans passer par un select, il faudrait alors mettre mieux en évidence cette liste de boutons : ce sont des boutons et pas seulement des « étiquettes » comme je l’ai cru au premier abord.
- comme il se doit (je me moque de moi-même), j’ai lu (trop) rapidement la doc et j’ai installé le plugin et fais tout de suite quelques essais. Du coup, j’ai mis un certain temps avant de comprendre que le dernier item (avec l’icône de traduction) est en fait un bouton pour changer la langue de l’objet. J’ai cru que c’est une icône de présentation, une sorte de label pour dire les choses autrement. Donc là aussi, je pense qu’il faudrait présenter le bouton comme un vrai... bouton. On est bien d’accord que j’aurais dû mieux lire les infos dans cette page, mais tout de même, il ne devrait pas être nécessaire de lire une documentation pour comprendre qu’un bouton... est un bouton ;).
- lorsque la liste des langues disponibles est importante, la présentation sur une seule ligne horizontale ne fonctionne plus. Là aussi, il me semble qu’une présentation verticale (1 colonne ou 2 colonnes) ou autre... serait plus efficace visuellement.
merci.
christophe
Répondre à ce message
Bonjour,
Ce plugin semble provoquer un bug —> on ne peut plus ranger les articles avec le plugin Rang lorsque le plugin « Interface de traduction pour objets » est activé (sous SPIP 3.2.7, PHP 7.1 et tous les plugins mis à jour).
Je ne reproduis pas. Je peux parfaitement ranger des articles avec rang. Peux tu m’expliquer ce qui se passe exactement chez toi ?
Maintenant je vois, c’est corrigé avec la version 1.2.2
Répondre à ce message
Bonjour,
Mille mercis pour ces plugins d’aide à la traduction que j’utilise à haute dose !
Je viens de faire une mise à jour de traduire_article_autrement de la version 1.4.6 à la version 2.0.0 et si je comprends bien c’est maintenant ce plugin qui prend le relais. J’ai donc maintenant installé
interface_traduction_objets en version 1.1.8
J’ai constaté que les auteurs n’avaient plus accès aux boutons de langues pour leurs articles. Jusqu’à l’update les 3 langues configurées de mon sites (français/turc/anglais) étaient proposées. Depuis l’update seul la langue de l’article est proposée à l’auteur. L’administrateur quant à lui continue de voir les 3 langues. Je joints des copies d’écrans pour être plus claire.
Quelqu’un constate-t-il le même comportement ? Est-ce le fonctionnement souhaité ?
Bonjour,
J’ai pris le temps de regarder un peu dans le code et effectivement dans le fichier barre_traductions_objet.html l’affichage des boutons de traduction est conditionné à
#AUTORISER{creerrubriquedans,rubrique,#GET{id_parent_trad}
Du coup un rédacteur ne peut pas proposer de traduction d’article même si la rubrique est traduite.
#AUTORISER{creerrarticledans,rubrique,#GET{id_parent_trad}
serait plus indiqué qu’en pensez-vous ?
Salut Alexis,
c’est effectivement un peu restrictif. Je vais regarder ça demain.
En attendant tu peux surcharger le fichier.
Ça y est, la version 1.2.0 du plugin gère mieux les autorisations.
Ça m’a l’air de fonctionner.
merci !
Répondre à ce message
Bonjour, merci pour ton plugin, je bosse sur un site pour un projet open source de wargame, et le site est traduit par de nombreuses personnes ne connaissant pas SPIP, dans pleins de langues différentes, du coup ton plugin est juste essentiel.
Cependant je m’apperçoit aujourdh’ui que le plugin engendre une erreur sur mon site.
(ce qui est étrange c’est que c’est apparu du jour au lendemain, sans que j’arrive à identifier à quel moment ou à cause de quel actions (mise à jour , autre plugin ?) ce bug est apparu.. vraiment étrange)
Le plugin empêche de créer des sous-rubriques.
On peux toujours créer des rubrique à la racine, on peux même les déplacer n’importe ou. Mais la création d’une sous-rubrique n’importe ou engendre le message d’erreur :
« A technical error prevented the registration. »
Dans les log mysql je trouve :
2019-12-17 14:13:30 83.206.96.119 (pid 3997) :Pri:ERREUR : Erreur 1054 de mysql : Unknown column ’id_trad’ in ’field list’in /mnt/data/spip/ecrire/action/editer_rubrique.php L100 [sql_insertq(),rubrique_inserer(),action_editer_rubrique_dist(),formulaires_editer_objet_traiter(),formulaires_editer_rubrique_traiter_dist(),traiter_formulaires_dynamiques()]INSERT INTO spip_rubriques (titre,id_parent,statut,lang,langue_choisie,id_trad) VALUES (’New section’,61,’prepa’,’en’,’oui’,NULL)
Si je désactive le plugin tout rentre dans l’ordre.
Je pense qu’il manque une dépendance au plugin tradrub, qu’il y avait dans « traduction_rubriques_autrement ».
Pardon, en fait je viens de mieux comprendre l’explication.
<utilise>
de interface_traduction_objets, ni en<necessite>
sur traduire_rubriques_autrement (le nouveau)Salut Pipol et Marcimat
@Marcimat Ce plugin n’installe aucun champ. Spip a commencé à inclure l’id_trad dans la table id_rubrique à partir d’une version 3.* (je en sais pas exactement laquelle). Sinon, on installant Secteur par Langue tradrub sera installé qui lui créera de l’id_trad.
@pipol, tu as installé quel plugins ? Tu utilise la traductions des rubriques (le plugin secteur_langue) ?
Si tu utilises les traductions des rubriques regarde si ce qui est décrit dans ce poste peut d’aider
Sinon c’est peut-être https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/interface_traduction_objets/trunk/interface_traduction_objets_pipelines.php#L221 qui provoque ton erreur. Je ne peux pas tester maintenant. Mais je regarderai
A priori j’utilise uniquement le plugin « Interface de traduction pour objets »
Il me semble que dans le passé j’utilisais traduction d’article autrement. Est ce que j’ai installé une fois traduction de rubrique autrement ? Je ne sais plus, il me semble pas mais peut être. En tout état de cause ce plugin n’est plus dans ma liste des plugin actif ou inactif.
Je regarde le post en question.
Ton site tourne avec quelle version de spip ? Il a été crée avec quelle version de spip ?
je viens de faire publier un patch v1.1.6 qui devrait empêcher cet erreur.
Normalement, à partir de Spip3, le id_trad est nativement compris dans la table id_rubrique.
Le site est à jour. Il a été créer en juillet 2018 donc devais déjà être en v3.0
Ok,alors visiblement le id_trad n’avait pas été crée.
Tu peux regarder avec la nouvelle version du plugin si le problème est résolu ?
Euuh .. Je ne sais pas comment télécharger ou installer un plugin depuis la zone.. J’ai essayé souvent sans jamais avoir de succès.. c’est certainement tout bête .. mais je vois pas :-)
:) - malheureusement le générateur des zip pour le plugins est en panne, donc pour le moment l’actualisation n’est pas disponible via le gestionnaire des plugins. Mais tu peux le prendre depuis le depôt github
Version 1.1.7 installé et problème résolu !
Merci beaucoup pour ta réactivité ;)
Une bonne journée.
Répondre à ce message
bonour,
j’ai eu ce même problème qui arrivait sur la page de *modification* de l’article exec=*article_edit* lorsque la traduction n’existait pas, disparu sur 1.1.4 mais maintenant on a /ecrire/ ?new=oui&id_parent=356&lang_dest=fr&lier_trad=187&retour=nav
c.a.d qu’il manque le exec=article_edit&
il y a un souci d’environnement objet sur cette page : objet=> article_edit
toujours sur cette page l’édition des options de langue pouiche aussi : Erreur SQL 1146
Table ’synthailand.article_edits’ doesn’t exist
les liens de traduction sont-ils nécessaire sur exec=article_edit ?
Cela fonctionne très bien sur exec=article...
merci pour le boulot Rainer
Bonjour Pir,
Merci pour le signalement. Je vais regarder ça, je ne sais pas encore quand, un peu débordé actuellement.
Bonjour Pir,
Ç’est enfin corrigé avec la version 1.1.7
Vu que le zippeur des plugins est en panne voici le plugin actualise depuis le depôt github
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 :
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.
Suivre les commentaires : |