رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

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


پست های پیشنهاد شده

باسلام.

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

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]

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

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

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

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

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

مرسی واقعا

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

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

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 هفته بعد...

سلام

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

لطفا جواب بده

ممنونم

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

سلام

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

لطفا جواب بده

ممنونم

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

اگه داری.

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

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

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

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

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

ممنونم

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

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

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

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

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

در کل ممنونم

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 7 ماه بعد...

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

با وب سرویس گوگل هم امتحان کردم 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  انجام دادم ولی باز نمیشه یکی از این دو خطا رو میده

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 ماه بعد...
  • 3 ماه بعد...

مایکرو سافت رو من تستکردم که محدودیت  داره

آموزش تصویری  ساخت مترجم آنلاین

http://www.aparat.com/v/zkPjO

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...