WPF 國際化實現方式很多:
- 可使用 xaml 資源檔案 (*.xaml) 儲存各語言顯示的內容,本人另一號有過介紹:
- WPF 國際化方式 1 之資源檔案
- [C#/.NET Core/WPF 框架初建(國際化、主題色)](https://mp.weixin.qq.com/s/8vxbcBwr05a_-4tKEDB19w)
- 也可使用通用的資源檔案 (*.resx),該方式不受限於專案範本,可適用於其他專案類型,C/S、B/S、App (Xamarin) 等皆可使用。
本文不是要介紹怎樣實現專案國際化,主要是介紹一款 VS 擴充程式,可方便的管理通用的資源檔案 (*.resx),像是下面這樣:
使用 ResX Manager 管理多資源檔案

方便的地方在於:
- 一個介面列出整個方案所有的資源檔案
- 同一專案國際化資源檔案一個介面對照著即可管理
依照多語言資源檔案命名規則,相同前綴的資源檔案,後綴(.resx 前的一小部分)區分不同語言,例如 UiResource.zh-CN.resx 為簡體中文,UiResource.resx 為預設語言,其他語言擴充只需要增加一個資源檔案,修改後綴即可。
對比直接開啟資源檔案效果:
預設語言資源檔案

簡體中文資源檔案

上面只是兩個檔案,支援更多國際化語言,每增加一筆翻譯、或者修改,就要雙擊全部資源檔案,那有多累呀。
簡單做了鋪墊,下面說說怎麼安裝該插件及使用方式。
1 安裝
請到 ResXManager 發佈地址下載安裝:

或者 VS 擴充中搜尋 ResX Manager 安裝:

2 功能說明
2.1 統一管理和修改各資源檔案
見本文第一張圖(來自樂趣課堂 WPF 專案資源檔案),左側展示方案中所有專案的資源檔案結構、位置,選擇某資源檔案後,右側展示資源檔案中的鍵及鍵對應的各語言翻譯文字,同一命名規則的資源檔案可同時進行編輯。
2.2 查漏
如下圖,Search 和 StartTime 鍵對應的中文缺少翻譯,輸入框有紅色背景提示,此時可直接進行即時輸入翻譯。
漏翻譯標識

如果鍵較多,或者支援的語言較多,可點擊下面的 翻譯 切換,一般我在上面這裡就直接修改了,下面的這個介面我很少操作:
- 切換
翻譯Tab - 輸入未翻譯的語言
- 點擊開始、套用所有,使所修改的翻譯套用於對應的資源檔案
清晰顯示待翻譯的語言

2.3 匯出和匯入 Excel 檔案
當多語言翻譯工作量較大,或者某一語言需要專業人士協助,讓別人使用 Visual Studio 來編輯資源檔案是不太合理的,這時使用匯出功能將指定的資源檔案匯出為 Excel 格式,直接填寫缺漏部分,再將完善的 Excel 檔案匯入自動更新各資源檔案。

也可以選擇需要翻譯的資源檔案對應的鍵,選擇 匯出所選,匯出檔案如下,紅框處為剛輸入的簡體中文翻譯文。

如上圖,完善翻譯後,再選擇匯入即可。
該擴充程式是不是很方便?歡迎留言交流。