Member 14017528 Ответов: 0

Как я могу перевести строку с помощью Google translate без api


Всем привет,

Я здесь новичок и начал программировать на c++ всего 2 месяца назад, прежде чем в основном работал с net. (vb). В net я смог перевести свои строки, но в c++ я понятия не имею, как начать переводить свою строку с английского на немецкий и обратно. Я работаю с сообществом Visual studio Community 2015.

вот мой чистый код, может быть, кто-то может показать мне, как это сделать на c++, лучше всего для меня было бы без дополнительных установок.

Private Function TranslateENGE(ByVal Textin As String(), ByVal ENtoGE As Boolean) As List(Of String)
            Try
                If Not HaveInternetConnection() Then
                    theUI.NXMessageBox.Show("No internet", NXMessageBox.DialogType.Information, "No internet connection available, please establish a connection to the internet and click the button again.")
                    Return Nothing
                End If

                Dim targetlang As String = ""
                Dim sourcelang As String = ""
                If ENtoGE Then '& tolangid & "&hl=" & fromlangid &
                    sourcelang = "en"
                    targetlang = "de"
                Else
                    sourcelang = "de"
                    targetlang = "en"
                End If
                'create text for input into one string

                Dim input As String = String.Join(vbNewLine, Textin)
                input = HttpUtility.UrlEncode(input)

                Dim TranslatedText As New List(Of String)
                Dim WbC As New WebClient
                WbC.Encoding = Text.Encoding.UTF8
                Dim url As String = WbC.DownloadString("https://translate.googleapis.com/translate_a/single?client=gtx" & "&ie=UTF-8" & "&oe=UTF-8" & "&sl=" & sourcelang & "&tl=" & targetlang & "&dt=t" & "&dt=bd" & "&dj=1" & "&source=icon" & "&q=" & input) ' & "&oe=UTF-8" & &dt=bd Utf 8 is default
                Dim Json1 As JObject = JObject.Parse(url)
                Dim result As String = ""

                For i As Integer = 0 To Json1.SelectToken("sentences").Count - 1
                    result = Json1.SelectToken("sentences[" & i & "]").SelectToken("trans").ToString()
                    result = result.Replace(vbNewLine, "")
                    TranslatedText.Add(result)
                Next

                Return TranslatedText

            Catch ex As Exception
                theUI.NXMessageBox.Show("Translation", NXMessageBox.DialogType.Error, ex.Message)
                Return Nothing
            End Try
        End Function


Это очень много.

Что я уже пробовал:

Я уже искал Codeguru, но нашел только Google API, также поиск в google, но без необходимых результатов.

Richard MacCutchan

Мне неприятно это говорить но тебе лучше остаться со мной VB.NET-да. Попытка преобразовать это в C++ будет большой задачей, так как библиотеки C/C++ не поддерживают такой богатый набор функций для получения доступа к веб-API.

Member 14017528

Thx для комментария, но это может быть достигнуто и с помощью c++, если я правильно понимаю. Что мне нужно создать из ничего, чтобы достичь того, что нужно моей программе?

Member 14017528

Привет еще раз, могу ли я достичь того, что я намерен сделать с libcurl??

Member 14017528

Здравствуйте, thx за помощь я сейчас сделал одну программу на C#, а другую на c++ и объединил их. Работает отлично спасибо.

0 Ответов