我一直在寻找关于如何在我的小应用程序上支持 i18n...
我知道 Microsoft 提供“文化”类,但您必须重新编译您的应用程序以包含您添加的任何新字符串。所以,我要做的就是将我所有的字符串放在一个外部文件中,并为用户提供翻译应用程序的选择,而无需重新编译。
有没有简单的方法来处理这个?使用 XML 还是类似 INI 的?任何可用的教程?PS:尝试在 C# 上执行此操作...不要打扰其他语言
我一直在寻找关于如何在我的小应用程序上支持 i18n...
我知道 Microsoft 提供“文化”类,但您必须重新编译您的应用程序以包含您添加的任何新字符串。所以,我要做的就是将我所有的字符串放在一个外部文件中,并为用户提供翻译应用程序的选择,而无需重新编译。
有没有简单的方法来处理这个?使用 XML 还是类似 INI 的?任何可用的教程?PS:尝试在 C# 上执行此操作...不要打扰其他语言
这是 Scott Hanselman 的一篇不错的博客文章,其中包含几个很好的资源: http ://www.hanselman.com/blog/ASPNETInternationalizationGlobalizationAndLocalizationWhew.aspx
一般来说,我可以说您希望将资源保留在二进制文件之外(使用 .resource 文件之类的文件),这将允许您在不重新编译的情况下添加/编辑资源。我自己做的不多,所以我对整个事情有点生疏。
希望这会有所帮助。
如果您在应用程序中包含一个新字符串,无论如何您都必须重新编译它,不是吗?
如果您经常添加语言,资源文件和/或附属 DLL 可能是您最好的选择
否则,您可以编写自己的提供程序。以下是我发现有用的一些链接,您的里程可能会有所不同:
http://en.csharp-online.net/Localization_Like_the_Pros
http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=211
http://www.codeproject.com/KB/aspnet/DeclarativeGlobalization.aspx