إنشاء تطبيق ويب مع الترجمة المقدمة من قبل مترجم Microsoft.
إنشاء تطبيق ويب مع الترجمة المقدمة من قبل مترجم Microsoft.
في هذه الإرشادات التفصيلية ، ستتعلم كيفيه إنشاء تطبيق ويب يستخدم Microsoft مترجم API لترجمه النص الذي تم إدخاله من قبل المستخدم. ستقوم بإنشاء الصفحة باستخدام ASP.NET والحرة Visual Studio Express 2012 للويب. إذا كان لديك بالفعل تثبيت Visual Studio ، ستظل قادرا علي متابعه البرنامج التعليمي ، فقط تخطي الخطوة 1.
قبل البدء ، ستحتاج إلى التسجيل للحصول علي API مترجم Microsoft في Azure. هناك عدد من العروض المختلفة ، بما في ذلك واحده مجانية ، ويمكنك ان تري كيفيه الاشتراك في الخدمة المجانية ، وتسجيل التطبيق الخاص بك والحصول علي بيانات الاعتماد الخاصة بك هنا:
http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx
سيتم استخدام معرف العميل وسر العميل الذي تقوم بإنشاءه هنا في الخطوة 4 ، لذا احتفظ بملاحظه منها.
الخطوة الاولي. الحصول علي Visual Studio Express 2012 للويب.
أفضل طريقه للبدء هي زيارة http://www.asp.net/downloads وحدد الزر "تثبيت الآن" في قسم "الحصول علي كل شيء مع تثبيت بسيط واحد".
سيؤدي هذا إلى تشغيل "مثبت النظام الأساسي للويب" الذي سيقوم بتثبيت Visual Studio و ASP.NET و MVC ومجموعه كامله من الأشياء الأخرى التي يمكنك استخدامها لإنشاء مواقع ويب.
الخطوة الثانية إنشاء تطبيق ويب
تشغيل Visual Studio ومن القائمة ملف ، حدد "مشروع جديد". ستشاهد مربع حوار يحتوي علي قائمه بالمشاريع المختلفة المتاحة لك لإنشاء مواقع ويب باستخدام. حدد ' Visual c # ' علي الجانب الأيمن ، ثم حدد ' تطبيق نماذج ويب ASP.NET ' من القائمة.
امنح تطبيق الويب الخاص بك اسما ، مثل "مترجم" ، واضغط علي "OK". سيقوم Visual Studio الآن بإنشاء كل شيء تحتاجه لإنشاء تطبيق ويب وتشغيله. اضغط F5 لبناء وتشغيل التطبيق وستري شيئا من هذا القبيل:
الخطوة الثالثة إنشاء واجهه المستخدم لترجمه النص
في هذا القسم ، ستقوم باضافه عناصر تحكم إلى الموقع تسمح للمستخدمين النهائيين بكتابه بعض النصوص ، والضغط علي زر الترجمة ، ثم الاطلاع علي ترجمه النص الذي ادخلواه. هذا النوع من الوظائف مفيد للتفاعل مع العملاء عند التحدث بلغات مختلفه ، علي سبيل المثال.
من مستكشف الحلول ، ابحث عن الصفحة ' حول .aspx '. فتحه في المصمم ، وستري شيئا من هذا القبيل:
Delete the 3 <p> tags that say ‘Use this area to provide additional information’, and replace with some controls to provide a basic translation UI, like this:
لراحتك ، اليك مصدر هذه الصفحة:
<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="Translator.About" %> <asp: المحتوي Runat= "الخادم" معرف= "محتوي الجسم" كونتينشولهولديريد= "maincontent"> <هجروب فئه= "العنوان"> <h1><%العنوان: %>.</h1> <h2>صفحه وصف التطبيق الخاص بك.</h2> </هجروب> <الماده> ادخل النص الذي ترغب في ترجمته:<فرع /> <asp: مربع نص معرف= "TextBox1" Runat= "الخادم" ارتفاع= "25px" عرض= "342px"></asp: مربع نص> <asp: زر معرف= "Button1" Runat= "الخادم" ارتفاع= "37px" Onclick= "Button1_Click" نص= "ترجمه" /> <فرع /> النص المترجم هو:<فرع /> <asp: قيمه حرفيه معرف= "Literal1" Runat= "الخادم"></asp: قيمه حرفيه> </الماده> <جانبا> <h3>العنوان جانبا</h3> <ف> استخدم هذه المنطقة لتوفير معلومات اضافيه. </ف> <ماي> <لي><علي Runat= "الخادم" Href="~/">منزل</علي></لي> <لي><علي Runat= "الخادم" Href= "~/حول.aspx">عن</علي></لي> <لي><علي Runat= "الخادم" Href= "~/contact.aspx">جهة الاتصال</علي></لي> </ماي> </جانبا> </asp: المحتوي>
لاحظ انه في المصمم يجب النقر نقرا مزدوجا فوق الزر لإنشاء رمز "Button1_Click". ستكتب هذا الرمز في الخطوة التالية.
الخطوة الرابعة كتابه التعليمات البرمجية لترجمه نص المستخدم
في المقطع السابق ، قمت بإنشاء واجهه مستخدم أساسيه لترجمه النص. فانه يسمح للمستخدم لكتابه بعض النص ، واضغط علي زر. في هذا القسم ، ستكتب الرمز خلف هذا الزر الذي سيترجم النص المطلوب للمستخدم إلى اللغة الاسبانيه ، سيجعله علي الصفحة.
أولا ، ستحتاج إلى أضافه فئة جديده إلى الحل الخاص بك. نسميها الطبيب الخاص وإعطاءها التعليمه البرمجية التالية:
استخدام نظام استخدام مجموعات النظام. عام; استخدام نظام. Linq; استخدام شبكه الإنترنت; مساحه الاسم Translator { العامه فئه أدم أكسستوكين { العامه سلسله access_token { get; set; } العامه سلسله token_type { get; set; } العامه سلسله expires_in { get; set; } العامه سلسله scope { get; set; } } }
لاحظ ان أسماء السلاسل 4 يجب ان تتطابق مع ما هو هنا بالبالضبط ، أو سوف تحصل علي أخطاء في التعليمات البرمجية الخاصة بك لاحقا.
التالي ، داخل Visual Studio ، في "مستكشف الحلول" ، انقر بزر الماوس الأيمن علي المجلد "المراجع" وحدد "أضافه مرجع". استخدم مربع الحوار هذا الذي يلي لأضافه مراجع إلى
– النظام. وقت التشغيل. التسلسل
– النظام.
-النظام الكتروني.
في اعلي التعليمات البرمجية ل About.aspx.cs ، ستري عددا من عبارات "الاستخدام". أضافه باستخدام النظام .xml إلى هذه ، بحيث يبدو مثل هذا:
استخدام نظام استخدام مجموعات النظام. عام; استخدام نظام. Linq; استخدام شبكه الإنترنت; استخدام النظام. واجهه المستخدم; استخدام النظام. ويب. واجهه المستخدم; استخدام النظام. Xml. Linq; مساحه الاسم Translator { العامه الجزئي فئه About : Page { المحميه الفراغ page_load (الكائن المرسل، EventArgs ه) { } المحميه الفراغ Button1_Click (الكائن المرسل، EventArgs ه) { } } }
ستري ان رمز Button1_Click فارغ. أضافه التعليمه البرمجية التالية اليه. ستحصل هذه التعليمه البرمجية علي رمز الوصول الخاص بك لخدمه المترجم ، باستخدام معرف العميل وسر العميل الذي قمت بإنشاءه في وقت سابق.
سلسله clientid = "<Your ClientID>"; سلسله كليسسر = "<Your Client Secret>"; سترترانسلاتوراكسيسوري السلسلة = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13"; سلسله ستريريكوريتفلينج = سلسله. تنسيق"grant_type=client_credentials&client_id={0}&client_secret={1} &scope=http://api.microsofttranslator.com"، الليونة. urlencode (clientid) ، الليونة. urlencode (كلينتيسر)) ؛ النظام .net webrequest ويب طلب = النظام .net. webrequest. إنشاء (سترترانسلاتوراكسيسوري); webrequest. نوع = "التطبيق/x-www-نموذج-اورلينكودي"; webrequest. أسلوب = وظيفة; بايت[] وحدات البايت = النظام. نص. ترميز ASCII. getbytes (ستريريكوريدينج); webrequest. كونتيبلينجال = بايت. طول استخدام (System.IO.Stream outputStream = webRequest.GetRequestStream()) { outputStream.Write(bytes, 0, bytes.Length); } System.Net.WebResponse webResponse = webRequest.GetResponse(); System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = الجديد النظام. وقت التشغيل. إنشاء تسلسل.Typeof() ؛ الرمز المميز admaccesstoken = (ادمساكسيستكين) المسلسل. readobject (webresponse. جيبتاجيسيتريم ()); سلسله القيمة الراسية = حامل + access_token;
هذا الرمز يشكل POST إلى خدمه سوق البيانات ، وتمرير الهوية الخاصة بك وسريه والحصول علي كائن JSON مره أخرى. ثم إلغاء تسلسل هذا الكائن إلى admaccesstoken. ثم يمكنك اشتقاق الaccess_token من هذا.
ثم يتم أضافه هذا الرمز المميز إلى سلسله ، مسبقا مع "حامل" (لا ننسي المسافة) لإنشاء قيمه راس التي سيتم إرسالها إلى خدمه المترجم.
ثم استدعاء خدمه المترجم مع هذا headervalue ، وتمرير النص الخاص بالمستخدم ، عليك استخدام رمز مثل هذا:
سلسله txttotranslate = TextBox1; سلسله uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + نظام الشبكة. اورلينكودي (txttotranslate) + "ومن = en & إلى = es"; النظام .net. webrequest ترانسكاتيبيونطلب = النظام .net. webrequest. إنشاء (uri); الرؤوس. أضافه (اذن، headervalue) ؛ استجابه النظام .net. فارغه; استجابه = ترانسكاتيونwebrequest. getresponse استجابه (); دفق النظام .io = الاستجابة. جيتوريسيسيريم (); ترميز تشفير = النظام. الترميز النصي. getencoding ("utf-8"); ترانسلاتيدستريم النظام. الجديد نظام. IO. ستريريدر (تيار ، ترميز) ؛ الترجمة المستندة إلى النظام. الجديد النظام. Xml. xmldocument () ؛ xtranslation. loadxml (ترانسلاتيدستريم ()); Literal1 = اكسترانسالنص.
تم استدعاء مربع النص ' TextBox1 ' بحيث يمكن اشتقاق النص الذي كتبه المستخدم ببساطه من ذلك. بعد ذلك ، يتم إنشاء URI إلى خدمه HTTP المترجم ، والنص نفسه هو اورلينكودي وأضافها إلى URI.
لاحظ انه يتم استخدام اللغة ' en ' ل ' من ' (اي ، افترض انك تكتب باللغة الانجليزيه) ، و ' es ' يستخدم ل ' إلى ' (اي انه سيترجم إلى الاسبانيه). القائمة الكاملة لهذه الرموز للغات المعتمدة هنا: http://msdn.microsoft.com/en-us/library/hh456380.aspx
ترجع خدمه المترجم xml ، التالي فان التعليمات البرمجية تستدعي الخدمة ، ويحصل علي الاستجابة ك xml ومن ثم يقوم بفكها في نص. ثم يقوم بتحميل النتيجة في القيمة الحرفية التي قمت بإنشاءها علي حول. aspx يسمي Literal1.
يمكنك ان تري ذلك في العمل هنا:
وهذا هو! لقد قمت الآن باستخدام API مترجم Microsoft لأضافه ترجمه الجهاز إلى تطبيق ASP.NET الخاص بك.
موجز
في هذه الإرشادات التفصيلية ، رايت كيفيه إنشاء تطبيق ويب باستخدام ASP.NET وكيفيه أضافه ترجمه اليه اليه. استخدمت "القطعة مترجم microsoft" لتوفير ترجمه محتوي الصفحة الخاصة بك ، ورايت كيفيه برمجه API مترجم microsoft باستخدام c # لترجمه المحتوي الذي تم إنشاؤه من قبل المستخدم.