在Android应用程序中使用Microsoft Translator API

时间:2012-10-30 11:26:11

标签: android localization language-translation microsoft-translator

我创建了使用Microsoft Translator API翻译文本的示例Android应用程序。 我在这个项目https://github.com/boatmeme/microsoft-translator-android-test中包含了jar文件。这是我的应用程序代码......

public class translateSample extends Activity{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Translate.setClientId("my client key");
        Translate.setClientSecret("client secret key");
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_translate);
        Button Trans1 = (Button)findViewById(R.id.translate);
        Trans1.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                EditText Input = (EditText)findViewById(R.id.input);
                EditText Output = (EditText)findViewById(R.id.output);
                        String In =Input.getText().toString();
                        //String Out;
                        try
                        {
                            String Out = Translate.execute(In, Language.ENGLISH, Language.FRENCH);

                            Input.setText(Out);
                            Output.setText(Out);
                        } catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
            }
        });
    }

}

我收到以下错误:

java.lang.Exception: [microsoft-translator-api] Error retrieving translation : Hostname <datamarket.accesscontrol.windows.net> was not verified

请帮我解决这个错误。

4 个答案:

答案 0 :(得分:2)

您需要打开设备上的WI-Fi才能使应用程序正常运行。我在WI-FI上遇到了同样的错误,一切顺利。

答案 1 :(得分:0)

确保在以下代码中的相应位置输入客户端和密钥:

    Translate.setClientId("my client key");
    Translate.setClientSecret("client secret key");

答案 2 :(得分:0)

首先,您必须在bing中创建ID和密码,并将其写入您的代码,如下所示 Translate.setClientId(&#34;我的客户端密钥&#34;);     Translate.setClientSecret(&#34;客户端密钥&#34;); 注意网必须存在,因为这个字典在线工作

答案 3 :(得分:0)

似乎Jonathan Briggs所写​​的JAVA代码在2012年之后创建的帐户中不适用于ACCESS TOKENS。它说在文件中。查看README.md文件