2010-10-25 48 views
2

我有一个相当明显的问题。这里的情况: - 我的WPF应用程序主要是用德语编写的 - 我必须使用resx-files(公司中的标准方式) - 备用语言必须是英语。 - 德语资源是所有翻译的基础(包括英语)WPF和本地化

我试过很多与“[assembly:NeutralResourcesLanguage(”en“,UltimateResourceFallbackLocation.Satellite)]”的组合并设置在csproj文件中,但不幸的是,我找不到工作正常的人。

Thx提前为您提供帮助! Fred

回答

1

如果英文资源总是有回退值,我建议将该语言嵌入主程序本身。这样,您就可以使用:

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

对于这个工作,去掉你做的的csproj的变化。另外请注意,您所设置的语言不能是中性的,虽然属性名(即使用的en-US代替EN

这样,卫星组件将只针对非英语语言的产生。

你可以在这里阅读更多:http://compositeextensions.codeplex.com/Thread/View.aspx?ThreadId=52910

+0

嗨, 这就是问题所在。主组件在所有其他本地化组件之前构建。我在主要编译过程中唯一的资源是德国资源!然后,在下一步中,其他本地化程序集将建立在德国程序集的基础上。 – Fred 2010-10-27 12:05:04

+0

那么,在这种情况下,请尝试像以前那样使用UltimateResourceFallbackLocation.Satellite,但将文化设置为en-US而不仅仅是en。 – 2010-11-01 15:17:27