استفاده از api گوگل در ترجمه خودکار
با سلام
من قصد داشتم با api گوگل ترنسلیت یه سری رشته ها و آرایه هارو فارسی کنم ، اما متاسفانه api رو که به اسکریپت معرفی میکنم ارور 400 میده.
ممنون میشم اگه کسی تجربه ای توی این زمینه داره کمک کنه.
کد PHP:
https://www.googleapis.com/language/translate/v2/languages?key=AIzaSyDKZz_HvBAktbD-x5R6iGMaaE_vxWcWxwc
- - - Updated - - -
درصورتی که کسی راه دیگه برای ترجمه خودکار داره لطفا بگه
پاسخ : استفاده از api گوگل در ترجمه خودکار
با سلام
دوست عزیز مقدار بازگشتی یک آرایه ی جیسان هست که تو قسمت "message" هم دلیل ارور رو نوشته که میگه api که از طریق مقدار key در url ارسال کردین صحیح نیست برای حل این مشکل هم باید api مخصوص خودتون از گوگل دریافت کنید و در پارامتر key در url وارد کنید.
در صورت نیاز میتونین به تلگرام پیام بدین تا این کار رو به صورت کاملا حرفه ای براتون انجام بدیم.
پاسخ : استفاده از api گوگل در ترجمه خودکار
نقل قول:
نوشته اصلی توسط
one3ervernahdi
با سلام
دوست عزیز مقدار بازگشتی یک آرایه ی جیسان هست که تو قسمت "message" هم دلیل ارور رو نوشته که میگه api که از طریق مقدار key در url ارسال کردین صحیح نیست برای حل این مشکل هم باید api مخصوص خودتون از گوگل دریافت کنید و در پارامتر key در url وارد کنید.
در صورت نیاز میتونین به تلگرام پیام بدین تا این کار رو به صورت کاملا حرفه ای براتون انجام بدیم.
متوجه دلیل موضوع شدم ، بنده api رو از گوگل گرفتم ولی مثل اینکه api گوگل جدیدا پریمیوم شده.
اگه سایت دیگه ای میشناسید لطفا به صورت کاملا حرفه ای معرفی کنید.
پاسخ : استفاده از api گوگل در ترجمه خودکار
من وب سایت دیگه ای در زمینه ی ترجمه ی آنلاین که api ارائه بده سراغ ندارم ولی اگه مشکل پرمیوم بودن api باشه ارور دیگه ای میده و اینکه گوگل و سرویس های شبه گوگل هیچ وقت نمیان اینجور سرویس هارو کاملا پولی کنن و معمولا تا یه سقفی به صورت رایگان ارائه میدن
پاسخ : استفاده از api گوگل در ترجمه خودکار
نقل قول:
نوشته اصلی توسط
one3ervernahdi
من وب سایت دیگه ای در زمینه ی ترجمه ی آنلاین که api ارائه بده سراغ ندارم ولی اگه مشکل پرمیوم بودن api باشه ارور دیگه ای میده و اینکه گوگل و سرویس های شبه گوگل هیچ وقت نمیان اینجور سرویس هارو کاملا پولی کنن و معمولا تا یه سقفی به صورت رایگان ارائه میدن
لطفا وقتی اطمینان ندارید با اطمینان صحبت نکنید و اگه اطمینان دارید با مدرک نشون بدید تا ما هم استفاده کنیم ، ممنونم
پاسخ : استفاده از api گوگل در ترجمه خودکار
نقل قول:
نوشته اصلی توسط
reza98
لطفا وقتی اطمینان ندارید با اطمینان صحبت نکنید و اگه اطمینان دارید با مدرک نشون بدید تا ما هم استفاده کنیم ، ممنونم
منظورتون از مدرک چی هست؟
اگه مشکل پرمیوم بودن باشه که نمیگه api اشتباهه از این بابت 100 درصد مطمئنم درمورد رایگان بودنم من از api نقشه گوگل زیاد استفاده کردم و تا یه تعداد بازدید رو رایگان میده.
ضمنا الان چک کردم و گوگل هم 300 دلار معادل یکسال به صورت رایگان اعتبار میده به api ترجمه
پاسخ : استفاده از api گوگل در ترجمه خودکار
کد PHP:
<?php
/*
$source = 'en';
$target = 'fa';
$text = 'Hi , this is sample test by rezaonline.net';
$trans = new GoogleTranslate();
$result = $trans->translate($source, $target, $text);
echo "<meta charset=utf-8><pre dir=rtl>";
echo $result;
*/
/**
* GoogleTranslate.class.php
*
* Class to talk with Google Translator for free.
*
* @package PHP Google Translate Free;
* @category Translation
* @author Adrián Barrio Andrés
* @author Paris N. Baltazar Salguero <sieg.sb@gmail.com>
* @copyright 2016 Adrián Barrio Andrés
* @license https://opensource.org/licenses/GPL-3.0 GNU General Public License 3.0
* @version 2.0
* @link https://statickidz.com/
*/
/**
* Main class GoogleTranslate
*
* @package GoogleTranslate
*
*/
class GoogleTranslate
{
/**
* Retrieves the translation of a text
*
* @param string $source
* Original language of the text on notation xx. For example: es, en, it, fr...
* @param string $target
* Language to which you want to translate the text in format xx. For example: es, en, it, fr...
* @param string $text
* Text that you want to translate
*
* @return string a simple string with the translation of the text in the target language
*/
public static function translate($source, $target, $text)
{
// Request translation
$response = self::requestTranslation($source, $target, $text);
// Get translation text
// $response = self::getStringBetween("onmouseout=\"this.style.backgroundColor='#fff'\">", "</span></div>", strval($response));
// Clean translation
$translation = self::getSentencesFromJSON($response);
return $translation;
}
/**
* Internal function to make the request to the translator service
*
* @internal
*
* @param string $source
* Original language taken from the 'translate' function
* @param string $target
* Target language taken from the ' translate' function
* @param string $text
* Text to translate taken from the 'translate' function
*
* @return object[] The response of the translation service in JSON format
*/
protected static function requestTranslation($source, $target, $text)
{
// Google translate URL
$url = "https://translate.google.com/translate_a/single?client=at&dt=t&dt=ld&dt=qca&dt=rm&dt=bd&dj=1&hl=es-ES&ie=UTF-8&oe=UTF-8&inputm=2&otf=2&iid=1dd3b944-fa62-4b55-b330-74909a99969e";
$fields = array(
'sl' => urlencode($source),
'tl' => urlencode($target),
'q' => urlencode($text)
);
if(strlen($fields['q'])>=5000)
throw new \Exception("Maximum number of characters exceeded: 5000");
// URL-ify the data for the POST
$fields_string = "";
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string, '&');
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'AndroidTranslate/5.3.0.RC02.130475354-53000263 5.1 phone TRANSLATE_OPM5_TEST_1');
// Execute post
$result = curl_exec($ch);
// Close connection
curl_close($ch);
return $result;
}
/**
* Dump of the JSON's response in an array
*
* @param string $json
* The JSON object returned by the request function
*
* @return string A single string with the translation
*/
protected static function getSentencesFromJSON($json)
{
$sentencesArray = json_decode($json, true);
$sentences = "";
foreach ($sentencesArray["sentences"] as $s) {
$sentences .= isset($s["trans"]) ? $s["trans"] : '';
}
return $sentences;
}
}
روش استفاده
کد PHP:
$source = 'en';
$target = 'fa';
$text = 'Hi , this is sample test by rezaonline.net';
$trans = new GoogleTranslate();
$result = $trans->translate($source, $target, $text);
echo "<meta charset=utf-8><pre dir=rtl>";
echo $result;
پاسخ : استفاده از api گوگل در ترجمه خودکار
نقل قول:
نوشته اصلی توسط
rezaonline.net
کد PHP:
<?php
/*
$source = 'en';
$target = 'fa';
$text = 'Hi , this is sample test by rezaonline.net';
$trans = new GoogleTranslate();
$result = $trans->translate($source, $target, $text);
echo "<meta charset=utf-8><pre dir=rtl>";
echo $result;
*/
/**
* GoogleTranslate.class.php
*
* Class to talk with Google Translator for free.
*
* @package PHP Google Translate Free;
* @category Translation
* @author Adrián Barrio Andrés
* @author Paris N. Baltazar Salguero <sieg.sb@gmail.com>
* @copyright 2016 Adrián Barrio Andrés
* @license https://opensource.org/licenses/GPL-3.0 GNU General Public License 3.0
* @version 2.0
* @link https://statickidz.com/
*/
/**
* Main class GoogleTranslate
*
* @package GoogleTranslate
*
*/
class GoogleTranslate
{
/**
* Retrieves the translation of a text
*
* @param string $source
* Original language of the text on notation xx. For example: es, en, it, fr...
* @param string $target
* Language to which you want to translate the text in format xx. For example: es, en, it, fr...
* @param string $text
* Text that you want to translate
*
* @return string a simple string with the translation of the text in the target language
*/
public static function translate($source, $target, $text)
{
// Request translation
$response = self::requestTranslation($source, $target, $text);
// Get translation text
// $response = self::getStringBetween("onmouseout=\"this.style.backgroundColor='#fff'\">", "</span></div>", strval($response));
// Clean translation
$translation = self::getSentencesFromJSON($response);
return $translation;
}
/**
* Internal function to make the request to the translator service
*
* @internal
*
* @param string $source
* Original language taken from the 'translate' function
* @param string $target
* Target language taken from the ' translate' function
* @param string $text
* Text to translate taken from the 'translate' function
*
* @return object[] The response of the translation service in JSON format
*/
protected static function requestTranslation($source, $target, $text)
{
// Google translate URL
$url = "https://translate.google.com/translate_a/single?client=at&dt=t&dt=ld&dt=qca&dt=rm&dt=bd&dj=1&hl=es-ES&ie=UTF-8&oe=UTF-8&inputm=2&otf=2&iid=1dd3b944-fa62-4b55-b330-74909a99969e";
$fields = array(
'sl' => urlencode($source),
'tl' => urlencode($target),
'q' => urlencode($text)
);
if(strlen($fields['q'])>=5000)
throw new \Exception("Maximum number of characters exceeded: 5000");
// URL-ify the data for the POST
$fields_string = "";
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string, '&');
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'AndroidTranslate/5.3.0.RC02.130475354-53000263 5.1 phone TRANSLATE_OPM5_TEST_1');
// Execute post
$result = curl_exec($ch);
// Close connection
curl_close($ch);
return $result;
}
/**
* Dump of the JSON's response in an array
*
* @param string $json
* The JSON object returned by the request function
*
* @return string A single string with the translation
*/
protected static function getSentencesFromJSON($json)
{
$sentencesArray = json_decode($json, true);
$sentences = "";
foreach ($sentencesArray["sentences"] as $s) {
$sentences .= isset($s["trans"]) ? $s["trans"] : '';
}
return $sentences;
}
}
روش استفاده
کد PHP:
$source = 'en';
$target = 'fa';
$text = 'Hi , this is sample test by rezaonline.net';
$trans = new GoogleTranslate();
$result = $trans->translate($source, $target, $text);
echo "<meta charset=utf-8><pre dir=rtl>";
echo $result;
کمک خیلی بزرگی کردید ، ممنونم از لطفتون
پاسخ : استفاده از api گوگل در ترجمه خودکار
سایت یاندکس api میده برای ترجمه به صورت رایگان . مثل گوگل هم هست .
پاسخ : استفاده از api گوگل در ترجمه خودکار
نقل قول:
نوشته اصلی توسط
hoka
سایت یاندکس api میده برای ترجمه به صورت رایگان . مثل گوگل هم هست .
یاندکس ترنسلیت *****ه !!!