Referensi Transliterate API

Transliterasi sederhana

Metode berikut memungkinkan Anda melakukan transliterasi sederhana tanpa UI dengan memanipulasi JavaScript.

Metode Deskripsi

google.language.transliterate(wordsArray, srcLang, destLang, callback)

google.language.transliterate(wordsArray, srcLang, destLang, callback) adalah metode global yang mentransliterasi teks tertentu dari bahasa sumber ke bahasa tujuan. API menampilkan hasil secara asinkron ke fungsi callback yang diberikan sebagai objek result. Parameter untuk metode ini adalah:

  • wordsArray menyediakan teks yang akan ditransliterasi sebagai array.
  • srcLang memberikan bahasa sumber sebagai kode bahasa. Lihat enum LanguageCode untuk contoh.
  • destLang memberikan bahasa tujuan sebagai kode bahasa. Lihat enum LanguageCode untuk contoh.
  • callback adalah fungsi callback yang menerima result.

google.language.transliterate() tidak memiliki nilai kembalian.

Metode transliterasi yang disederhanakan ini menggunakan namespace google.language.transliterate (dan bukan google.elements.transliteration, yang merupakan namespace untuk setiap metode lain dalam Transliterate API).

google.language.transliterate() menampilkan objek result.

Objek hasil dibuat menggunakan encoding JSON dari permintaan server. Oleh karena itu, kami memilih untuk tidak menerapkan objek JavaScript formal, dan membuat objek result secara dinamis dari bentuk yang diserialisasinya.

Meskipun tidak ada penerapan formal objek, objek tersebut ada, dan kami mendokumentasikannya seolah-olah ada penerapan JavaScript pendukung. Dampak dari semua ini minimal. Artinya, tidak ada konstruktor bernama. Untuk setiap hasil, seolah-olah sistem memanggil new Object() lalu menetapkan properti formal pada objek tersebut. Properti ini ada di bawah.

  • <result>
    • error?
      Ada jika terjadi error dalam transliterasi.
    • transliterations
      Array berukuran sama dengan ukuran input wordsArray.
      • transliteratedWords
        Array berukuran maksimum 5, dengan transliterasi untuk kata yang sesuai dalam wordsArray.

Referensi JavaScript kontrol transliterasi

Konstruktor dan metode berikut memungkinkan Anda melakukan transliterasi dalam UI yang disediakan oleh API.

Konstruktor - google.elements.transliteration.TransliterationControl(options)

Konstruktor Deskripsi

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options) mengaktifkan transliterasi pada serangkaian elemen DOM HTML yang dapat diedit dan menyediakan sejumlah metode yang memungkinkan Anda mengontrol transliterasi dalam elemen tersebut. Argumen options dapat memiliki kolom berikut:

  • sourceLanguage adalah string wajib yang menentukan bahasa sumber menggunakan enum LanguageCode (seperti dalam google.elements.transliteration.ENGLISH). Saat ini, bahasa Inggris adalah satu-satunya bahasa sumber yang didukung.
  • destinationLanguage adalah array wajib yang menentukan bahasa tujuan menggunakan enum LanguageCode seperti dalam (seperti dalam google.elements.transliteration.HINDI ).

    Di UI, bahasa tujuan yang tersedia muncul di menu, dengan bahasa pertama dalam array yang dipilih secara default. Lihat getDestinationLanguages untuk mengetahui detail selengkapnya tentang bahasa tujuan yang valid untuk bahasa sumber tertentu.
  • transliterationEnabled adalah kolom opsional yang menentukan apakah transliterasi diaktifkan secara default. Jika Anda ingin mengaktifkan transliterasi secara default, tentukan kolom ini dengan nilai true. Nilai defaultnya adalah false.
  • shortcutKey adalah kolom string opsional yang menentukan tombol pintasan untuk mengaktifkan atau menonaktifkan transliterasi. Untuk menentukan tombol pintasan, tentukan string yang berisi pengubah seperti 'Ctrl', 'Alt', atau 'Shift' bersama dengan huruf alfabet. Misalnya, 'Ctrl+g' dan 'Ctrl+Shift+a' adalah kombinasi tombol pintasan yang valid.

    Catatan: Anda tidak dapat menggunakan Shift sebagai satu-satunya pengubah; namun, Anda dapat menggunakannya bersama Alt atau Control.

Metode ini membuat pengecualian dalam keadaan berikut:

  • sourceLanguage atau destinationLanguage tidak valid
  • Bahasa yang tidak didukung dalam pasangan bahasa sourceLangauge dan destinationLanguage
  • Kombinasi shortcutKey tidak valid

