在ASP.Net 2.0中实现多语言界面的方法2010-12-06 博客园 Myrat1.跟以前一样做界面,只是注意,把所有需要有多语言界面的文字都用 label来做2.做完以后,在Solution Explorer里选中这个文件,选Tools- >Generate Local Resource3.你会发现生成了一个目录,App_LocalResources;这个目录里多了一个 resx的文件。比如你的aspx文件是default.aspx,它就会生成一个叫做 default.aspx.resx的文件。4.打开这个文件看看,原来在label中的那些文字都跑到这里来了5.打开原来的aspx文件看看source,会发现源码变了:
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Default2" title="Untitled Page" Culture="auto" meta:resourcekey="PageResource1" UICulture="auto" %>
…………
<asp:Localize ID="Localize1" runat="server" meta:resourcekey="Localize1Resource1"></asp:Localize>
*********************************************************************< /CODE> 如果是其他的控件上的文字,基本上也是会自动生成的。比如button和 gridview的:
<asp:Button ID="Button1" runat="server" meta:resourcekey="Button1Resource1" Text="Button1" /><br />
<asp:GridView ID="GridView1" runat="server" meta:resourcekey="GridView1Resource1">
<Columns>
<asp:BoundField HeaderText="Header1" meta:resourcekey="BoundFieldResource1" />
<asp:BoundField HeaderText="Header2" meta:resourcekey="BoundFieldResource2" />
</Columns>
</asp:GridView>生成的resource如下:

******************************************************************* **6.注意这里:meta:resourcekey="PageResource1" 和 meta:resourcekey="Localize1Resource1" 这就表示这里的文字是从资源中读取 的。7.OK现在来做另一种语言的资源文件。很简单,copy Default.aspx.resx再 paste一下,然后rename为Default.aspx.fr-fr.resx注意fr-fr是你要做的语言 的名字。大家如果看dvdrip的话,应该觉得这跟字幕文件很像吧?8.有人说我怎么知道那个语言叫什么名字呢?很简单,打开ie,tools- >internet options -> languages -> add,方框中间的就是了。9.现在开始编辑其他资源的文字。打开Default.aspx.fr-fr.resx,对照着 原来的内容,把里面的内容改成法语的。10.到此为止,我们就完成了第一阶段。ASP.Net会根据用户的语言偏好来选 择显示的语言。把IE里的设置改一下,在我们刚说过的地方改成fr-fr,打开这 一页看看?如果是法语,恭喜你。如果不是,回头重做……