我一直在研究如何在C#中制作适用于多种语言的应用程序,因为我需要处理一个需要这样做的小项目。我基本上找到了两种方法:
第一种方法是将表单的Localizable属性设置为true,设置语言属性,填写所有标签等内容,就可以完成了。我认为这种方法的主要缺点是:如何让其他不属于表单的东西适应多种语言(例如弹出窗口、日志文件或窗口等)。
第二种方法是创建资源文件,例如“Lang.en-us.resx”和每种语言都有一个,“Lang.nl-nl.resx”,并填充字符串。IDE似乎会自动生成一个类,所以在代码中我只需使用Lang.SomeText即可。我认为这种方法最大的缺点是:对于每个表单,我需要在代码中自己设置所有标签和其他标题(而且似乎不能与这些资源进行数据绑定)。
然而,我相信还有其他方法可以实现多语言应用程序。
那么,什么是最佳实践?对于小型应用程序(几个表单、数据库连接等),哪种方法最简单?而对于大型应用程序,哪种方法规模更大?