•  » Plugins
  •  » [Plugin] Translator

#1 2008-05-12 02:26:42

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

[Plugin] Translator

Hop, un nouveau plugin : Translator
http://phpwebgallery.net/ext/extension_view.php?eid=223

Ce plugin s'adresse surtout aux linguistes motivés pour aider à traduire PhpWebGallery, sa seule et unique fonction étant l'aide à la traduction des fichiers .lang.php.

Le système se veut simple, normallement on devrait être en mesure de pouvoir l'utiliser tel que, mais une petite documentation présentant ses fonctionnalités ne fera pas de mal ;)

(1) Avant de commencer...
* le plugin ne sait gérer que les fichiers encodés en iso-8859-1 ; les fichiers utilisant un autre type d'encodage (utf-8 par exemple) ne sont pas reconnus par le plugin (la gestion de l'utf-8 sera uniquement pour la version du plugin associé à pwg 1.8)
* le plugin est compatible 1.7.0 & 1.7.1
* lors de l'installation, le plugin tente de modifier une partie du code du fichier <i>include/functions_user.inc.php</i> (nécessaire pour la gestion du mode "traducteur") ; vous devez donc donner tous les droits d'accès en écriture sur ce fichier pour que l'installation puisse se faire
* le plugin refuse de s'installer si vous ne répondez pas aux trois conditions précédentes
* la version 1.0.0-béta est une version béta, il y a (certainnement) des bugs ; ne l'installez que sur un environnement de test
* le plugin n'a pour l'instant été testé qu'avec Firefox 2.0 ; l'usage du javascript et de l'ajax étant ici intensif, probable que les dysfonctionnements soient nombreux avec IE...

(2) Comment çà se présente ?
L'interface dispose de 4 onglets fig.1 (1) (un 5ème apparait lors de l'édition) :
* Status (onglet par défaut)
   > permet d'avoir une vue sur l'état des fichiers traduits
* Langues
   > permet la gestion des langues traduites
* Maintenance
   > permet la gestion des opérations de maintenance, à savoir l'export, les purges, et la synchronisation des élements de la base avec les fichiers
* Configuration
   > quelques options pour configurer le plugin selon ses goûts


En haut de l'écran, apparait une alerte si le plugin détermine que les fichiers de langues présents sur le serveur ont changés depuis leur intégration dans la base donnée fig.1 (2). Je reviendrais plus tard sur cette fonction.

Le reste de la page est constitué d'un tableau récapitulant la liste des fichiers de langues fig.1 (3a) et de l'état de leur traduction associée fig.1 (3b)


http://grum.dnsalias.com/temporaire/img%20forums/translator/fig1.png(fig.1)


En cliquant sur la ligne d'un fichier, celle-ci se déplie :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig2.png(fig.2)
Elle est découpée en 3 partie :
* Le détail de l'avancement de la traduction fig.2 (1), constitué de :
   - le nombre d'éléments restant à traduire
   - le nombre d'éléments dont la traduction reste à valider
   - le nombre d'élements traduits et validé
   - le nombre d'élements supprimés
   - le nombre total d'élements pour le fichier
* D'un lien fig.2 (2) vers un outil comparant pour le fichier, les différences sur les langues traduites (on peut voir sur l'exemple que la traduction anglaise dispose de 151 éléments et la version française dispose de 153 éléments)
* De liens fig.2 ](3) permettant :
   - d'éditer le fichier dans la langue correspondante
   - de traduire ce fichier dans une autre langue


Cliquer sur le lien comparaison nous redirige vers une page avec un nouvel onglet fig.3 (1) :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig3.png(fig.3)
Le tableau fig.3 (2) détaille la liste des éléments différents entre les fichiers.
Sélectionner les éléments souhaités et cliquer sur le bouton fig.3 (3) "Mettre à jour les éléments sélectionner" va les recréer automatiquement en base.

Il ne doit plus y avoir de différences entre les fichiers.
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig3b.png(fig.3b)


En retournant sur l'onglet status puis en cliquant sur la ligne du fichier en question, on constate que les deux éléments sont bien présents dans la version anglaise du fichier, avec le status "à traduire" :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig4.png(fig.4)

Cliquer sur le lien d'édition nous redirige vers une page avec un nouvel onglet fig.5 (1)) : il s'agit de la page de traduction
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig5.png(fig.5)
Les caractérisques de la traduction en cours sont récapitulées fig.5 (2).

Les différentes clefs sont listées fig.5 (4) avec :
- leur nom
- leur traduction
- leur status (carré de couleur)

