Web design and hosting, database, cloud and social media solutions that deliver business results
  • Rozwiązania biznesowe
    • Oprogramowanie
    • Projektowanie stron
      • Bezpieczeństwo witryny
      • Lokalizacja i tłumaczenie stron internetowych
    • Usługi baz danych
      • Integracja danych
      • Przybory
    • Zrobotyzowana automatyzacja procesów
    • Usługi biznesowe
      • Microsoft Azure
    • Media Społecznościowe
    • Microsoft Office
  • Akademia
    • Nasze środowisko testowe
    • Nauka projektowania baz danych
      • Używanie funkcji datownika SQL Server
      • SQL Server 2008 planu konserwacji
      • Korzystanie z funkcji serwera SQL Server
      • Korzystanie z programu SQL Server Pivot-Unpivot
      • Używanie dat serwera SQL
    • Nauka projektowania stron internetowych
      • CSS
      • ASP-NET
      • Korzystanie z JavaScript
    • Nauka w chmurze i usługi IT
      • Błąd harmonogramu zadań 2147943645
      • Żądanie SSL i generowanie pliku PFX w OpenSSL Simple Steps
  • O
    • Portfel Pracy
    • Zespół
      • Adrian Anandan
      • Ali Al Amine
      • Ayse Hur
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • Suneel Kumar
      • Surya Mukkamala
čeština (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

Wywoływanie Google Translate z ASP.NET przy użyciu Poczty

Wywołanie Google Translate z ASP.NET przy użyciu POST dla dłuższych dokumentów z Twojego kodu.

Wprowadzenie

Google Translate API jest dobry do wykonywania dosyć złożonych tłumaczeń, a chociaż nie jest doskonałe, przynajmniej daje to czytelnikom podstawowe zrozumienie tego, co próbujesz przekazać.

Choć dokument jest bardzo dobry w wyjaśnianiu tego, co się dzieje, gdy używasz skryptu języka Java, który może przetłumaczyć około 500 znaków, bardzo mało jest, gdy trzeba tłumaczyć większe dokumenty.

Używając POST możesz zwiększyć to 5000 znaków, więc opracowaliśmy własny kod, aby wysłać żądanie wysłania do interfejsu API Google, a następnie otrzymać tłumaczenie.

Najpierw kod, dla tych, którzy po prostu chcą tego.

VB

Protected Function GetTranslation(ByVal key As String, ByVal source As String, ByVal target As String, ByVal Text As String) As String
  Dim TranslatedString As String = ""
  Text = "q=" + Text
  Dim TranslateRequest As New Uri(String.Format("https://www.googleapis.com/language/translate/v2?key={0}&source={1}&target={2}&format=html", key, source, target))
  Dim Req As WebRequest = WebRequest.Create(TranslateRequest)
  Req.Method = "POST"
  Req.Headers.Add("X-https-Method-Override", "GET")
  Req.ContentType = "application/x-www-form-urlencoded"
  Using wriream As Stream = Req.GetRequestStream()
  Dim encoding As New UTF8Encoding()
  Dim bytes As Byte() = encoding.GetBytes(Text)
  wriream.Write(bytes, 0, bytes.Length)
  End Using
  Dim ReturnStr As String
  Using sr = New StreamReader(Req.GetResponse.GetResponseStream)
  ReturnStr = sr.ReadToEnd()
  End Using
  Dim Reader As New JavaScriptSerializer
  Dim TranslateJSON As Dictionary(Of String, Object) = Reader.DeserializeObject(ReturnStr)
  Dim TranslateData As Dictionary(Of String, Object)
  If TranslateJSON.ContainsKey("data") Then
  TranslateData = TranslateJSON("data")
  If TranslateData.ContainsKey("translations") Then
  For Each pair In TranslateData.Item("translations")(0)
  TranslatedString = pair.Value.ToString()
  Next
   End If
  End If
  Return TranslatedString
End Function

Wprowadzenie

A teraz krótkie wyjaśnienie. Funkcja wymaga czterech wejść, jest to klucz, język, język i tekst, który chcesz przetłumaczyć.

Następnie deklarujemy ciąg zwracający, utworzymy łańcuch żądania adresu URL, który szybko analizuje się w nowym żądaniu internetowym (Req).

Następnie ustawiamy typ zapytania, typ zawartości, a co najważniejsze dodaj nagłówek, aby zastąpić metodę pobierania .

Gdy to zrobimy, wyślemy dane jako strumień do Google (wriream).

Teraz zadeklarujemy ciąg zwracający (ReturnStr), aby zatrzymać zwracany JSON z Google i przeczytać go w odpowiedzi.

Następnym krokiem jest utworzenie JavaScriptSerializer, to chyba najbardziej mylące, ponieważ jest to najsłabszy obszar moich umiejętności programistycznych. Co to ostatnia sekcja wyciąga każdą sekcję tekstu, dopóki nie dotrzesz do żądanego obszaru i ustawia nasz tekst powrotu jako wartość zwracaną przez Google. To nie może być najbardziej rozbudowany kod na świecie, więc jeśli wypracujesz sposób na porządkowanie go, daj mi znać.

Możesz łatwo umieścić ten kod w udostępnionej klasie i ponownie go używać, jednakże była tylko jedna sekcja witryny, na którą potrzebowaliśmy tego, więc została ona wbudowana w stronę.

Poniższy przykład przedstawia jeden edytor tekstowy AJAX Toolkit z zawartością innego. Proszę zwrócić uwagę na podwójne dekodowanie (z edytora i Google) i zawiera dwa pola tekstowe oznaczające język zi do.

VB

Protected Sub TranslateDoc_Click(sender As Object, e As EventArgs) Handles TranslateDoc.Click
  Dim key As String = "Your Key"
  Dim source As String = LanguageBase.SelectedItem.Text.ToString
  Dim target As String = LanguageTrans.SelectedItem.Text.ToString
  Dim PageText As String = httpsUtility.HtmlDecode(ContentText.Content)
  Try
  ContentTextTran.Content = httpsUtility.HtmlDecode(GetTranslation(key, source, target, PageText))
  Str.Text = "Translated"
  Catch
  Str.Text = key + "," + source + "," + target + ""
  End Try
End
 Sub

Autor

Helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Polityka Cookiemapa strony

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
Ustawienia na tej stronie są ustawione tak, że wszystkie pliki cookie. Mogą one być zmieniane na naszej polityki i ustawień strony z ciasteczkami. Dalsze korzystanie z tej strony, wyrażasz zgodę na korzystanie z plików cookie.
Ousia Logo
Logout
Ousia CMS Loader