正在尝试安装并使用第三方java翻译api Linux Ubuntu

正在尝试安装并使用第三方java翻译api Linux Ubuntu,java,ubuntu,Java,Ubuntu,我是一个热心的程序员,试图制作一个简单的程序,实现用于语言翻译的第三方API,如Google Translate 我已经搜索了很长一段时间,但我读到的东西让我不知所措,因为我在编程和计算机使用方面还是个新手。如果可能的话,我希望有清晰的说明,说明如何下载API,安装它,并在代码中使用它的代码。这是我想要的,但如果它不工作的方式,让我知道 我不使用IDE进行开发,我运行Ubuntu 15.04 将API合并到Java代码中最简单的方法是使用像Maven这样的构建工具,自动下载jar文件并将其作为依

我是一个热心的程序员,试图制作一个简单的程序,实现用于语言翻译的第三方API,如Google Translate

我已经搜索了很长一段时间,但我读到的东西让我不知所措,因为我在编程和计算机使用方面还是个新手。如果可能的话,我希望有清晰的说明,说明如何下载API,安装它,并在代码中使用它的代码。这是我想要的,但如果它不工作的方式,让我知道


我不使用IDE进行开发,我运行Ubuntu 15.04

将API合并到Java代码中最简单的方法是使用像Maven这样的构建工具,自动下载jar文件并将其作为依赖项添加到项目中。以下pom.xml片段直接取自翻译API的Google开发者页面:

<project>
  <dependencies>
    <dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-translate</artifactId>
      <version>v2-rev41-1.20.0</version>
    </dependency>
  </dependencies>
</project>

com.google.api

请原谅我冗长的回答,希望它能帮助你实现你的目标

Google Translate有一个Java端口可用

这里给出的示例程序看起来很简单,我对其进行了一些修改:

import com.google.api.translate.Language;
import com.google.api.translate.Translate;
import com.google.api.GoogleAPI;

public class JTranslator {
  public static void main(String[] args) throws Exception {
    // Set the HTTP referrer to your website address.
    GoogleAPI.setHttpReferrer("http://duckduckgo.com");

    // Set the Google Translate API key
    // See: http://code.google.com/apis/language/translate/v2/getting_started.html
    GoogleAPI.setKey("hSifeHtllArOfSknahTgNoLo-SyXaLago-TeDIuGsReki-HhctIH");

    String translatedText = Translate.DEFAULT.execute("Bonjour le monde", Language.FRENCH, Language.ENGLISH);

    System.out.println(translatedText);
  }
}
但是为了执行上面的简单程序,我们需要GoogleTranslateAPI密钥。它要求我们在中创建一个项目,并针对该项目创建一个密钥。这是一个漫长的过程,所以这里没有上传所有的步骤(图片),而是上传了图片

一旦我们有了API密钥,接下来就是执行部分。我们需要下载该文件以供使用

假设我们在同一个文件夹中有java&下载的jar文件,下面是编译和执行程序的步骤:

编译:

javac -cp google-api-translate-java-0.97.jar;. JTranslator.java
java -cp google-api-translate-java-0.97.jar;. JTranslator
执行:

javac -cp google-api-translate-java-0.97.jar;. JTranslator.java
java -cp google-api-translate-java-0.97.jar;. JTranslator
但在执行时,我们将遇到以下错误:

Error: [google-api-translate-java] Error retrieving translation.
Exception in thread "main" com.google.api.GoogleAPIException: java.lang.Exception: [google-api-translate-java] Error retrieving transla
tion.
        at com.google.api.translate.TranslateV2.execute(TranslateV2.java:68)
        at JTranslator.main(JTranslator.java:14)
Caused by: java.lang.Exception: [google-api-translate-java] Error retrieving translation.
        at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:99)
        at com.google.api.translate.TranslateV2.execute(TranslateV2.java:62)
        ... 1 more
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.googleapis.com/language/translate/v2?key="hSifeHtllArOfSknahTgNoLo-SyXaLago-TeDIuGsReki-HhctIH&q=Bonjour+le+monde&target=en&source=fr
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
        at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:93)
        ... 2 more
如果我们将程序尝试的URL复制粘贴到浏览器中,则可以检索此错误的简化版本:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "dailyLimitExceeded",
    "message": "Daily Limit Exceeded"
   }
  ],
  "code": 403,
  "message": "Daily Limit Exceeded"
 }
}
基于SOF问题,很明显我们需要为TranslateAPI的使用付费。谷歌开发者控制台中还有一个选项

祝你好运

更新:
遇到了一个来自Microsoft的问题,该问题允许每月免费翻译多达200万个字符。

感谢您的逐步回答。我将努力做到这一点。:)您是否知道任何不需要密钥/付费的翻译API?如果不是,那很好,但我只是好奇。谷歌搜索中列出的开源API很少,但它的学习曲线看起来很陡峭。对于谷歌和微软来说,一旦我们获得了API密钥,实现部分就直接向前看。你可以等着看是否有人能提出更好的解决方案。