वेब, डेटाबेस, क्लाउड सेवाओं और बीस्पोक बिजनेस मैनेजमेंट सॉफ्टवेयर में विशेषज्ञता के साथ 20 से अधिक वर्षों के अनुभव के साथ एक बहु-राष्ट्रीय टीम
  • व्यापारिक समाधान
    • सॉफ़्टवेयर
    • रोबोटिक प्रक्रिया स्वचालन
    • डेटाबेस परामर्श सेवाएं
      • डेटा एकीकरण
      • डाटावेयरहाउस सेवाएं
      • पावर बीआई
      • सर्वर अपग्रेड और डीबीए सेवाएं
    • वेब साइट डिजाइन
      • भुगतान द्वार
      • लोगो डिजाइन
      • वेब स्थानीयकरण और अनुवाद
      • वेब साइट अनुकूलन
      • वेबसाइट सुरक्षा
      • तकनीकी उपकरण
    • क्लाउड समाधान
      • अमेज़न वेब सेवाएँ
      • Google क्लाउड सेवाएं
      • माइक्रोसॉफ्ट ऐज़ुर
    • माइक्रोसॉफ्ट ऑफिस
    • सामाजिक मीडिया
  • अकादमी
    • हमारा परीक्षण वातावरण
    • डेटाबेस डिजाइन सीखना
      • मूल बातें
      • SQL सर्वर Pivot-Unpivot का उपयोग करना
      • SQL सर्वर डेटा
      • SQL सर्वर फ़ंक्शंस का उपयोग करना
      • एसक्यूएल सर्वर 2008 रखरखाव योजनाएँ
      • एसक्यूएल सर्वर तिथियों का उपयोग करना
      • ओपन क्वेरी प्राप्त करें
    • वेबसाइट डिजाइन सीखना
      • Ousia सामग्री प्रबंधन प्रणाली का निर्माण
      • ASP-NET
      • CSS
      • जावास्क्रिप्ट का उपयोग करना
    • क्लाउड और आईटी सेवाएं सीखना
      • टास्क शेड्यूलर त्रुटि 2147943645
      • एसएसएल का अनुरोध करना और ओपनएसएसएल सरल चरणों में पीएफएक्स फ़ाइल बनाना
    • सामाजिक मीडिया का उपयोग
      • Google समीक्षा के लिए पूछना
      • फेसबुक अकाउंट को पर्सनल से बिजनेस में बदलना
      • सोशल मीडिया छवि आकार
      • सोशल मीडिया छवियाँ सेट करने के लिए मेटा डेटा का उपयोग करना
      • सोशल मीडिया प्रयासों पर ध्यान केंद्रित करने का स्थान चुनना
  • हमारे बारे में
    • ब्लॉग
      • Google कोर अपडेट जनवरी 2020
      • अपनी वेबसाइट के लिए सामग्री का चुनाव कैसे करें विज्ञापन पत्रक
      • इंटरनेट पर वेबसाइटों के बारे में सबसे कष्टप्रद बातें
      • एक प्रवेश स्तर की गेमिंग मशीन का निर्माण
      • ऑनलाइन घोटाले को रोकना
      • गिग इकॉनमी के स्किमर्स
      • मुफ्त वेक्टर ग्राफिक्स के लिए शीर्ष 5 वेबसाइटें
      • गर्म मिर्च इंटरनेट बंद
    • करियर
      • अनुवादक अंग्रेज़ी-जापानी
      • अनुवादक अंग्रेज़ी-तुर्की
      • अनुवादक अंग्रेज़ी-पुर्तगाली
      • अनुवादक अंग्रेज़ी-स्पेनिश
    • टीम
      • अली अल अमीन
      • ऐसे हुरो
      • एड्रियन आनंदन
      • गेविन क्लेटन
      • चेस्टर कॉपरपॉट
      • सुनील कुमार
      • सूर्य मुक्कमल
      • साई गंगू
    • नियामक
    • पोर्टफोलियो
č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)

ASP.NET से Google अनुवाद को कॉल करना

पूर्वाभ्यास: अपने कोड के पीछे से लंबे दस्तावेज़ों के लिए POST का उपयोग करके ASP.NET से Google अनुवाद को कॉल करना।

If you want to run through this walkthrough, please follow the guide on setting up our test environment.

Experience Level - Intermediate

परिचय

Google अनुवाद एपीआई काफी जटिल अनुवाद करने के लिए अच्छा है, और जबकि यह सही नहीं है, यह कम से कम आपके पाठकों को एक बुनियादी समझ देगा कि आप क्या बताने की कोशिश कर रहे हैं।

जबकि दस्तावेज़ यह समझाने में बहुत अच्छा है कि जब आप जावा स्क्रिप्ट का उपयोग करते हैं तो क्या होता है जो लगभग 500 वर्णों का अनुवाद कर सकता है, जब आपको बड़े दस्तावेज़ों का अनुवाद करने की आवश्यकता होती है तो बहुत कम होता है।

POST का उपयोग करते समय आप इसे 5000 वर्णों तक बढ़ा सकते हैं, इसलिए हमने Google API को एक पोस्ट अनुरोध भेजने और फिर अनुवाद प्राप्त करने के लिए अपना कोड विकसित किया।

पहला कदम, हमें अपने App_Code फ़ोल्डर में एक वर्ग जोड़ने और इसे अनुवाद करने की आवश्यकता है, बिल्ड एक्शन को कंपाइल करने के लिए सेट करने के लिए वॉकथ्रू के साथ याद रखें।

दस्तावेज़ीकरण देखें: Google अनुवाद API कोड देखें

VB

Imports System.IOImports System.NetImports System.Web.Script.SerializationPublic Class Translate    Shared Function GetTranslation(ByVal key As String, ByVal source As String, ByVal target As String, ByVal Text As String) As String        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12        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 ReqStr As Stream = Req.GetRequestStream()            Dim encoding As New UTF8Encoding()            Dim bytes As Byte() = encoding.GetBytes(Text)            ReqStr.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 FunctionEnd Class

Add a page

Within the Pages Section, Add a new page called GoogleTranslate, and then the HTML and code below.

HTML

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <script>        function UpdateHiddenField(el, id) {            nextElSibling(el).value = el.innerHTML;        }        function nextElSibling(el) {            if (el.nextSibling)                do { el = el.nextSibling } while (el && el.nodeType !== 1);            return el;        }    </script></head><body>    <form id="form1" runat="server">        <div style="max-width:1000px;margin:auto;">              <div style="clear:both;">                <asp:Label ID="KeyLabel" runat="server" AssociatedControlID="LgTo" Text="API Key"></asp:Label>                <asp:TextBox ID="KeyValue" runat="server"></asp:TextBox>            </div>            <div style="float:left;width:50%;background-color:#ddd;">                <div>                <asp:Label ID="LgFromLabel" runat="server" AssociatedControlID="LgFrom" Text="From"></asp:Label>                <asp:DropDownList runat="server" ID="LgFrom">                    <asp:ListItem Text="English" Value="en"></asp:ListItem>                    <asp:ListItem Text="Français" Value="fr"></asp:ListItem>                    <asp:ListItem Text="Deutsch" Value="de"></asp:ListItem>                </asp:DropDownList>                </div>                <div style="min-height:400px;border:1px solid #ccc;" contenteditable="true" onkeyup="UpdateHiddenField(this)" id="ContentTextInput" runat="server"></div>                <asp:HiddenField ID="ContentText" runat="server"/>            </div>            <div style="float:left;width:50%;background-color:#ccc;">                <div>                <asp:Label ID="LgToLabel" runat="server" AssociatedControlID="LgTo" Text="To"></asp:Label>                <asp:DropDownList runat="server" ID="LgTo">                    <asp:ListItem Text="English" Value="en"></asp:ListItem>                    <asp:ListItem Text="Français" Value="fr"></asp:ListItem>                    <asp:ListItem Text="Deutsch" Value="de" Selected="True"></asp:ListItem>                </asp:DropDownList>                </div>                <div style="min-height:400px;border:1px solid #bbb;" runat="server" id="ContentTrans"></div>            </div>             <div style="clear:both;text-align:center;">                <asp:Button runat="server" ID="Translation" Text="Translate"/>            </div>        </div>    </form></body></html>

VB

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load    End Sub    Protected Sub GetTranslation_Click(sender As Object, e As EventArgs) Handles Translation.Click        Dim Key As String = "Your Key"        Dim source As String = LgTo.SelectedItem.Text.ToString        Dim target As String = LgFrom.SelectedItem.Text.ToString        Dim PageText As String = HttpUtility.HtmlDecode(ContentText.InnerHtml)        Try            ContentTrans.InnerHtml = HttpUtility.HtmlDecode(Translate.GetTranslation(Key, source, target, PageText))        Catch        End Try    End Sub

यह क्या करता है

फ़ंक्शन के लिए चार इनपुट की आवश्यकता होती है, ये आपकी कुंजी, भाषा से, भाषा से और वह पाठ हैं जिसका आप अनुवाद करना चाहते हैं।

फिर हम एक रिटर्न स्ट्रिंग घोषित करते हैं, एक अनुरोध URL स्ट्रिंग बनाते हैं जिसे जल्दी से एक नए वेब अनुरोध (Req) में पार्स किया जाता है।

फिर हम अनुरोध प्रकार, सामग्री प्रकार सेट करते हैं, और सबसे महत्वपूर्ण रूप से प्राप्त विधि को ओवरराइड करने के लिए एक शीर्षलेख जोड़ते हैं।

एक बार यह हो जाने के बाद, हम डेटा को एक स्ट्रीम के रूप में Google (ReqStr) को भेजते हैं।

अब हम Google से लौटे JSON को होल्ड करने के लिए एक रिटर्न स्ट्रिंग (ReturnStr) घोषित करते हैं, और उसमें प्रतिक्रिया स्ट्रिंग पढ़ते हैं।

अगला कदम एक JavaScriptSerializer बना रहा है, यह बिट शायद सबसे अधिक भ्रमित करने वाला था, क्योंकि यह उस समय मेरे विकास कौशल का सबसे कमजोर क्षेत्र था। यह अंतिम खंड जो करता है वह पाठ के प्रत्येक खंड को तब तक खींचता है जब तक कि वह उस क्षेत्र तक नहीं पहुंच जाता है, और हमारे रिटर्न टेक्स्ट को Google द्वारा लौटाए गए मान के रूप में सेट करता है। यह दुनिया का सबसे विस्तृत कोड नहीं हो सकता है, इसलिए यदि आप इसे ठीक करने का कोई तरीका निकालते हैं तो मुझे बताएं।

उदाहरण दूसरे को डीआईवी सामग्री को पॉप्युलेट करता है। कृपया डबल डिकोडिंग (संपादक और Google से) पर ध्यान दें, और इसमें दो टेक्स्ट बॉक्स हैं जो भाषा को और से दर्शाते हैं।

लेखक

मददगार?

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

Registered in England and Wales 08985867

RSSLoginLink हमसे-संपर्क-करेंकूकी नीतिसाइटमैप

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
इस साइट की सेटिंग्स सभी कुकीज़ को अनुमति देने के लिए सेट हैं इन्हें हमारी कुकी नीति और सेटिंग पृष्ठ पर बदला जा सकता है। इस साइट का उपयोग जारी रखने के द्वारा आप कुकीज़ के उपयोग से सहमत हैं।
Ousia Logo
Logout
Ousia CMS Loader