Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java代码将一种语言翻译成另一种语言_Java_Google Translate - Fatal编程技术网

如何使用java代码将一种语言翻译成另一种语言

如何使用java代码将一种语言翻译成另一种语言,java,google-translate,Java,Google Translate,首先,谷歌翻译API是一项付费服务: 其次,您必须创建自己的API密钥并在应用程序中使用该密钥: 我正在使用的代码: import java.util.ArrayList; import com.google.api.translate.Language; import com.google.api.translate.Translator; public class Translation { public static void main(String[] args) {

首先,谷歌翻译API是一项付费服务:

其次,您必须创建自己的API密钥并在应用程序中使用该密钥:

我正在使用的代码:

import java.util.ArrayList;

import com.google.api.translate.Language;
import com.google.api.translate.Translator;

public class Translation {
    public static void main(String[] args) {                
        // Translate a single English String to French
        Translator translator = new Translator();
        System.out.println("Saying goodbye in French:");
        System.out.println(translator.translate("goodbye", Language.ENGLISH, Language.FRENCH));

        System.out.println();
    }
}
HttpTransport-HttpTransport=AndroidHttp.newCompatibleTransport();
AndroidJsonFactory jsonFactory=AndroidJsonFactory.getDefaultInstance();
Translate.Builder=new Translate.Builder(httpTransport,jsonFactory,null);
//需要这个,否则你会得到警告
builder.setApplicationName(“给出一个名称”);
Translate=builder.build();
列表=新的ArrayList();
//我只在列表中添加一个字符
list.add(String.valueOf(word[0]);
Translate.Translations.List请求=Translate.Translations().List(List,“en”).setKey(“”);
字符串结果=request.execute().getTranslations().get(0.getTranslatedText();

注意:我还不知道原因,如果我使用我的android API密钥,我总是会遇到相同的错误:“com.google.API.client.googleapis.json.googlejson.GoogleJsonResponseException:403禁止”,原因是“iprefererblock”,但如果我使用我的浏览器密钥,就可以了。希望其他人能找出原因。

为什么这样不行?运行时会发生什么?用法语说再见:线程“main”java.lang.NoSuchMethodError中的异常:com.google.api.translate.Language.getLangCode()Ljava/lang/String;com.google.api.translate.Translator.constructLangPairQuery(Translator.java:230)com.google.api.translate.Translator.constructQueryURL(Translator.java:247)com.google.api.translate.Translator.Translator(Translator.java:72)com.inndata.services.Translation.main(Translation.java:14)我从未使用过GoogleAPI,但我认为要么你缺少一个jar库,要么你不完全理解api,你可以看看这个问题,看看你得到的异常
HttpTransport httpTransport = AndroidHttp.newCompatibleTransport();
AndroidJsonFactory jsonFactory = AndroidJsonFactory.getDefaultInstance();
Translate.Builder builder = new Translate.Builder(httpTransport, jsonFactory, null);
// need this, otherwise you get warning
builder.setApplicationName("Give a name");
Translate translate = builder.build();
List<String> list = new ArrayList<String>();
// I only add one char to the list
list.add(String.valueOf(word[0]));
Translate.Translations.List request = translate.translations().list(list, "en").setKey("<your_api_key>");
String result = request.execute().getTranslations().get(0).getTranslatedText();