2011-11-19 120 views
3

當語言相似(例如英語,西班牙語,法語爲dir = ltr)時,我可以在asp.net中執行多語種網站。我想知道當一種語言dir = ltr(英語)和其他語言dir = rtl(阿拉伯語)時如何執行相同的操作。如何在英語和阿拉伯語中使用ASP.net網站

我將不勝感激,如果有人可以鏈接到它可以顯示如何使用的主題之一爲英語和其他阿拉伯語沿做到這一步一步的資源..

我使用ASP.Net 4.0。

我很感謝在這方面的任何幫助,如果有人能爲我提供一個兩頁的例子,那就太棒了。

回答

6

你可以試試這樣...

很容易使用ASP.NET開發支持多語言的網站。只需按照這個步驟。

  • 1.Take一個新的網站
  • 2.增加從ASP.NET文件夾
  • 3.Take一個* .resx文件(Strings.resx)
  • 4.輸入名稱「App_GlobalResources文件」和值
  • 5.針對不同的語言和名稱創建不同的* .resx文件,如Strings.en-US.resx(用於美國英語),Strings.fr-FR.resx(用於 法語)。讓儘可能多的語言文件,你需要
  • 6.Now時間調用和使用語言的網頁,你的網站解決方案資源管理器看起來像下面的圖片...

enter image description here

Default.aspx文件看起來像該Default.aspx.cs

<asp:Label ID=」lblName」 runat=」server」 Text=」Label」></asp:Label> 
<asp:Label ID=」lblDesc」 runat=」server」 Text=」Label」></asp:Label> 
<asp:Label ID=」lblComments」 runat=」server」 Text=」Label」></asp:Label> 
<asp:LinkButton ID=」lnkEnglish」 runat=」server」 OnClick=」lnkEnglish_Click」>English</asp:LinkButton> 
<asp:LinkButton ID=」lnkFrench」 runat=」server」 OnClick=」lnkFrench_Click」>French</asp:LinkButton> 

代碼

private ResourceManager rm; 
protected void Page_Load(object sender, EventArgs e) 
{ 
    CultureInfo ci; 
    if (!IsPostBack) 
    { 
     Thread.CurrentThread.CurrentCulture = new CultureInfo(「en-US」); 
     rm = new ResourceManager(「Resources.Strings」, Assembly.Load(「App_GlobalResources」)); 
     ci = Thread.CurrentThread.CurrentCulture;LoadData(ci); 
    } 
    else 
    { 
     rm = new ResourceManager(「Resources.Strings」,Assembly.Load(「App_GlobalResources」)); 
     ci = Thread.CurrentThread.CurrentCulture;LoadData(ci); 
    } 
} 
protected void lnkEnglish_Click(object sender, EventArgs e) 
{ 
    Thread.CurrentThread.CurrentCulture = new CultureInfo(「en-US」); 
    LoadData(Thread.CurrentThread.CurrentCulture); 
} 
protected void lnkFrench_Click(object sender, EventArgs e) 
{ 
    Thread.CurrentThread.CurrentCulture = new CultureInfo(「fr-FR」); 
    LoadData(Thread.CurrentThread.CurrentCulture); 
} 
public void LoadData(CultureInfo ci) 
{ 
    lblName.Text = rm.GetString(「EventName」, ci); 
    lblDesc.Text = rm.GetString(「EventDescription」, ci); 
    lblComments.Text = rm.GetString(「EventComments」,ci); 
} 
+0

我會標記你的答案正確,因爲你已經展示了一個很好的例子。謝謝 – Student

+0

你如何處理阿拉伯文 - dir = rtl? – NinethSense

+1

嘿,當我運行它給出錯誤>>無法加載文件或程序集'App_GlobalResources'或其依賴項之一。該系統找不到指定的文件。 – John

相關問題