使用谷歌翻译 API 翻译 PHP $string
一直在谷歌搜索一段时间,在 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)
提前感谢!
been google'ing for a while how is the best way to translate with google translator in PHP, found very different ways converting URLS, or using Js but i want to do it only with php (or with a very simple solution JS/JQUery)
example:
//hopefully with $from_lan and $to_lan being like 'en','de', .. or similar
function translate($from_lan, $to_lan, $text){
// do
return $translated_text;
}
can you give me a clue? or maybe you already have this function..
my intention it's to use it only for the languages i have not already defined (or keys i haven't defined), that's why i wan it so simple, will be only temporal..
EDIT
thanks for your replies we are now trying this soulutions:
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;
}
(there was a extra 'g' on variables for lang... anyway)
it returns: works now :)
i don't really understand much the function, so any idea why is not acepting the object? (now i do)
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;
}
And this one looks great but it doesn't even gives me an error, the page won't load (error_report(1) :S)
thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我还没有测试过这个,但请尝试:
编辑:已修复,经过测试并且有效。
I haven't tested this yet, but try:
EDIT: Fixed, tested and works.
我对此有新的解决方案..因为最后一个解决方案需要新版本并且一些获取了其他问题。
我希望对 PHP 很有帮助
I have new solution for this.. Because last solution need new version and some fetched other issue.
I hope is very helpful in PHP
想要在 PHP 中使用 Google Translate API,您需要在您的 Composer 文件中插入“google/cloud-translate”和“google/apiclient”,在创建以下类的对象后运行 Composer update 并调用 Translate 方法:
Want to use Google Translate API in PHP, you would need to insert "google/cloud-translate" and "google/apiclient" in your composer file, run composer update and call translate method after creating an object of the following class:
使用 Google 翻译 API 翻译任何字符串
第 1 步: 进入控制台
第 2 步: 创建项目并打开
第 3 步: 在 API 库中搜索云翻译
步骤4:从显示的列表中单击云翻译API。
第 5 步: 启用 API
第 6 步: 从 API 和 API 创建 API 密钥服务
第 7 步:复制生成的 API 密钥:
现在,让我们转到使用 Google Translate API 的 PHP 脚本
我们正在使用 Translate-v2 API,接受以下主要参数:
q:输入文本
source:源语言
target:目标语言
或者,您也可以使用 Postman 执行此操作并生成curl代码:
Translate any string using Google translator API
Step 1: Go to console
Step 2: Create a project and open it
Step 3: Search cloud translation in API library
Step 4: Click on Cloud Translation API from the displayed list.
Step 5: Enable API
Step 6: Create API Key from APIs & Services
Step 7: Copy the generated API key:
Now, lets move to the PHP script for using Google Translate API
We are using Translate-v2 API, which accepts following primary parameters:
q: the input text
source: the source language
target: the target language
Alternatively, you can also do this using Postman and generate curl code:
要获取有效的示例,请查看安装附带的 README.md 文件
(运行
composer require google/cloud-translate
后)。该页面在搜索中排名第一,因此有必要提供更新。即使是 Google 自己的翻译文本(基本)PHP 示例也不起作用为我。
截至 2020 年,这通过网络浏览器查询字符串<返回快速结果/a>.
如果要将其部署为,请考虑清理用户输入某些前端应用程序或网站的一部分。
To get samples that work, view the README.md files that come with installation
(after running
composer require google/cloud-translate
).This page comes up number one in search, so it was necessary to provide an update. Even Google's own translating text (basic) PHP examples didn't work for me.
As of 2020, this returned quick results via web browser query strings.
Consider the sanitizing user input if this is to be deployed as part of some front-facing application or website.
我的解决方案是“Savetheinternet”功能的新改编。
它使用带有 true 标志的 php_decode (JSON 将返回关联数组)
My solution is a newly adaption from "Savetheinternet's" function.
It uses php_decode with flag true (JSON will returning associative arrays)