當地語系化:為特定文化建立專屬資源(文字翻譯、圖片替換等)。
全球化:確保應用程式無需重新編譯即可被當地語系化,單一版本透過執行期資源選擇適應多文化。
WPF 底層的 ResourceManager 直接支援此模式。文化特性以「語言-區域」格式表示(如 en-US、zh-TW),ResourceManager.GetStream 可接收 CultureInfo 參數,預設取 Thread.CurrentThread.CurrentUICulture。
fr-CA),尋找 MyApp.resources.dll。fr)。衛星組件僅包含差異資源,通用資源(如通用圖片)留在主組件,避免重複佔用空間。
XAML 編譯為 BAML 內嵌資源,ResourceManager 以 BAML 為最小顆粒度。Visual Studio 2005 尚無內建支援,需手動步驟:
<UICulture>en-US</UICulture>,觸發產生預設文化衛星組件。x:Uid 標識(可用 msbuild /t:updateuid 自動生成,/t:checkuid 檢查重複)。LocBaml 解析 BAML 產生 CSV 骨架檔(需自行編譯 LocBaml 原始碼)。Value 欄位填入翻譯文字。LocBaml /generate 產生目標文化衛星組件(如 en-GB)。CSV 欄位:BAML 名稱、資源鍵、當地語系化類別、可讀性、可修改性、註解、值。
