title: speech to text api other language android
body: <p>I develop android application that can recognize speech in Mandarin, then yield text. But i can't find how to do that. Can someone give me example code of speech recognition in other language(mandarin, france, etc) ?</p>
  
  <pre><code>public class MainActivity extends Activity {
  
  private TextView txtSpeechInput;
  private ImageButton btnSpeak;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      txtSpeechInput = (TextView) findViewById(R.id.txtSpeechInput);
      btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
  
      // hide the action bar
      getActionBar().hide();
  
      btnSpeak.setOnClickListener(new View.OnClickListener() {
  
          @Override
          public void onClick(View v) {
              listen();
          }
      });
  
  }
  
  
  
  private static int SR_CODE = 123;
  
  /**
   * Initializes the speech recognizer and starts listening to the user input
   */
  private void listen()  {
          Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
          //Specify language
          intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.SIMPLIFIED_CHINESE);
          // Specify language model
          intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
          // Specify how many results to receive
          intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 5);
          // Start listening
          startActivityForResult(intent, SR_CODE);
      }
  
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      if (requestCode == SR_CODE &amp;&amp; resultCode == RESULT_OK) {
          if (data != null) {
              // Retrieves the best list SR result
              ArrayList&lt;String&gt; nBestList = data
                      .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
              String bestResult = nBestList.get(0);
              Toast.makeText(getApplicationContext(), bestResult,
                      Toast.LENGTH_LONG).show();
          } else {
              // Reports error in recognition error in log
              Log.e("Log", "Recognition was not successful");
          }
      }
  
  }
  
  
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
  }
  }
  </code></pre>