如何使用 Yandex 翻译器将我的 android 应用程序从英语翻译成印地语?Java API 和 JSON 文件。我有 API 密钥,但我不知道要编写什么代码来包含 API 并使其工作。如果您发布整个代码,这将非常有帮助:D 谢谢。
问问题
5768 次
3 回答
2
您可以查看此 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
}
}
有关更详细的说明,您可以阅读 github 中的 README。
于 2017-06-30T18:58:26.977 回答
1
1.添加依赖:
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" />
于 2020-02-13T11:51:49.990 回答