WPF国际化似乎太容易了。我想念什么?

时间:2020-10-06 18:42:12

标签: wpf .net-core internationalization

我的英语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}绑定或除了将文件放入其中之外无需执行任何其他操作,并确保线程当前的区域性是用户想要的。这看起来很棒。所以我担心我错过了一些不好的东西。

我认为这种方法有两个缺点:

  1. 没有特定于语言的附属程序集。因此,法语和英语将始终加载在一起;最终,我需要更多的语言,所以我需要做更多的工作。但是,如果我现在就可以这样做,那就太好了。
  2. 我无法动态更改语言,但是我对此并不在意;可以要求用户重新启动应用程序。

是吗?通过这样做,我是否还错过了其他重大缺点?

0 个答案:

没有答案