WinForm程式的介面多語言切換

2021-09-07 23:06:25 字數 1119 閱讀 3165

資源檔案在國際化中的運用(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...