在 android 上使用 java-google-translate-text-to-speech

Using java-google-translate-text-to-speech on android

我需要将输入的文本从一种语言翻译成另一种语言,尝试使用 this 但遇到问题。此代码:

Thread one = new Thread() {
            public void run() {
                try {
                    Translator translate = Translator.getInstance();
                    String text = translate.translate("I am programmer", Language.ENGLISH, Language.PORTUGUESE);
                    Log.d("TEXT: ",text);
                } catch(Exception v) {
                    Log.d("ERR: ", v.toString());
                }
            }
        };
one.start();

抛出错误:

W/System.err: java.io.FileNotFoundException: http://translate.google.com.br/translate_a/t?client=t&text=I%20am%20programmer&hl=en&sl=en&tl=pt&multires=1&prev=btn&ssel=0&tsel=0&sc=1
W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:206)
W/System.err:     at com.gtranslate.utils.WebUtils.source(WebUtils.java:24)
W/System.err:     at com.gtranslate.parsing.ParseTextTranslate.parse(ParseTextTranslate.java:19)
W/System.err:     at com.gtranslate.Translator.translate(Translator.java:37)
W/System.err:     at org.reikartz.mashkov.recyclerview.MainActivity.run(MainActivity.java:74)

我不知道,我做错了什么。

问题是 语言 也应该 安装 在您的设备中,如果您需要转换它的话。 葡萄牙语文件 不在您的设备中,它正在抛出 FileNotFoundException.

我认为实际问题是 java-google-translate-text-to-speech 很古老,不会生成有效的 HTTP 请求(堆栈中的 URL trace 给出 503,这就是为什么你从 HttpURLConnnection).

得到 FileNotFoundException

您可能想使用 Translate API v2 Client for Java

最后我发现,http 链接无效(某些未知原因)并决定使用 yandex api https://github.com/rmtheis/yandex-translator-java-api