Il est possible de filtrer les éléments affichés en fonction de leur status fig.5 (3) ; on va filtrer les éléments avec le status "à traduire" en sélectionnant le status dans la liste déroulante. La liste des élements se rafraichit automatiquement.

Cliquer sur un élément pour le déplier :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig6.png(fig.6)
Apparaissent :
- une zone de saisie fig.6 (1) (dont on peut faire varier la taille avec le +/- à gauche) pré-renseignée de la traduction actuelle
- d'un modèle de traduction fig.6 (2)
- de la langue du modèle de traduction fig.6 (3) ; modifier la langue met à jour le modèle
- d'une aide à la traduction fig.6 (4) avec Google Translate (toutes les traductions d'une langue à une autre ne sont pas supportées, seules les couples de langues valident permettent la traduction)
- de l'historique des traductions pour la clef fig.6 (5)
- des boutons permettant les actions à mener fig.6 (6)

La traduction automatique de l'exemple nous donne :

Code:

Remove the base keys are not present in the file (the key pass status <i> deleted </ i>, the complete removal of elements of the base is not as effective purging is not conducted)

que l'on corrige par :

Code:

Remove from database keys who aren't present in the file (the key change to status <i>deleted</i>, the complete removal of elements from the database is not effective until purge is not conducted)

en faisant bien attention aux balises HTML (Google Translate les malmène un peu)

Après application de la traduction, la page est remise à jour :
- la clef passe au status "à valider"
- un bouton associé à ce status apparait et permet de valider définitivement la traduction (les sytème "à valider/validé" est mis en place pour permettre à plusieurs personnes de travailler sur la même traduction)
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig6b.png(fig.6b)


On veut maintenant traduire le plugin en Italien : il faut d'abord créer les caractérisitques de la langue.
Cliquer sur l'onglet langue redirige vers la page suivante :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig7.png(fig.7)
Composée :
- d'une liste des langues disponibles fig.7 (1)
- d'un lien donnant la possibilité de les éditer/supprimer fig.7 (2)
- d'un lien pour l'ajout fig.7 (3)

Le lien pour l'ajout redirige vers la page suivante :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig8.png(fig.8)
Choisir l'italien dans la liste des langues, compléter/corriger les autres champs (ils sont alimentés automatiquement lors de la sélection dans la liste, mais c'est pas forcément correct... désolé ^^;) et valider l'ajout.


En retournant sur l'onglet status on constate la présence de la nouvelle langue fig.9 (1), et l'absence de traductions pour celle-ci fig.9 (2).
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig9.png(fig.9)
En dépliant le fichier que l'on veut traduire, et en cliquant sur le lien "traduire vers", une liste déroulante fig.9 (3) apparait avec la nouvelle langue (it_IT.iso-8859-1 en l'occurence). Sélectionner la langue redirige directement vers la page de traduction (tous les éléments sont créés avec le status "à traduire").


(3) Après avoir traduit, je fais quoi ?
L'onglet maintenance dispose de trois onglets :
- exporter
- purger
- analyser

L'export consiste à créer à partir des traductions présentes dans la base, les fichiers de langues. Ils sont automatiquement crées au bon endroit, que çà soit pour pwg ou pour les plugins. Celà nécessite par contre que les droits d'accès nécessaires pour l'écriture des fichiers soient alloués.

Pour procéder à l'export :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig10.png(fig.10)
- déterminer fig.10 (1) si l'on souhaite tout exporter ou exporter uniquement les fichiers sélectionnés dans la liste fig.10 (2)
- déterminer fig.10 (3) quels sont les élements à exporter ; uniquement les versions validés ou même les éléments à valider (les éléments à traduire ou supprimé ne sont jamais exportés)
- indiquer fig.10 (4) si l'on souhaite faire un export en mode traducteur, qui est l'option sélectionnée par défaut (une erreur de manip et pouf, on écrase les fichiers de langues)
- cliquer sur exporter

Un compte rendu s'édite pendant l'export (çà peut être long si on exporte beaucoup de fichiers) :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig10b.png(fig.10b)


La purge consiste à supprimer définitivement de la base, les élements :
- avec le status "supprimé"
- disposant de plusieurs versions de traductions (on ne conserve alors que la dernière)
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig11.png(fig.11)


L'analyse permet de visualiser les différences entre les traductions en base et les fichiers de langues, la liste présente les fichiers, et le résultat de l'analyse. Déplier les éléments permet de consulter le détail de l'analyse et de décider des actions à mener.
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig12.png(fig.12)
Plusieurs cas peuvent se produirent :
- le fichier de langue sur le serveur à été modifié fig.12 (1a) et fig.12 (1b), il est alors possible :
      * de supprimer les élements en trop dans la base
      * d'importer les éléments manquants dans la base
- une langue est présente dans la base, mais il n'existe aucun fichier sur le serveur fig.12 (2), il est alors possible de supprimer la langue de la base
- un fichier existe sur le serveur, mais il n'existe pas dans la base (pas d'exemple sur la capture), il est alors possible d'importer le fichier dans la base ; si les caractéristiques de la langue n'existent pas, il est nécessaire d'aller d'abord les créer avant de pouvoir procéder à l'import

La page status affiche l'état général de l'analyse fig.1 (2) si l'option "Vérification automatique des différences de version entre la base de données et les fichiers de langues présents sur le serveur" est sélectionnée (par défaut oui) dans les options.


(4) Le mode traducteur, c'est quoi ?
L'export en mode traducteur génère un fichier .lang.phps au lieu du fichier .lang.php classique.
On bascule du mode traducteur au mode normal via le lien situé au dessus des onglets fig.13 (1).

Après bascule, tous les élements de la page pour lesquels un export en mode traducteur sont précédés d'une étoile entre crochets [*] dont la couleur correspond au status de l'élement au moment de l'export. Ce mode s'applique aussi bien à la partie administrateur qu'à la partie publique.
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig13.png(fig.13)
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig13b.png(fig.13b)

Il permet de vérifier les élements traduits ou à traduire.
Survoler le [*] avec la souris affiche l'infobulle suivant fig.14 (1) indiquant entre autre :
http://grum.dnsalias.com/temporaire/img%20forums/translator/fig14.png(fig.14)
- le nom de la clef
- son status (en texte + couleur)
- la date de la traduction
Ces informations sont celles en cours dans la base (et non pas celles au moment de l'export)

Cliquer sur le [*] redirige vers la page de traduction avec l'élément déplié prêt à l'emploi.

A noter que, dans ce mode, les boutons des formulaires ne fonctionnent pas !
les hyperliens par contre, fonctionnent (sauf si on clique sur [*])


(5) L'installation
J'aurais peut-être du commencer par là.
Pas grand chose à dire, si ce n'est que lors du processus d'installation, un import automatique de tous les fichiers de langues trouvé est effectué. Les caractéristiques de langues sont constituées à partir des informations contenues dans les fichiers common.lang.php

Pour pouvoir être installé, le plugin nécessite que la dernière version (la 1.1.1) du plugin "Grum Plugin Classes" soit installée.
http://phpwebgallery.net/ext/extension_view.php?eid=199

Dernière modification par grum (2008-05-12 02:49:11)


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#2 2008-05-12 08:38:05

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16978

Re: [Plugin] Translator

Super merci grum


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#3 2008-05-12 10:20:14

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [Plugin] Translator

Grum est un géant !!!

Tosca, aurais-tu l'amabilité de faire des tests et de nous remonter les dysfonctionnements éventuels.

8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#4 2008-05-12 10:51:54

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16978

Re: [Plugin] Translator

sur free j'ai une erreur

create_httpobject is not defined

display_detail("i1", "pwg", "core", "admin.lang.php")admin.php (line 194)
onclick(click clientX=0, clientY=0)

[Break on this error] http_request=create_httpobject('get', 'iso-8859-1', ajaxurl, false);

en admin.php (line 194)


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#5 2008-05-12 11:34:26

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: [Plugin] Translator

create_httpobject est une fonction javascript pour gérer l'ajax.

plusieurs possibilités :
- as-tu bien installé "grum plugin classes" ?
- vérifie que dans le source de la page html tu as dans le <header> la ligne <script src="plugins/grum_plugins_classes/ajax.js" type="text/javascript"></script> (c'est le fichier javascript ou est définit la fonction)
- quel est ton navigateur ?


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#6 2008-05-12 11:35:35

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: [Plugin] Translator

VDigital a écrit:

Grum est un géant !!!

j'ai une taille tout à fait normale pourtant ^^;


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#7 2008-05-12 11:59:29

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Plugin] Translator

Premier retours...
Ca a l'air énorme mais... (oui, il y a un mais!)

En local, impossible de l'installer (xamp)....
J'ai installé grum plugins classes, mais avvec Plugins Manager installé, j'ai ce message:

Warning: Invalid argument supplied for foreach() in C:\Users\Administrateur\Desktop\PWG\PWG\admin.php on line 148

Sans Plugins Manager, j'ai ceci:

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in C:\Users\Administrateur\Desktop\PWG\PWG\admin\plugins.php on line 158

J'ai donc essayé de l'installer sur ma galerie (hébergé sur 1and1)
Au premier essai, il a tourné pendant un moment sans résultat... j'ai donc relancé l'install, et la, j'ai eu plein d'erreur sql...
Au troisièmee essai, c'était bon... je me rend donc ssur translator, et la j'ai ceci:

Warning: Division by zero in /homepages/35/d176981026/htdocs/phpwebgallery/plugins/translator/plugin_class_bo.inc.php on line 470

En quadruple (lignes 471, 472, 473)

Sur free, pas de soucis d'install, mais toujours cette division par zero...

Le reste ne fonctionne pas (impossible de cliquer sur un fichier, passer en mode traducteur...)
Je suis pourtant sous FF

Je vais retenter en local sur une installation propre de PWG et continuer mes tests ;-)

