2010-10-25 6 views
2

J'ai un problème assez évident. Voici la situation: - mon application WPF est principalement écrite en allemand - Je dois utiliser des fichiers resx (de façon standard dans l'entreprise) - la langue de repli doit être l'anglais. - les ressources allemandes sont la base pour toutes les traductions (y compris l'anglais)WPF et localisation

J'ai essayé beaucoup de combinaisons avec « [assemblage: NeutralResourcesLanguage (» en «UltimateResourceFallbackLocation.Satellite)] » et la mise dans le fichier csproj, mais Malheureusement, je ne pouvais pas trouver celui qui fonctionne bien.

Merci d'avance pour votre aide! Fred

Répondre

1

Si les ressources anglaises auront toujours des valeurs de repli, je vous recommande d'intégrer cette langue dans l'assembly principal lui-même. De cette façon, vous pouvez utiliser:

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)] 

Pour que cela fonctionne, retirez le changement que vous avez fait au csproj. Notez également que la langue sélectionnée ne doit pas être neutre, malgré le nom d'attribut (utilisez en-US au lieu de en)

De cette façon, les ensembles de satellites ne seront générés pour les langues autres que l'anglais .

Vous pouvez en lire plus ici: http://compositeextensions.codeplex.com/Thread/View.aspx?ThreadId=52910

+0

Salut, Voilà le problème. L'assemblage principal est construit AVANT tous les autres assemblages localisés. Et les seules ressources que j'ai pendant la compilation principale sont les ressources allemandes! Ensuite, à l'étape suivante, les autres assemblées localisées seront construites sur la base de l'assemblée allemande. – Fred

+0

Eh bien, dans ce cas, essayez d'utiliser UltimateResourceFallbackLocation.Satellite comme vous le faisiez auparavant, mais définissez la culture sur en-US au lieu de simplement en. –