資源檔案在國際化中的運用(winform)
國際化的軟體往往需要多種語言資源,如何在c#的winform中做到呢?且看以下分解:
1 工程新增資源檔案
資源檔案命名方式 [資源檔案主題名].[語言區域.].resx
例如資源檔案主題名為: "resource1" 。我們準備了 中 英 日 三個語言版本的資源檔案,則對應的語言區域分別是 "zh-cn"、"en"、"ja"。
所以我們新增了三個資源檔案: resource1.zh-cn.resx 、resource1.en.resx、 resource1.ja.resx
2 新增命名空間(反射、資源、程序、國際化)
using system.reflection;
using system.resources;
using system.threading;
using system.globalization;
3 獲取資源檔案管理器
resourcemanager rm = new resourcemanager("wingetmsgfromresource.resource1", assembly.getexecutingassembly());
資源檔名的構成為 [專案命名空間].[資源檔案主題名]
4 獲取當前程序的語言區域
cultureinfo ci = thread.currentthread.currentculture;
5 從資源檔案中按專案名獲取值
假定msgid是資源檔案中的專案名
rm.getstring(msgid, ci);
6 前台國際化環境的選擇(改變當前程式程序中的區域資訊的方式達到改變)
thread.currentthread.currentculture = new system.globalization.cultureinfo("zh-cn");
thread.currentthread.currentculture = new system.globalization.cultureinfo("en-us");
thread.currentthread.currentculture = new system.globalization.cultureinfo("ja-jp");
基於WinForm的多語言開發之介面載入
在 基於winform的多語言軟體開發 一文中,說明載入統一載入資源檔案和動態重新整理介面的方法,現在使用上篇文章中介紹的方法,怎樣來快速開發介面。對資源的的載入有兩種方法,一種是用虛擬方法直接載入資源到介面控制項中,另一種是用反射的方式來進行載入,這種方式需要一些編輯技巧。定義下面的基類 publ...
WinForm c 程式的介面多語言切換
我需要實現多國語言的介面切換,而且切換各種語言版本的時候希望程式是動態的載入語言,不希望切換語言後重新啟動程式。在.net2.0 中,m 為我們提供了一種簡單方便的方法,使用資源檔案 1.新建乙個 winform 應用程式,新建一 form 名為 form1,新增兩個按鈕 btnchinese,bt...
HTML介面多語言切換
html 你需要將所有想要翻譯的模組部分的class中加上lang,然後自定義key。還需要有設定語言的按鈕,class中新增translate,id用相應的代號。translate id en english button translate id zh chinese button lang k...