【问题标题】:Google Translate API conversion谷歌翻译 API 转换
【发布时间】:2020-10-02 20:29:02
【问题描述】:

有人可以使用谷歌翻译 API 帮助我翻译吗?它在最后一行出现错误 System.InvalidCastException: 'Conversion from type 'TranslationResult' to type 'String' is not valid.' 这是这里的代码

    Private Sub TranslateText(InputText)
        Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "C:\Users\student\Desktop\sunlit-runway-279702-175183ddeace.json")
        Dim Client = TranslationClient.Create()
        Dim InText = InputText.text
        Dim response = Client.TranslateText(InText, LanguageCodes.Japanese, LanguageCodes.English)
        Output.Text(response.TranslatedText)
    End Sub

当我使用消息框时它可以工作,但是我希望它显示在文本框中

【问题讨论】:

  • 似乎你缺少 typecast..typecast 对象到文本作为文本接受字符串对象

标签: vb.net visual-studio google-api google-translation-api


【解决方案1】:

文本是文本框的属性,而不是函数。要设置文本框的文本,如下所示:

myTextBox.Text = "Hello word"

不是这样的

myTextbox.Text("Hello world")

这与mesagebox.show不同,它是一个函数并且接受一个字符串参数

MessageBox.Show("Hello World")

因此,将文本框文本设置为翻译结果:

myTextbox.Text =  response.TranslatedText 'translated text is a string, like "Hello World"

真的,我认为您的代码应该如下所示:

Private Function TranslateJapanese(inputText as string) as string
    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "C:\Users\student\Desktop\sunlit-runway-279702-175183ddeace.json")
    Dim Client = TranslationClient.Create()
    Dim response = Client.TranslateText(inputText, LanguageCodes.Japanese, LanguageCodes.English)
    Return response.TranslatedText
End Sub

并且可以像这样使用:

englishTextbox.Text = TranslateJapanese(japaneseTextbox.Text)

【讨论】:

    猜你喜欢
    • 2011-12-26
    • 2010-10-10
    • 1970-01-01
    • 2013-02-15
    • 2012-01-26
    • 2012-01-19
    • 1970-01-01
    相关资源
    最近更新 更多