如何在android应用程序中加入Yandex翻译API



我如何使我的android应用程序翻译从英语到印地语使用Yandex翻译?Java API和JSON文件。我已经得到了API密钥,我不知道要写什么代码来包括API并使其工作。这将是非常有用的,如果你张贴整个代码:D谢谢。

你可以检查这个API:https://github.com/DoguD/Yandex-Translate-Android-API

只需将TranslatorBackgroundTask.java文件导入到您的应用程序中,然后执行如下所示:

import co.oriens.yandex_translate_android_api.TranslatorBackgroundTask;
import android.util.Log;
public class MainActivity extends Activity{
//Set context
Context context=this;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //Default variables for translation
    String textToBeTranslated = "Hello world, yeah I know it is stereotye.";
    String languagePair = "en-fr"; //English to French ("<source_language>-<target_language>")
    //Executing the translation function
    Translate(textToBeTranslated,languagePair);
}
//Function for calling executing the Translator Background Task
void Translate(String textToBeTranslated,String languagePair){
    TranslatorBackgroundTask translatorBackgroundTask= new TranslatorBackgroundTask(context);
    String translationResult = translatorBackgroundTask.execute(textToBeTranslated,languagePair).get(); // Returns the translated text as a String
    Log.d("Translation Result",translationResult); // Logs the result in Android Monitor
}
}

>

添加依赖关系:

dependencies {
       ...
       implementation ('com.github.vbauer:yandex-translate-api:1.4.2'){
           exclude group: 'com.google.code.findbugs', module:'annotations'
       }
       ...
   }
   repositories{
       ...
       maven { url "https://jitpack.io" }
       ...
   }

2。在您的活动或片段中:

class TranslateAsyncTask extends AsyncTask<String,Void,String>{
   @Override
   protected String doInBackground(String... strings) {
       return translate(strings[0]);
   }
   
   @Override
   protected void onPostExecute(String s) {
       //your translated text "s"
   }
}
private String translate(String text){
   YTranslateApi api = new YTranslateApiImpl(API_TRANSLATE_KEY);
   
   if(Build.VERSION.SDK_INT >= 24){
       Translation t = api.translationApi().translate(text,Language.EN);
       return t.text();
   }
   
   return "";
}

3。在Manifest.xml中添加:

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

您可以从查看如何为它们的翻译函数调用API开始。该部分的文档将向您展示HTTP请求的语法,该语法允许您翻译特定的文本,并指定要翻译的语言。

为了在你的Android应用中实现这一点,你需要能够发送HTTP请求。有许多很棒的库可以做到这一点。Loopj应该能够完成这项工作。他们的网站会告诉你如何将他们的库添加到你的项目/Android应用程序。

相关内容

  • 没有找到相关文章

最新更新