好用的GlobalResource(多國語系應用)

摘要:好用的GlobalResource(多國語系應用)

 

        以前在網站在作多國語系時,大多的方法大多是一個語系作一張網頁,進階一些的懂得作語言檔來管理,但在管理語言檔時總是無好的管理工具可管理,且要自已寫code來作語言置換的動作,而asp.net裡面提供了許多人性化的東西來解決了許多網站煩人的管理問題。

       GlobalResource就是其中之一,以下是小弟拿他來作語言檔的管理當然他可放的資源很多樣化(圖片、文字、檔案 ...etc)。

step1
首先建立好asp.net  App_GlobalResources檔案夾

step2
建立語言檔,看您有幾種語系就建幾個吧。
lanFile.resx

lanFile.en-us.resx

step3
接下來就是寫,轉換語系的code,您可寫個basePage來繼承,並利用session暫存目前已選的語系。
 

Imports ...Microsoft.VisualBasic  
Imports System.Threading  
Imports System.Globalization  
Imports System.web.Security  
Imports Common  

Namespace Localization  
    Public Class MyPage  
        Inherits System.Web.UI.Page  
  
        "--內部變數--"

        Public Property Language() Property Language() As String  
            Get  
                Return str_language  
            End Get  
            Set(ByVal value As String)  
                str_language = value  
            End Set  
         End Property  
  
"--語言設定--""--語言設定--"

step4
測試頁多國語系



在.aspx上要呼叫語言檔語法=>Text="<%$ resources:lanFile,lan000007 %>"
在.vb上要呼叫語言檔語法=> Resources.lanFile.lan000010

<%@ import namespace="system.web.security"%>
<%@ Page Language="vb" AutoEventWireup="false" CodeFile="login.aspx.vb" Inherits="login"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml" >
    <HEAD runat="server">
  <title>測試</title>
  <LINK  rel="stylesheet" href="~/images/mycss.css" type="text/css"  />
    </HEAD>
    <body style="font-size: 12pt" >
  <form id="Form1" method="post" runat="server"> 
      <asp:DropDownList ID="drp_lan" runat="server" AutoPostBack="True" Visible="False"> 
                <asp:ListItem Value="ZH-TW">繁體中文</asp:ListItem> 
                <asp:ListItem Value="EN-US">English</asp:ListItem> 
                <asp:ListItem Value="ZH-CN">簡體中文</asp:ListItem>
      </asp:DropDownList> 
      <asp:Label ID="lbl_lan" runat="server"  Text="<%$ resources:lanFile,lan000007 %>" Visible="False"></asp:Label>                                                                  
      </form>
    </body>
</HTML>


 



Imports Common
Imports System.Web.Security
Imports System.Data

Public Class login
    Inherits Localization.MYPAGE
  
"--SetPageValue--"

"--page_load--"
 
 
    Protected Sub drp_lan_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles drp_lan.SelectedIndexChanged
        Try

            Session("PreferredCulture") = Me.drp_lan.SelectedValue

            Response.Redirect(Request.Url.PathAndQuery)

        Catch ex As Exception

        End Try
    End Sub



End Class

 以上是小弟對 GlobalResource小小應用範例,提供大家參考,內容若有錯誤也請多多指教。
ps: 小弟是用doNet2.0 開發的 若是doNet1.1可能無法使用。