Transliterate API-Referenz

Einfache Transliteration

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

Methode Beschreibung

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

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

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

Bei dieser vereinfachten Methode für die Transliteration wird der google.language.transliterate-Namespace verwendet (und nicht google.elements.transliteration, der Namespace für alle anderen Methoden in der Transliterate API).

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

Ergebnisobjekte werden mit einer JSON-Codierung von Serveranfragen erstellt. Daher haben wir uns entschieden, keine formalen JavaScript-Objekte zu implementieren, sondern die result-Objekte dynamisch aus ihrer serialisierten Form zu erstellen.

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 ist es so, als ob das System „new Object()“ aufgerufen und dann formale Eigenschaften für dieses Objekt festgelegt hätte. Diese Properties finden Sie unten.

  • <result>
    • error?
      Wird angezeigt, wenn bei der Transliteration ein Fehler aufgetreten ist.
    • transliterations
      Ein Array mit der Größe des Eingabearrays wordsArray.
      • transliteratedWords
        Ein Array mit maximal 5 Elementen, das Transliterationen für das entsprechende Wort in wordsArray enthält.

JavaScript-Referenz für die Transliterationssteuerung

Mit dem folgenden Konstruktor und den folgenden Methoden können Sie die Transliteration in einer von der API bereitgestellten Benutzeroberfläche durchführen.

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

Konstruktor Beschreibung

google.elements.transliteration.
TransliterationControl(options)

Mit .TransliterationControl(options) wird die Transliteration für eine Reihe bearbeitbarer HTML-DOM-Elemente aktiviert. Außerdem werden verschiedene Methoden bereitgestellt, mit denen Sie die Transliteration in diesen Elementen steuern können. Das options-Argument kann die folgenden Felder haben:

  • sourceLanguage ist ein obligatorischer String, der die Ausgangssprache mit dem LanguageCode-Enum angibt (wie in google.elements.transliteration.ENGLISH). Derzeit wird nur Englisch als Ausgangssprache unterstützt.
  • destinationLanguage ist ein obligatorisches Array, das die Zielsprache mit dem LanguageCode-Enum angibt (wie in google.elements.transliteration.HINDI).

    In der Benutzeroberfläche werden die verfügbaren Zielsprachen im Menü angezeigt. Die erste Sprache im Array ist standardmäßig ausgewählt. Weitere Informationen zu gültigen Zielsprachen für eine bestimmte Quellsprache finden Sie unter getDestinationLanguages.
  • transliterationEnabled ist ein optionales Feld, das angibt, ob die Transliteration standardmäßig aktiviert werden soll. Wenn Sie die Transliteration standardmäßig aktivieren möchten, geben Sie für dieses Feld den Wert true an. Der Standardwert ist false.
  • shortcutKey ist ein optionales Stringfeld, das eine Tastenkombination zum Ein- oder Ausschalten der Transliteration angibt. Um die Tastenkombination anzugeben, geben Sie einen String mit Modifikatoren wie „Ctrl“, „Alt“ oder „Shift“ zusammen mit einem Buchstaben an. Beispiele: „Strg+g“ und „Strg+Umschalt+a“ sind beide gültige Tastenkombinationen.

    Hinweis:Die Umschalttaste kann nicht als einziger Modifizierer verwendet werden. Sie kann jedoch in Kombination mit der Alt- oder der Strg-Taste verwendet werden.

Diese Methode löst unter den folgenden Umständen Ausnahmen aus:

  • sourceLanguage oder destinationLanguage ungültig
  • Nicht unterstützte Sprachen im Sprachpaar sourceLangauge und destinationLanguage
  • Ungültige Kombination von shortcutKey

Das folgende Code-Snippet zeigt, wie eine Instanz des Transliterationssteuerelements 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);
}

Methoden zur Steuerung der Transliteration

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

Methode Beschreibung

.addEventListener(eventType, listener, opt_listenerScope)

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

  • eventType ist das Ereignis, für das der Listener hinzugefügt werden soll. Der Wert dieses Arguments stammt aus dem eventType-Enum (z. B. google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)).
  • listener bietet eine Listener-Funktion für das Ereignis.
  • opt_listenerScope ruft den Listener auf, wobei this auf das in opt_listenerScope angegebene Objekt gesetzt ist.

.addEventListener() hat keinen Rückgabewert.

.disableTransliteration()

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

.enableTransliteration()

.enableTransliteration() aktiviert die Transliteration im Transliterationssteuerelement. 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 Transliteration in der Transliterationssteuerung aktiviert ist.

.makeTransliteratable(elementIds, opt_options)

Mit .makeTransliteratable(elementIds, opt_options) wird die Transliteration für die angegebenen HTML-Elemente aktiviert. Parameter für diese Methode:

  • elementIds ist ein Array mit Strings von bearbeitbaren Element-IDs oder Elementreferenzen, für die Sie die Transliteration aktivieren möchten. Ein bearbeitbares Element kann Folgendes sein:

    • Ein Textfeld
    • Ein Textbereich
    • Ein <div> mit contentEditable="true"
    • Ein <iframe> mit designMode="on"
    • Ein iFrame mit contentEditable="true"-Body. Achten Sie darauf, dass der iFrame geladen wird, bevor Sie die Transliteration aktivieren.
  • opt_options ist ein optionales Argument, mit dem die auf diese Elemente angewendeten Optionen angegeben werden. 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 anpasst, um die Zeichen der Zielsprache optimal darzustellen. Der Standardwert ist true. Diese Option wirkt sich nur auf die Nur-Text-Elemente aus.
    • adjustElementDirection ist ein optionales boolesches Feld, das die Richtung des bearbeitbaren Elements in Abhängigkeit von der Richtung des destinationLanguage steuert. Der Standardwert ist true.

Bei Schreibsystemen, die von rechts nach links verlaufen, z. B. Arabisch, wird die Richtung des Eingabeelements automatisch an die Richtung des geschriebenen Texts und den Inhalt des Eingabeelements angepasst. Sie können die Textrichtung in einem Eingabeelement mit HTML und JavaScript mit direction festlegen. Dieses Attribut kann den Wert 'ltr' (von links nach rechts) oder 'rtl' (von rechts nach links) haben. Bei dieser Methode werden der Cursor und die Ausrichtung des Texts im Eingabebereich beeinflusst.

Ein Beispiel für die Unterstützung von rechtsläufigen Sprachen durch die API finden Sie im Beispiel für die arabische Transliteration.

Diese Methode löst Ausnahmen aus, wenn eine der angegebenen elementIds ungültig ist.

.makeTransliteratable() hat keinen Rückgabewert.

.removeEventListener(eventType, listener, opt_listenerScope)

Mit .removeEventListener(eventType, listener, opt_listenerScope) wird ein Event-Listener aus dem Transliterationssteuerelement entfernt. Dabei gilt:

  • Der Wert dieses Arguments stammt aus dem Enum eventType (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 vom Transliterierungssteuerelement verwendete Sprachpaar dynamisch ändern. Dabei gilt:

  • sourceLanguage gibt den zu transliterierenden Sprachtyp an. Der Wert dieses Arguments stammt aus dem LanguageCode-Enum (z. B. google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH)).
  • destinationLanguage gibt den Sprachtyp für den transliterierten Text an.

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

.showControl(divElement)

.showControl(divElement) zeigt das Steuerelement für die Transliteration im angegebenen DIV an, wobei divElement die ID des DIV ist. Diese Methode hat keinen Rückgabewert.

.toggleTransliteration()

Mit .toggleTransliteration() wird die Transliteration in der Transliterationssteuerung aktiviert oder deaktiviert. Diese Methode hat keine Argumente und keinen Rückgabewert.

Statische Methode

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

Statische Methode Beschreibung

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) ist eine statische Funktion, die die angegebene Handler-Funktion registriert, die aufgerufen werden soll, sobald die Seite mit diesem Aufruf geladen wird. callback ist eine erforderliche Funktion, die aufgerufen wird, wenn das enthaltende Dokument geladen wird und die API bereit zur Verwendung ist (z. B. nach onLoad). Diese Funktion wird im Namespace google implementiert (d. h. google.setOnLoadCallback(callback);)

.setOnLoadCallback() hat keinen Rückgabewert.

Hinweis : In der vorherigen Dokumentation wurde empfohlen, das onload-Attribut des body-Elements (<body onload="OnLoad()">) zu verwenden. Das ist zwar eine gute Methode, wenn Sie die vollständige Kontrolle über die Seite und den gesamten von der Seite geladenen Code haben, kann aber bei einigen Runtimes, die Ihren body.onload-Handler zerstören, zu Problemen führen. Bei setOnLoadCallback() treten diese Probleme nicht auf. Daher ist dies die empfohlene Methode zum Registrieren eines Rückrufs, der Ihren Code aufruft, wenn die API vollständig geladen und einsatzbereit ist.

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

Statische Methode Beschreibung

.getDestinationLanguages(sourceLanguage)

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

Enums

EventType-Enum

Die Enumeration google.elements.transliteration.TransliterationControl.EventType listet die Ereignisse auf, die während der Transliteration möglich sind. Sie können in Ihrem Code benutzerdefinierte Handler für diese Ereignisse 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 Transliteration in der Transliterationssteuerung über Folgendes aktiviert oder deaktiviert ist:
    • Eine Tastenkombination
    • Die Methoden enableTransliteration, disableTransliteration oder toggleTransliteration
    • Ein Mausklick auf das von der showControl-Methode gezeichnete Steuerelement für die Transliteration.
    Das an den Listener übergebene Ereignisobjekt enthält das Feld transliterationEnabled. Dieses Feld ist „true“, wenn die Transliteration „on“ ist, andernfalls ist es „false“.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: Ergebnisse, wenn das Transliterations-Sprachpaar in der Transliterationssteuerung über Folgendes geändert wird:
    • Die Methode setLanguagePair
    • Das von der Methode showControl gezeichnete Transliterationselement
    Das an den Listener übergebene Ereignisobjekt enthält die Felder sourceLanguage und destinationLanguage.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: Ergebnisse, wenn Sie den Server erfolgreich kontaktiert haben, um Text zu transliterieren.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE-Ergebnisse bei einem fehlgeschlagenen Versuch, den Server zu kontaktieren, um Text zu transkribieren.

Enum „LanguageCode“

Die google.elements.transliteration.LanguageCode ordnet Namenskonstanten Sprachcodes zu, mit denen Sie die Quell- und Zielsprachen in den Transliterationsmethoden 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'
};

Enum „SupportedDestinationLanguages“

Die google.elements.transliteration.SupportedDestinationLanguages-Enumeration ordnet Namenskonstanten Arrays von Sprachcodes zu, mit denen Sie Gruppen von Zielsprachen im Transliterationssteuerelement 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 Reihe von Entwicklertools. In Firefox können Sie die JavaScript-Konsole oder Firebug verwenden. In 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.