【问题标题】:How can I use Google API for translate?如何使用 Google API 进行翻译?
【发布时间】:2018-08-30 20:20:52
【问题描述】:

我想做一个翻译器,但是当我将任何示例复制到我的项目中时,我的项目中总是出现异常或编译错误。我尝试了许多来自 github 或 youtube 教程源代码的示例。

示例:http://android-er.blogspot.in/2009/10/androidtranslate-using-google-translate.html

当我将以下内容复制并粘贴到项目中时:

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

导入始终未使用。顺便说一句,apı 标记为红色。如何正确使用 Google 的 API?

Mainactivity.class:

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

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

public class MainActivity extends AppCompatActivity {
    EditText MyInputText;
    Button MyTranslateButton;
    TextView MyOutputText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        MyInputText = (EditText)findViewById(R.id.InputText);
        MyTranslateButton = (Button)findViewById(R.id.TranslateButton);
        MyOutputText = (TextView)findViewById(R.id.OutputText);

        MyTranslateButton.setOnClickListener(MyTranslateButtonOnClickListener);

    }
    private Button.OnClickListener MyTranslateButtonOnClickListener
            = new Button.OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String InputString;
            String OutputString = null;
            InputString = MyInputText.getText().toString();

            try {
                Translate.setHttpReferrer("http://android-er.blogspot.com/");
                OutputString = Translate.execute(InputString,
                        Language.ENGLISH, Language.FRENCH);
            } catch (Exception ex) {
                ex.printStackTrace();
                OutputString = "Error";
            }

            MyOutputText.setText(OutputString);

        }

    };




}

权限:

<uses-permission android:name="android.permission.INTERNET" ></uses-permission>

其余代码只有布局(只有一种布局)。

【问题讨论】:

  • 未使用是什么意思?可能只是 IDE 告诉您当前没有使用您正在导入的类?您是否将库添加到您的 gradle 依赖项中?没有代码和 gradle 文件,我们真的无法工作。
  • 您可以点击我的链接获取我的源代码。我只是从那里复制并粘贴了 3 页。我知道如何导入库,但我总是遇到异常。(那里没有库链接。如果有我看不到它。)如果我的导入还有其他问题,我不知道。
  • 您是否也按照您提到的文章(android-er.blogspot.de/2009/10/google-api-translate-java.html)中链接的文章中的说明进行操作?我猜您忘记了这一步,因此不包括该库。
  • 另外,文章在顶部说 API 现在是付费 API,您应该参考 cloud.google.com/translate - 毕竟文章已经 8 年了
  • 是的。我点击了下载链接,但我无法建立,因为我使用的是 macbook 并且未经授权。我只想使用谷歌的翻译。很容易。

标签: android google-translate


【解决方案1】:

正如 Ch4t4r 提到的,您链接的教程是 2009 年的,不再相关。

当前的 Cloud Translation API 客户端库记录在 here,但它指出:

注意:Google Cloud Java 客户端库目前不支持 Android。

您需要直接致电Cloud Translation REST API。它使用起来非常简单,您应该可以立即使用您喜欢的 HTTP 库(例如 Retrofit)。

【讨论】:

    猜你喜欢
    • 2014-04-21
    • 2011-03-24
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 2019-07-11
    • 2017-05-05
    相关资源
    最近更新 更多