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