我一直在研究在C#中创建适用于多种语言的应用程序,因为我需要处理一个小项目,在这种情况下.我发现基本上有两种方法可以做到这一点:
将表单的Localizable属性设置为true,设置语言属性,填充所有标签等,然后您就完成了.我在这里看到的主要缺点是:如何制作不属于多种语言的表单的其他内容(例如弹出窗口,日志文件或窗口等).
创建一个资源文件,例如'Lang.en-us.resx'和每种语言一个,例如'Lang.nl-nl.resx'并用字符串填充它.IDE似乎自动为我生成一个类,所以在代码中我可以使用Lang.SomeText.我在这里看到的最大缺点是:对于每个表单,我需要在代码中自己设置所有标签和其他标题(并且似乎数据绑定不适用于这些资源).
不过,我确信还有其他方法可以做到这一点.
那么,最佳做法是什么?对于小型应用程序(一些形式,数据库连接等)以及哪种规模最适合大型应用程序,最简单的是什么?
我将很快开始研究一个大型的c#项目,并希望从一开始就构建多语言支持.我有一个游戏,可以使用每种语言的单独资源文件,然后使用资源管理器加载字符串.
我还有其他可以研究的好方法吗?
我正在尝试为多种语言本地化WinForms应用程序.我正在尝试找到一种方法来设置我的表单标签/按钮文本属性,以便从设计器中的资源文件中读取(而不是必须维护一段以编程方式设置它们的代码).
我发现我可以设置form.Localizable = true,但是然后从表单旁边的文件中读取资源,但是我的许多资源在多个表单中共享.
有没有办法在设计器中将标签的文本设置为存储在项目级resx文件中的值?