今天突然想做个多语言的小例子!其中的曲折过程太长了!.要实现多语言就需要把网站里和语言相关的文字从控件中分离出来,放在资源文件里!
首先打开上次做的留言本小程序!切换到设计视图,在页面任意地方单击了下,可是打开菜单-工具,里面没有出现"生成本地资源",晕死我了!

打开工具-自定义-命令-重排命令!.

重排命令下选择工具

添加-工具-生成本地资源

哈哈,生成本地资源终于出来了,可惜还是点击不了!.
伤心我了...

决定不靠工具栏中的"生成本地化资源"了,自己手动做个,在解决方案上右键"添加Asp.Net文件夹",选择本地化的文件夹(App_LocalResources).

在本地化资源文件夹上右键新建资源文件夹!这里要注意,由于我们用的是本地化资源,所以我们的资源名字要为要关联的页面名字,如页面为:"test.aspx",则本地化资源文件名为"test.aspx.resx"!

选择要生成本地化资源的控件,点击属性窗口的属性,选择表达式(expressions)

在左边要绑定的属性选择Text,右边的表达式类型里选择"Resources"

在ResourceKey上写上对应资源中的Key就行,ClassKey不用填!.

连续做几个资源文件,在这里我做了zh-cn和en还有一个自定义的火星文资源文件!.



运行文件!.在IE的Internet 选项-语言,添加上英语en和自定义语言(hxw)!.分别把他们设为语言首选项,出现:



为什么自定义的火星文不行了,难道是自定义的语言浏览器它会自动去搜索中文(zh-cn),为此我做了个试验:
下面我把中文的资源文件改成这样!.


成功了,不过我突然发现我真是太无聊了...