- 已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
8天前关闭。
Improve this question
我正在开发一个现有的解决方案,到处都是硬编码字符串。我们希望提供多语言版本的应用 *,因此需要在两个地方同时本地化C#代码和WPF:
- 应用程序核心**
该项目是C#的,包含ViewModels等。
它还负责发出通知(Windows系统通知和自定义UI通知)并向WPF项目提供数据,因此这些字符串需要本地化。
- 应用程序窗口**
此项目是WPF和C#类的混合。
它具有UI界面、按钮标签等。这些内容的值来自此项目或由App.Core项目提供。
我看过一些关于如何本地化的文章,但它们似乎只涉及本地化C#或WPF,而不是两者的结合。我尝试过一些方法,但并不完全满意,也许它们适用于C#,但不适用于WPF,反之亦然。
理想情况下,我们希望用户能够在应用程序运行时更改他们的语言,因此需要确保这是可能的(以某种方式)
- 目前我们只希望使用几种语言(荷兰语、英语、法语、德语)*
任何帮助,建议或意见将非常欢迎。TIA
1条答案
按热度按时间3htmauhk1#
处理UI字符串最常用的方法是在resx-files中。这使得它们在代码中可用,并且在xaml文件中也应该可以访问。如果您有多个项目,则可能需要将属性中的“自定义工具”配置为
PublicResXFileCodeGenerator
,以使生成的文件公开。如果你想在改变语言时真实的更新,你可以在xaml代码中绑定到字符串时使用类似WPFLocalizeExtension的东西。如果你在代码中使用UI字符串,你需要确保在语言改变时更新所有字符串。据我所知,没有内置或方便的方法来做到这一点。