Cuplikan kode berikut menunjukkan cara membuat instance kontrol transliterasi:

function onLoad() {
  var options = {
    sourceLanguage: 'en',
    destinationLanguage: ['hi'],
    shortcutKey: 'ctrl+g',
    transliterationEnabled: true
  };

  // Create an instance on TransliterationControl with the required
  // options.
  var control = new google.elements.transliteration.TransliterationControl(options);
}

Metode kontrol transliterasi

Metode berikut diterapkan di namespace google.elements.transliteration.TransliterationControl.

Metode Deskripsi

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope) menambahkan pemroses ke kontrol transliterasi untuk jenis peristiwa yang ditentukan. Saat jenis peristiwa tertentu dipicu, pemroses dipanggil dengan objek peristiwa. Isi objek acara bergantung pada jenis acara. Parameter untuk metode ini adalah:

  • eventType adalah peristiwa yang akan ditambahkan pemrosesnya. Argumen ini mengambil nilainya dari enum eventType (seperti google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED).
  • listener menyediakan fungsi pemroses untuk peristiwa tersebut.
  • opt_listenerScope memanggil pemroses dengan this yang ditetapkan ke objek yang ditentukan dalam opt_listenerScope.

.addEventListener() tidak memiliki nilai kembalian.

.disableTransliteration()

.disableTransliteration() menonaktifkan transliterasi dalam kontrol transliterasi. Metode ini tidak memiliki argumen dan tidak memiliki nilai yang ditampilkan.

.enableTransliteration()

.enableTransliteration() mengaktifkan transliterasi dalam kontrol transliterasi. Metode ini tidak memiliki argumen dan tidak memiliki nilai yang ditampilkan.

.isTransliterationEnabled()

.isTransliterationEnabled() tidak memiliki argumen dan menampilkan boolean yang menunjukkan apakah transliterasi diaktifkan dalam kontrol transliterasi.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options) memungkinkan transliterasi pada elemen HTML yang diberikan. Parameter untuk metode ini adalah:

  • elementIds adalah array yang berisi string ID elemen yang dapat diedit atau referensi elemen yang ingin Anda aktifkan transliterasinya. Elemen yang dapat diedit dapat berupa:

    • Kolom teks
    • Area teks
    • <div> dengan contentEditable="true"
    • <iframe> dengan designMode="on"
    • iFrame dengan isi contentEditable="true". Pastikan iFrame dimuat sebelum mengaktifkan transliterasi.
  • opt_options adalah argumen opsional yang menyediakan opsi yang diterapkan pada elemen ini. Argumen ini dapat berisi kolom berikut:
    • adjustElementStyle adalah kolom boolean opsional yang mengontrol apakah API otomatis menyesuaikan ukuran elemen dan font agar sesuai secara optimal dengan karakter bahasa target. Nilai defaultnya adalah true. Opsi ini hanya memengaruhi elemen teks biasa.
    • adjustElementDirection adalah kolom boolean opsional yang mengontrol arah elemen yang dapat diedit, bergantung pada arah destinationLanguage. Nilai defaultnya adalah true.

Untuk sistem penulisan kanan-ke-kiri seperti Arab, API akan otomatis menyesuaikan arah elemen input, sesuai dengan arah skrip yang ditulis dan konten elemen input. Anda dapat menyetel arah teks dalam elemen input menggunakan HTML dan JavaScript dengan direction, yang dapat memiliki nilai 'ltr' (kiri ke kanan) atau 'rtl' (kanan ke kiri). Menggunakan metode ini akan memengaruhi kursor dan perataan teks di area input.

Anda dapat melihat contoh dukungan API untuk bahasa kanan ke kiri dalam contoh transliterasi bahasa Arab.

Metode ini akan membuat pengecualian jika salah satu elementIds yang ditentukan tidak valid.

.makeTransliteratable() tidak memiliki nilai kembalian.

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) menghapus pemroses peristiwa dari kontrol transliterasi, dengan:

  • Argumen ini mengambil nilainya dari enum eventType (seperti google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED).
  • listener adalah fungsi untuk peristiwa yang perlu dihapus.
  • opt_listenerScope adalah cakupan tempat pemroses didaftarkan pada saat menambahkan pemroses.

.removeEventListener() tidak memiliki nilai kembalian.

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) memungkinkan Anda mengubah pasangan bahasa yang digunakan oleh kontrol transliterasi secara dinamis, dengan:

  • sourceLanguage menyediakan jenis bahasa yang akan ditransliterasi. Argumen ini mengambil nilainya dari enum LanguageCode (seperti google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH).
  • destinationLanguage memberikan jenis bahasa untuk teks yang ditransliterasi.

.setLanguagePair() menampilkan boolean yang menunjukkan apakah tindakan setLanguage berhasil.

.showControl(divElement)

.showControl(divElement) menampilkan kontrol transliterasi di DIV yang ditentukan, dengan divElement adalah ID DIV. Metode ini tidak memiliki nilai yang ditampilkan.

.toggleTransliteration()

.toggleTransliteration() mengaktifkan atau menonaktifkan transliterasi di kontrol transliterasi. Metode ini tidak memiliki argumen dan tidak memiliki nilai yang ditampilkan.

Metode statis

Metode statis berikut diimplementasikan di namespace google.language.

Metode statis Deskripsi

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) adalah fungsi statis yang mendaftarkan fungsi pengendali yang ditentukan untuk dipanggil setelah halaman yang berisi panggilan ini dimuat, dengan callback adalah fungsi wajib yang dipanggil saat dokumen yang berisi dimuat dan API siap digunakan (misalnya, setelah onLoad). Fungsi ini diimplementasikan di namespace google (yaitu, google.setOnLoadCallback(callback);)

.setOnLoadCallback() tidak memiliki nilai kembalian.

Catatan: Dokumentasi sebelumnya merekomendasikan agar Anda menggunakan atribut onload elemen body (<body onload="OnLoad()">). Meskipun ini adalah cara yang baik jika Anda memiliki kontrol penuh atas halaman dan semua kode yang dimuat oleh halaman, pendekatan ini dapat menyebabkan masalah dengan beberapa runtime yang menghancurkan handler body.onload Anda. setOnLoadCallback() tidak memiliki masalah ini, dan oleh karena itu merupakan metode yang direkomendasikan untuk mendaftarkan callback yang memanggil kode Anda saat API dimuat sepenuhnya dan siap digunakan.

Metode statis berikut diimplementasikan di namespace google.elements.transliteration.

Metode statis Deskripsi

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage) adalah metode global yang menampilkan peta bahasa tujuan yang mendukung transliterasi untuk sourceLanguage tertentu. Peta yang ditampilkan berisi bahasa tujuan yang didukung, dengan kuncinya adalah nama bahasa dan nilainya adalah kode bahasa. Peta yang ditampilkan mirip dengan yang dijelaskan dalam enum LanguageCode.

Enum

Enum EventType

Enumerasi google.elements.transliteration.TransliterationControl.EventType mencantumkan peristiwa yang mungkin terjadi selama transliterasi. Anda dapat menyediakan pengendali kustom untuk peristiwa ini dalam kode Anda.

var google.elements.transliteration.TransliterationControl.EventType = {
   STATE_CHANGED : 'state_changed',
   LANGUAGE_CHANGED : 'language_changed',
   SERVER_REACHABLE : 'server_reachable',
   SERVER_UNREACHABLE : 'server_unreachable'
};
  • google.elements.transliteration.TransliterationControl.EventType.STATE_CHANGED: Hasil saat transliterasi diaktifkan atau dinonaktifkan di kontrol transliterasi melalui:
    • Tombol pintasan
    • Metode enableTransliteration, disableTransliteration, atau toggleTransliteration
    • Klik mouse pada kontrol transliterasi yang digambar oleh metode showControl.
    Objek peristiwa yang diteruskan ke pemroses berisi kolom transliterationEnabled. Kolom ini bernilai benar jika transliterasi adalah 'on', dan bernilai salah jika tidak.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: Hasil saat pasangan bahasa transliterasi diubah di kontrol transliterasi melalui:
    • Metode setLanguagePair
    • Kontrol transliterasi yang digambar oleh metode showControl
    Objek peristiwa yang diteruskan ke pemroses berisi kolom sourceLanguage dan destinationLanguage.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: Hasil saat Anda berhasil menghubungi server untuk mentransliterasi teks.
  • Hasil google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE saat upaya menghubungi server untuk mentransliterasi teks gagal.

Enum LanguageCode

google.elements.transliteration.LanguageCode memetakan konstanta nama ke kode bahasa yang dapat Anda gunakan untuk menentukan bahasa sumber dan tujuan dalam metode transliterasi.

