文字変換 API リファレンス

シンプルな文字変換

以下のメソッドでは、JavaScript を操作することで、UI なしで単純な文字変換を実行できます。

方法 説明

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

google.language.transliterate(wordsArray, srcLang, destLang, callback) は、指定されたテキストを原文の言語から翻訳先の言語に翻訳するグローバル メソッドです。API は指定された callback 関数に結果を非同期で result オブジェクトとして返します。このメソッドのパラメータは次のとおりです。

  • wordsArray: 配列に変換されるテキストを指定します。
  • srcLang は、ソース言語を言語コードとして提供します。例については、LanguageCode enum をご覧ください。
  • destLang は、宛先言語を言語コードとして提供します。例については、LanguageCode enum をご覧ください。
  • callback は、result を受け取るコールバック関数です。

google.language.transliterate() には戻り値がありません。

この簡素化された文字変換メソッドでは、google.language.transliterate 名前空間を使用します(google.elements.transliteration は Translrepeat API の他のメソッドの名前空間ではありません)。

google.language.transliterate()result オブジェクトを出力します。

結果オブジェクトは、サーバー リクエストの JSON エンコードを使用して生成されます。そのため、正式な JavaScript オブジェクトを実装せず、シリアル化された形式から result オブジェクトを動的に作成しました。

オブジェクトには正式な実装はありませんが、背後の JavaScript 実装と同じようにドキュメント化されています。これらすべての影響は最小限です。つまり、名前付きコンストラクタはありません。それぞれの結果について、システムが新しい Object() を呼び出し、そのオブジェクトに正式なプロパティが設定されているかのように動作します。これらのプロパティは以下のとおりです。

  • <result>
    • error?
      文字変換中にエラーが発生した場合に存在します。
    • transliterations
      入力 wordsArray のサイズに等しいサイズの配列。
      • transliteratedWords
        最大サイズ 5 の配列。wordsArray の対応する単語の文字変換を含む。

文字変換コントロール JavaScript リファレンス

次のコンストラクタとメソッドを使用すると、API で提供される UI 内で文字変換を実行できます。

コンストラクタ - google.elements.transliteration.TransliterationControl(options)

コンストラクタ 説明

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options) は、一連の編集可能な HTML DOM 要素の文字変換を可能にし、それらの要素で文字変換を制御できる多くのメソッドを提供します。options 引数には次のフィールドがあります。

  • sourceLanguage必須の文字列であり、LanguageCode 列挙型を使用してソース言語を指定します(google.elements.transliteration.ENGLISH など)。現時点では、サポートされているソース言語は英語のみです。
  • destinationLanguage は、LanguageCode 列挙型を使用して google.elements.transliteration.HINDI のように、宛先言語を指定する必須配列です。

    UI では、利用可能な宛先言語がメニューに表示され、配列の最初の言語がデフォルトで選択されます。各ソース言語の有効な移行先言語の詳細については、getDestinationLanguages をご覧ください。
  • transliterationEnabled は、デフォルトで文字変換を有効にするかどうかを指定する省略可能なフィールドです。文字変換をデフォルトで有効にする場合は、このフィールドに true 値を指定します。デフォルト値は false です。
  • shortcutKey は、文字変換の有効と無効を切り替えるショートカット キーを指定する省略可能な文字列フィールドです。ショートカット キーを指定するには、修飾子('Ctrl'、'Alt'、##39;Shift')などの文字列をアルファベットとともに指定します。たとえば、' Ctrl + g'と ' Ctrl + Shift + a'はどちらも有効なショートカットキーの組み合わせです。

    注: 単独の修飾子として Shift を使用することはできません。ただし、Alt または Ctrl キーと組み合わせて使用できます。

このメソッドでは、次のような場合に例外が作成されます。

  • sourceLanguage または destinationLanguage が無効です。
  • sourceLangaugedestinationLanguage の言語ペアでサポートされていない言語
  • shortcutsKey の組み合わせが無効です

次のコード スニペットは、文字変換コントロールのインスタンスを作成する方法を示しています。

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);
}

文字変換コントロールのメソッド

以下のメソッドは google.elements.transliteration.TransliterationControl 名前空間に実装されています。

方法 説明

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope) は、指定されたイベントタイプの文字変換コントロールにリスナーを追加します。特定のイベントの種類がトリガーされると、イベント オブジェクトとともにリスナーが呼び出されます。イベント オブジェクトの内容はイベントのタイプによって異なります。このメソッドのパラメータは次のとおりです。

  • eventType は、リスナーを追加するイベントです。この引数は、eventType enum の値を取得します(例: google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED))。
  • listener はイベントのリスナー関数を提供します。
  • opt_listenerScope は、thisopt_listenerScope で指定されたオブジェクトに設定されたリスナーを呼び出します。

.addEventListener() には戻り値がありません。

.disableTransliteration()

.disableTransliteration() は文字変換コントロールの文字変換を無効にします。このメソッドには引数も戻り値もありません。

.enableTransliteration()

.enableTransliteration() は文字変換コントロールで文字変換を有効にします。このメソッドには引数も戻り値もありません。

.isTransliterationEnabled()

.isTransliterationEnabled() には引数がなく、文字変換コントロールで文字変換が有効かどうかを示すブール値が返されます。

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options): 指定した HTML 要素の文字変換を有効にします。このメソッドのパラメータは次のとおりです。

  • elementIds は、編集可能な要素 ID または要素参照の文字列を含む配列で、文字変換を有効にします。編集可能な要素は以下のとおりです。

    • テキスト フィールド
    • テキスト領域
    • <div> with contentEditable="true"
    • designMode="on"(<iframe>)
    • contentEditable="true" 本文を含む iFrame。文字変換を有効にする前に、iFrame が読み込まれていることを確認します。
  • opt_options は、これらの要素に適用されるオプションを提供するオプションの引数です。この引数には次のフィールドを含めることができます。
    • adjustElementStyle は、対象言語の文字に合わせて API が要素とフォントサイズを自動的に調整するかどうかを制御するブール値フィールドです(省略可)。デフォルト値は true です。このオプションは、書式なしテキストの要素にのみ影響します。
    • adjustElementDirection は、destinationLanguage の方向に応じて、編集可能な要素の方向を制御するブール値フィールドです(省略可)。デフォルト値は true です。

