2011-12-07 37 views
4

我有一個C#應用程序,我需要轉換爲支持英語和西班牙語,有沒有半簡單的方法來添加,並能夠在以後添加其他語言?如何將C#.NET應用程序轉換爲支持多種語言?

+0

可能重複[是否可以在.NET資源文件中使用多種語言?](http://stackoverflow.com/questions/3010523/is-it-possible-to-use-multiple-languages -in-net-resource-files) –

+0

你甚至谷歌這個主題?檢查這裏:http://stackoverflow.com/questions/119568/best-practice-to-make-a-multi-language-application-in-c-winforms –

+0

我發現這個youtube與一個容易遵循示範如何使用多語言加載項https://www.youtube.com/watch?v=SNIyP1QQdVs – Prokurors

回答

8

是的!它被稱爲資源(.resx)文件。你所做的是:

  1. 將您的可本地化形式的Localizable屬性更改爲true。這將使設計人員從.resx文件中獲取文本和其他屬性,而不是對其進行硬編碼。
  2. 用一種語言創建你的程序,比如說英語。
  3. 接下來,所有的形式改變爲另一種語言,像這樣:
    1. 變化的形式向其他語言的Language財產,讓我們說西班牙語。
    2. 更改所有控件上的文字。設計人員將自動爲該語言生成一個新的.resx文件。
    3. 在開發過程中根據需要來回切換。
  4. 發佈時,進入您的Assembly Settings並更改語言。我想你也可以在代碼中改變語言。

和voilà!你完成了!

+0

謝謝,這是我所需要的。簡單,到點的步驟,並沒有第三方工具! –

0

您將所有表單和控件標記爲可本地化。這會將所有UI相關的文本(標籤等)放在資源文件中。如果您需要在代碼中創建字符串,則使用字符串資源文件並通過資源關鍵字查找字符串(例如StringResource.Get("My_Message"))。然後,您可以使用工具翻譯您的所有資源。通常你會爲每種語言創建一個本地化的.dll。我們使用Passolo,但還有其他工具。

0

,您可以撥打多語種的應用程序有兩種方式:

  1. 通過將應用程序本地化,所以當用戶更改設備的文化,如果添加此應用程序會自動切換到文化的UI語言已經在應用程序中支持的語言。 您可以通過將項目上的每個窗體的Localizable屬性設置爲Localizable來執行此操作,然後將UI更改爲新的區域性。

  2. 通過爲應用程序中的每個添加語言製作語言選項和資源文件(.resx),並根據所選語言,可以從選定語言的資源文件中加載圖像或字符串。