آموزش استفاده از مترجح گوگل بدون وب سرویس
در این مقاله قصد داریم در مورد نمونه کد PHP مترجم گوگل بدون API توضیح دهیم
امروزه اینترنت به دنیایی از اطلاعات بدل شده است که در مورد هر موضوعی میتوان در آن جستجو کرد. اما بهاحتمالزیاد اکثر مطالب به زبان انگلیسی و یا زبانهایی بهغیراز زبان فارسی هستند و شما به ترجمه انگلیسی به فارسی نیاز پیدا خواهید کرد. اینجاست که سرویس مترجم گوگل یا Google Translate قادر است گره از کار شما باز کند. این سرویس میتواند یک متن کوتاه و یا کل محتوای یک سایت را برای شما ترجمه کند. همچنین میتوانید محدودیتهای ایجادشده برای برخی سایتها مانند یوتیوب را دور بزنید.
کدی را که در اختیار شما قرار می دهیم با آن میتونید کار ترجمه متن و کلمه را در PHP با استفاده از موتور قدرتمند گوگل انجام دهید.
تفاوت این کد با کدهای رایج در این هست که شما نیازی به تهیه API از گوگل ندارید و بصورت رایگان میتوانید از سرویس ترجمه در پروژه های خودتان استفاده کنید.
با استفاده از این کد میتوانید عمل ترجمه متن را انجام دهید :
<?php
$text = "Hi ! Welcome To Blog.iranwebsv.net";
$source = 'en';
$target = 'fa';
$translation = GoogleTranslate::translate($source, $target, $text);
echo '<pre>';
print_r($translation);
echo '</pre>';
class GoogleTranslate
{
public static function translate($source, $target, $text) {
$response = self::requestTranslation($source, $target, $text);
$translation = self::getSentencesFromJSON($response);
return $translation;
}
protected static function requestTranslation($source, $target, $text) {
$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)
);
$fields_string = "";
foreach($fields as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string, '&');
$ch = curl_init();
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');
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
protected static function getSentencesFromJSON($json) {
$sentencesArray = json_decode($json, true);
$sentences = "";
foreach ($sentencesArray["sentences"] as $s) {
$sentences .= $s["trans"];
}
return $sentences;
}
}
?>
متغیر text متن دلخواهی که میخواهید ترجمه شود، در متغیر source کد زبان وارد شده (مثلا en) و در متغیر target کد زبانی که میخواهید به آن زبان ترجمه شود (مثلا fa) را وارد کنید .
در خروجی نیز متن ترجمه شده را میتوانید مشاهده کنید .
در این مطلب در مورد نمونه کد PHP مترجم گوگل بدون API توضیح دادیم در مطلب بعد وب سرویس های بیشتر را معرفی میکنیم