Dernière modification par P@t (2008-05-12 12:07:50)


P@t

Hors ligne

#8 2008-05-12 12:16:09

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: [Plugin] Translator

aïe !
chez moi tout fonctionne parfaitement :(

pour les erreurs SQL que tu as eu, je suis curieux de connaitre la nature des messages, ainsi que la version de mysql utilisée.

tu dois avoir 4 tables SQL de créées.
Peux-tu vérifier si elles ont été créées, et si oui, si les deux tables suivantes sont alimentées :
- translator_files : elle doit contenir les informations relatives aux fichiers .lang.php, et il y a un attribut nbelem qui doit être différent de zéro. selon ton message d'erreur, c'est cette donnée serait à zéro..
- translator_keys : elle contient les clefs pour chaque fichier. fait le lien entre translator_files.id et translator_keys.file_id : tu dois avoir des clefs associées aux fichiers...


pour info, chez moi :
- PHP: 4.3.9
- MySQL: 4.1.20


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#9 2008-05-12 12:32:09

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Plugin] Translator

Les erreurs sql étaient des duplicate entries...
C'était donc la première install qui avait déconnée, donc pas bien grave....
En tout cas, le plugin met beaucoup de temps à s'installer...

Bref, en local, impossible d'installer le plugin (cf messages d'erreur ci-dessus)
Je suis en php5 et sql5 avec xamp

Sur free, les tables ont été crées et sont correctement remplies (idem sur 1and1)
Quelque chose me chiffone quand meme, c'est  la colonne filenames. J'ai des nom de fichier du genre:

.//language/fr_FR.iso-8859-1/common.lang.php

C'est le .// qui est bizarre...

Sinon, impossible de faire autre chose une fois dans translator (avec l'erreur de division par zero)


P@t

Hors ligne

#10 2008-05-12 12:56:08

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: [Plugin] Translator

je viens de faire l'install sur free.
pas eu de problème particulier de lenteur, mais c'est peut-être du au fait qu'il n'y a que les fichiers de bases à analyser (pas de plugins installés sur cette version). plus il y a de fichiers de langue, plus l'install est longue.

pas de problème de division par zéro, mais je constate le même problème que pour ddtddt, le create_httpobject ne se fait pas, le plugin grum plugin classe ne semble pas s'activer.
je vais chercher pourquoi.
je remarque aussi que les langues ne se sont pas importées correctement....


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#11 2008-05-12 13:03:47

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Plugin] Translator

Arf... je vais refaire un test sur une installation propre (en fait, mon install free a tous les plugins installés mais pas activés)


P@t

Hors ligne

#12 2008-05-12 13:20:58

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: [Plugin] Translator

pour l'instant t'embêtes pas, j'ai trouvé un truc, je suis moitié un gros boulet ^^;

installes MyPolls 2, çà devrait marcher.
j'ai pas fait attention, mais en fait, nulle part dans translator, j'instance mon objet ajax. du coup, seul, ben translator il marche pas ^^;

qd mypolls est installé, il instancie un objet ajax qui ajoute un lien sur le fichier ajax.js dans le header de la page, du coup çà fonctionne....

je mange (faut bien manger) je corrige ce problème, et je livre une version dans l'après midi...


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#13 2008-05-12 13:28:52

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Plugin] Translator

En effet, ca marche mieux avec Mypolls ;-)
Mais j'ai toujours ce message d'erreur de division par zéro...


P@t

Hors ligne

#14 2008-05-12 14:08:03

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: [Plugin] Translator

j'ai livré une mise à jour dans les extensions.

pour la division par zéro, je ne comprends pas trop, je ne l'ai pas sur le site de free.

tu peux me donner l'adresse du site, que j'aille m'y inscrire et si tu pouvais m'y passer en conseiller ?


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#15 2008-05-12 17:09:43

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Plugin] Translator

Voilou, je t'ai ouvert deux accès grum...
Tout est dans le mail que je t'ai envoyé ;-)


P@t

Hors ligne

  •  » Plugins
  •  » [Plugin] Translator

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2025 · Contact