しばらくの間グーグルで翻訳してきましたが、PHPでグーグル翻訳を使用して翻訳する最良の方法は、URLを変換する方法やJsを使用する方法が非常に異なることを発見しましたが、php(または非常に単純なソリューションJS/JQUery)でのみ実行したいと思います
例:
//hopefully with $from_lan and $to_lan being like 'en','de', .. or similar
function translate($from_lan, $to_lan, $text){
// do
return $translated_text;
}
手がかりをくれませんか。または多分あなたはすでにこの機能を持っています。
私の意図は、私がまだ定義していない言語(または私が定義していないキー)にのみ使用することです。そのため、私はそれをとてもシンプルにしたいのですが、一時的なものになります。
編集
あなたの返事に感謝します私たちは今この魂を試しています:
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;
}
(langの変数に余分な「g」がありました...とにかく)
それは戻ります:今動作します:)
私はその機能をあまり理解していないので、なぜオブジェクトを受け入れないのか考えてみてください。 (今私がやります)
または:
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;
}
これは見栄えが良いですが、エラーは発生せず、ページが読み込まれません(error_report(1):S)
前もって感謝します!
私はまだこれをテストしていませんが、試してみてください:
function translate($from_lan, $to_lan, $text){
$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;
}
編集:修正、テスト、動作します。
私はこれに対する新しい解決策を持っています。最後の解決策は新しいバージョンを必要とし、いくつかは他の問題をフェッチしたからです。
$text = 'Test new message only.';
$apiKey = '<past your google api key here>';
$url = 'https://www.googleapis.com/language/translate/v2?key=' . $apiKey . '&q=' . rawurlencode($text) . '&source=en&target=fr';
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handle);
$responseDecoded = json_decode($response, true);
curl_close($handle);
print_r($responseDecoded['data']['translations'][0]['translatedText']);
die;
//expected output
Testez le nouveau message uniquement.
PHPで非常に役立つことを願っています