IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dreamshield Discussion :

Problème d'affichage DS 0.97.1 sous Win 2000 + Registre + InfoBox en anglais


Sujet :

Dreamshield

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut Problème d'affichage DS 0.97.1 sous Win 2000 + Registre + InfoBox en anglais
    Bonjour à tous !

    Je souhaite remercier en premier lieu notre cher développeur pour nous offrir cet outil bien pratique qu'est Dreamshield.

    Ensuite entrons dans le vif du sujet, je souhaite distribuer avec Dreamshield des extensions (en cours de développement) pour le logicel AutoCAD.
    Les postes sur lesquels seront déployées les extensions tournent sous les OS suivants:
    • Windows 2000 SP4
    • Windows XP 32/64 bits
    • Windows Vista
    Afin de garantir une portabilité maximale, je développe sous un poste Windows 2000 SP4 avec VS2005 Express et DreamShield 0.97.1.1
    (projet d'instal. débuté sous la version 0.95 avec toutes les mises à jours).

    Je vais exposer maintenant les trois problèmes auquels je suis confronté:

    Problème No. 1: l'affichage
    Lors de l'execution de mon installation (voir les captures en pièces jointes).:
    • des parties de la fenêtre sont superposées ou dessinées plusieurs fois
    • des parties de l'affichage ne sont pas mises à jour et restent noires

    Sous Dreamshield 0.95 le problème éxistait puis fut résolu par les mises à jour .
    Mais il apparait de nouveau sous la version 0.97 (Je n'ai pas testé la 0.96).
    Est-ce en rapport avec les thèmes désactivés sous XP et Vista comme indiqué ici:
    http://www.developpez.net/forums/d39...larborescence/

    Problème No. 2: les messages affichés avec Infobox (de SaumonAgile)
    Les boites de messages affichées à l'aide de la DLL Infobox ont un petit défaut, les boutons sont toujours en anglais.
    J'ai testé en modifiant dans mon projet d'installation les paramètres de langues afin de supprimer la boite de message permettant de choisir la langue.
    Il semblait que le problème était déjà résolu ici:
    http://www.developpez.net/forums/d53...mation-visuel/
    mais il était aussi présent dans la version 0.95

    Cela est plutôt embêtant, une fois prêtes, mes extensions devront être distribuées en français, allemand, anglais, italien et espagnol.
    Pour la traduction des langues de l'interface, je ne sais pas si vous avez trouvé des traducteurs, mais je pense que l'un de mes collègue peut me dépanner (au moins dans une des langues autres que l'anglais).

    Problème No. 3: Edition du registre problématique
    Je pensais ajouter directement mes extensions AutoCAD en les enregistrant dans le registre grâce à la rubrique "Edition du registre", mais la saisie du caractère deux points ":" est interdite et considérée comme invalide.

    Hors ce caractère est valide dans l'éditeur de registre sous Windows 2000 et XP (pas testé sous Vista) et la clé de registre que je souhaite ajouter contient ce caractère.
    J'ai donc intégré l'écriture du registre dans mon Plug-in d'installation qui recherche l'application AutoCAD sur le poste cible. Dommage.

    Fin des lamentations, merci d'avance à tous pour vos lumières et bonne soirée.
    Images attachées Images attachées   

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Pour le problème 1.
    Windows fait en effet n'importe quoi avec les transparences dès contrôles lorsque les thèmes ne sont pas activés (XP & Vista) ou pas supportés (2000 & ?).
    Je te propose un Workaround en attendant la prochaine update (j'ai rajouté ce bug à ma Todo list pour la prochaine update).
    J'ai mis en pièce jointe un fichier WindowsSkin.zip. Il est à extraire dans le dossier "Dossier d'installation de DreamShield\Skins\WindowsSkin" afin de remplacer les fichiers WindowsSkin.dll et WindowsSkin.pdb. Ensuite dans ton projet choisit comme Skin le "Skin au couleur de l'OS" et construit ton setup. Je n'ai pas de Windows 2000 sous la main mais j'ai testé sur un XP sans thèmes et cette fois il n'y a pas eu d'abbérations avec des zones noires ou peintes incorrectement. Dit moi si cela te convient ...
    Note : pour le changement dans le skin par défaut il faudra attendre la mise à jour car le skin par défaut est inclus dans le runtime DreamShield, et j'y ai fait des modifications qui m'empêchent d'envoyer juste le runtime et que ça fonctionne correctement : je suis obligé de l'intégrer à une mise à jour complète.

    Problème 2
    Je pense que ça vient du fait que le projet a été crée via la version 0.95 : les langues sont incluses dans le fichier projet et donc au cours des mises à jour de DreamShield modifiant certains textes de localisation, le fichier projet n'a pas été modifié en ce sens.
    Pour avoir les dernières localisations avec le fichier projet, la méthode consiste à supprimer toutes les langues disponibles dans le fichier projet et ensuite faire Importer > Importer les langues standard et normalement cela devrais fonctionner.

    Pour ce qui est des traductions dans d'autres langues que l'Anglais et le Français, je n'ai pas la possibilité de le faire (vu que bon, je connais le Français et l'Anglais, mais pas un seul mot d'allemand ou d'autre chose ...).

    Pour traduire sans trop de difficulté les textes de l'assistant d'installation vers une autre langue, il faut créer un fichier DreamShield.Deployment.culture.resources dans le dossier "Dossier d'installation de DreamShield\Installer Languages" (où culture est la langue voulue, ie "fr" ou "en") et le compléter suivant le modèle (cf. les fichiers *.resources existants déjà).
    On peut aussi créer le fichier en .resX et ensuite l'enregistrer en .resources

    Problème 3
    Là en effet, c'est quelque chose à quoi je n'ai pas fait attention. Le projet ne supporte pas le caractère ':' dans le nom.
    Le workaroud proposé (plugin d'installation) est en effet ce que j'aurai proposé. J'ai aussi rajouté cet élément dans ma todo liste.

    --
    Concernant la prochaine mise à jour.
    Je suis actuellement dans une période où ma disponibilité est extrêmement réduite et ce jusqu'à fin mai normalement. Donc la prochaine mise à jour avec tout ça devrais voir le jour fin Mai début Juin. Ce ne sont pas en soi des problèmes difficiles à résoudre mais cela demande du temps, ce que je n'ai pas ... donc voilà ...
    Fichiers attachés Fichiers attachés

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Bonjour Smiley et merci pour ta réponse (très) rapide.

    Problème No. 1: l'affichage
    J'ai téléchargé le fichier "WindowsSkin.zip" puis mis à jour la "skin aux couleurs de l'OS".

    Dans l'ensemble, elle fonctionne bien , mais il reste deux petits problèmes de rafraichissement de la fenêtre :
    - durant l'installation et la désinstallation:
    pendant la copie/suppression des fichiers sur le poste seuls les mentions "Installation en cours..." ou "Désinstallation en cours...", le chemin du fichier et la barre de progression sont mis à jour. Autour de ces éléments, la fenêtre n'est pas encore rafraichie.
    Si on utilise un plugin assez "long" (comme c'est le cas dans ce projet) pour détecter la copie ou la suppression des fichiers, cela bloque temporairement la barre de progression, sans rafraichissement de la fenêtre, l'utilisateur peut alors croire que l'installation est plantée.
    (voir "Bug_affichage3.jpg" en pièce jointe)

    - pendant la dernière étape quand il faut cliquer sur le bouton "Terminer"
    Les mentions "Configuration terminée" et "Pour quitter l'assistant cliquez sur 'Terminer' " sont bien rafraichies, mais la partie située en dessous ne l'est pas.
    Cela est plus embêtant lors de la procédure d'installation sur le poste, car l'absence de rafraichissement laisse apparaitre un bouton d'option sélectionné intitulé "Redémarrer automatiquement maintenant" ce qui laisse croire à l'utilisateur que son poste va redémarrer alors qu'il s'agit juste d'un problème d'affichage.
    (voir "Bug_affichage4.jpg" en pièce jointe)

    Je pense que tu n'es plus très loin de la perfection
    J'avais créé sous la version 0.95 de Dreamshield une skin que j'ai recompilé sous 0.97 mais le problème ne venait pas de là.
    Pour information, le code source disponible dans le dossier ".\Skins\WindowsSkin" de la version 0.97 n'est pas à jour.
    Pendant la compilation, une erreur est levée car la procédure "WizardPageResult" de la classe "WizardForm" change de signature avec un paramètre "bool wait" en plus.


    Problème No. 2: les messages affichés avec Infobox
    Je considère ce point comme RÉSOLU, un grand MERCI pour l'astuce.
    Pour recompiler d'autres fichiers de langues je vais me pencher dessus.
    Pour information, j'avais regardé la traduction de Code::Blocks qui avait été réalisée sur le site suivant:
    https://translations.launchpad.net/
    Tu peux toujours y inscrire ton projet, cela permet une forme de contribution intelligente par ceux qui ne savent pas forcément coder.
    De plus cela aide à faire connaitre ton application au-delà de nos frontières francophones.

    Problème No. 3: Edition du registre problématique
    Je considère ce point comme RÉSOLU, la solution restera de faire un plugin jusqu'à intégration du caractère ":" aux chemins des clés de registre dans une mise à jour indéterminée de Dreamshield 0.97.
    Etre débordé est la raison d'être du développeur !!!

    Encore merci pour le dépannage et à bientôt.
    Images attachées Images attachées   

  4. #4
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    1.
    J'ai mis en pièce jointe une nouvelle version de l'archive WindowsSkin.zip. Cette ci j'ai inclus le code source.
    Il est vrai que je n'avais pas mis à jour le code source de ce skin depuis un moment et là le code est assez laid avec mes "Workaround" mais j'avais déjà préparé une refonte pour rendre tout ça un peut plus cohérent ... mais il faudra attendre la mise à jour.
    Donc, dans ce WindowsSkin.zip maintenant il devrais s'afficher correctement sur Windows XP et Windows 2000, peux tu confirmer ?

    2.
    Tient, je connaissais pas https://translations.launchpad.net/ .Mes fichiers de langues sont en .resX et .resources, mais il me semble que je suis obligé d'utiliser le format GNU Text. Existe-t-il un outil pour faire la conversion resX<->GNU ?

    --
    Ah au fait au cas où, comme la semaine qui vient de passer, je serai complètement absent de demain soir (Dimanche) jusqu'à la fin de la semaine prochaine donc au cas où il y a un post et que je réponds pas d'ici demain, c'est que ma dure semaine aura déjà commencée
    Fichiers attachés Fichiers attachés

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Bonjour Smyley,

    1.
    Merci pour le fichier zip, la skin fonctionne parfaitement sous Windows 2000.
    Je fais le test sous Windows XP sans thèmes au cours de la semaine prochaine au boulot.
    Mon poste perso étant en Windows 2000 (serveur + outils de Dev, pas de XP sans garantie de tout faire tourner).
    Si ce dernier test est concluant, je marque la discussion en "Résolu".

    2.
    Mes fichiers de langues sont en .resX et .resources, mais il me semble que je suis obligé d'utiliser le format GNU Text. Existe-t-il un outil pour faire la conversion resX<->GNU ?
    Effectivement, je n'ai pas trouvé de convertisseur resX<->GNU TEXT, mais je pense que la conversion ne doit pas être hors de portée:
    • le format .resx est à base de XML UTF-8
    • les fichiers .po générés par GNU GETTEXT (à partir du code source de l'application à traduire) sont au format texte, ils possèdent une entête à recréer, les chaines de texte à traduire sont formatées c++ (il peut reconnaitre d'autres languages mais pas le .NET) et en plus il supporte le UTF-8 lui aussi

    Comme on démarre d'un language non reconnu, je pense que dans un premier temps on peut laisser tomber le formatage C++ et tester avec les chaines directement importées du .resx, mais cela reste une hypothèse à vérifier.

    Pour info:
    • la page française de GNU GETTEXT qui explique son fonctionnement
    • Il éxiste un portage sous Windows de PoEdit qui permet d'éditer les fichiers .po qui sont générés par GNU GETTEXT à partir du code de l'application que l'on veut traduire.

    Concernant les traductions, il faut sûremment une nouvelle discussion car on dévie du problème initial.

    Encore merci pour ton aide et bonne semaine.

  6. #6
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Bonsoir Pomystik,

    Bon, ben j'ai vu sur wikipedia qu'en gros c'est juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    msgid "My name is %s.\n"
    msgstr "Je m'appelle %s.\n"
    Donc je pense pouvoir coder sans trop de mal un convertisseur .resX ou .resources <-> GNU si ça n'existe pas afin de mettre le tout sur launchpad.

    Par contre je ne peux rien faire avant fin mai, mais une fois que je serai libre, je vais m'y mettre.
    Merci pour ta participation (et je croise les doigts pour que tes tests soient concluants )

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Salut smyley,
    Après avoir regardé les fichiers utilisés par PoEdit, j'ai reconstitué le fichier .POT avec une moulinette VB.NET à partir du fichier
    ".\Installer Languages\DreamShield.Deployment.en.resx".
    Il te servira de template pour les autres traductions.

    Pour chaque élément de texte à traduire, j'ai intégré, dans le fichier .POT, son identifiant présent dans le fichier .resx
    par exemple pour la chaine:
    "The file \"{0}\" cannot be found."
    l'identifiant suivant est enregistré avec en commentaire:
    Common_FileNotFound

    Cela permettra ainsi d'importer directement dans le fichier .resx la bonne traduction dans le bon noeud XML <data>
    En effet, on ne peut pas se baser sur l'ordre original de l'exportation car un éditeur peut très bien modifier celui-ci.

    Le fichier .POT de Dreamshield 0.97.1.1 est dans le fichier zip "DreamShield.Deployment.en.zip" en pièce jointe.
    Tu peux maintenant lancer la traduction sur launchpad.
    Je peux coder la partie GNU GETTEXT --> .resx quand les traductions reviendrons (ou je peux t'envoyer la source de la moulinette VB.NET).

    Note: Pendant l'édition, PoEdit indique que la chaine "Cancel" est définie 2 fois (ligne 41 et 815 du fichier POT) --> j'ai ajouté un espace à la fin de la ligne 41 pour différencier les deux définitions, mais dans l'absolu attention de ne pas dupliquer tes chaines.
    Il faut supprimer les doublons pour éviter des recherches fastidieuses:
    des chaines pourtant déjà traduites ne se mettent pas à jour dans l'application parcequ'elles pointent sur des copies non traduites.


    Bonne semaine et A plus.
    Fichiers attachés Fichiers attachés

  8. #8
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Il n'y aurai pas un problème ?
    En fait, pour ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #; csharp-format
    #. Installing_Msi
    #: exported_resx.cs:145
    msgid "Windows Installer Installations"
    msgstr ""
    Je voyais plus cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #; csharp-format
    #. Installing_Msi
    #: exported_resx.cs:145
    msgid "Installing_Msi"
    msgstr "Windows Installer Installations"
    Car dans le resX l'Id du message c'est Installing_Msi, pas Windows Installer Installations.
    Et de fait, si on garde cette structure l'exportation vers un resX reviendrais juste à recréer les clefs avec les valeurs traduites ... ?
    Et du coup ça ne poserai pas de problème pour les deux "Cancel" vu que chacune des deux clefs correspond bien à un id de message différent ...

    Et puis il faudra aussi proposer la traduction de ce qu'il y a dans le dossier "Dossier d'installation de DreamShield\IDE Languages"

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Bonjour smyley (et les courageux qui suivent encore )
    Lorsque GETTEXT analyse par exemple un code C# qu'il doit exporter dans un fichier modèle .POT pour la traduction, il peut extraire plusieurs paramètres.
    Dans notre cas, nous avons le code équivalent suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #; csharp-format
    #. Installing_Msi
    #: exported_resx.cs:145
    msgid "Windows Installer Installations"
    msgstr ""
    Les lignes qui commencent par "#;" définissent des indicateurs par exemple la syntaxe du language de programmation dans lequel a été développé l'application à traduire (dans notre cas du C#) et également si la traduction réalisée est considérée comme approximative ou incertaine (drapeau fuzzy)
    Donc nous avons dans notre cas:
    Les lignes qui commencent par "#." définissent des indications extraites depuis le code source examiné par GETTEXT.
    En effet, les développeurs peuvent intégrer dans le code source des balises afin de fournir aux traducteurs des indications complémentaires du genre:
    • "ceci est le nom d'un paramètre, ne pas le traduire"
    • "ne traduisez pas cette expression , c'est un objet spécifique à cette application qui n'a pas d'équivalent dans d'autres langues"

    Dans notre cas, j'ai indiqué l'identifiant qui est utilisé par ton code managé pour charger la chaine de caractères depuis le fichier de ressources .resx.
    Donc nous avons
    Les lignes qui commencent par "#:" définissent les références du texte à traduire, c'est l'emplacement du code source où GETTEXT à reconnu des balises contenant du texte à traduire, la référence est indiquée par le nom du fichier du code source ainsi que le numéro de la ligne dans le fichier du code source (en gros c'est nos identifiants de ressource Windows).
    Maintenant la grande explication, accroches toi !!!
    Comme nous n'exécutons pas GETTEXT directement sur les fichiers CS du code managé .NET, je fourni dans le fichier .POT un nom de fichier qui "correspondrait" à un fichier .resx exporté en code pur C#(exported_resx.cs), le numéro de ligne est un numéro qui correspond au numéro du noeud XML <data> lors de la lecture du fichier .resx (une simple boucle).
    Ce numéro est fourni à titre d'indication et l'on ne peut pas se baser dessus; si tu recompiles entre temps un nouveau fichier .resx avec un nombre différent de ressources, les numéros ne correspondent plus à rien lors du retour d'une traduction. C'est pour cette raison que j'ai utilisé la balise "#." dans le fichier .POT avec l'identifiant de ressource utilisé par ton code managé ("#. Installing_Msi" dans notre cas).
    Tu peux légitimement penser que la référence dans le code devient alors inutile, mais il faut prendre en compte le fait que certains outils qui seront utilisés pour la traduction utilisent OBLIGATOIREMENT cette référence sinon ils considèrent le fichier .POT comme invalide et donc ils le rejettent.
    CQFD

    Les lignes qui commencent par msgid contiennent le texte original à traduire et c'est là que réside la subtilité de GETTEXT par rapport aux fichiers de ressources Windows. Et je pense que c'est cela qui te perturbe. En effet, sous Windows nous avons l'habitude de définir deux fois les données:
    • un identifiant pour accéder à la ressource
    • les données de la ressource (stockées dans un fichier de ressources ou dans l'exécutable)


    Avec GETTEXT pas besoin d'identifiant, quand l'application est compilée, elle ne contient aucune ressource de chaines de caractères , le compilateur exécute les étapes suivantes sur le code source:
    • recherche de toutes les balises GETTEXT dans le code source qui contiennent un texte à traduire
    • remplacement de chacune de ces balises par un appel à la bibliothèque GETTEXT avec
      • le nom du fichier source
      • le numéro de ligne du code source
      (c'est notre fameuse référence vue plus haut)
    • Compilation des fichiers de langues *.PO en versions binaires *.MO dans le sous-dossier "locale" de la structure des fichiers de l'application


    Ainsi au moment de l'exécution sur une plateforme UNIX ou LINUX:
    • le code invoque GETTEXT avec le nom du fichier source et le numéro de ligne
    • GETTEXT regarde la langue demandée par l'utilisateur et recherche la version compilée du fichier de langue .MO correspondant à cette langue
    • s'il le trouve, il regarde dans l'index du fichier .MO la chaine qui correspond puis la récupère pour la retourner à l'application qui la traite ou l'affiche

    En fait GETTEXT utilise bien des référence de ressources, mais le développeur ne s'en occupe pas, elles sont générées à la volée par le compilateur.
    Dans notre cas nous avons:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgid "Windows Installer Installations"
    Les lignes qui commencent par msgstr contiennent la version traduite du texte présent dans les lignes "msgid" qui les précèdent immédiatement.
    Dans le fichier .POT, cette chaine de caractères est vide, elle sera remplie par les traducteurs qui retournerons les fichiers .PO pour chaque langue cible.
    Dans notre cas nous avons donc:
    Voilà, j'espère être resté clair et lisible malgré la quantité d'informations sur le fonctionnement de GETTEXT et la construction des fichiers .POT.
    Pour info, la page d'aide GETTEXT en français, le paragraphe 3 "The Format of PO Files" devrait te plaire.

    Bonne chance et à plus.

  10. #10
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Ci-joint les fichiers .POT oubliés.
    Pour le module d'installeur:
    Voir le fichier DS 0_97_1_1_Installer_POT_Files_fr_en.zip, en français et anglais.
    La version française comporte aussi plusieurs doublons, par exemple pour "Annuler".
    Je n'ai pas retouché la version française
    Dans la version anglaise, j'ai modifié le pays qui était non reconnu par PoEdit (UNITED KINGDOM et non ENGLAND)

    Pour l'IDE:
    Voir le fichier DS 0_97_1_1_IDE_POT_Files_en.zip pour le dossier
    ""Dossier d'installation de DreamShield\IDE Languages\en"

    Voir le fichier DS 0_97_1_1_IDE_POT_Files_fr.zip pour le dossier
    ""Dossier d'installation de DreamShield\IDE Languages\fr"

    Les fichiers .POT de l'IDE sont bien acceptés par PoEdit, mais je n'est pas fait de recherche sur les doublons.
    Récupères PoEdit si tu veux faire un contrôle supplémentaire sur les fichiers

    Je pense avoir trouvé une solution pour contourner ce problème de doublons mais je doit modifier la moulinette, je regarderais cela dans la semaine.

    Bonne semaine
    Fichiers attachés Fichiers attachés

  11. #11
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Wow ça fait beaucoup
    Malheureusement je dois partir maintenant, je reviens à la fin de la semaine. A ce moment, je regarderais tout ça.

    Merci

  12. #12
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Bonjour smyley,

    En premier point, la skin "aux couleurs de l'OS" fonctionne très bien sur Windows 2000 et sur Windows XP avec thèmes activés ou désactivés.
    Les tests sont donc OK pour cette skin .

    Je garde à l'esprit que la révision du code des skins prend du temps et que ce n'est pas la priorité actuelle, mais j'ai quelques questions qui me trottent dans la tête (tu as sûrement déjà les réponses):
    • quelles peuvent être les raisons qui font qu'un bug d'affichage (sur des contrôles transparents) résolu dans la version 0.95 revienne sous la version 0.97 ?
    • éxiste-t-il une modification au niveau du code qui gère la peinture de tes contrôles entre les deux versions (0.95 et 0.97)?
    • les modules (installer / contrôles / skin) des deux versions (0.95 et 0.97) sont-ils compilés avec la même version du framework .NET, si ce n'est pas le cas, doit-t-on réviser le code des contrôles pour l'adapter au nouveau framework (3.0 ou 3.5) ?
    • est-il possible de compiler une skin sous VS2005(Express) + .NET 2.0 sans introduire de bug d'affichage (je pense que tu utilises VS2008 + .NET 3.5)?


    D'après ce que j'ai pu voir dans ton code, tu désactives certains styles ( dont la transparence) sur les contrôles enfants, quand ils sont ajoutés à la Form pendant le chargement d'une nouvelle page de l'installeur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            private void VisualBugWorkaround1(Control control)
            {
                /* Sur les windows sans thèmes : bug visuel */
                ExternalSetControlStyle(control, ControlStyles.AllPaintingInWmPaint, false);
                ExternalSetControlStyle(control, ControlStyles.OptimizedDoubleBuffer, false);
                ExternalSetControlStyle(control, ControlStyles.SupportsTransparentBackColor, false);
                ExternalSetControlStyle(control, ControlStyles.UserPaint, false);
                ExternalUpdateStyles(control);
            }
    Effectivement cela fonctionne bien pour une skin avec un fond de couleur uniforme.
    Mais lorsque l'on souhaite utiliser ce code comme modèle pour une skin qui nécessitera la transparence pour afficher un arrière plan non uniforme (images, tracés quelconques, dégradés ...) cela ne permet pas d'obtenir le résultat souhaité.
    Bien sûr j'exprime ces remarques toujours dans le cas où les thèmes de l'OS sont inexistants ou désactivés.
    En pièces jointes, je te passe deux images d'une de mes skins personnalisées en version 0.95 et en version 0.97 pour voir la différence.
    Encore une fois, ce n'est pas urgent, c'est juste dans un souci d'amélioration de ton projet.

    En deuxième point, j'ai modifié la moulinette pour prendre en charge les doublons d'un même texte dans les fichiers de traduction.
    Si plusieurs identifiants utilisés par ton code source désignent des textes identiques, j'assemble ces identifiants sur la ligne du commentaire issu du code source (celle qui commence par #.) en les séparant par une virgule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #: exported_resx.cs:3
    #: exported_resx.cs:127
    #, csharp-format
    #. Cancel,Wizard_Cancel
    msgid "Cancel"
    msgstr "Annuler"
    Il ne restera plus qu'a les séparer quand on les exporte vers un fichier de ressources resX (je pense avoir fini cette partie de la moulinette dans une quizaine de jours car j'ai aussi d'autres projets sur le feu).

    Les nouveaux modèles de fichiers de traduction .POT au format GNU GETTEXT sont en pièces jointes (en français et anglais pour faciliter les traductions suivant les langues naturelles des futurs traducteurs).
    Pour info, le fichier "DreamShield.Deployment.resx" du sous-dossier "Installer Languages" n'est pas inclu, car il ne comporte aucun texte à traduire.

    J'espère que tu recevras l'appui de nombreux traducteurs pour ton projet.

    Salut et à plus.
    Images attachées Images attachées   
    Fichiers attachés Fichiers attachés

  13. #13
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Salut salut

    En revenant hier j'arrivais pas à dormir donc j'ai regardé toute ces histoires de skins et au final le bug est résolu sur ma version de dev, et même les transparences fonctionnent sur le Windows XP sans thème (donc à priori ça marche aussi sur Windows 2000).
    Le truc par contre c'est que hier il me semblait évident que ma solution fonctionnait et d'ailleurs je l'avais testée, mais maintenant que je retourne sur le code pour te répondre, tout porte à croire que ça ne marche pas alors que ça fonctionne nikel sur Windows XP sans thèmes ...

    Enfin bref, le principal problème venais du fait que dans DreamShield.Deployment.dll j'avais ce code dans le constructeur de chaque page de l'assistant qui augmente normalement quelque peut la vitesse de dessin de la fenêtre :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                    SetStyle(ControlStyles.AllPaintingInWmPaint, true);
                    SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
                    SetStyle(ControlStyles.SupportsTransparentBackColor, true);
                    SetStyle(ControlStyles.UserPaint, true);
    Et c'est à cause de cela que tout était noir sur un Windows sans thème et dans ma version de dev j'ai fait un switch qui n'exécute ce code que s'il est sur Windows XP ou plus, et que si les thèmes sont activés. Et justement, c'est ce que désactive le Workaround.
    Je pense que c'est ce code que j'ai rajouté entre la version 0.95 et maintenant. En tout cas là tous mes skins ont la même apparence sur Windows XP sans thème ou avec, ou sur Windows Vista (par contre le code mis à jour du Windows Skin a besoin du dernier runtime de DreamShield, donc même si je te l'envoie tel quel ça ne compilera pas et ça ne marchera pas).

    Pour ton skin, peut être que ces deux lignes ne sont pas nécessaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                ExternalSetControlStyle(control, ControlStyles.OptimizedDoubleBuffer, false);
                ExternalSetControlStyle(control, ControlStyles.SupportsTransparentBackColor, false);
    Essayes de passer à true pour voir si ça marche mieux ou d'activer/désactiver les styles en spécifiant true ou false dans ExternalSetControlStyle.
    Ensuite, supprime le VisualBugWorkaround2, et supprime ceci dans la fonction UpdateControlForeColors
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                if (control.BackColor == Color.Transparent || control.BackColor.A < 255)
                {
                    control.BackColor = BackColor;
                }
    ...
                    if (sub.BackColor == Color.Transparent || sub.BackColor.A < 255)
                    {
                        sub.BackColor = BackColor;
                    }
    Et dit moi si t'y arrives ...

    Sinon vis à vis de la version du framework, tout ce qui a changé entre les différentes version de DreamShield c'est la version de Visual Studio que j'utilise. La je tourne avec Visual Studio 2008 mais je compile toujours avec le Framework 2.0 et je ne compte pas changer cela pour le runtime car si je compile par exemple sur le Framework 3.0, toutes les installations faites avec DreamShield devraient installer le Framework 3.0 sur la machine cible et je veux pouvoir rester à la seule dépendance minimale du .NET Framework 2.0.

    La prochaine étape sera peut être de faire un skin en WPF en exigeant le Framework 3.0 comme dépendance minimale, ce qui est tout à fait réalisable (d'ailleurs j'y pense, mais c'est pas encore pour maintenant, il y a des choses plus urgentes comme cette histoire de transparence )

    --
    Alors pour les traductions.
    Tout d'abord, n'aurai tu pas oublié de spécifier l'encodage lors de l'écriture du fichier via la moulinette ? Je dit ça parce que je vois ceci :
    msgid "Erreur lors de l'appel Ã* GacUtil"
    Sinon, je suis retourné sur launchpad.net dans l'optique de créer le projet "DreamShield" et j'ai donc parcouru la licence mais j'ai vu que pour utiliser le site gratuitement il faut absolument qu'il soit Open Source et pour l'instant DreamShield et libre pour faire tout ce que l'on veut mais pas vraiment Open Source (d'abord par contraintes techniques, et puis bon ...). Et là du coup ça m'embête ... qu'en penses tu ?

  14. #14
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Bonsoir smyley,

    Pour les modifications du code concernant la transparence de la skin, j'ai effectivement déjà testé cette solution et elle ne fonctionne malheureusement pas.
    J'ai même implémenté un gestionnaire d'évènements pour intercepter l'ajout de chaque contrôle et tenter de rafraichir l'arrière-plan lorsque que l'un d'eux tentait de se redessiner, mais même cela n'a pas fonctionné.

    Concernant les thèmes sous Windows, je crois me souvenir d'une subtilité.
    En effet, quand tu dis que les thèmes sont désactivés, tu considères que le service qui gère les thèmes est arrêté, ou tu appliques simplement le thème standard de Windows 95/98/2000 ?
    Dans les deux cas, je suppose que le Framework .NET ne te retourne pas les mêmes informations et il considère peut-être que ce sont deux contextes différents...
    Il faut voir si il y a des informations sur ce point, j'avoue ne pas avoir creusé la question.

    D'autre part, je me demande si tu n'as pas désactivé l'effacement d'arrière-plan par défaut (qui est fourni par Windows) dans l'évènement de peinture de tes contrôles (voir les styles).
    Dans ce cas, tu dois implémenter par toi-même le rafraichissement d'arrière-plan pour chacun de tes contrôles.
    En gros, quand un contrôle doit se redessiner, il doit impérativement demander à TOUTES ses fenêtres parentes de se redessiner aussi sur les zones qu'il recouvre.

    Au pire des cas, dans le code de peinture de tes contrôles, tu peux tenter une instruction SWITCH qui teste l'activation ou l'absence des thèmes:
    • si les thèmes sont désactivés ET que l'arrière plan du contrôle est transparent, alors tu laisse Windows appliquer l'effacement d'arrière-plan par défaut (ça c'est aussi pour Windows 2000)
    • si les thèmes sont activés tu ne fais rien comme c'est le cas actuellement (ce qui se traduit à ce jour par la présence d'un fond noir quand les thèmes sont inactivés)


    Pour ce qui est du Framework 3.0/3.5, personnellement, je pense encore avoir le temps avant de me plonger dedans, vu le nombre de projets en .NET 2.0 que j'ai sous les deux coudes.
    Excepté LINQ, je ne pense pas avoir beaucoup de nouveautés à utiliser dans cette dernière mouture du Framework.

    Pour les traductions, effectivement, j'ai regardé mon code et lors des tests pour encoder les
    fichiers .po en fichiers .resX, j'ai commenté à la va-vite la première ligne qui définit le codage UTF-8.

    Le problème devrait être résolu, la dernière mouture est dans les pièces jointes.
    Je supprime les fichiers obsolètes dans les réponses précédentes (mon quota va exploser !)

    Launchpad.net, comme la majorité des sites de traduction gratuits, est effectivement fait pour les projets Open Source.
    Les gens considèrent que si tu as la gentillesse de fournir ton code, ils ont la gentillesse de le traduire dans d'autres langues pour en faire profiter le maximum de personnes.
    Il est compréhensible que d'autres ne souhaitent pas lâcher le code de leurs bébés au premier venu.
    Moi-même je possède certains codes "professionnels " qui resteront non partagés, et d'autres "amateurs" (donc plus aboutis ) qui sont diffusés sans restrictions.

    La question de partager ou pas ton code est ton droit le plus strict et personne ne peut porter de jugement sur ta position.
    (surtout à la vue de ce que tu offres déjà grâcieusement).

    Pour les traductions de projets "fermés", tu peux toujours consulter des sites internet professionnels.
    Ils fournissent en général un formulaire web à remplir pour connaitre le prix approximatif de la traduction.
    (réponse par mail pour le satané marketing bien-sûr).
    Personnellement, je ne connais pas les meilleurs.
    Par hazard, as-tu regardé dans les autres forums du site si une discussion ne te permet pas de résoudre ce problème de traduction ?

    Encore merci pour ta réponse et bonne soirée.
    A bientôt.
    Fichiers attachés Fichiers attachés

  15. #15
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Pour ce qui est des thèmes, je met le thème classique de Windows et je kill le service "themes" pour être sur (enfin pas tout le temps, mais là oui). Et là ça me donne ça :

    Mais ça c'est sur ma version. J'ai peut être moi aussi raté une subtilité entre le code actuel de DreamShield et celui qui est en développement (peut être qu'une fois appliqué certains styles ne sont plus pris en compte).

    Par contre j'aurai bien aimé avoir quelqu'un pour tester ces histoires de thèmes (car moi en fait je suis limité par le fait que j'ai mon pc, et le XP dans une VM). Cela te dirait de tester une "bêta" des modifications d'ici fin mai ?

    Sinon pour l'arrière plan j'ai déjà mis en place un switch en fonction de l'activation ou non des thèmes :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            protected override void OnPaintBackground(PaintEventArgs e)
            {
                if (DisableBackgroundPaintOverride)
                {
                    base.OnPaintBackground(e);
                }
                else
                {
                    ButtonRenderer.DrawParentBackground(e.Graphics, e.ClipRectangle, this);
                }
            }
    C'est toujours ButtonRenderer.DrawParentBackground qui était appelé avant. Maintenant DisableBackgroundPaintOverride passe à true si les thèmes ne sont pas activés. Et ça a marché dans ma VM.



    Pour le Framework, on peut très bien utiliser DreamShield en l'état actuel pour exécuter du code .NET 3.0 pendant l'installation (et même 3.5) donc même si l'envie te prend te passer au 3.5 et de faire des classes Installer, des plugins et des Skins, tu peux le faire. (Sauf qu'il faudra définir comme version du .NET Framework requise par l'installation au moins la version que tu utilises).



    Enfin, pour la traduction ... quels "autres forums du site" ?
    Sinon,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    msgid ""
    "Choix d'une extention pour l'ouverture du fichier\n"
    "{0}"
    msgstr ""
    C'est une entrée valide pour GNU-Text ? le msgid "" me semble stressant.

    Et on m'avais déjà proposé les sites pour pro mais je n'ai vraiment pas envie de devoir débourser quoique ce soit pour un projet que je mène par passion sur mon temps libre et qui sera toujours gratuit pour tous.
    Mais c'est vraiment cette histoire de traduction sur launchpad qui m'a séduit, car en solution d'hébergement j'ai déjà dvp et accessoirement codeplex y compris avec mon wiki perso.
    ça marche si bien que ça launchpad ?

    Sinon je suis perdu de ce côté, quand je cherche des "communautés de traducteurs" je tombe sur des sites étranges qui ne m'inspirent pas vraiment confiance ...
    Images attachées Images attachées  

  16. #16
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Bon et bien pour les tests avec ou sans version bêta, moi je veux bien m'y coller:
    - 1 poste personnel en Windows 2000 chez moi
    - 1 poste Windows XP 32bits au boulot avec thème XP, thème standard et thèmes désactivés.

    Avec toutes ces configurations, je pense qu'on peut faire le tour une fois pour toutes.

    Si t'es pas pressé, au boulot, on passe en XP 64bits sur nos postes au troisième trimestre

    Plus sérieusement, ton switch dans le code parait cohérent par rapport à ce
    que je t'ai indiqué, pour moi ça semble OK.

    Effectivement, pour la version du .NET, je pense effectivement que ce n'est
    pas un problème pour les plugins et autres extensions de DreamShield, mais
    plutôt une affaire de goût personnel suivant chaque développeur.

    Concernant les autres forums du site, il n'y en a pas un qui porterait sur la "globalisation" du .NET ?
    Cela serait étonnant qu'il n'y en n'ai pas vu que certains développent pour
    des entreprises qui couvrent plusieurs pays, donc je pense qu'ils doivent
    évoquer des sites de traduction dans leurs discussions ...
    Et qui dit entreprises dit radins, donc je suppose qu'ils ne doivent pas passer non plus par des sites de traduction officiels.

    Personnellement, j'utilise Code::Blocks pour du vieux C++ / Win32 et je dois
    avouer que la traduction a été particulièrement bien soignée sur Launchpad,
    l'interface a été traduite à 100% et les termes sont transcrits le plus fidèlement
    possible en utilisant le moins possible les anglicismes.
    C'est pour cette raison que je te l'ai proposé.

    Pour finir avec ta remarque sur la mise en forme de GNU NETTEXT:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    msgid ""
    "Choix d'une extention pour l'ouverture du fichier\n"
    "{0}"
    peut tout aussi bien s'écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    msgid "Choix d'une extention pour l'ouverture du fichier\n"
    "{0}"
    Ce cas est généralement utilisé pour un texte mutiligne.
    La disposition change, mais cela revient exactement au même pour les
    logiciels qui utilisent les fichiers, puisqu'ils ne prendront en compte que ce
    qu'il y a entre les guillemets.
    Pour les retours à la ligne, seuls les caractères de contrôle \n entre
    les guillmente seront pris en compte dans la traduction.

    La première disposition date des premières traductions qui était faites à la main.
    Les fichiers étaient ainsi plus lisibles que la deuxième disposition où les lignes sont décalées.
    Les logiciels ont, depuis, gardé cette disposition au cas ou une personne souhaite jeter
    un oeil directement avec un éditeur de texte basique ou pour faire une impression papier .

    Même si tu fournis un fichier rédigé comme la deuxième disposition, certains outils de traduction enregistrerons le fichier en suivant la première disposition.

    Voilà, j'espère avoir éclairé ta lanterne, je pense, pour ma part, éteindre la mienne maintenant.

    Bonne semaine.

  17. #17
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Ah, le site en question c'était developpez ...
    Non mais bon, les messages qu'on l'on voit passer portent surtout sur comment extérioriser les textes d'une application vers un fichier resX. Sauf que cette étape dans mon cas est déjà franchise depuis un moment déjà.

    Et tout ce que je vois par rapport à "closed source" sur launchpad mène vers l'abonnement d'un 1 à 250$+TVA

  18. #18
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Salut smyley,
    Désolé pour cette réponse un peu longue, je rentre d'un déplacement professionnel imprévu.

    Concernant les traductions:
    En faisant une recherche rapide sur le site développez.com, je suis tombé sur ce post de Elverion
    Il se propose de faire des traductions volontaires dans différentes langues, à l'origine, pour
    le langage perl et plus généralement pour tout le site développez.com.
    Tu peux toujours essayer de le contacter pour lui demander de l'aide.

    Comme, tu l'as évoqué dans une réponse précédente, la solution la plus intéressante et gratuite, serait d'ouvrir une page sur ton WIKI pour les traductions de DreamShield.
    En mettant publiquement sur cette page dédiée les fichiers de ressources .resX (et/ou .pot) en langues française et anglaise.
    Ensuite tu pourras ajouter chaque nouvelle traduction réalisée.

    Le tout est de bien indiquer clairement sur tes différents espaces (en entête du forum DreamShield, Codeplex, etc...) que tu recherches activement des traducteurs et donner le lien sur la page en question de ton WIKI.

    Concernant la version béta de DremShield:
    Je suis près à faire les tests comme évoqué plus haut, il faut juste que tu m'indiques en règle générale les différents bugs / et ou changements auquels je dois m'attendre pour ne pas te déranger inutilement avec des modifications que tu traites déjà.

    A bientôt.

  19. #19
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut


    Citation Envoyé par Pomystik Voir le message
    Comme, tu l'as évoqué dans une réponse précédente, la solution la plus intéressante et gratuite, serait d'ouvrir une page sur ton WIKI pour les traductions de DreamShield.
    Il y avais déjà http://dreamshield.developpez.com/in...in.Traductions , mais bon j'avoue c'est pas très clair si très visible
    Je rajoute à ma Todo (je pourrai voir tout ça à partir de Mercredi normalement).

    Sinon je contact Elverion pour voir.

    Citation Envoyé par Pomystik Voir le message
    Je suis près à faire les tests comme évoqué plus haut, il faut juste que tu m'indiques en règle générale les différents bugs / et ou changements auquels je dois m'attendre pour ne pas te déranger inutilement avec des modifications que tu traites déjà.
    Normalement dans mes pré-versions il n'y a pas de bug connu (c'est pour ça que ça prend du temps à sortir ) donc si tu trouves un bug, c'est un vrai
    Sinon idem je vais te préparer tout ça Mercredi. Il y aura déjà notamment tout ce que j'ai indiqué comme corrections des skins et dans le sujet "Nouveautés".

  20. #20
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Effectivement je n'avais pas vu la "petite" entrée à la fin du menu de ton site.

    Dans le cas des traductions il y a peut-être plusieurs points à étudier avant de vraiment te lancer:

    Si tu souhaites attirer plus de personnes sur cette page de traduction:
    • afficher sur la page d'acceuil une demande VISIBLE d'aide à la traduction en français ET anglais
    • renommer l'entrée du menu en "Traductions / Translations"
    • présenter la page de traduction en deux langues français / anglais au minimum
    • ajouter les liens sur les fichiers de ressources directement pour être téléchargés


    La présence de l'anglais est recommandée puisqu'il y a plus d'anglophones que de francophones.

    Il faut également expliquer sur cette page où l'utilisateur doit installer les fichiers de ressources traduits quand il seront disponibles pour sa langues.
    En effet, DreamShield pourrait être traduit dans une nouvelle langue après la dernière distribution.

    Il faudrait prévoir également une mise à jour des langues dans ton update (si ce n'est déjà fait).
    Si une langue téléchargée par update correspond à la langue du poste client, proposer à l'utilisateur de l'activer.

    Pour ce qui est des contributions, un utilisateur lambda ou un traducteur étranger est loin de vouloir passer par:
    • installer un logiciel en anglais (par défaut)
    • rechercher tous les fichiers de ressources manuellement (pour trouver ce qu'il doit traduire)

    Il faut garder à l'esprit que ce ne sont pas forcément des développeurs.
    Plus tu faciliteras l'accès à ces fichiers, plus vite le travail avancera.

    Pour les retours de traductions, surtout avec des traducteurs étrangers, il faudra sûrement une adresse mail spécifique si elle n'existe pas déjà.

    Ce sont quelques idées qui me traversent la tête.

    A bientôt.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème d'affichage d'une applet java sous Linux
    Par Dave Ridic dans le forum Applets
    Réponses: 1
    Dernier message: 29/05/2008, 14h51
  2. Problème d'affichage de bas de cadre sous IE 6
    Par Kernel_BE dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/11/2007, 09h07
  3. Problème d'affichage d'un input text sous IE
    Par jonnyboy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 08/10/2007, 16h34
  4. Problème d'affichage d'une liste déroulante sous IE
    Par devdebutante dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 09/07/2007, 15h29
  5. Réponses: 6
    Dernier message: 19/05/2005, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo