如何解决WPF国际化似乎太容易了我想念什么?
我的英语WPF / .NET Core应用程序需要法语版本。我发现的解决方案对我来说似乎太容易了。我担心缺少一些东西以后会咬我。
我的UI字符串(大约有1000个)已经存在于.RESX文件中。我用{x:Static},
将XAML绑定到它们。我使用CultureInfo
进行字符串格式化。但是,从我的理解来看,真正实现国际化似乎仍然很复杂。 MS talks about在各处添加x:Uid
属性,并使用命令行工具。 Other approaches是否将每个绑定更改为使用MarkupExtension
。
然后我读了this article。它说从字面上说只是将翻译后的“ Strings.fr.resx”放在我的“ Strings.resx”旁边,适当地设置线程UI文化,突然间,我所有的字符串都被翻译了。在我的测试中,它似乎可以正常工作。
因此,突然之间,我不必更改1000 {x:Static res:Strings.BlahBlah}
绑定或除了将文件放入其中之外无需执行任何其他操作,并确保线程当前的区域性是用户想要的。这看起来很棒。所以我担心我错过了一些不好的东西。
我认为这种方法有两个缺点:
- 没有特定于语言的附属程序集。因此,法语和英语将始终加载在一起;最终,我需要更多的语言,所以我需要做更多的工作。但是,如果我现在就可以这样做,那就太好了。
- 我无法动态更改语言,但是我对此并不在意;可以要求用户重新启动应用程序。
是吗?通过这样做,我是否还错过了其他重大缺点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。