[VB.NET][C#.NET] 視窗 控件 多語系

[VB.NET][C#.NET] 視窗 控件 多語系

本篇主要是介紹用ResourceManager 類別來定義多語系,為每個視窗創建、對應,不同語言版本的資源文件,再把字串作為資源存放在資源文件;以下是VB的範例,懶得再寫C#。

第一步:

建立資源表,資源文件的名字前面必須是該視窗的類(Form1),後面接著是語言類型的標誌,最後是resx副檔名,例:Form1.zh-CN.resx

官網提供了落落長的語言類型的標誌,自行查閱。CultureInfo 類別

 

1 5

 

第二步:

建立好資源檔後,就可以依個人需求來定義Resource Table表了

2

第三步:

匯入命名空間

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")

 

 

3 4

範例下載:VB.NET多國語言.rar

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo