Переводчик программирования андроид

Сегодня мы сделаем языковой переводчик. Языковые переводчики очень важны, особенно для людей, которые выезжают за границу. Это приложение позволяет пользователям говорить на любом языке, который они хотят, даже не зная этого языка. В этом приложении пользователь вводит текст, который он хочет преобразовать. Пользователь получит переведенный текст одним нажатием кнопки. Пользователь сможет не только читать, но и слышать переведенный текст.

Шаг 1

Для этого мы будем использовать Microsoft Translator. Прежде чем сделать это приложение, вам нужно будет зарегистрироваться в Для регистрации посетите сайт http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx

. Мы будем использовать

Шаг 2

Загрузите файл

Включите эту банку в качестве библиотеки в проект Eclipse для вашего языкового переводчика.

Шаг 3

  1.   
  2. ресурсы>  
  3.   string name=>LangTranslatoeFinalstring>  
  4.   string name=>>Настройкиstring>  
  5.   string name=>>Hello world!string>  
  6.    
  7.   string name=>>Выберите Языкstring>  
  8.    
  9.   string-array name=>  
  10.     item>>АНГЛИЙСКИЙitem>  
  11.     item>>ФРАНЦУЗСКИЙitem>  
  12.     item>>НЕМЕЦКИЙitem>  
  13.     item>>ИТАЛЬЯНСКИЙitem>      
  14.   string-array>  
  15.    
  16. resources>  

Шаг 4

Откройте

  1. RelativeLayout xmlns:android=  
  2.                 xmlns:tools=  
  3.                 android:layout_width=  
  4.                 android:layout_height=  
  5.                 android:background=>  
  6.   EditText  
  7.           android:id=  
  8.           android:layout_width=  
  9.           android:layout_height=  
  10.           android:layout_alignParentTop=  
  11.           android:layout_centerHorizontal

    =  

  12.           android:layout_marginTop=  
  13.           android:ems= >  
  14.     requestFocus   
  15.   EditText>  
  16.    
  17.   LinearLayout  
  18.       android:layout_height=  
  19.       android:layout_width=  
  20.           android:ориентация= >  
  21.     TextView  
  22.             android:id=  
  23.             android:layout_width=  
  24.             android:layout_height=  
  25.             android:layout_below=  
  26.             android:layout_centerHorizontal

    =  

  27.             android:layout_marginTop=  
  28.             android:текст=  
  29.             android:layout_marginLeft=  
  30.             android:TextAppearance=   
  31.     Прядильщик  
  32.             android:id=  
  33.             android:layout_width=  
  34.             android:layout_height=  
  35.             android:layout_below=  
  36.             android:layout_centerHorizontal=  
  37.             android:layout_marginTop=  
  38.             android:prompt=  
  39.             android:entries=  
  40.             android:layout_marginLeft=  
  41.     Кнопка  
  42.             android:id=  
  43.             android:layout_width=  
  44.             android:layout_height=  
  45.             android:layout_below=  
  46.             android:layout_centerHorizontal

    =  

  47.             android:layout_marginTop=  
  48.             android:text=  
  49.             android:background=  
  50.              android:layout_marginLeft=   
  51.   LinearLayout>  
  52. RelativeLayout>  

EditText будет принимать текст от пользователя, который должен быть преобразован.

TextView отобразит переведенный текст.

Spinner предназначен для того, чтобы пользователь мог выбрать язык, на который он хочет перевести введенный текст.

При нажатии кнопки будет отображаться переведенный текст и голос.

Макет выглядит следующим образом:

im1.jpg

Шаг 5

Откройте

  1. пакет com.chhavi.langtranslatoefinal;
  2.    
  3. импорт java.util.Место действия;
  4.    
  5. импорт android.app.Activity;
  6. импорт android.content.Намерение;
  7. импорт android.os.AsyncTask;
  8. импорт android.os.Bundle;
  9. импорт android.speech.tts.TextToSpeech;
  10. импорт файла android.util.Лог;
  11. импорт android.view.Menu;
  12. импорт android.view.View;
  13. импорт android.view.View.OnClickListener;
  14. импорт android.widget.Кнопка;
  15. импорт android.widget.EditText;
  16. импорт android.widget.Волчок;
  17. импорт android.widget.Текстовое представление;
  18. импорт android.widget.Тост;
  19.    
  20. импорт com.memetix.mst.language.Язык;
  21. импорт com.memetix.mst.translate.Переводить;
  22.    
  23. public class MainActivity расширяет Activity реализует TextToSpeech.OnInitListener {
  24.         
  25.        private int check_code = 0;
  26. Спиннер лэнг;
  27. Кнопка сказать;
  28. EditText текст;
  29. TextView translatedText;
  30. Строка original=null;
  31. Строка translated=null;
  32. Строка langSelected;
  33.        частное преобразование TextToSpeech;

  34.    
  35.        @Переопределение  
  36.        protected void onCreate(Bundle savedInstanceState) {

  37.               super.onCreate(savedInstanceState);
  38. setContentView(R. layout.activity_main);
  39.                
  40. lang=(Spinner)findViewById(R. id.selectLanguage);
  41. say=(Button)findViewById(R. id.say);
  42. text=(EditText)findViewById(R. id.text);
  43. translatedText=(TextView)findViewById(R. id.translatedtext);
  44.                
  45. Проверка намерения = новое намерение();
  46. check.setAction(TextToSpeech.Двигатель.ACTION_CHECK_TTS_DATA);
  47. startActivityForResult(check, check_code);
  48.    
  49. say.setOnClickListener(новый OnClickListener() {
  50.                       
  51.                      @Переопределение  
  52.                      public void onClick(Просмотр v) {
  53.                                    
  54.                          класс bgStuff расширяет
  55.                      
  56.                     @Переопределение  
  57.                     protected Void doInBackground(Void… params) {

  58.                           
  59.                             
  60. Translate.setClientId();   
  61. Translate.setClientSecret();   
  62.                             
  63. Log.i(,);
  64. original=text.getText().toString();
  65. Log.i(,оригинал);
  66. langSelected=String.valueOf(lang.getSelectedItem());
  67. Log.i(,langSelected);
  68.                               
  69.                            if (text!=null0) {
  70.                                   пробовать  
  71.                                   {  
  72.                                          if(langSelected.equalsIgnoreCase(

    ))

  73.                                          {  
  74. convert.setLanguage(Locale.US);
  75. translated = Translate.execute(оригинал, Язык.ENGLISH);
  76. Log.i(, перевод);
  77.                                          }  
  78.                                          else if(langSelected.equalsIgnoreCase())
  79.                                          {  
  80. convert.setLanguage(Locale.НЕМЕЦКИЙ);
  81. translated = Translate.execute(оригинал, Язык.

    НЕМЕЦКИЙ);

  82. Log.i(, перевод);
  83.                                          }  
  84.                                          else if(langSelected.equalsIgnoreCase())
  85.                                          {  
  86. convert.setLanguage(Locale.ФРАНЦУЗСКИЙ);
  87. translated = Translate.execute(оригинал, Язык.ФРАНЦУЗСКИЙ);
  88. Log.i(, перевод);
  89.                                          }  
  90.                                          else if(langSelected.equalsIgnoreCase())
  91.                                          {  
  92. convert.setLanguage(Locale.ИТАЛЬЯНСКАЯ);
  93. translated = Translate.execute(оригинал, Язык.ИТАЛЬЯНСКАЯ);
  94. Log.i(, перевод);
  95.                                          }                                         
  96.                                   }  
  97.                                   catch(Исключение e)
  98.                                   {  
  99. Log.i(,e.toString());
  100.                                   }  
  101.                            }  
  102.                            вернуть null;
  103.                                    }                    
  104.    
  105.                            @Переопределение  
  106.                            protected void onPostExecute(результат Void) {

  107. translatedText.setText(переведенный);

  108. Toast.makeText(MainActivity.это, + переводится, Тост.LENGTH_LONG).show();
  109. convert.speak(перевод, TextToSpeech.QUEUE_ADD, null);
  110.                             
  111.                            }  
  112.                            }  
  113.                          new bgStuff().execute();
  114.                      }  
  115.               });            
  116.        }  
  117.    
  118.        @Переопределение  
  119.        public boolean onCreateOptionsMenu(Меню меню) {
  120.                 
  121. getMenuInflater().inflate(R. menu.main, menu);
  122.               return true;
  123.        }  
  124.         
  125.        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  126.         if (requestCode == check_code) {

  127.             if (resultCode == TextToSpeech.Двигатель.CHECK_VOICE_DATA_PASS) {
  128.                   
  129. convert = new TextToSpeech(this, this);
  130.             }  
  131.             еще {
  132.                   
  133. Intent installIntent = новое намерение();
  134. installIntent.setAction(TextToSpeech.Двигатель.ACTION_INSTALL_TTS_DATA);
  135. startActivity(installIntent);
  136.             }  
  137.         }  
  138.     }  
  139.    
  140.     @Переопределение  
  141.     public void OnInit(int status) {
  142.         if (status == TextToSpeech.УСПЕХ) {
  143. Toast.makeText(MainActivity.это,, Тост.LENGTH_LONG).показать();
  144.              
  145.             int result = convert.setLanguage(Locale.

    НЕМЕЦКИЙ);

  146.              
  147.             if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
  148. Log.i(, );
  149.             }  
  150.             еще {
  151.                   
  152. Log.i(, );
  153.             }  
  154.         }  
  155.         else if (status == TextToSpeech.ОШИБКА) {
  156. Toast.makeText(MainActivity.это,, Тост.LENGTH_LONG).показать();
  157.         }  
  158.     }  
  159. }  

Преобразование текста в речь (TTS), также известное как

Движок TextToSpeech поддерживает множество языков, таких как английский, испанский, немецкий, итальянский и так далее.

В приведенном выше коде convert является объектом TextToSpeech.

Функция В разных странах на некоторых языках говорят с разным акцентом. Вы ясно сможете увидеть, какая разница, если вы используете это без функции Translate.execute.

Функция

Функция

Обратите внимание, что приведенный выше код не будет работать до тех пор, пока вы не дадите свой

Шаг 6

Добавьте разрешение на доступ в Интернет

  1.   
  2. манифест xmlns:android=  
  3.     package=  
  4.     android:versionCode=  
  5.     android:versionName= >  
  6.    
  7.   uses-permission android:name=ИНТЕРНЕТ  
  8.    
  9.   uses-sdk  
  10.       android:minSdkVersion=  
  11.       android:targetSdkVersion=   
  12.    
  13.   применение  
  14.       android:allowBackup=  
  15.       android:icon=  
  16.       android:label=  
  17.       android:theme= >  
  18.     активность  
  19.         android:name=  
  20.         android:label= >  
  21.       intent-фильтр>  
  22.         action android:name=ГЛАВНАЯ   
  23.    
  24.         категория android:name=ПУСКОВАЯ УСТАНОВКА   
  25.       intent-filter>  
  26.     activity>  
  27.   application>  
  28. манифест>  

Выходные снимки:

Запустите это приложение на телефоне Android.

im2f.png

Введите текст.

im3f.png

Нажав на счетчик вы получите следующий список языков:

im4f.png

Выбрав

im5f.png

Перевод на

im6f.png

Перевод на

im7f.png

Точно так же вы можете ввести текст на любом из этих языков и получить переведенный текст на нужном языке.

Краткие сведения

В этой статье вы узнали две вещи: как преобразовать текст в речь (акцент позаботился) и как перевести текст на какой-то другой язык.

Спасибо……. Наслаждайтесь кодированием 🙂