var google.elements.transliteration.LanguageCode = {
    ENGLISH: 'en',
    AMHARIC: 'am',
    ARABIC: 'ar',
    BENGALI: 'bn',
    CHINESE: 'zh',
    GREEK: 'el',
    GUJARATI: 'gu',
    HINDI: 'hi',
    KANNADA: 'kn',
    MALAYALAM: 'ml',
    MARATHI: 'mr',
    NEPALI: 'ne',
    ORIYA: 'or',
    PERSIAN: 'fa',
    PUNJABI: 'pa',
    RUSSIAN: 'ru',
    SANSKRIT: 'sa',
    SINHALESE: 'si',
    SERBIAN: 'sr',
    TAMIL: 'ta',
    TELUGU: 'te',
    TIGRINYA: 'ti',
    URDU: 'ur'
};

Enum SupportedDestinationLanguages

Enumerasi google.elements.transliteration.SupportedDestinationLanguages memetakan konstanta nama ke array kode bahasa yang dapat Anda gunakan untuk menentukan grup bahasa tujuan dalam kontrol transliterasi.

var google.elements.transliteration.SupportedDestinationLanguages = {
    // ALL includes all languages supported in the Transliterate API.
    // As support for more languages becomes available, this enum will be
    // automatically updated to include the new languages transparently.
    ALL: [
        google.elements.transliteration.LanguageCode.AMHARIC,
        google.elements.transliteration.LanguageCode.ARABIC,
        google.elements.transliteration.LanguageCode.BENGALI,
        google.elements.transliteration.LanguageCode.CHINESE,
        google.elements.transliteration.LanguageCode.GREEK,
        google.elements.transliteration.LanguageCode.GUJARATI,
        google.elements.transliteration.LanguageCode.HINDI,
        google.elements.transliteration.LanguageCode.KANNADA,
        google.elements.transliteration.LanguageCode.MALAYALAM,
        google.elements.transliteration.LanguageCode.MARATHI,
        google.elements.transliteration.LanguageCode.NEPALI,
        google.elements.transliteration.LanguageCode.ORIYA,
        google.elements.transliteration.LanguageCode.PERSIAN,
        google.elements.transliteration.LanguageCode.PUNJABI,
        google.elements.transliteration.LanguageCode.RUSSIAN,
        google.elements.transliteration.LanguageCode.SANSKRIT,
        google.elements.transliteration.LanguageCode.SERBIAN,
        google.elements.transliteration.LanguageCode.SINHALESE,
        google.elements.transliteration.LanguageCode.TAMIL,
        google.elements.transliteration.LanguageCode.TELUGU,
        google.elements.transliteration.LanguageCode.TIGRINYA,
        google.elements.transliteration.LanguageCode.URDU],
 
    // INDIC includes all Indic languages supported in the Transliterate API.
    // As support for more Indic languages becomes available, this enum will be
    // automatically updated to include the new languages transparently.
    INDIC: [
        google.elements.transliteration.LanguageCode.BENGALI,
        google.elements.transliteration.LanguageCode.GUJARATI,
        google.elements.transliteration.LanguageCode.HINDI,
        google.elements.transliteration.LanguageCode.KANNADA,
        google.elements.transliteration.LanguageCode.MALAYALAM,
        google.elements.transliteration.LanguageCode.MARATHI,
        google.elements.transliteration.LanguageCode.NEPALI,
        google.elements.transliteration.LanguageCode.ORIYA,
        google.elements.transliteration.LanguageCode.PUNJABI,
        google.elements.transliteration.LanguageCode.SANSKRIT,
        google.elements.transliteration.LanguageCode.SINHALESE,
        google.elements.transliteration.LanguageCode.TAMIL,
        google.elements.transliteration.LanguageCode.TELUGU,
        google.elements.transliteration.LanguageCode.URDU]
};

Pemecahan masalah

Jika Anda mengalami masalah:

  • Cari kesalahan ketik. Ingatlah, JavaScript adalah bahasa yang membedakan huruf besar dan kecil.
  • Gunakan debugger JavaScript. Google Chrome memiliki serangkaian alat developer lengkap. Di Firefox, Anda dapat menggunakan konsol JavaScript atau Firebug. Di IE, Anda dapat menggunakan Microsoft Script Debugger.
  • Telusuri grup diskusi. Jika Anda tidak dapat menemukan postingan yang menjawab pertanyaan Anda, posting pertanyaan Anda ke grup beserta link ke halaman web yang menunjukkan masalahnya.