được google'ing một thời gian như thế nào là cách tốt nhất để dịch với google dịch trong PHP, tìm cách rất khác nhau chuyển đổi URL, hoặc sử dụng Js nhưng tôi muốn làm điều đó chỉ với php (hoặc với một giải pháp rất đơn giản JS/jQuery)
dụ:
//hopefully with $from_lan and $to_lan being like 'en','de', .. or similar
function translate($from_lan, $to_lan, $text){
// do
return $translated_text;
}
bạn có thể cho tôi một đầu mối? hoặc có thể bạn đã có chức năng này ..
ý định của tôi là sử dụng nó chỉ cho các ngôn ngữ tôi chưa xác định (hoặc các phím tôi chưa xác định), đó là lý do tại sao tôi rất đơn giản, ..
EDIT
nhờ trả lời của bạn bây giờ chúng tôi đang cố gắng soulutions này:
function auto_translate($from_lan, $to_lan, $text){
// do
$json = json_decode(file_get_contents('https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=' . urlencode($text) . '&langpair=' . $from_lan . '|' . $to_lan));
$translated_text = $json->responseData->translatedText;
return $translated_text;
}
(đã có một phụ 'g' trên var iables cho lang ... anyway)
nó sẽ trả về: Công việc bây giờ :)
tôi không thực sự hiểu nhiều chức năng, vì vậy bất kỳ ý tưởng tại sao không acepting đối tượng? (Bây giờ tôi làm)
OR:
function auto_translate($from_lan, $to_lan, $text){
// do
// $json = json_decode(file_get_contents('https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=' . urlencode($text) . '&langpair=' . $from_lan . '|' . $to_lan));
// $translated_text = $json['responseData']['translatedText'];
error_reporting(1);
require_once('GTranslate.php');
try{
$gt = new Gtranslate();
$translated_text = $gt->english_to_german($text);
} catch (GTranslateException $ge)
{
$translated_text= $ge->getMessage();
}
return $translated_text;
}
Và một điều này có vẻ tuyệt vời, nhưng nó thậm chí không mang lại cho tôi một lỗi, trang sẽ không tải (error_report (1): S)
cảm ơn trước!
json_decode trả về một đối tượng chứ không phải mảng. Vì vậy, bạn phải thực hiện '$ json-> responseData-> translateText' thay vì' $ json ['responseData'] ['translateText'] ', mà bây giờ tôi thấy rằng bạn nhận được dưới đây. – Phoenix