Majid Ebrahimi

استفاده از سرویس ترجمه آنلاین مایکروسافت در جاوا

15 ارسال در این موضوع قرار دارد

باسلام.

ابتدا به این بخش از سایت مایکروسافت بروید.

https://azure.microsoft.com/en-us/marketplace/?source=datamarket

اگر اکانت ندارید اینجا را کلیک کنید و ثبت نام را انجام دهید.

https://signup.live.com/signup.aspx?sf=1&id=38936&ru=https://account.live.com/summarypage.aspx%3fpage%3ddefault.srf%26id%3d10%26vv%3d1400%26mkt%3dEN-US%26lc%3d1033%26MSPPError%3d-2147217396&tw=0&fs=0&kv=0&cb=&cbcxt=&wp=SAPI&wa=wsignin1.0&wreply=https://account.live.com/summarypage.aspx%3fpage%3ddefault.srf%26id%3d10%26vv%3d1400%26mkt%3dEN-US%26lc%3d1033%26MSPPError%3d-2147217396&bk=1362355745&uiflavor=web&mkt=EN-US&lc=1033&lic=1

سپس به صفحه ثبت مترجم بینگ بروید و پنل اول را که رایگان است انتخاب کنید.

https://datamarket.azure.com/dataset/1899a118-d202-492c-aa16-ba21c33c06cb

اگر به اکانتتان برگردید در قسمت مای دیتا مشخصات سرویسی که انتخاب کرده اید را خواهید دید.

https://datamarket.azure.com/account/datasets

سپس به صفحه ثبت برنامه تان بروید و اطلاعت مورد نیاز تکمیل کرده و ثبت کنید.توجه داشته باشید که دو مقدار Client secret و Client ID را به خاطر داشته باشید.

https://datamarket.azure.com/developer/applications/

چون به وسیله دو مقدار فوق هویت برنامه شما تایید می شود و البته نام پکیج برنامه تان.

به وسیله کد زیر می توانید فراخوانی سرویس ترجمه مایکروسافت را انجام دهید.

کد:

[shcode=java]

import java.io.InputStreamReader;

import java.net.URI;

import java.util.List;

import com.google.common.base.Charsets;

import com.google.common.collect.Lists;

import com.google.common.io.CharStreams;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

import org.apache.http.client.HttpClient;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.params.BasicHttpParams;

import org.apache.http.params.HttpConnectionParams;

import org.apache.http.params.HttpParams;

import org.json.simple.JSONObject;

/*

Thread safe singleton wrapper for Bing oauth token

*/

public class BingOauth {

private static final int oauthTimeout = 10000;

private static final String oauthEndpoint = "/v2/OAuth2-13/";

private static final String oauthServerName = "datamarket.accesscontrol.windows.net";

private static final String clientId = "-->YOUR_CLIENT_ID_HERE<--";

private static final String clientSecret = "-->YOUR_CLIENT_SECRET_HERE<--";

private static final String oauthScope = "http://api.microsofttranslator.com";

private static final String oauthGrantType = "client_credentials";

private static String oauthToken = null;

/**

* Thread safe lazy initializer for oauth token

*/

public static String getOauthToken() {

if (oauthToken == null) {

synchronized (BingOauth.class) {

if (oauthToken == null) {

oauthToken = processOauthToken();

}

}

}

return oauthToken;

}

private static String processOauthToken() {

String token = "";

try {

// Create request

final HttpParams httpParams = new BasicHttpParams();

HttpConnectionParams.setConnectionTimeout(httpParams, oauthTimeout);

HttpClient client = new DefaultHttpClient(httpParams);

HttpPost post = new HttpPost(getOauthUri());

post.setEntity(getOauthBody());

// Parse response

HttpResponse response = client.execute(post);

InputStreamReader reader = new InputStreamReader(response.getEntity().getContent(), Charsets.UTF_8);

String responseBody = CharStreams.toString(reader);

token = (new JSONObject(responseBody)).getString("access_token");

} catch (Exception e) {

System.out.println(String.format("Error processing oauth token:\n%s", e.toString()));

e.printStackTrace();

}

return token;

}

private static URI getOauthUri() throws Exception {

return new URI("https", oauthServerName, oauthEndpoint, null);

}

private static UrlEncodedFormEntity getOauthBody() throws Exception {

List nameValuePairs = Lists.newArrayListWithCapacity(4);

nameValuePairs.add(new BasicNameValuePair("client_id", clientId));

nameValuePairs.add(new BasicNameValuePair("client_secret", clientSecret));

nameValuePairs.add(new BasicNameValuePair("scope", oauthScope));

nameValuePairs.add(new BasicNameValuePair("grant_type", oauthGrantType));

return new UrlEncodedFormEntity(nameValuePairs);

}

}

