多语言是开发web应用的时候经常会碰到的一个问题,使用.NET作为开发平台的话,它已经给我们提供了一个便利的开发环境,从ASP.NET 2.0开始,出现了App_GlobalResources、App_LocalResources文件夹,resx资源文件来满足我们对多语言的不同需要,无论你需要的是一个全局的多语言,还是单个页面级的多语言,你都可以实现。
一些理论的东西,我就不介绍了,大家可以翻看各种.NET的教程,或者看一下http://blog.csdn.net/zyip/archive/2009/02/16/3895994.aspx,这篇blog的作者图文介绍了各种用法。我在这里就是演示一个示例,图1是项目的结构,项目可以在/Files/virusswb/BeautyCode.SharePoint.rar下载,我也准备在http://beautycodeglobal.codeplex.com/建立一个项目,存放这个示例。不过codeplex我还不会用,所以代码还没有传上去,哪位会使用的园友,在有空的时候可以给我一点提示,谢谢。
全局多语言可以通过在App_GlobalResources文件夹存放resx文件来实现,这里的resx文件(资源文件)可以被应用的任何地方引用。
图1 示例程序的项目结构
图2 资源文件zh-cn的设置
图3 资源文件en-us的设置
图4 LocalResources单个页面的资源文件使用