C#和WPF语言支持[已关闭]

cclgggtu  于 2023-03-04  发布在  C#
关注(0)|答案(1)|浏览(186)

我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
8天前关闭。
Improve this question
我正在开发一个现有的解决方案,到处都是硬编码字符串。我们希望提供多语言版本的应用 *,因此需要在两个地方同时本地化C#代码和WPF:

    • 应用程序核心**

该项目是C#的,包含ViewModels等。
它还负责发出通知(Windows系统通知和自定义UI通知)并向WPF项目提供数据,因此这些字符串需要本地化。

    • 应用程序窗口**

此项目是WPF和C#类的混合。
它具有UI界面、按钮标签等。这些内容的值来自此项目或由App.Core项目提供。
我看过一些关于如何本地化的文章,但它们似乎只涉及本地化C#或WPF,而不是两者的结合。我尝试过一些方法,但并不完全满意,也许它们适用于C#,但不适用于WPF,反之亦然。
理想情况下,我们希望用户能够在应用程序运行时更改他们的语言,因此需要确保这是可能的(以某种方式)

    • 目前我们只希望使用几种语言(荷兰语、英语、法语、德语)*

任何帮助,建议或意见将非常欢迎。TIA

3htmauhk

3htmauhk1#

处理UI字符串最常用的方法是在resx-files中。这使得它们在代码中可用,并且在xaml文件中也应该可以访问。如果您有多个项目,则可能需要将属性中的“自定义工具”配置为PublicResXFileCodeGenerator,以使生成的文件公开。
如果你想在改变语言时真实的更新,你可以在xaml代码中绑定到字符串时使用类似WPFLocalizeExtension的东西。如果你在代码中使用UI字符串,你需要确保在语言改变时更新所有字符串。据我所知,没有内置或方便的方法来做到这一点。

相关问题