VS2005 內建本地化工作流程
- 設計頁面,所有需本地化文字使用
Label、Button、GridView 等伺服器控制項。
- 方案總管選中 .aspx → 右鍵/工具列「工具」→「產生本機資源」 (
Generate Local Resource)。
- 自動建立
App_LocalResources 資料夾與 檔名.aspx.resx (預設文化資源檔),提取所有控制項 Text、ToolTip 等屬性值。
- 原始 .aspx 控制項標記自動加入
meta:resourcekey="ControlIDResource1",頁面指令加入 Culture="auto" UICulture="auto" meta:resourcekey="PageResource1"。
資源檔結構範例
<!-- Default.aspx.resx -->
<data name="Button1Resource1.Text" xml:space="preserve">
<value>送出</value>
</data>
<data name="GridView1Resource1.Columns[0].HeaderText" xml:space="preserve">
<value>姓名</value>
</data>
新增語言:複製並重新命名
- 複製
Default.aspx.resx → 貼上 → 重新命名為 Default.aspx.zh-TW.resx (繁體中文)、Default.aspx.en-US.resx (英文) 等。
- 語言代碼參考 IE「網際網路選項」→「語言」→「新增」清單。
- 編輯各語言 .resx,將
value 翻譯為對應語言。
自動文化選擇與測試
Culture="auto" UICulture="auto" 讓 ASP.NET 依瀏覽器 Accept-Language 標頭自動選擇資源檔。
- 測試:修改 IE 語言偏好順序 (將 zh-TW 移至最上方) → 重新整理頁面 → 確認顯示中文。
隱式 vs 顯式本地化
- 隱式 (Local Resource):頁面專用,
App_LocalResources,meta:resourcekey 自動對應。
- 顯式 (Global Resource):跨頁共用,
App_GlobalResources,語法 Text="<%$ Resources:GlobalRes, Key %>"。