在C#/ WinForms中创建多语言应用程序的最佳做法?

我一直在研究使应用程序适合多种语言在C#,因为我需要在一个小项目,这是这种情况下工作。我发现基本上有两种方法:

将表单的Localizable属性设置为true,设置Language属性,填充所有标签等,并且’done’。我看到的主要缺点是:如何使其他的东西,不是一个窗体的一部分准备多种语言(例如弹出窗口,日志文件或窗口等)。

创建一个资源文件,例如’Lang.en-us.resx’,每个语言使用一个资源文件,例如’Lang.nl-nl.resx’,然后填充字符串。 IDE似乎为我自动生成一个类,所以在代码中我可以使用Lang.SomeText。我看到的最大的缺点是:对于每一种形式,我需要设置所有的标签和其他标题自己在代码(和数据绑定似乎不适用于这些资源)。

然而,我敢肯定,还有其他方法来做到这一点。

那么,最好的做法是什么?什么是最简单的小应用程序(几种形式,数据库连接等)和什么尺度最适合较大的应用程序?

我一直使用资源文件的多语言应用程序。
网上有很多文章解释如何使用它们。

我使用了两种不同的方式:

>每个表单的资源文件
>全局资源文件

资源文件/表单更容易实现,您只需要在资源文件中输入值,但是我发现这种方法难以维护,因为标签分散在整个应用程序中。

全局资源文件允许您将所有标签(图像等)集中在一个文件(每种语言)中,但这意味着以加载形式手动设置标签。此文件还可用于错误消息等。

味道的问题…

最后一点,我用英语和法语编写程序,我使用“en”和“fr”而不是“en-US”和“fr-FR”。不要使事情复杂化,不同的英语(美国,英国,澳大利亚等)的差别只有使用一个(法语也是如此)的差异。

http://stackoverflow.com/questions/119568/best-practice-to-make-a-multi-language-application-in-c-winforms

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在C#/ WinForms中创建多语言应用程序的最佳做法?