Sharing Knowledge

« Displaying dialogs... | Main | SMS Messaging in... »
Tuesday Jun 29, 2010

Android Translate

Dalam postingan kali ini, kita akan membuat 2 macam aplikasi Android Translate, yaitu Bilingual Translate dan Multi Languange Translate.

1. Bilingual Translate
Bilingual artinya diterjemahkan dalam dua bahasa, misalnya dari bahasa Indonesia diterjemahkan kedalam bahasa Inggris. Untuk membuat aplikasi ini, kita membutuhkan akses ke google translate melalui google api translate. Jadi anda perlu download file jar dari google api translate dan simpan dalam direktory anda.
Setelah itu masukkan file jar kedalam library project yang dibuat dengan cara klik kanan project > Build Path > Add External Archives dan browse dimana anda menyimpan google api.jar tadi.


Gambar 1 Build Path


Untuk mengkoneksikan dengan google api translate, tambahkan kode berikut di kelas Main

 private Button.OnClickListener MyTranslateButtonOnClickListener = new Button.OnClickListener(){
 public void onClick(View v) {
  // TODO Auto-generated method stub
  String InputString;
  String OutputString = null;
  InputString = MyInputText.getText().toString();

  try {
   Translate.setHttpReferrer("http://translate.google.co.id/");
   OutputString = Translate.execute(InputString, Language.INDONESIAN, Language.ENGLISH);
  } catch (Exception ex) {
   ex.printStackTrace();
   OutputString = "Error";
     }

  MyOutputText.setText(OutputString);

 }

 };

 


Gambar 2 Bilingual Translate



2. Multi Language Translate
Disini kita tambahkan sebuah spinner view untuk memberikan opsi agar bisa di terjemahkan ke dalam beberapa bahasa.

Buat spinner view nya di main.xml

<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"/>

<EditText android:id="@+id/InputText" android:layout_width="fill_parent" android:layout_height="wrap_content"/>

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="from:"/>

<Spinner android:id="@+id/spinner_InputLanguage" android:layout_width="fill_parent" android:layout_height="wrap_content"/>

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="to:"/>

<Spinner android:id="@+id/spinner_OutputLanguage" android:layout_width="fill_parent" android:layout_height="wrap_content"/>

<Button android:id="@+id/TranslateButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Translate"/>


<TextView android:id="@+id/OutputText" android:layout_width="fill_parent" android:layout_height="wrap_content"/>

</LinearLayout>




Buat list bahasa yang akan ditampilkan di folder res / values dan beri nama array_language.xml
 <resources>
<string-array name="language">
<item>ARABIC</item>
<item>BULGARIAN</item>
<item>CATALAN</item>
<item>CHINESE</item>
<item>CHINESE_SIMPLIFIED</item>
<item>CHINESE_TRADITIONAL</item>
<item>CROATIAN</item>
<item>CZECH</item>
<item>DANISH</item>
<item>DUTCH</item>
<item>ENGLISH</item>
<item>FILIPINO</item>
<item>FINNISH</item>
<item>FRENCH</item>
<item>GERMAN</item>
<item>GREEK</item>
<item>HEBREW</item>
<item>HINDI</item>
<item>INDONESIAN</item>
<item>ITALIAN</item>
<item>JAPANESE</item>
<item>KOREAN</item>
<item>LATVIAN</item>
<item>LITHUANIAN</item>
<item>NORWEGIAN</item>
<item>POLISH</item>
<item>PORTUGESE</item>
<item>ROMANIAN</item>
<item>RUSSIAN</item>
<item>SERBIAN</item>
<item>SLOVAK</item>
<item>SLOVENIAN</item>
<item>SPANISH</item>
<item>SWEDISH</item>
<item>UKRANIAN</item>
<item>VIETNAMESE</item>
</string-array>
</resources>


di kelas Main Activity, tampilkan spinner view dengan menggunakan Array  Adapter
 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.language, android.R.layout.simple_spinner_item);

      spinner_InputLanguage = (Spinner) findViewById(R.id.spinner_InputLanguage);
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      spinner_InputLanguage.setAdapter(adapter);

      spinner_OutputLanguage = (Spinner) findViewById(R.id.spinner_OutputLanguage);
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      spinner_OutputLanguage.setAdapter(adapter);


untuk mengkoneksikan dengan google translate api, tambahkan kode berikut :
 private Button.OnClickListener MyTranslateButtonOnClickListener = new Button.OnClickListener(){
  public void onClick(View v) {
   // TODO Auto-generated method stub
   String InputString;
   String OutputString = null;
   InputString = MyInputText.getText().toString();

   Language fromLanguage =
    Language.valueOf((String)spinner_InputLanguage
    .getItemAtPosition((int) spinner_InputLanguage
    .getSelectedItemId()));
   Language toLanguage =
    Language.valueOf((String)spinner_OutputLanguage
    .getItemAtPosition((int) spinner_OutputLanguage
    .getSelectedItemId()));

   try {
    Translate.setHttpReferrer("http://translate.google.co.id/");
    OutputString = Translate.execute(InputString,
      fromLanguage, toLanguage);

   } catch (Exception ex) {
    ex.printStackTrace();
    OutputString = "Error";
      }

   MyOutputText.setText(OutputString);
  }
  };




Gambar 3 Multi Language Translate




netoya_meruvian

Comments:

Saya Sudah Mencoba Tutorialnya dan download file jar Tapi Koq Masih Error ya..?
apa ada yang salah

yang masih di garis bawahi merah sintak berikut :

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.language, android.R.layout.simple_spinner_item);

spinner_InputLanguage = (Spinner) findViewById(R.id.spinner_InputLanguage);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_InputLanguage.setAdapter(adapter);

spinner_OutputLanguage = (Spinner) findViewById(R.id.spinner_OutputLanguage);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_OutputLanguage.setAdapter(adapter);

Mohon Pencerahannya maklum masih belajar..

Thanks..

Posted by Fauzi on February 16, 2011 at 04:45 AM WIT #

keren bngt, thanks... :p

Posted by Latief on May 26, 2011 at 12:20 AM WIT #

Post a Comment:
  • HTML Syntax: Allowed