Plugin « Items & Traductions »

Après avoir réalisé plusieurs sites multilingues (et pas mal galéré dessus), je me suis penché sur un problème majeur ... la gestion du multilinguisme coté site public.

La question était la suivante : comment gérer les fichiers de langue (local_#LANG) sans avoir à les faire « à la main » au fur et à mesure de l’avancée de la programmation du site et permettre de « sectoriser » les mots et petits textes à traduire afin de ne pas avoir, au bout de quelques jours, des listes imbuvables de plusieurs dizaines (voire même centaines) de mots dans lesquelles on ne peut s’y retrouver !!!

J’ai donc créé ce petit plugin qui vous permet de pouvoir gérer cela très facilement.

29/06/2009 je viens de changer le fichier zip, j’avais oublié une petite modification qui bloquait le plugin, désolé pour le contre-temps...


-  Ce plugin est une extention du plugin « Traduction V2 » qui a été porté sur spip 2.0

Installation

L’installation se déroule comme pour tous les autres plugins, cf. http://www.spip.net/fr_article3396.html

Celui ci va créer les tables nécessaires dans la base SPIP ainsi que les fichiers de langues dans le dossier « squelettes ».

Gestion des secteurs

Commencez par créer vos secteurs :
-  le descriptif vous permet de vous repérer dans les différents secteurs que vous aller créer
-  vous nommez ensuite le secteur, vous pouvez n’utiliser qu’une langue à ce niveau là, pensez tout de même à vos traducteurs le cas échéant !!!
-  vous pouvez toujours revenir sur un secteur créé en le sélectionnant dans la liste en dessous du formulaire de saisie

Création et édition des items

Il suffit ensuite de sélectionner la langue de base du site dans la liste de gauche pour accéder au menu de création des items, dans le formulaire de saisie :
-  « item à traduire » correspond au « mot » que vous aller placer sur vos squelettes avec le code multi <:mot_a_traduire:> [1]
-  vous avez ensuite le descriptif pour vous y retrouver
-  puis la « traduction » qui correspond à ce qui sera affiché sur votre site
-  pour accédez à la liste complète des « mots » d’un secteur il suffit de cliquer sur le secteur souhaité dans la liste en dessous du formulaire de saisie.

Gestion des traductions

A partir de cet écran, vous pouvez gérer vos items de traduction et obtenir aussi les items au format SPIP à insérer dans vos squelettes, soit les actions :
-  changer une traduction : en modifiant directement la valeur dans les champs de texte.
-  modifier un item : en cliquant sur « modifier » (on ne peut pas changer l’item de traduction lui même, ce qui est logique car s’il est utilisé sur le site, cela ne correspondra plus, mais on peut changer son secteur et son descriptif)
-  supprimer un item

Voilà, je ne suis pas très fort en explications, mais j’espère que vous aurez compris comment fonctionne mon plugin.

pour le télécharger c’est juste là !!!

Notes

[1Plus d’explication sur l’usage de ce code dans la documentation officielle Internationaliser les squelettes (paragraphe « 1. Méthode des fichiers de langue »)

Discussion

11 discussions

  • 1

    Bonjour à tous,
    cela faisait très longtemps que je n’avais pas mis mon nez dans ce plugin ... Honte Internationnale comme dirait l’un de nos cher admin qui se reconnaitra !
    j’ai encore quelques semaine bien chargées mais promis, d’ici la fin de l’année, je vous livre une version complètement débbuguée et surtout compatible SPIP3 !!!

    • Hello Xavier,

      Pour un projet je pourrais avoir besoin d’un fonctionnalité similaire, j’ai téléchargé le zip testé le plugin sous spip 3.2, bon y’a du boulot pour le migrer pour spip 3.2

      Peut on le déposer sur la zone ou sur GitHub, histoire de suivre plus facilement les évolutions…

    Répondre à ce message

  • Bonjour,

    Le plugin semble bien marcher sous SPIP 3, mais le bouton pour l’interface d’item&traduc n’est plus visible.

    Avez-vous de tête l’url de cette interface ?

    Ou bien ce plugin existe-t-il au propre pour SPIP 3 ?

    Merci, merci !

    Répondre à ce message

  • Philippe G.

    Problème d’installation avec SPIP 2.1.1 :
    -  fichier .rar peu utilisé sous Windows (peu ergonomique)
    -  plantage de l’installation du plugin...

    Répondre à ce message

  • TICanalyste

    Hello,

    J’ai aussi rencontré le problème de « Wrong datatype for second argument ». J’ai alors modifié les lignes du fichier inc/traduction_install.php

    Commenté autour de « // mise a jour de la table spip_traductions » (environs de ligne 125) et remplacé par ceci :

    while($Row_Liste_champs_table_traduction = mysql_fetch_row($Result_Liste_champs_table_traduction))
    
    		{
    
    			$lang_name=$Row_Liste_champs_table_traduction[0];
    
    			if(in_array($lang_name,$tableau_langues)) {
    
    				$create_table_spip_langues = spip_query_db("ALTER TABLE <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF90cmFkdWN0aW9uczwvY29kZT4="></span> ADD <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+JnF1b3Q7LiRsYW5nX25hbWUuJnF1b3Q7PC9jb2RlPg=="></span> BLOB NOT NULL ;");
    
    			}
    
    		};

    Je ne sais pas si c’est idéal, mais ça fonctionne dans mon install. Apparemment, le SHOW COLUMN de la ligne 120 ne ramène pas ce qu’attendait la ligne 125.

    J’espère que ça pourra dépanner.
    TICanalyste

    Répondre à ce message

  • 1

    Bonjour,
    Après avoir uploadé le plugin via FTP, apparait un message dans la colonne droite de la section Plugins. Je suis dans SPIP 2.09 (la dernière)

    Warning : mysql_fetch_row() : supplied argument is not a valid MySQL result resource in /homez.131/europamu/www/plugins/items_et_traductions/inc/traduction_install.php on line 92

    Warning : mysql_fetch_row() : supplied argument is not a valid MySQL result resource in /homez.131/europamu/www/plugins/items_et_traductions/inc/traduction_install.php on line 94
    en
    Warning : in_array() [function.in-array] : Wrong datatype for second argument in /homez.131/europamu/www/plugins/items_et_traductions/inc/traduction_install.php on line 125
    it
    Warning : in_array() [function.in-array] : Wrong datatype for second argument in /homez.131/europamu/www/plugins/items_et_traductions/inc/traduction_install.php on line 125
    ar
    Warning : in_array() [function.in-array] : Wrong datatype for second argument in /homez.131/europamu/www/plugins/items_et_traductions/inc/traduction_install.php on line 125
    es
    Warning : in_array() [function.in-array] : Wrong datatype for second argument in /homez.131/europamu/www/plugins/items_et_traductions/inc/traduction_install.php on line 125
    fr
    Warning : in_array() [function.in-array] : Wrong datatype for second argument in /homez.131/europamu/www/plugins/items_et_traductions/inc/traduction_install.php on line 125
    pt
    Warning : in_array() [function.in-array] : Wrong datatype for second argument in /homez.131/europamu/www/plugins/items_et_traductions/inc/traduction_install.php on line 125

    Répondre à ce message

  • Bonjour,

    Je teste le plugin sur un SPIP 2.0.9 et qui fonctionne bien après avoir remplacé tous les <? par <?php.

    J’ai découvert le plugin un peu tard et j’ai déjà créé mes fichiers de langue. Je cherche un moyen simple pour récupérer mes fichiers sans avoir à tout ressaisir. Existe-t-il (ou est-ce prévu) une fonction d’importation ?

    D’autre part, le fichier de langue se situe dans de dossier lang situé à la racine. Y à t il un moyen simple de définir son emplacement ?

    Je trouve ce plugin très intéressant et il pourrait être utile pour gérer des fichiers de langue choisis parmi ceux disponibles dans différents emplacements, notamment les plugins...

    Des évolutions sont-elles prévues ? Je rejoins d’ailleurs le précédent message qui propose de le déposer dans la zone...

    Merci pour ce travail.

    Jeannot

    Répondre à ce message

  • dommage que ça marche pas et que ça bogue trop !

    c’est une excellente initiative, pourquoi ne pas mettre sur svn, ça va je pense redynamiser l’interet pour ce plugin ?

    @+

    Répondre à ce message

  • Bonjour Xavier

    Je n’arrive pas à installer le Plugin. Mon site est configuré en 4 rubriques à la racine fr en de es, et j’obtiens ce message à la validation pour chaque langue :

    Warning : in_array() [function.in-array] : Wrong datatype for second argument in /homez.302/mon_nom_utilisateur/www/plugins/items_et_traductions/inc/traduction_install.php on line 125
    fr

    Merci beaucoup pour votre aide,

    Serge

    Répondre à ce message

  • Bonjour,
    J’ai trouvé d’où venait le bug, il suffit de remplacer tous les début de fichier php par « < ?php" au lieu de "< ?".
    (sans les espaces)

    Cela provoquait des erreurs avec les "> » dans la suite du code.

    Par contre, est il possible d’éditer les fichiers de langue déjà créé ? Car je ne vois pas comment.

    Merci

    Répondre à ce message

  • 1

    Le Plugin ne s’installe pas correctement... Je suis en SPIP 2.0.8.
    Il m’ecrit \« ;\n » ; $prepa_config .= « \$error= »Erreur : \« .mysql_errno(). » : (....) , ne cree aucun bouton, ni tables.

    J’ai vraiment besoin de ce plugin que je vais trouver génial, je le sais.
    Merci de votre aide.

    • Bonjour,
      as tu vérifié les droits d’écriture sur les dossiers ???
      il faut mettre le dossier du plugin « Items & Traductions » en 0777 afin de pouvoir générer les fichiers de configuration nécessaires au plugin.
      personnellement, je l’utilise sur plusieurs sites en spip 2.0.8 et il tourne sans aucun problème.

      Xavier

    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