[VB.NET][C#.NET] 視窗 控件 多語系
本篇主要是介紹用ResourceManager 類別來定義多語系,為每個視窗創建、對應,不同語言版本的資源文件,再把字串作為資源存放在資源文件;以下是VB的範例,懶得再寫C#。
第一步:
建立資源表,資源文件的名字前面必須是該視窗的類(Form1),後面接著是語言類型的標誌,最後是resx副檔名,例:Form1.zh-CN.resx
官網提供了落落長的語言類型的標誌,自行查閱。CultureInfo 類別
第二步:
建立好資源檔後,就可以依個人需求來定義Resource Table表了
第三步:
匯入命名空間
Imports System.Resources
Imports System.Threading
Imports System.Globalization
為部署的每個主要控件指定一或多個 <assembly> 節點,其中 <assembly> 節點屬性 (Attribute) 指定完整的組件名稱,請參考:
http://msdn.microsoft.com/zh-tw/library/system.resources.resourcemanager(VS.80).aspx
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
res = New Resources.ResourceManager("WindowsApplication1.Form1", Me.GetType().Assembly)
RadioCHT.Select()
End Sub
第四步:
引用語言類型
Thread.CurrentThread.CurrentCulture = New CultureInfo("zh-tw")
Thread.CurrentThread.CurrentUICulture = New CultureInfo("zh-tw")
第五步:
依語言類型,調用對應字串
RadioCHT.Text = res.GetString("RadioCHT")
RadioENG.Text = res.GetString("RadioENG")
ButtonCHT.Text = res.GetString("ButtonCHT")
ButtonENG.Text = res.GetString("ButtonENG")
範例下載:VB.NET多國語言.rar
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET