use*_*999 25 java api google-api google-translate
如果我传递一个字符串(英语或阿拉伯语)作为Google Translate API的输入,它应该将其翻译成相应的其他语言并将翻译后的字符串提供给我.
我在一个论坛上阅读了相同的案例,但对我来说很难实现.
我需要没有任何按钮的翻译器,如果我给出输入字符串,它应该自动转换值并给出输出.
你能救吗?
Ion*_*zău 23
使用java-google-translate-text-to-speech代替Google Translate API v2 Java.
Api非官方的,具有Google Translate in Java的主要功能.
它还提供文本到语音api.如果你想翻译文本"你好!" 在罗马尼亚语中写道:
Translator translate = Translator.getInstance();
String text = translate.translate("Hello!", Language.ENGLISH, Language.ROMANIAN);
System.out.println(text); // "Bun? ziua!"
Run Code Online (Sandbox Code Playgroud)
正如@ r0ast3d正确地说:
重要提示:Google Translate API v2现已作为付费服务提供.2011年8月24日之前创建的现有Translate API v2项目的礼貌限制将在2011年12月1日减少到零.此外,您的应用程序每天可以提出的请求数量将受到限制.
这是正确的:只需看官方页面:
Google Translate API可作为付费服务使用.请参阅定价和常见问题页面了解详情.
但是,java-google-translate-text-to-speech是免费的!
我已经创建了一个示例应用程序来演示这是有效的.在这里试试:https://github.com/IonicaBizau/text-to-speech
Mak*_*iuk 15
您可以使用具有免费翻译API的谷歌脚本.您所需要的只是一个常见的谷歌帐户,并做这三个简单的步骤.1)在谷歌脚本上使用此类代码创建新脚本:
var mock = {
parameter:{
q:'hello',
source:'en',
target:'fr'
}
};
function doGet(e) {
e = e || mock;
var sourceText = ''
if (e.parameter.q){
sourceText = e.parameter.q;
}
var sourceLang = '';
if (e.parameter.source){
sourceLang = e.parameter.source;
}
var targetLang = 'en';
if (e.parameter.target){
targetLang = e.parameter.target;
}
var translatedText = LanguageApp.translate(sourceText, sourceLang, targetLang, {contentType: 'html'});
return ContentService.createTextOutput(translatedText).setMimeType(ContentService.MimeType.JSON);
}
Run Code Online (Sandbox Code Playgroud)
2)单击发布 - >部署为webapp - >谁有权访问该应用程序:任何人甚至匿名 - >部署.然后复制您的网络应用程序网址,您将需要它来调用翻译API.
3)使用此java代码测试您的API:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class Translator {
public static void main(String[] args) throws IOException {
String text = "Hello world!";
//Translated text: Hallo Welt!
System.out.println("Translated text: " + translate("en", "de", text));
}
private static String translate(String langFrom, String langTo, String text) throws IOException {
// INSERT YOU URL HERE
String urlStr = "https://your.google.script.url" +
"?q=" + URLEncoder.encode(text, "UTF-8") +
"&target=" + langTo +
"&source=" + langFrom;
URL url = new URL(urlStr);
StringBuilder response = new StringBuilder();
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("User-Agent", "Mozilla/5.0");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
return response.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
由于它是免费的,因此有QUATA LIMITS:https://docs.google.com/macros/dashboard
当您尝试Google Cloud Translation API
在帐户中启用帐单时,可能需要设置结算帐户.
下面是一个快速入门示例,它将两个English
字符串转换为Spanish
:
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Arrays;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.translate.Translate;
import com.google.api.services.translate.model.TranslationsListResponse;
import com.google.api.services.translate.model.TranslationsResource;
public class QuickstartSample
{
public static void main(String[] arguments) throws IOException, GeneralSecurityException
{
Translate t = new Translate.Builder(
GoogleNetHttpTransport.newTrustedTransport()
, GsonFactory.getDefaultInstance(), null)
// Set your application name
.setApplicationName("Stackoverflow-Example")
.build();
Translate.Translations.List list = t.new Translations().list(
Arrays.asList(
// Pass in list of strings to be translated
"Hello World",
"How to use Google Translate from Java"),
// Target language
"ES");
// TODO: Set your API-Key from https://console.developers.google.com/
list.setKey("your-api-key");
TranslationsListResponse response = list.execute();
for (TranslationsResource translationsResource : response.getTranslations())
{
System.out.println(translationsResource.getTranslatedText());
}
}
}
Run Code Online (Sandbox Code Playgroud)
代码段所需的maven依赖项:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-translate</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-gson</artifactId>
<version>LATEST</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
80013 次 |
最近记录: |