Je tombe maintenant sur un problème :
J'ai validé des traductions sur un fichier et j'ai procédé à l'export qui s'est bien déroulé. Lorsque je reviens sur l'onglet "Status", j'ai le message :
Les versions de fichiers .lang.php présents sur le serveur ont changé.
Veuillez procéder à une analyse plus complète via la fonction Maintenance/Analyser
Et lorsque je me rends sur Maintenance/Analyser, j'ai mes fichiers avec le constat "Le fichier présent sur le serveur a été modifié (.//language/[langue].iso-8859-1/truc.lang.php)". Mais quand je clique sur ces lignes, j'ai "Nombre de différences : 0" et il n'y a aucune action possible pour effectuer la mise à jour.
J'ai l'impression d'être un peu à côté de la plaque...
Hors ligne
Eric a écrit:
Ce qui m'amène à une remarque : Serait-il envisageable d'intégrer tes explications dans le plugin ? Via une page d'aide en popup, par exemple ? Non pas que je ne souhaite pas venir te lire sur ce forum mais il pourrait être sympa d'avoir une petite aide en ligne directement accessible via le plugin.
pourquoi pas.
je met l'idée dans la pile des idées :)
le plus dur, çà va être de faire la traduction de la doc ! çà va me prendre plus de temps que de coder les améliorations pour l'instant prévues ^^;
Eric a écrit:
Pouvoir préciser une langue de référence lors de la comparaison des langues pour un fichier donné afin de définir les clés à prendre en modèle. Exemple :
Dans mon cas, j'ai 4 langues sur ma galerie (En, Fr, De, Es et It). Le fichier [truc.lang.php] en langue [Es] dispose de clés qui n'apparaissent pas dans les fichiers des autres langues. Mais je sais que les clés dans le fichier [truc.lang.php] en [Fr] sont correctes et doivent servir de référence pour mes autres fichiers (ajout / suppression dans les autres fichiers).
Je n'ai pas trouvé le moyen de mettre en conformité les clés de mes fichiers sur la base d'un seul. Ou alors j'ai raté une étape quelque part. Pour l'heure, je dois mettre à jour les clés présentes dans le fichier en [Es] vers mes autres fichiers pour ensuite les supprimer de tous les fichiers.
la comparaison -à moins d'un bug- doit normallement se faire sur toutes langues.
exemple :
clefs existantes :
[fr] key_001, key_002, key_003
[en] key_001, key_002, key_004
[it] key_002, key_003, key_004
[es] key_002
le tableau doit sortir un truc du genre :
[fr] [en] [it] [es] key_001 #### #### - - key_003 #### - #### - key_004 - #### #### -
avec dans l'exemple '####' pour une petite barre colorée, et ' - ' lorsque la clef n'existe pas dans le fichier
si tu sélectionnes key_001, elle sera créée pour les langues it et es, et prendra la valeur 'key_001' et le status 'a traduire' (pas de traduction : on met brutalement le nom de la clef)
si tu sélectionnes key_003, elle sera créée pour la langue en et prendra la valeur 'key_003'
si tu sélectionnes key_004, elle sera créée pour les langues fr et es et prendra la valeur 'key_003'
si je comprends bien, en fait le plugin créé les clefs manquantes automatiquement, alors qu'en fait, tu aimerais pouvoir en supprimer
par exemple, si la langue de référénce est fr, si tu sélectionne key_004, tu voudrais la supprimer des langues en et it ?
si c'est bien çà, çà doit pas être trop dur à réaliser.
Eric a écrit:
Pouvoir sélectionner en un clic (une case à cocher) toutes les clés dans le panneau Edition / Mise à niveau des fichiers. Quand on a une liste conséquente de clés à mettre à jour, c'est laborieux de devoir les sélectionner une à une.
çà c'est tout bête à faire, je l'empile dans la pile des choses à dépiler....
Eric a écrit:
me :
J'ai validé des traductions sur un fichier et j'ai procédé à l'export qui s'est bien déroulé. Lorsque je reviens sur l'onglet "Status", j'ai le message :
Les versions de fichiers .lang.php présents sur le serveur ont changé.
Veuillez procéder à une analyse plus complète via la fonction Maintenance/Analyser
Et lorsque je me rends sur Maintenance/Analyser, j'ai mes fichiers avec le constat "Le fichier présent sur le serveur a été modifié (.//language/[langue].iso-8859-1/truc.lang.php)". Mais quand je clique sur ces lignes, j'ai "Nombre de différences : 0" et il n'y a aucune action possible pour effectuer la mise à jour.
J'ai l'impression d'être un peu à côté de la plaque...
nan nan çà viens pas de toi.
c'est un petit bug du plugin. sur la partie "analyse" j'ai galéré, et y a encore des petits trucs dont çà qui sont génant (mais pas bloquant ^^;)
le problème s'explique de façon assez simple : l'analyse s'effectue à deux niveau :
- le premier niveau se contente de vérifier si la date du fichier sur le disque est la même que celle en base, si différence, on suppose que le fichier sur le disque n'est pas le même que celui en base
- le second niveau s'effectue lorsque l'on déplie la ligne, on charge le fichier du disque, et on effectue une véritable analyse des différences
la gestion en deux niveau est là pour décharger le serveur
juste que quelque part, y a une mauvaise mise à jour des informations dans la base au moment de l'export...
en tout cas merci pour les retours !
j'essaye de faire une version 1.0.2 d'ici une semaine ou deux ; d'ici là, toute autre remontée de bugs et/ou idées rendant l'usage plus confortable est la bienvenue.
Dernière modification par grum (2008-05-17 17:29:14)
Hors ligne
grum a écrit:
si je comprends bien, en fait le plugin créé les clefs manquantes automatiquement, alors qu'en fait, tu aimerais pouvoir en supprimer
par exemple, si la langue de référénce est fr, si tu sélectionne key_004, tu voudrais la supprimer des langues en et it ?
si c'est bien çà, çà doit pas être trop dur à réaliser.
C'est tout à fait çà. Ok pour l'ajout de clés manquantes mais il faudrait aussi pouvoir supprimer celles qui n'ont plus lieu d'être. Pour illustrer le cas et faire des essais, je me suis basé sur une fichier de langue "core" tel que common.lang.php. PWG fournit en standard les langues FR et EN mais pour d'autres langues, les fichiers ne reprennent pas toujours les bonnes clés de la version en cours de PWG, voire en utilisent de supplémentaires qui n'ont plus lieu d'être (basés sur d'anciennes versions).
Mais ce cas ne devrait s'appliquer qu'aux versions 1.7.x et antérieures de PWG puisque la 1.8 remettra tout à plat avec l'UTF8.
grum a écrit:
en tout cas merci pour les retours !
j'essaye de faire une version 1.0.2 d'ici une semaine ou deux ; d'ici là, toute autre remontée de bugs et/ou idées rendant l'usage plus confortable est la bienvenue.
Pas de problème, je continue mes tests...
Hors ligne
J'ai une nouvelle interrogation :
Soit les 5 langues Fr, En, Es, De et It pour le fichier admin.lang.php. Le nombre total de clés est différent pour chaque fichier. Donc, logiquement, si je clique sur "comparer les langues", je devrais retrouver les différences mais ce n'est pas le cas. J'obtiens "Les différents languages associés à ce fichier sont identiques".
La comparaison entre les fichiers ne semble pas se faire correctement.
Sinon, le module de traduction avec proposition via Google Translate, c'est le top !
[Edit]
Juste un petit truc : Il est visiblement possible de modifier le texte à traduire avant de demander une proposition via Google Translate. Mais j'ai remarqué qu'en mettant n'importe quoi dans la zone de texte, c'est toujours la traduction du texte proposé par la langue du "modèle de traduction" qui est pris en compte et non ce que l'on a renseigné. Normal ?
[/Edit]
Dernière modification par Eric (2008-05-17 21:40:55)
Hors ligne
Une petite dernière pour ce soir :
Afin de faciliter la traduction d'un fichier dans une autre langue, quand on se trouve dans l'onglet "Edition", ce serait bien de pouvoir deplier / réduire toutes les clés en 1 clic. Par action sur une icone + et -, par exemple.
Hors ligne
Eric a écrit:
J'ai une nouvelle interrogation :
Soit les 5 langues Fr, En, Es, De et It pour le fichier admin.lang.php. Le nombre total de clés est différent pour chaque fichier. Donc, logiquement, si je clique sur "comparer les langues", je devrais retrouver les différences mais ce n'est pas le cas. J'obtiens "Les différents languages associés à ce fichier sont identiques".
La comparaison entre les fichiers ne semble pas se faire correctement.
aïe....
bon, je vais tenter de reproduire le cas.
si j'y arrive pas, je te demanderais plus de précisions...
Eric a écrit:
Sinon, le module de traduction avec proposition via Google Translate, c'est le top !
[Edit]
Juste un petit truc : Il est visiblement possible de modifier le texte à traduire avant de demander une proposition via Google Translate. Mais j'ai remarqué qu'en mettant n'importe quoi dans la zone de texte, c'est toujours la traduction du texte proposé par la langue du "modèle de traduction" qui est pris en compte et non ce que l'on a renseigné. Normal ?
[/Edit]
çà prends systématiquement le modèle.... donc je vais revoir ce point ;)
pour le dernier point (tout plier/déplier) je peux le faire. il faut juste avoir en tête qu'un dépliage, c'est un appel au serveur.
Hors ligne
grum a écrit:
pour le dernier point (tout plier/déplier) je peux le faire. il faut juste avoir en tête qu'un dépliage, c'est un appel au serveur.
Si on ne touche pas aux réglages de base du plugin, il y a 25 clés à déplier. On peut donc envisager soit 25 requêtes séparées d'une tempo (pour le cas où cela impacterait trop les ressources serveur), soit une seule requête englobant les 25 clés. Dans ce dernier cas, la charge serveur serait importante à l'instant T mais jusqu'à quel point ?
Hors ligne
Eric a écrit:
Si on ne touche pas aux réglages de base du plugin, il y a 25 clés à déplier. On peut donc envisager soit 25 requêtes séparées d'une tempo (pour le cas où cela impacterait trop les ressources serveur), soit une seule requête englobant les 25 clés. Dans ce dernier cas, la charge serveur serait importante à l'instant T mais jusqu'à quel point ?
j'ai réalisé ce point (pour l'instant c'est juste chez moi, il me reste encore des choses à faire sur le plugin avant d'uploader une màj) et en local avec 25 clefs par pages, l'ouverture prends 14s.
j'ai utilisé la méthode la plus simple : 25appels.
la méthode qui génèrerait le moins de charge pour le serveur serait de faire un seul appel : çà nécessite par contre de mettre en place côté client et côté serveur des fonctions d'appels spécifiques. c'est possible à réaliser, j'y réfléchis.
Eric a écrit:
Sinon, le module de traduction avec proposition via Google Translate, c'est le top !
[Edit]
Juste un petit truc : Il est visiblement possible de modifier le texte à traduire avant de demander une proposition via Google Translate. Mais j'ai remarqué qu'en mettant n'importe quoi dans la zone de texte, c'est toujours la traduction du texte proposé par la langue du "modèle de traduction" qui est pris en compte et non ce que l'on a renseigné. Normal ?
[/Edit]
J'ai ré-étudié la question : s'il est possible de modifier le texte, ce n'est pas pour le faire avant l'envoi vers Google Translate, mais pour corriger la traduction avant de l'appliquer :)
l'usage du modèle pour la traduction est là pour éviter d'avoir à saisir soit même le modèle. après, est-ce vraiment nécessaire de pouvoir modifier le modèle ?
Hors ligne
grum a écrit:
Eric a écrit:
Si on ne touche pas aux réglages de base du plugin, il y a 25 clés à déplier. On peut donc envisager soit 25 requêtes séparées d'une tempo (pour le cas où cela impacterait trop les ressources serveur), soit une seule requête englobant les 25 clés. Dans ce dernier cas, la charge serveur serait importante à l'instant T mais jusqu'à quel point ?
j'ai réalisé ce point (pour l'instant c'est juste chez moi, il me reste encore des choses à faire sur le plugin avant d'uploader une màj) et en local avec 25 clefs par pages, l'ouverture prends 14s.
j'ai utilisé la méthode la plus simple : 25appels.
la méthode qui génèrerait le moins de charge pour le serveur serait de faire un seul appel : çà nécessite par contre de mettre en place côté client et côté serveur des fonctions d'appels spécifiques. c'est possible à réaliser, j'y réfléchis.
"Y a pas le feu au lac", comme on dit à Genève ! ;-) Mais c'est cool quand même.
grum a écrit:
Eric a écrit:
Juste un petit truc : Il est visiblement possible de modifier le texte à traduire avant de demander une proposition via Google Translate. Mais j'ai remarqué qu'en mettant n'importe quoi dans la zone de texte, c'est toujours la traduction du texte proposé par la langue du "modèle de traduction" qui est pris en compte et non ce que l'on a renseigné. Normal ?
J'ai ré-étudié la question : s'il est possible de modifier le texte, ce n'est pas pour le faire avant l'envoi vers Google Translate, mais pour corriger la traduction avant de l'appliquer :)
l'usage du modèle pour la traduction est là pour éviter d'avoir à saisir soit même le modèle. après, est-ce vraiment nécessaire de pouvoir modifier le modèle ?
Effectivement, je n'avais pas vu la chose sous cet angle. Dans ce cas, personnellement, je garderai cette fonction en l'état. Il n'est pas nécessaire de modifier le modèle à ce niveau, selon moi.
Bon courage pour la suite. 8-)
Hors ligne
Mise à jour de la version 1.0.2 :
+ gestion sauvegarde/restauration de la base (en prévision des màj futures)
+ pour l'export en mode traducteur, les clefs avec le tag @bt@ ne sont pas exportées avec les informations avancées (peut provoquer des bugs avec les objets de type )
- correction d'un bug sur les fonctions de comparaison de clefs
http://forum.phpwebgallery.net/viewtopi … 590#p88590
+ pour la comparaison de clefs, possibilité de toutes les sélectionner en un seul clic, ou d'inverser la sélection http://forum.phpwebgallery.net/viewtopi … 584#p88584
+ pour la comparaison de clefs, lors de la mise à jour possibilité de créer les clefs manquantes ou de supprimer les clefs en trop
http://forum.phpwebgallery.net/viewtopi … 584#p88584
+ lors de l'édition des clefs, possibilité de plier ou déplier toutes les clefs
http://forum.phpwebgallery.net/viewtopi … 591#p88591
+ modification de la classe translate.class.inc.php, les méthodes sont supprimées au profit de l'usage des API Google Translate
- correction de bug : les fichiers 'local.lang.php' sont ignorés
http://forum.phpwebgallery.net/viewtopi … 213#p88213
+ certaines fonctionnalités sont désactivées pour le mode conseiller
- purge
- sauvegarde&restauration
- export des fichiers .lang.php
- suppression d'une langue
- correction d'un bug d'affichage lors de l'édition des clefs
=> pour une mise à jour vers la v1.0.2-beta, il est conseillé de désinstaller le plugin (pas simplement de le désactiver)
Cette mise à jour nécessite d'installer au préalable la version 1.2.0 du plugin Grum Plugin Classes
Hors ligne
Salut Grum.
j'ai effectué la mise à jour du plugin vers la version 1.0.2 béta. Tout d'abord, bravo pour le travail accompli. C'est vraiment nickel, notamment avec la possibilité d'ajout / suppression de clés.
J'ai cependant un petit pb dont voici les données pour tenter de le reproduire :
- Ma config : Wamp5 (php5 et mysql5)
- Exemple de fichier de langue pour le test : core/admin.lang.php
- Je dispose de 5 langues pour ce fichier : En, De, Fr, Es et It
- Ma langue de référence pour ce fichier (dont je suis certain de la validité des clés) est Fr.
Les traductions En, De et It pour ce fichier sont Ok mais pour la langue Es, il me faut rajouter des clés. Dans l'onglet Edition, je les sélectionne en fonction de leur présence dans la traduction de référence et je valide l'ajout. L'ajout ne semble pas se faire correctement et j'ai un message d'insulte :
Notice: Array to string conversion in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3163 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3164 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3171 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3171
J'ai pensé que j'avais sélectionné trop de clés en une fois pour mon serveur mais cela se produit aussi pour 1 clé.
Comme j'ai déjà pas mal trituré les fichiers de langue avec ce plugin, je vais remettre une version originale pour revoir tout çà.
Hors ligne
je pense voir d'ou viens le problème.
tes clefs ne seraient pas déclarées de cette façon :
$lang["maclef"][0] = "valeur0";
$lang["maclef"][1] = "valeur1";
$lang["maclef"][2] = "valeur2";
j'ai résolu le problème à l'import, à l'export, mais j'ai pas du y penser au moment de la remise à niveau des clefs ^^;
Hors ligne
J'ai fait un merge manuel avec winmerge sur les fichiers Fr et Es. Et, effectivement, l'ordre des clés est très chaotique. Le fichier admin.lang.php d'origine était existant mais vide. En ajoutant les clés en référence avec le fichier Fr, elle ne se sont pas "rangées" dans l'ordre.
Mais comme dit, je teste avec des fichiers core pour avoir une base de travail aisément comparable et les clés sont référencées de manière classiques. J'ai remarqué qu'une clé en particulier semble poser le pb :
$lang['Modify End from Now +'] = '' ";
Pourquoi cette clé ? Mystère. J'ai remis tous les fichiers de langue d'origine et supprimé/réinstallé le plugin. Mais rien n'y fait. Toujours un blocage sur cette clé, existante dans tous les fichiers de langue sauf celui en Es...
Hors ligne
si tu essayes d'installer sans la langue espagnole, çà fonctionne ou pas ?
à noter que dans le fichier es_ES.iso-8859-1/common.lang.php il manque la ligne $lang_info['charset'] = 'iso-8859-1';
après mise à jour de cette ligne, lors de l'installation la langue s'installe proprement chez moi.
reste le cas $lang['Modify End from Now +'] = '' ";
même problème chez moi, et sur toutes les langues.
problème encore pire sur les clefs du type Manage permissions for group "%s"
je pense que les caractères + et " ne sont pas très bien gérés (quelle idées aussi de faire usage de caractères pas conventionnels ! ;))
bref, je vais regarder comment traiter.
à noter le fichier espagnol semble contenir 616 éléments contre 615 pour les autres, mais la comparaison ne trouve pas ce 616ème élément. je vais tacher de comprendre pourquoi...
concernant le pb
Notice: Array to string conversion in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3163 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3164 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3171 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3171
peux-tu me donner plus de précisions ?
Hors ligne
grum a écrit:
si tu essayes d'installer sans la langue espagnole, çà fonctionne ou pas ?
Il n'y a pas de pb d'installation de la langue espagnole. Elle fonctionne bien sur mon site de prod. C'est juste que le fichier admin.lang.php en espagnol n'est pas complet par rapport à la distribution originale en Fr et En de PWG. C'est, pour moi, un bon fichier pour tester ton plugin ;-)
grum a écrit:
reste le cas $lang['Modify End from Now +'] = '' ";
même problème chez moi, et sur toutes les langues.
problème encore pire sur les clefs du type Manage permissions for group "%s"
je pense que les caractères + et " ne sont pas très bien gérés (quelle idées aussi de faire usage de caractères pas conventionnels ! ;))
bref, je vais regarder comment traiter.
Je confirme le pb récurrent avec les caractère "+" mais pas avec "%..". Je n'ai eu aucun pb d'ajout ou suppression de clés comportant ce type de caractères particuliers.
grum a écrit:
à noter le fichier espagnol semble contenir 616 éléments contre 615 pour les autres, mais la comparaison ne trouve pas ce 616ème élément. je vais tacher de comprendre pourquoi...
Le 616eme élément est :
$lang['only'] = ' ';
Chez moi aussi il était manquant dans le compte car il était préfixé par // dans mon fichier de langue.
grum a écrit:
concernant le pb
Notice: Array to string conversion in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3163 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3164 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3171 Notice: Undefined offset: 1 in E:\www\Test\phpwebgallery\plugins\translator\plugin_class_bo.inc.php on line 3171
peux-tu me donner plus de précisions ?
Euh... Là, je ne sais trop quoi te dire de plus. Le message apparait d'un coup après plusieurs ajout / suppression de clés et correspondrait (très conditionnel, hein !) à la manifestation du pb avec le signe "+" mentionné plus haut. Je n'ai réussi à sortir du message qu'en remettant les fichiers de langue originaux et en désinstallant/réinstallant le plugin Translator.
Je poursuis mes efforts pour le malmener et trouver des indices sur ces pb.
Hors ligne