Documentation de référence de l'API Transliterate

Translittération simple

La méthode suivante vous permet d'effectuer une translittération simple sans interface utilisateur en manipulant JavaScript.

Méthode Description

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

google.language.transliterate(wordsArray, srcLang, destLang, callback) est une méthode globale qui translittère le texte donné de la langue source vers la langue de destination. L'API renvoie le résultat de manière asynchrone à la fonction callback donnée sous la forme de l'objet result. Les paramètres de cette méthode sont les suivants :

  • wordsArray fournit le texte à translittérer sous forme de tableau.
  • srcLang fournit la langue source sous forme de code de langue. Pour obtenir des exemples, consultez l'énumération LanguageCode.
  • destLang fournit la langue de destination sous forme de code de langue. Pour obtenir des exemples, consultez l'énumération LanguageCode.
  • callback est la fonction de rappel qui reçoit le result.

google.language.transliterate() ne renvoie aucune valeur.

Cette méthode simplifiée de translittération utilise l'espace de noms google.language.transliterate (et non google.elements.transliteration, qui est l'espace de noms pour toutes les autres méthodes de l'API Transliterate).

google.language.transliterate() génère l'objet result.

Les objets de résultat sont produits à l'aide d'un encodage JSON des requêtes du serveur. Par conséquent, nous avons choisi de ne pas implémenter d'objets JavaScript formels et avons plutôt créé dynamiquement les objets result à partir de leur forme sérialisée.

Bien qu'il n'y ait pas d'implémentation formelle des objets, ils existent et nous les documentons comme s'il y avait une implémentation JavaScript sous-jacente. L'impact de tout cela est minime. Cela signifie simplement qu'il n'y a pas de constructeur nommé. Pour chaque résultat, c'est comme si le système appelait new Object(), puis définissait des propriétés formelles sur cet objet. Ces propriétés sont indiquées ci-dessous.

  • <result>
    • error?
      Présent en cas d'erreur de translittération.
    • transliterations
      Tableau de taille égale à celle de l'entrée wordsArray.
      • transliteratedWords
        Tableau de taille maximale 5, avec les translittérations du mot correspondant dans wordsArray.

Référence JavaScript pour le contrôle de la translittération

Le constructeur et les méthodes suivants vous permettent d'effectuer une translittération dans une interface utilisateur fournie par l'API.

Constructeur : google.elements.transliteration.TransliterationControl(options)

Constructeur Description

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options) permet la translittération sur un ensemble d'éléments DOM HTML modifiables et fournit un certain nombre de méthodes vous permettant de contrôler la translittération dans ces éléments. L'argument options peut comporter les champs suivants :

  • sourceLanguage est une chaîne obligatoire qui spécifie la langue source à l'aide de l'énumération LanguageCode (comme dans google.elements.transliteration.ENGLISH). Pour le moment, l'anglais est la seule langue source acceptée.
  • destinationLanguage est un tableau obligatoire qui spécifie la langue de destination à l'aide de l'énumération LanguageCode (comme dans google.elements.transliteration.HINDI).

    Dans l'UI, les langues de destination disponibles s'affichent dans le menu, et la première langue du tableau est sélectionnée par défaut. Veuillez consulter getDestinationLanguages pour en savoir plus sur les langues de destination valides pour une langue source donnée.
  • transliterationEnabled est un champ facultatif qui indique s'il faut activer la translittération par défaut. Si vous souhaitez activer la translittération par défaut, spécifiez ce champ avec la valeur true. La valeur par défaut est false.
  • shortcutKey est un champ de chaîne facultatif qui spécifie une touche de raccourci pour activer ou désactiver la translittération. Pour spécifier la touche de raccourci, indiquez une chaîne contenant des modificateurs tels que "Ctrl", "Alt" ou "Maj" ainsi qu'une lettre alphabétique. Par exemple, "Ctrl+g" et "Ctrl+Maj+a" sont des combinaisons de touches valides.

    Remarque : Vous ne pouvez pas utiliser la touche Maj comme seul modificateur. Toutefois, vous pouvez l'utiliser en combinaison avec Alt ou Ctrl.

Cette méthode crée des exceptions dans les cas suivants :

  • sourceLanguage ou destinationLanguage non valide
  • Langues non acceptées dans la paire de langues sourceLangauge et destinationLanguage
  • Combinaison de touches de raccourci non valide

