我一直在研究在 C# 中制作适用于多种语言的应用程序,因为我需要在这种情况下处理一个小项目。我发现基本上有两种方法可以做到这一点:
将表单的 Localizable 属性设置为 true,设置 Language 属性,填写所有标签等,就完成了。我在其中看到的主要缺点是:如何使不属于表单的其他内容为多种语言做好准备(例如弹出窗口、日志文件或窗口等)。
创建一个资源文件,例如“Lang.en-us.resx”,并为每种语言创建一个,例如“Lang.nl-nl.resx”,并用字符串填充它。IDE 似乎自动为我生成了一个类,所以在代码中我可以只使用 Lang.SomeText。我在其中看到的最大缺点是:对于每个表单,我都需要自己在代码中设置所有标签和其他标题(而且数据绑定似乎不适用于这些资源)。
但是,我敢肯定,还有其他方法可以做到这一点。
那么,最佳实践是什么?对于小型应用程序(一些表单、数据库连接等)来说什么是最简单的,对于大型应用程序来说什么是最适合的?