Transliterate-API-Referenz

Einfache Transkription

Mit der folgenden Methode können Sie eine einfache Transkription ohne Benutzeroberfläche durchführen, indem Sie JavaScript bearbeiten.

Methode Beschreibung

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

google.language.transliterate(wordsArray, srcLang, destLang, callback) ist eine globale Methode, mit der bestimmter Text von der Quell- in die Zielsprache transkribiert wird. Die API gibt das Ergebnis asynchron an die angegebene callback-Funktion als result-Objekt zurück. Parameter für diese Methode sind:

  • wordsArray stellt den Text bereit, der als Array transkribiert werden soll.
  • srcLang stellt die Ausgangssprache als Sprachcode bereit. Beispiele finden Sie in der Aufzählung LanguageCode.
  • destLang stellt die Zielsprache als Sprachcode bereit. Beispiele finden Sie in der Aufzählung LanguageCode.
  • callback ist die Callback-Funktion, die den result empfängt.

google.language.transliterate() hat keinen Rückgabewert.

Bei dieser vereinfachten Methode für die Transkription wird der google.language.transliterate-Namespace verwendet (und nicht google.elements.transliteration, also der Namespace für jede andere Methode in der Transliterate API).

google.language.transliterate() gibt das result-Objekt aus.

Ergebnisobjekte werden mithilfe einer JSON-Codierung von Serveranfragen erzeugt. Aus diesem Grund haben wir uns entschlossen, keine formellen JavaScript-Objekte zu implementieren. Stattdessen wurden die result-Objekte dynamisch aus ihrer serialisierten Form erstellt.

The Objekte sind auch ohne formale Integration vorhanden, und wir dokumentieren sie, als ob eine JavaScript-Implementierung als Sicherung vorhanden sei. Die Auswirkung des Ganzen ist minimal. All das bedeutet, dass kein benannter Konstruktor vorhanden ist. Für jedes Ergebnis sieht es so aus, als käme das System neue Object() und legt dann formale Eigenschaften für dieses Objekt fest. Diese Attribute finden Sie unten.

  • <result>
    • error?
      Vorhanden, wenn bei der Transkription ein Fehler aufgetreten ist
      • code
      • message
        Eine für Menschen lesbare Stringbeschreibung des Fehlers.
    • transliterations
      Ein Array, das der Größe der Eingabe wordsArray entspricht.
      • transliteratedWords
        Ein Array mit der maximalen Größe 5 mit Transliterationen für das entsprechende Wort in wordsArray.

Transkriptionsreferenz für JavaScript-Steuerelemente

Mit dem folgenden Konstruktor und den folgenden Methoden können Sie eine Transkription in einer von der API bereitgestellten UI durchführen.

Konstrukteur – google.elements.transliteration.TransliterationControl(options)

Konstruktor Beschreibung

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options) aktiviert die Transkription für eine Reihe von bearbeitbaren HTML-DOM-Elementen und stellt eine Reihe von Methoden bereit, mit denen Sie die Transkription in diesen Elementen steuern können. Das Argument options kann die folgenden Felder enthalten:

  • sourceLanguage ist ein erforderlicher String, der die Quellsprache mithilfe von LanguageCode enum angibt (wie in google.elements.transliteration.ENGLISH). Derzeit ist Englisch die einzige unterstützte Quellsprache.
  • destinationLanguage ist ein erforderliches Array, das die Zielsprache mithilfe von LanguageCode enum angibt (wie in google.elements.transliteration.HINDI).

    In der UI werden die verfügbaren Sprachen im Menü angezeigt. Die erste Sprache ist standardmäßig im Array ausgewählt. Weitere Informationen zu gültigen Zielsprachen für eine bestimmte Ausgangssprache finden Sie unter getDestinationLanguage.
  • transliterationEnabled ist ein optionales Feld, mit dem angegeben wird, ob die Transkription standardmäßig aktiviert werden soll. Wenn die Transkription standardmäßig aktiviert werden soll, geben Sie in diesem Feld den Wert true an. Der Standardwert ist false.
  • shortcutKey ist ein optionales Stringfeld, in dem eine Tastenkombination zum Aktivieren bzw. Deaktivieren der Tastenkombination eingegeben wird. Geben Sie einen String mit Modifikatoren wie 'Strg', 'Alt' oder 'Umschalt' zusammen mit einem Buchstaben an. Beispiel: 'Strg+g' und ##9;Strg+Umschalttaste+a' sind beide Tastenkombinationen.

    Hinweis: Sie können nicht die einzige Umschalttaste verwenden. Sie können sie aber zusammen mit Alt oder Strg verwenden.

Bei dieser Methode werden in folgenden Fällen Ausnahmen erstellt:

  • sourceLanguage oder destinationLanguage ungültig
  • Nicht unterstützte Sprachen in den Sprachen sourceLangauge und destinationLanguage
  • Ungültige Verknüpfung für „keyKey“

Das folgende Code-Snippet zeigt, wie eine Instanz des Transkriptions-Steuerelements erstellt wird:

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

Transkriptionsmethoden

Die folgenden Methoden werden im google.elements.transliteration.TransliterationControl-Namespace implementiert.

Methode Beschreibung

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope) fügt dem Transkriptionssteuerelement für den angegebenen Ereignistyp einen Listener hinzu. Wenn der jeweilige Ereignistyp ausgelöst wird, wird der Listener mit dem Ereignisobjekt aufgerufen. Der Inhalt des Ereignisobjekts hängt vom Typ des Ereignisses ab. Parameter für diese Methode sind:

  • eventType ist das Ereignis, für das der Listener hinzugefügt werden soll. Dieses Argument übernimmt seinen Wert aus der eventType-Aufzählung (z. B. google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)).
  • listener stellt eine Listener-Funktion für das Ereignis bereit.
  • opt_listenerScope ruft den Listener auf, bei dem this auf das in opt_listenerScope angegebene Objekt festgelegt ist.

.addEventListener() hat keinen Rückgabewert.

.disableTransliteration()

.disableTransliteration() deaktiviert die Transkriptionsfunktion im Transkriptsteuerelement. Diese Methode hat keine Argumente und keinen Rückgabewert.

.enableTransliteration()

.enableTransliteration() aktiviert die transkribierte Transkription. Diese Methode hat keine Argumente und keinen Rückgabewert.

.isTransliterationEnabled()

.isTransliterationEnabled() hat keine Argumente und gibt einen booleschen Wert zurück, der angibt, ob die Transkription im Transkript-Steuerelement aktiviert ist.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options) aktiviert die Transkription in den bereitgestellten HTML-Elementen. Parameter für diese Methode sind:

  • elementIds ist ein Array, das Strings von bearbeitbaren Element-IDs oder Elementverweisen enthält, für die Sie die Transkription aktivieren möchten. Folgende Elemente können bearbeitet werden:

    • Ein Textfeld
    • Ein Textbereich
    • Ein &div; mit contentEditable="true"
    • <iframe> mit designMode="on"
    • iFrame mit contentEditable="true"-Text. Prüfen Sie, ob der iFrame geladen wird, bevor Sie die Transkription aktivieren.
  • opt_options ist ein optionales Argument, das die auf diese Elemente angewendeten Optionen bereitstellt. Dieses Argument kann die folgenden Felder enthalten:
    • adjustElementStyle ist ein optionales boolesches Feld, mit dem gesteuert wird, ob die API die Element- und Schriftgrößen automatisch an die Zielsprachenzeichen anpasst. Der Standardwert ist true. Diese Option betrifft nur die Nur-Text-Elemente.
    • adjustElementDirection ist ein optionales boolesches Feld, das die Richtung des bearbeitbaren Elements abhängig von der Richtung des destinationLanguage steuert. Der Standardwert ist true.

Von rechts nach links geschriebene Systeme wie Arabisch werden in der API automatisch die Richtung des Eingabeelements entsprechend der Schreibrichtung und des Inhalts des Eingabeelements angepasst. Sie können die Textrichtung in einem Eingabeelement mithilfe von HTML und JavaScript mit direction festlegen. Sie kann den Wert 'ltr' (von links nach rechts) oder 'rtl' (von rechts nach links) haben. Diese Methode wirkt sich auf den Cursor und die Textausrichtung im Eingabebereich aus.

Ein Beispiel für die API-Unterstützung für Rechts-nach-links-Sprachen sehen Sie im Beispiel für die arabische Transkription.

Diese Methode erstellt Ausnahmen, wenn eine der angegebenen elementIds ungültig ist.

.makeTransliteratable() hat keinen Rückgabewert.

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) entfernt einen Ereignis-Listener aus dem Transkript-Steuerelement:

  • Dieses Argument übernimmt seinen Wert aus der eventType-Aufzählung (z. B. google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)).
  • listener ist die Funktion für das Ereignis, das entfernt werden muss.
  • opt_listenerScope ist der Bereich, in dem der Listener zum Zeitpunkt des Hinzufügens des Listeners registriert wurde.

.removeEventListener() hat keinen Rückgabewert.

.setLanguagePair(sourceLanguage, destinationLanguage)

Mit .setLanguagePair(sourceLanguage, destinationLanguage) können Sie das Sprachpaar, das vom Transkriptionssteuerelement verwendet wird, dynamisch ändern, wobei Folgendes gilt:

  • sourceLanguage stellt den Sprachtyp bereit, der transkribiert werden soll. Dieses Argument übernimmt seinen Wert aus der LanguageCode-Aufzählung (z. B. google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH)).
  • DestinationLanguage bietet den Sprachtyp für den übersetzten Text.

.setLanguagePair() gibt einen booleschen Wert zurück, der angibt, ob die Aktion setLanguage erfolgreich war.

.showControl(divElement)

.showControl(divElement) zeigt das Transkriptionssteuerelement im angegebenen DIV-Element an, wobei divElement die ID des DIV-Elements ist. Diese Methode hat keinen Rückgabewert.

.toggleTransliteration()

.toggleTransliteration() aktiviert oder deaktiviert die Transkriptionsfunktion. Diese Methode hat keine Argumente und keinen Rückgabewert.

Statische Methode

Die folgende statische Methode wird im google.language-Namespace implementiert.

Statische Methode Beschreibung

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) ist eine statische Funktion, mit der die angegebene Handler-Funktion registriert wird, sobald die Seite, die diesen Aufruf enthält, geladen wird. callback ist eine erforderliche Funktion, die aufgerufen wird, wenn das entsprechende Dokument geladen ist und die API einsatzbereit ist (z. B. nach onLoad). Diese Funktion wird im google-Namespace implementiert (z. B. google.setOnLoadCallback(callback);)

.setOnLoadCallback() hat keinen Rückgabewert.

Hinweis: In der vorherigen Dokumentation wurde empfohlen, das onload-Attribut „body“ von <body onload="OnLoad()"> zu verwenden (<body onload="OnLoad()">). Das ist eine gute Möglichkeit, wenn Sie die Seite und den gesamten von der Seite geladenen Code vollständig steuern können. Dieser Ansatz kann jedoch zu Problemen mit Laufzeiten führen, die Ihren body.onload-Handler löschen. setOnLoadCallback() hat diese Probleme nicht. Dies ist daher die empfohlene Methode zur Registrierung eines Callbacks, der Ihren Code aufruft, sobald die API vollständig geladen und einsatzbereit ist.

Die folgende statische Methode wird im google.elements.transliteration-Namespace implementiert.

Statische Methode Beschreibung

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage) ist eine globale Methode, die eine Karte der Zielsprachen zurückgibt, für die die Transkription für die angegebene sourceLanguage unterstützt wird. Die zurückgegebene Zuordnung enthält unterstützte Zielsprachen. Der Schlüssel ist dabei der Sprachname und der Wert der Sprachcode. Die zurückgegebene Karte ähnelt der in der LanguageCode-Aufzählung beschriebenen.

Enums

Ereignistyp-Enum

Die Aufzählung google.elements.transliteration.TransliterationControl.EventType listet die Ereignisse auf, die bei der Transcodierung möglich sind. Du kannst für diese Ereignisse in deinem Code benutzerdefinierte Handler bereitstellen.

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: Ergebnisse, wenn die Transkription aktiviert oder deaktiviert wird:
    • Eine Tastenkombination
    • Die Methoden enableTransliteration, disableTransliteration oder toggleTransliteration
    • Ein Mausklick auf die Transkriptionssteuerung, die von der Methode showControl gezeichnet wurde.
    Das Ereignis, das an den Listener übergeben wird, enthält das Feld transliterationEnabled. Dieses Feld ist „true“, wenn die Transkription „'on'“ lautet, andernfalls „false“.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: Ergebnisse, wenn das Transkript-Sprachpaar über das Steuerelement für die Transkription geändert wird:
    • Die Methode setLanguagePair
    • Das Steuerelement zur Transkription, das von der Methode showControl gezeichnet wurde
    Das Ereignis, das an den Listener übergeben wird, enthält die Felder sourceLanguage und destinationLanguage.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: Die Ergebnisse werden angezeigt, wenn Sie den Server kontaktieren, um Text zu transkribieren.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE führt zu einem fehlgeschlagenen Versuch, den Server zu kontaktieren, um Text zu transkribieren.

LanguageCode-Enum

google.elements.transliteration.LanguageCode weist Konstanten den Sprachcodes zu, mit denen Sie die Ausgangs- und Zielsprachen in den Transkriptionsmethoden angeben können.

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

Unterstützte Zielsprachen-Aufzählung

Die Aufzählung google.elements.transliteration.SupportedDestinationLanguages ordnet Namenkonstanten Arrays von Sprachcodes zu, mit denen Sie Gruppen von Zielsprachen im Transkript Steuerelement angeben können.

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

Fehlerbehebung

Wenn Probleme auftreten:

  • Suchen Sie nach Tippfehlern. Bedenken Sie, dass bei JavaScript zwischen Groß-/Kleinschreibung unterschieden wird.
  • Verwenden Sie einen JavaScript-Debugger. Google Chrome bietet eine umfassende Auswahl an Entwicklertools. In Firefox können Sie die JavaScript-Konsole oder den Firebug verwenden. Im IE können Sie den Microsoft Script Debugger verwenden.
  • Suchen Sie im Diskussionsforum. Wenn Sie keinen Eintrag finden, der Ihre Frage beantwortet, können Sie Ihre Frage in der Gruppe zusammen mit einem Link zu einer Webseite veröffentlichen, auf der das Problem demonstriert wird.