階層式組織當地語系化的資源
更新:2007 年 11 月
在 Visual Studio 中,當地語系化的資源 (例如適用於每種文化特性的字串和影像等資料) 是儲存在個別的檔案中,而且會根據 UI 文化特性設定加以載入。您可以將當地語系化資源想成階層式組織,這樣可幫助您瞭解當地語系化資源是如何載入的。
階層架構中各項資源的類型
在階層架構最上方是預設文化特性 (例如英文 ("en")) 的回溯資源。這些是唯一本身沒有檔案的資源,它們都儲存在主要組件中。
備用回溯之下的是任何中性文化特性所使用的資源。中性文化特性與語言 (而不是地區) 相關。例如,法文 ("fr") 是中性文化特性 (請注意,回溯資源也是供中性文化特性使用,不過是特殊的中性文化特性)。
再下面的是供任何特定文化特性使用的資源。特定文化特性與語言和地區相關。例如,加拿大法文 ("fr-CA") 就是特定文化特性。
如果應用程式嘗試載入任何當地語系化資源 (例如字串) 而且找不到資源的話,它會在階層架構中往上尋找,直到找到包含要求資源的資源檔為止。
儲存資源最好的方式是盡量將它們通用化。意思就是,盡可能地將當地語系化的字串、影像等等儲存在供中性文化特性使用的資源中,而不是儲存在供特定文化特性使用的資源中。例如,如果您有比利時法文 ("fr-BE") 文化特性使用的資源,而上面的資源就是英文的回溯資源的話,那麼當某人在設定為加拿大法文文化特性的系統上使用您的應用程式時就會出現問題。系統會尋找附屬組件中的 "fr-CA",找不到時就會載入包含回溯資源的主要組件,而這項資源會是英文的資源,而不是法文的資源。下列圖片顯示上述的非預期案例。
如果您依照建議,盡可能將資源放入中性資源檔來供 "fr" 文化特性使用,則加拿大法文的使用者就不會看到標示為 "fr-BE" 文化特性的資源,但他們看到的字串會是以法文顯示。下列情況顯示上述預期發生的案例。
請參閱
工作
HOW TO:設定 Windows Form 全球化的文化特性和 UI 文化特性
HOW TO:設定 ASP.NET Web 網頁全球化的文化特性和 UI 文化特性