Question

Il ne semble pas exister de bon moyen de localiser une application WPF. MSDN semble penser que jeter des ordures dans mon code XAML avec x: Uid , générer des fichiers CSV, puis générer de nouveaux assemblys (à l'aide de leur exemple de code!) Est la solution. Pire encore, ce processus n'indique pas comment localiser des images, des blobs binaires (par exemple, des fichiers PDF) ou des chaînes incorporées dans du code.

Alors, comment localiser une application qui:

  1. contient plusieurs assemblys
  2. Contient des images et d'autres blobs binaires (par exemple, des documents PDF) qui doivent être localisés
  3. .
  4. contient des données de chaîne qui ne figurent pas dans XAML (par exemple: MessageBox.Show ("Hello World"); )
Était-ce utile?

La solution

Ce n’est pas un expert ici, mais "des déchets" & votre xaml avec x: Uids n’est pas pire que "jeter des détritus" votre code Windows Forms avec toutes les absurdités d'une table de chaînes pour les localiser.

Pour autant que je sache, les applications WPF prennent toujours en charge "toutes les ressources Framework CLR, y compris les tables de chaînes, les images, etc.". ce qui signifie que vous pouvez avoir des ressources localisées.

Bien sûr, ce serait beaucoup plus simple si vous créez une extension de balisage qui gère une grande partie de ces absurdités pour vous. Vous trouverez un exemple de cette action ici. Et voici une autre solution similaire.

Autres conseils

Vous devriez consulter l'article et le code disponible ici . Il décrit différentes manières de localiser les applications WPF, à l'aide de LocBaml, d'extensions de balisage personnalisées ou de propriétés attachées. IMHO la meilleure solution consiste à utiliser les extensions de balisage et les ressources Resx. Le code contient un cadre de localisation pour le faire.

Vous pouvez utiliser l'ancien "ResX". fichiers qui prennent en charge tous vos scénarios mentionnés. Comment cela peut être accompli dans une application WPF est expliqué ici:

Cadre d'application WPF = > Voir Exemple de localisation

essayez les utilitaires Gnu GetText et les applications supportées. Il génère des classes C # basées sur ResourceManager et ResourceSets, et parmi Bien sûr, vous pouvez réutiliser les traductions pour d’autres parties de votre application, par exemple des pages Web, du code natif, un iphone, etc.

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