L'extrait de code suivant montre comment créer une instance du contrôle de translittération :

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

Méthodes de contrôle de la translittération

Les méthodes suivantes sont implémentées dans l'espace de noms google.elements.transliteration.TransliterationControl.

Méthode Description

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope) ajoute un écouteur au contrôle de translittération pour le type d'événement spécifié. Lorsque le type d'événement spécifique est déclenché, l'écouteur est appelé avec l'objet d'événement. Le contenu de l'objet d'événement dépend du type d'événement. Les paramètres de cette méthode sont les suivants :

  • eventType est l'événement pour lequel l'écouteur doit être ajouté. Cet argument tire sa valeur de l'énumération eventType (par exemple, google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)).
  • listener fournit une fonction d'écouteur pour l'événement.
  • opt_listenerScope appelle l'écouteur avec this défini sur l'objet spécifié dans opt_listenerScope.

.addEventListener() ne renvoie aucune valeur.

.disableTransliteration()

.disableTransliteration() désactive la translittération dans le contrôle de translittération. Cette méthode ne comporte aucun argument ni aucune valeur de retour.

.enableTransliteration()

.enableTransliteration() active la translitération dans le contrôle de translitération. Cette méthode ne comporte aucun argument ni aucune valeur de retour.

.isTransliterationEnabled()

.isTransliterationEnabled() n'accepte aucun argument et renvoie une valeur booléenne indiquant si la translittération est activée dans le contrôle de translittération.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options) permet la translittération sur les éléments HTML fournis. Les paramètres de cette méthode sont les suivants :

  • elementIds est un tableau contenant des chaînes d'ID d'éléments modifiables ou des références d'éléments pour lesquels vous souhaitez activer la translittération. Un élément modifiable peut être :

    • Un champ de texte
    • Une zone de texte
    • Un élément <div> avec contentEditable="true"
    • Un <iframe> avec designMode="on"
    • Un iFrame avec un corps contentEditable="true". Assurez-vous que l'iFrame est chargé avant d'activer la translittération.
  • opt_options est un argument facultatif qui fournit les options appliquées à ces éléments. Cet argument peut contenir les champs suivants :
    • adjustElementStyle est un champ booléen facultatif qui indique si l'API ajuste automatiquement la taille des éléments et des polices pour qu'elles s'adaptent de manière optimale aux caractères de la langue cible. La valeur par défaut est true. Cette option n'affecte que les éléments en texte brut.
    • adjustElementDirection est un champ booléen facultatif qui contrôle la direction de l'élément modifiable en fonction de la direction de destinationLanguage. La valeur par défaut est true.

Pour les systèmes d'écriture de droite à gauche comme l'arabe, l'API ajuste automatiquement la direction de l'élément d'entrée en fonction de la direction du script écrit et du contenu de l'élément d'entrée. Vous pouvez définir le sens du texte dans un élément d'entrée à l'aide de HTML et de JavaScript avec direction, qui peut avoir la valeur 'ltr' (de gauche à droite) ou 'rtl' (de droite à gauche). Cette méthode affecte le curseur et l'alignement du texte dans la zone de saisie.

Vous trouverez un exemple de la compatibilité de l'API avec les langues de droite à gauche dans l'exemple de translittération en arabe.

Cette méthode crée des exceptions si l'un des elementIds spécifiés n'est pas valide.

.makeTransliteratable() ne renvoie aucune valeur.

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) supprime un écouteur d'événements du contrôle de translittération, où :

  • Cet argument tire sa valeur de l'énumération eventType (par exemple, google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)).
  • listener est la fonction de l'événement à supprimer.
  • opt_listenerScope correspond au champ d'application dans lequel l'écouteur a été enregistré au moment de son ajout.

.removeEventListener() ne renvoie aucune valeur.

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) vous permet de modifier de manière dynamique la paire de langues utilisée par le contrôle de translittération.

  • sourceLanguage indique le type de langue à translittérer. Cet argument tire sa valeur de l'énumération LanguageCode (par exemple, google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH)).
  • destinationLanguage indique la langue du texte translittéré.

.setLanguagePair() renvoie une valeur booléenne indiquant si l'action setLanguage a réussi.

.showControl(divElement)

.showControl(divElement) affiche le contrôle de translittération dans le DIV spécifié, où divElement est l'ID du DIV. Cette méthode n'a pas de valeur renvoyée.

.toggleTransliteration()

.toggleTransliteration() active ou désactive la translittération dans le contrôle de translittération. Cette méthode ne comporte aucun argument ni aucune valeur de retour.

Méthode statique

La méthode statique suivante est implémentée dans l'espace de noms google.language.

Méthode statique Description

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) est une fonction statique qui enregistre la fonction de gestionnaire spécifiée à appeler une fois la page contenant cet appel chargée, où callback est une fonction requise appelée lorsque le document contenant est chargé et que l'API est prête à être utilisée (par exemple, après onLoad). Cette fonction est implémentée dans l'espace de noms google (c'est-à-dire google.setOnLoadCallback(callback);)

.setOnLoadCallback() ne renvoie aucune valeur.

Remarque  : La documentation précédente recommandait d'utiliser l'attribut onload de l'élément body (<body onload="OnLoad()">). Bien que cette méthode soit tout à fait acceptable lorsque vous contrôlez entièrement la page et tout le code qu'elle charge, elle peut poser des problèmes avec certains environnements d'exécution qui détruisent votre gestionnaire body.onload. setOnLoadCallback() ne présente pas ces problèmes. Il s'agit donc de la méthode recommandée pour enregistrer un rappel qui appelle votre code lorsque l'API est entièrement chargée et prête à être utilisée.

La méthode statique suivante est implémentée dans l'espace de noms google.elements.transliteration.

Méthode statique Description

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage) est une méthode globale qui renvoie une carte des langues de destination pour lesquelles la translittération est prise en charge pour le sourceLanguage donné. La carte renvoyée contient les langues de destination acceptées, où la clé correspond au nom de la langue et la valeur au code de langue. La carte renvoyée est semblable à celle décrite dans l'énumération LanguageCode.

Enums

Énumération EventType

L'énumération google.elements.transliteration.TransliterationControl.EventType liste les événements possibles lors de la translittération. Vous pouvez fournir des gestionnaires personnalisés pour ces événements dans votre code.

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 : résultats lorsque la translittération est activée ou désactivée dans le contrôle de la translittération via :
    • Une touche de raccourci
    • Méthodes enableTransliteration, disableTransliteration ou toggleTransliteration
    • Clic de souris sur le contrôle de translittération dessiné par la méthode showControl.
    L'objet d'événement transmis à l'écouteur contient le champ transliterationEnabled. Ce champ est défini sur "true" si la translittération est on, et sur "false" dans le cas contraire.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED : résultats lorsque la paire de langues de translittération est modifiée dans le contrôle de translittération via :
    • La méthode setLanguagePair
    • Contrôle de translittération dessiné par la méthode showControl
    L'objet d'événement transmis à l'écouteur contient les champs sourceLanguage et destinationLanguage.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE : résultats lorsque vous contactez le serveur pour translittérer du texte.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE résultats après une tentative infructueuse de contacter le serveur pour translittérer du texte.

Énumération LanguageCode

google.elements.transliteration.LanguageCode mappe les constantes de nom aux codes de langue que vous pouvez utiliser pour spécifier les langues source et de destination dans les méthodes de translittération.

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

Énumération SupportedDestinationLanguages

L'énumération google.elements.transliteration.SupportedDestinationLanguages mappe les constantes de nom à des tableaux de codes de langue que vous pouvez utiliser pour spécifier des groupes de langues de destination dans le contrôle de translittération.

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

Dépannage

Si vous rencontrez des problèmes :

  • Vérifiez qu'il ne contient pas de fautes de frappe. Rappelez-vous que le langage JavaScript est sensible à la casse.
  • Utilisez un débogueur JavaScript. Google Chrome propose un ensemble complet d'outils pour les développeurs. Dans Firefox, vous pouvez utiliser la console JavaScript ou Firebug. Dans IE, vous pouvez utiliser le débogueur de script Microsoft.
  • Recherchez dans le groupe de discussion. Si vous ne trouvez pas de réponse à votre question, posez-la dans le groupe en incluant un lien vers une page Web qui illustre le problème.