MsgBox MultiLanguage

时间:2014-10-31 00:36:19

标签: vb.net multithreading visual-studio-2010 multilingual

我有翻译问题,我可以翻译按钮,标签,文本框等,但我不知道如何翻译MsgBox ...我有这段代码

Imports System.Threading.Thread
Imports System.Globalization    
Public Class FrmLlenguatje
Private Sub btEspañol_Click(sender As Object, e As EventArgs) Handles btEspañol.Click

    CurrentThread.CurrentUICulture = New CultureInfo("ES")
    Dim p02Es As New Form1
    p02Es.Show()

    InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages(0)
End Sub

Private Sub btCatalà_Click(sender As Object, e As EventArgs) Handles btCatalà.Click

    CurrentThread.CurrentUICulture = New CultureInfo("CA")
    Dim p02Ca As New Form1
    p02Ca.Show()

    InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages(0)
End Sub
End Class

我想知道一种方法将这个Button Click链接到另一个Form然后尝试我是否可以创建一个If / else语句来翻译那些MsgBox ..

我知道你可以帮助我..谢谢!

2 个答案:

答案 0 :(得分:0)

据我所知,.Net确实不支持MessageBox。你可以在这里阅读更多内容......

MessageBox buttons - set language?

答案 1 :(得分:0)

我使用了1个标签,并在form_loading这个字符串中确定了O.S.当前语言:

label1.Text=Globalization.CultureInfo.CurrentCulture.ThreeLetterISOLanguageName 

一些3个字符的语言ID是:

ita, spa, eng, nld, fra, rus, zho.

然后,当您创建一个消息框时,使用类似这样的

If Form1.Label1.Text = "eng" Then
If MsgBox("Save the changes?", vbYesNo) = vbYes Then
else
end if
If Form1.Label1.Text = "spa" Then
If MsgBox("¿Guardar los cambios?", vbYesNo) = vbYes Then
else
end if

是/否以您当前的语言自动确定(翻译)。

catalan = cat