Question

Je crois comprendre que l'approche recommandée pour la localisation dans WPF consiste à utiliser l'outil LocBaml pour extraire les éléments localisables, par exemple. un fichier csv, traduisez les éléments dans la langue souhaitée et régénérez un nouvel assemblage satellite à partir de ce fichier csv. Toutefois, d'après mes expériences, cela semble entrer en conflit avec la génération d'assemblys satellites à partir de fichiers resources.resx, car la combinaison des ressources dans un fichier de ressources unique ne remplace pas tout assemblage satellite existant.

Existe-t-il une approche recommandée (ou mieux encore, un outil existant) pour effectuer une opération de "fusion"? de la sortie de LocBaml / generate et la sortie de l’exécution de resgen sur un fichier resources.resx (ce qui est fait par défaut par le VS sur les générations). Est-ce que quelqu'un s'attaque aux mêmes problèmes?

Était-ce utile?

La solution

Vous devez le faire manuellement en générant des ressources à partir de LocBaml, puis en fusionnant les ressources Resx et BAML à l’aide de l’éditeur de liens.

Le processus ressemble à ceci:

LocBaml.exe /generate ..\obj\WpfLocalization.g.en-US.resources 
            /trans:Res\de.csv /out:de /culture:de

REM Combine resource files w/ Assembly Linker
al /template:WpfLocalization.exe 
   /embed:de\WpfLocalization.g.de.resources 
   /embed:..\..\obj\WpfLocalization.Properties.Resources.de.resources   
   /culture:de  /out:de\WpfLocalization.resources.dll

(tout sur une ligne dans un fichier batch).

Vous pouvez placer les éléments ci-dessus dans un fichier de commandes personnalisé pour votre projet. N'oubliez pas que LocBaml doit se trouver dans le même dossier que vos fichiers de sortie. Vous pouvez l'ajouter en tant que tâche de post-génération.

Autres conseils

Je préfère utiliser le projet Extension de localisation WPF que vous pouvez trouver sur codeplex pour localiser mon projet WPF.

Il vous permet d'utiliser la même approche que WinForms et est beaucoup plus facile à utiliser que LocBaml.

googlé un peu et trouvé cette page décrivant quelques façons d'utiliser LocBaml qui inclut une description très détaillée sur la façon de fusionner les ressources resources.resx et locbaml dans un seul fichier (en utilisant al.exe).

Localisation de WPF à l'aide de LocBaml à l'aide de LocBaml

La page décrit trois manières d’utiliser LocBaml et j’étais à la recherche de la dernière étape de l’approche 3. Beaucoup de bonnes choses dans cet article en passant

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top