アラビア語などの右から左への記述システムの場合、API は記述されたスクリプトの方向と入力要素の内容に応じて、入力要素の向きを自動的に調整します。direction で HTML と JavaScript を使用して、入力要素内のテキストの向きを設定できます。この値は、'ltr'(左から右)または 'rtl'(右から左)のいずれかになります。この方法を使用すると、入力領域内のカーソルとテキストの配置に影響します。

API が右から左に記述する言語のサポート例については、アラビア語の文字変換の例をご覧ください。

このメソッドは、指定された elementIds のいずれかが無効な場合、例外を作成します。

.makeTransliteratable() には戻り値がありません。

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) は、文字変換コントロールからイベント リスナーを削除します。

  • この引数は、eventType 列挙型(google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED) など)から値を取得します。
  • listener は、削除が必要なイベントの関数です。
  • opt_listenerScope は、リスナーの追加時にリスナーが登録されたスコープです。

.removeEventListener() には戻り値がありません。

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) では、文字変換コントロールで使用する言語ペアを動的に変更できます。ここで

  • sourceLanguage は、文字変換する言語タイプを指定します。この引数は、LanguageCode enum の値を取得します(例: google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH))。
  • destinationLanguage は文字変換されたテキストの言語タイプを指定します。

.setLanguagePair() は、setLanguage アクションが成功したかどうかを示すブール値を返します。

.showControl(divElement)

.showControl(divElement) は、指定した DIV の文字変換コントロールを示します。divElement は DIV の ID です。このメソッドには戻り値はありません。

.toggleTransliteration()

.toggleTransliteration() は文字変換コントロールで文字変換をオンまたはオフにします。このメソッドには引数も戻り値もありません。

静的メソッド

次の静的メソッドは、google.language 名前空間に実装されています。

静的メソッド 説明

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) は、この関数を含むページが読み込まれた時点で呼び出される、指定されたハンドラ関数を登録する静的関数です。callback は、含まれるドキュメントが読み込まれ、API が使用できる状態になったとき(onLoad など)に呼び出される必須の関数です。この関数は google 名前空間に実装されています(つまり、google.setOnLoadCallback(callback);

.setOnLoadCallback() には戻り値がありません。

注: 以前のドキュメントでは、本文要素の onload 属性(<body onload="OnLoad()">)を使用することをおすすめしました。これは、ページを完全に読み込み、ページによって読み込まれるすべてのコードを管理するのに適した方法ですが、この方法では body.onload ハンドラを破棄するランタイムで問題が発生する可能性があります。setOnLoadCallback() にはこうした問題はないため、API が完全に読み込まれ、使用する準備ができたら、コードを呼び出すコールバックを登録することをおすすめします。

次の静的メソッドは、google.elements.transliteration 名前空間に実装されています。

静的メソッド 説明

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage) は、指定された sourceLanguage で文字変換がサポートされている宛先言語のマップを返すグローバル メソッドです。返されるマップには、サポートされている宛先言語が含まれています。キーは言語名、値は言語コードです。返されるマップは、LanguageCode enum の記載したものと類似しています。

列挙型

EventType 列挙型

google.elements.transliteration.TransliterationControl.EventType 列挙型は、文字変換中に発生する可能性があるイベントをリストします。これらのイベント用のカスタム ハンドラをコードで指定できます。

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: 文字変換コントロールで文字変換が有効または無効だった場合の結果。
    • ショートカット キー
    • enableTransliterationdisableTransliteration、または toggleTransliteration メソッド
    • showControl メソッドで描画された文字変換コントロールのマウスクリック。
    リスナーに渡されるイベント オブジェクトには、transliterationEnabled フィールドが含まれています。このフィールドは、文字変換が 'on' の場合は true、それ以外の場合は false です。
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: 文字変換コントロールで文字変換の言語ペアが変更された場合は次のようになります。
    • setLanguagePair メソッド
    • showControl メソッドで描画される文字変換コントロール
    リスナーに渡されるイベント オブジェクトには、sourceLanguage フィールドと destinationLanguage フィールドが含まれています。
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: サーバーと通信してテキストを文字変換した場合の結果。
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE は、サーバーとの接続にテキストの変換に失敗した場合に返されます。

LanguageCode 列挙型

google.elements.transliteration.LanguageCode は、名前定数を言語コードにマッピングします。これにより、文字変換メソッドでソース言語とデスティネーション言語を指定できます。

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'
};

SupportedDestinationLanguages 列挙型

google.elements.transliteration.SupportedDestinationLanguages 列挙型は、名前定数を言語コードの配列にマッピングします。これにより、文字変換コントロールでターゲット言語のグループを指定できます。

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]
};

トラブルシューティング

問題が発生した場合:

  • 入力ミスを探します。JavaScript では大文字と小文字が区別されることに注意してください。
  • JavaScript デバッガを使用します。Google Chrome にはさまざまなデベロッパー ツールが用意されています。Firefox では、JavaScript コンソールまたは Firebug を使用できます。IE では、Microsoft Script Debugger を使用できます。
  • ヘルプグループを検索します。質問への回答となる投稿が見つからない場合は、問題を説明しているウェブページへのリンクとともにグループに質問を投稿します。