none
Où en est la localisation des applications WPF ? RRS feed

  • Question

  • Bonjour,

    J'ai vu dans la présentation "Le futur de XAML" aux Techdays 2010 (ici : http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=fadf869d-f683-48cb-8a44-61bef96bfe3e) qu'un outil serait intégré à VS 2010 afin d'effectuer la localisation d'une application WPF de façon plus aisée qu'avec l'outil "LocBaml".

    Je ne trouve aucune trace de cet outil dans mon Visual Studio 2010 Ultimate Edition. Ma question est simple, où se trouve cet outil ? Et s'il n'a pas encore été fourni, quand sera-t-il disponible ?

    La réponse à cette question conditionne la planification du développement de notre prochaine application. Merci pour vos réponses.

    Cordialement,

    nicolas

    mercredi 13 octobre 2010 15:05

Réponses

  • Bonjour.

    Merci Jérémy pour votre réponse. J'avais déjà examiné cette approche (localisation par fichiers .resx + utilisation d'extensions dans le code XAML). Mais ce n'est pas celle que nous avons retenu.

    Finalement, nous avons décidé de mettre en place les Uid dans le code XAML, et d'attendre la fin du projet pour effectuer la traduction soit avec LocBaml, soit avec un outil personnalisé basé sur le code de LocBaml, soit avec Visual Studio 2010 si Microsoft sort un plugin correct d'ici là.

    Si la motivation de ce choix en intéresse certains, nous avons choisi les Uid car cette approche est moins intrusive dans le code XAML que l'approche avec des RESX + extensions. Nous avons décidé de mettre en place manuellement les Uid (la ligne de commande MSBuild en ajoute partout, ce qui diminue la lisibilité du XAML). Nous avons également développé un petit outil en ligne de commande qui vérifie la présence des Uid dans tous les fichiers XAML de notre projet, et qui dans le cas inverse remonte des Warnings du genre FXCop.

    Je marque ce sujet comme répondu car notre choix est à présent effectué.

    Merci pour vos réponses. Au plaisir de vous lire sur les blogs...

    Cordialement

    Nicolas Séveno

    jeudi 21 octobre 2010 07:26

Toutes les réponses

  • Bonjour,

    Vous devez télécharger et compiler l'outil : http://msdn.microsoft.com/en-us/library/ms746621.aspx

    Cordialement


    Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    dimanche 17 octobre 2010 16:32
    Modérateur
  • Bonjour, et merci Gilles pour votre réponse.

    J'ai regardé en détails l'utilisation de l'outil LocBaml qui me paraît assez difficile à utiliser tel quel. Il s'agit à mon avis plus d'un point de départ pour développer un outil personnalisé permettant de localiser une application WPF. Les principaux points de friction que j'ai pu relever sont :

    - L'outil de génération des UID génère des entrées sur TOUTES les balises XAML de l'application. Y compris des balises qui ne nécessiteront jamais de localisation.
    - Pas de règles FXCop de vérification du XAML afin de vérifier qu'on ait pas oublié justement les attributs UID.
    - Cohabitation difficile de la localisation par UID et de la localisation par fichiers RESX dans un même assembly.
    - Format CSV encodé en unicode impossible à utiliser efficacement avec Excel.
    - Fichier CSV trop verbeux, seulement une ligne sur 5 ou 6 doivent être réellement modifiées lors du processus de traduction.
    - Synchronisation d'une traduction existante avec une nouvelle extraction CSV faite par l'outil LocBaml.
    - Et j'en passe...

    Ma question portait en fait sur un hypothétique outil intégré à Visual Studio 2010 permettant d'effectuer cette localisation. Nous ne voulons pas nous lancer dans le développement d'un outil personnalisé si dans 6 mois Microsoft sort une extension VS qui fonctionnera certainement mieux ! La présentation évoquait même un aperçu des formulaires localisés dans VS 2010...

    Cordialement

    Nicolas Séveno

    lundi 18 octobre 2010 07:31
  • Bonjour tout le monde,

    Il y a des déjà quelques temps j'ai rédigé un petit article exposant une méthode de localisation basée sur ce que l'on fait en Winform avec les fichiers ressources :

    http://blogs.codes-sources.com/jeremyjeanson/archive/2010/03/11/wf4-localiser-simplement-une-activit-et-son-designer-wpf.aspx

    Cet article est relatif aux designer de workflow fondation, mais ceux-ci étant édité via Xaml, le code à utiliser est le même.


    Jérémy Jeanson MVP, MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken)
    mercredi 20 octobre 2010 12:50
  • Bonjour.

    Merci Jérémy pour votre réponse. J'avais déjà examiné cette approche (localisation par fichiers .resx + utilisation d'extensions dans le code XAML). Mais ce n'est pas celle que nous avons retenu.

    Finalement, nous avons décidé de mettre en place les Uid dans le code XAML, et d'attendre la fin du projet pour effectuer la traduction soit avec LocBaml, soit avec un outil personnalisé basé sur le code de LocBaml, soit avec Visual Studio 2010 si Microsoft sort un plugin correct d'ici là.

    Si la motivation de ce choix en intéresse certains, nous avons choisi les Uid car cette approche est moins intrusive dans le code XAML que l'approche avec des RESX + extensions. Nous avons décidé de mettre en place manuellement les Uid (la ligne de commande MSBuild en ajoute partout, ce qui diminue la lisibilité du XAML). Nous avons également développé un petit outil en ligne de commande qui vérifie la présence des Uid dans tous les fichiers XAML de notre projet, et qui dans le cas inverse remonte des Warnings du genre FXCop.

    Je marque ce sujet comme répondu car notre choix est à présent effectué.

    Merci pour vos réponses. Au plaisir de vous lire sur les blogs...

    Cordialement

    Nicolas Séveno

    jeudi 21 octobre 2010 07:26