[/shcode]

و یا می توانید به این صفحه رفته و api ساخته شده را دانلود و با استفاده از قطعه کد زیر آن را فراخوانی کنید.

https://code.google.com/p/microsoft-translator-java-api/

کد:

[shcode=java]

import com.memetix.mst.language.Language;

import com.memetix.mst.translate.Translate;

public class ExampleTranslation {

public static void main(String[] args) throws Exception {

//Replace client_id and client_secret with your own.

Translate.setClientId("CLIENT_ID_HERE");

Translate.setClientSecret("CLIENT_SECRET_HERE");

// Translate an english string to spanish

String englishString = "Hello World!";

String spanishTranslation = Translate.execute(englishString, Language.SPANISH);

System.out.println("Original english phrase: " + englishString);

System.out.println("Translated spanish phrase: " + spanishTranslation);

/*

OUTPUT:

Original english phrase: Hello World!

Translated spanish phrase: ¡Hola mundo!

*/

}

}

[/shcode]

امید واریم این آموزش نظر شما را جلب کند.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

فارسی هم ترجمه میکنه یا طبق معمول زبانهای دنیا به جز فارسی ؟؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

چرا فارسی هم ترجمه می کنه.

در گوگل کد که لینک ان را قرار داده ام لایبرری ای که ورژن پایین تری دارد را دانلود و اضافه کنید و جایی که می خواهید زبان را مشخص کنید فارسی را انتخاب کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مرسی واقعا

یه ایده برای ترجمه داشتم که فقط لنگ این بودم که متنه کامل چطوری ترجمه بشه !!

دعا کنید پیاده سازیش کنم

برنامه ی خوبی میشه ;)

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ایشالا بسازید و اینجا معرفی کنید.

التماس دعا

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

آقا تو بخش ثبت نام برای کلاینت آیدی و ... باید URL رو چی وارد کنم ؟؟

لطفا جواب بده

ممنونم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

آقا تو بخش ثبت نام برای کلاینت آیدی و ... باید URL رو چی وارد کنم ؟؟

لطفا جواب بده

ممنونم

آدرس سایت خودت

اگه داری.

اگه نداری هرچی زدی طوری نیس.چون مهم نیس

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من ثبت نام کردم

اما همچنان هیچ عملی برنامه انجام نمیده !!

لطفا خودتون یک بار تست کنید اگر درست شد به من خبر بدید !!

ممنونم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درسته.من خودم قبلن باهاش برنامه ساختم.احتمالا شما پکیج برنامه را ثبت نکردید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

لطف میکنید اگر پاسخ دهید

اما بازم فایده نداره چون 2 میلیون کاراکتر فقط به صورت رایگانه !

بقیه اش پولیه !!

باید از گوگل استفاده کنم که اونم با وجود تحریمها مشکله !!

در کل ممنونم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام اقای ابراهیمی خسته نباشید اون پستی که درباره ترجمه انلاین که  با ماکروسافت گذاشتید رو انجام دادم ولی نشد نمیدونم شاید پولی شده

با وب سرویس گوگل هم امتحان کردم https://code.google.com/archive/p/java-g.../downloads

باز خطا میده یکی از خطا هاش اینه

java.io.FileNotFoundException: http://translate.google.com.br/translate...sel=0&sc=1

و یه خطای دیگه که سرویس ماکروسافت میداد این بود

android.os.NetworkOnMainThreadException

من هر دو وب سرویس رو با کلاس AsyncTask  انجام دادم ولی باز نمیشه یکی از این دو خطا رو میده

ممنون میشم راهنمایی کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مرسی ممنونم عالی بود.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری