HOW TO:建立 ASP.NET Web 網頁的資源檔 (Visual Studio)

更新:2007 年 11 月

「資源檔」是可以包含字串和其他資源 (例如影像檔路徑) 的 XML 檔案。資源檔通常用以儲存必須轉譯為其他語言的使用者介面字串。這是因為您可以為網頁,針對每種您想要轉譯語言,建立個別的資源檔。

全域資源檔可用於網站中的任何網頁或元件。本機資源檔則和單一網頁、使用者控制項或主版頁面 (Master Page) 相關聯,並且只包含該網頁的資源。如需詳細資訊,請參閱 ASP.NET Web 網頁資源概觀

在 Visual Web Developer 中,可以使用 Managed 資源編輯器建立全域或本機資源檔。針對本機資源檔,您也可以在設計工具中,直接從網頁產生文化特性中性基底資源檔。

手動建立資源

若要以手動方式建立資源檔

  1. 透過執行下列其中一項,確定網站具有要儲存資源檔的資料夾:

    • 如果正在建立全域資源檔,則必須具有名稱為 App_GlobalResources 的資料夾。若要建立此資料夾,請在 [方案總管] 中以滑鼠右鍵按一下網站的名稱,按一下 [加入資料夾] 再按一下 [App_GlobalResources 資料夾]。在一個應用程式中只可以有其中一個這類資料夾,而這個資料夾必須位於應用程式根目錄中。

    • 如果正在建立本機資源檔,則必須具有名稱為 App_LocalResources 的資料夾。若要建立資料夾,請在 [方案總管] 中以滑鼠右鍵按一下網站的名稱,按一下 [加入資料夾] 再按一下 [App_LocalResources 資料夾]。在一個應用程式中可有許多這類資料夾,這些資料夾可以在應用程式的任意層級中。

  2. 若要建立資源檔,以滑鼠右鍵按一下 App_GlobalResources 或 App_LocalResources 資料夾,然後按一下 [加入新項目]。

    注意事項:

    全域資源檔必須在 App_GlobalResources 資料夾中。如果嘗試在這個資料夾外建立 .resx 檔案,Visual Web Developer 會提示您在該資料夾中建立這個檔案。

  3. 在 [加入新項目] 對話方塊中的 [Visual Studio 安裝的範本] 下,按一下 [組件資源檔]。

  4. 在 [名稱] 方塊中,輸入資源檔的名稱,然後按一下 [加入]。

    Visual Web Developer 會在 Managed 資源編輯器中開啟檔案。編輯器中會顯示可讓您輸入名稱 (機碼)、值和選擇性註解的方格。

  5. 輸入應用程式中需要之每個資源的機碼名稱和值,然後儲存檔案。

    注意事項:

    請勿嘗試直接在資源檔案嵌入圖形,因為控制項無法將資源字串解讀為經過資料流處理的影像檔。資源檔會將圖形的 URL 儲存為字串來表示圖形。

  6. 若要建立其他語言的資源檔,請在 [方案總管] 或 Windows 檔案總管中複製檔案,然後以下列其中一種模式重新命名該檔案:

    • 全域資源檔:

      name.language.resx

      name.language-culture.resx

    • 本機資源檔:

      pageOrControlName.extension.language.resx

      pageOrControlName.extension.language-culture.resx

    例如,如果建立名稱為 WebResources.resx 如果要轉譯為埃及阿拉伯文,而建立名稱為 WebResources.ar-eg.resx 的全域資源檔。若要建立要轉譯為西班牙文的相關資源檔,但不指定文化特性 (Culture),則將複製的檔案命名為 WebResources.es.resx。請注意在本機資源檔中,資源檔名稱是網頁或控制項名稱,包括副檔名,以及語言和文化特性資訊。

  7. 開啟複製的檔案並轉譯每個值,不變更名稱 (機碼)。

  8. 對想要使用的每個其他語言重複步驟 6 和 7。

從網頁建立資源

Visual Web Developer Express 版中無法使用下列功能。

若要從 ASP.NET Web 網頁產生本機資源檔

  1. 開啟您要建立資源檔的網頁。

  2. 切換至 [設計] 檢視。

  3. 在 [工具] 功能表中,按一下 [產生本機資源]。

    Visual Web Developer 會建立 App_LocalResources 資料夾 (如果該資料夾不存在)。Visual Web Developer 接著會對目前的網頁建立文化特性中性基底資源檔,包括需要當地語系化之每個控制項屬性或頁面屬性的機碼/名稱組。最後,Visual Web Developer 會將 meta 屬性加入至每個 ASP.NET Web 伺服器控制項,以設定控制項為使用隱含當地語系化。如需隱含和明確當地語系化的詳細資訊,請參閱 ASP.NET Web 網頁資源概觀HOW TO:使用資源來設定 Web 伺服器控制項的屬性值 (Visual Studio)

  4. 輸入應用程式中需要之每個資源的值,然後儲存檔案。

    注意事項:

    請勿嘗試直接在資源檔案嵌入圖形,因為控制項無法將資源字串解讀為經過資料流處理的影像檔。資源檔會將圖形的 URL 儲存為字串來表示圖形。

  5. 如果沒有顯示最新的資源變更,則切換到 [原始碼] 檢視,然後再切換回 [設計] 檢視,藉此重新整理 [設計] 檢視。

  6. 遵循前一個程序的步驟 6 和步驟 7,即可建立其他語言的資源檔。

若要在 Visual Web Developer 中產生全域資源檔

  1. 在 [方案總管] 中,以滑鼠右鍵按一下網站名稱,然後按一下 [加入新項目],再按一下 [資源檔]。

    Visual Web Developer 會詢問您是否要將檔案置放在 App_GlobalResources 資料夾中,並詢問是否要建立此資料夾。

  2. 按一下 []。

  3. 輸入應用程式中需要之每個資源的值,然後儲存檔案。

    注意事項:

    請勿嘗試直接在資源檔案嵌入圖形,因為控制項無法將資源字串解讀為經過資料流處理的影像檔。資源檔會將圖形的 URL 儲存為字串來表示圖形。

  4. 如果沒有顯示最新的資源變更,則切換到 [原始碼] 檢視,然後再切換回 [設計] 檢視,藉此重新整理 [設計] 檢視。

  5. 若要建立其他語言的資源檔,請在 [方案總管] 或 Windows 檔案總管中複製檔案,然後以下列其中一種模式重新命名該檔案:

    name.language.resx

    name.language-culture.resx

    注意事項:

    在命名資源檔時,請勿在名稱中包含 .aspx,因這樣可能導致命名衝突。例如,[資源] 資料夾不能包含兩個名稱類似於 resTestPage.resx 和 resTestPage.aspx.resx 的檔案。在這種情況下,編譯時的檔名解析會建立命名衝突,因而導致編譯時期錯誤。

請參閱

工作

逐步解說:使用資源進行 ASP.NET 的當地語系化

HOW TO:使用資源來設定 Web 伺服器控制項的屬性值 (Visual Studio)

概念

ASP.NET Web 網頁資源概觀