國際化

 國際化

Internationalizing Your Application
ASP.NET 2.0提供了三項關於網站國際化的
特性
. 自動偵測瀏覽器的語言
. 聲明本地化的表達式
. 生產本地資源
在HTTP協議中,瀏覽器可以發送一個支持
語言的列表,包含在Http頭信息裏。這個列
表可以讓服務器端判斷用戶所使用的瀏覽
器環境,從而進一步判斷用戶操作系統的
環境。
 
採用xml配文件來實現國際化,ASP.NET將這些操作封裝起來了.
java是做用資源文件實現的.
using System.Globalization;
CultureInfo.CurrentCulture.Name方法可以
RegionInfo --國際化相關信息的類<全球一些國家的標記屬性>
獲得當前使用的系統。
本地化
using Resources;
Resource
using System.Resources;
Resourcemanager
App_GlobalResources
文件夾裏存方着資源文件
資源表達式
顯示 --<%$ Resources:[filenameprefix,]resource-key %>
全局資源放在/App_GlobalResources文件夾內
 
隱式 --<asp:Label ID="Label1" runat="server" meta:resourcekey="resource-keyprefix" />
本地資源放在/App_LocalResources文件夾裏
--頁面調用
隱式調用 :
<asp:Label ID="LabelTitle" runat="server"
Text="Currency Exchange Calculator"
meta:resourcekey="LabelResource1">
</asp:Label>
 
顯示調用本地數據:
. <profile enabled="true"
defaultProvider="QuickStartProfileSqlProvi
der" inherits="UserDefinedProfileClass">
 
本地資源文件(隱式):文件名要尊守IE語言的命名規則,在調用時不用指定文件名.
<asp:Label ID="Label1"
runat="server"
meta:resourcekey="resource-keyprefix"
/>
全局資源文件(顯示):可以隨意寫文件名稱,在調用時指定文件名
<%$ Resources:[filename
prefix,]resource-key %>
 
 
<profile --用戶個性數據保存
 
 
分頁用存儲過程會比較好.
 
使用Localize control 控件可以方便的顯示靜態文本
 
編碼方式:
<configuration> <system.web>
<globalization requestEncoding="shift-jis"
responseEncoding="shift-jis"
fileEncoding="shift-jis" ... />
</system.web> </configuration>
 
讀xml文件
       
  XmlTextReader xtw = new XmlTextReader(Server.MapPath("XMLFile.xml"));
        DataSet ds = new DataSet();
        ds.ReadXml(xtw);
 
讀取資源文件
   GetGlobalResourceObject("className", "rkey");
 
  <asp:Label ID="Label2" runat="server" Text="<%$ Resources:文件名,keyName%>"></asp:Label>
 
在gridview中的應用
<asp:GridView AutoGenerateColumns="False" DataSourceID="XmlExchangeRates" ID="ExchangeGrid"
            runat="server" meta:resourcekey="GridViewResource1" >
            <Columns>
                <asp:TemplateField HeaderText="Name" meta:resourcekey="TemplateFieldResource1">
                    <ItemTemplate>
                        <asp:Label ID="ColumnCurrency" runat="server" Text='<%# CStr(GetGlobalResourceObject("CurrencyNames",CStr(Eval("Region")))) %>' meta:resourcekey="LabelResource4"></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Exchange Value" meta:resourcekey="TemplateFieldResource2">
                    <ItemTemplate>
                        <asp:Label ID="ColumnExchangeValue" runat="server" Text='<%# CalculateExchangeValue(CStr(Eval("Rate"))) %>' meta:resourcekey="LabelResource5"></asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Right" />
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章