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

Simplicité de la translittération

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 transcrit le texte fourni dans la langue source vers la langue cible. L'API renvoie le résultat de manière asynchrone à la fonction callback indiquée en tant qu'objet result. Les paramètres de cette méthode sont les suivants:

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

Aucune valeur renvoyée pour google.language.transliterate().

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 de toutes les autres méthodes de l'API Transliterate.

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

Les objets de résultat sont générés à l'aide d'un encodage JSON de requêtes de serveur. Par conséquent, nous avons choisi de ne pas mettre en œuvre des objets JavaScript formels et avons créé les objets result de manière dynamique à partir de leur forme sérialisée.

S'il n'existe pas d'implémentation formelle des objets, ceux-ci existent, et nous les documentons comme s'il existait une implémentation JavaScript de soutien. Leur impact est minime. Cela signifie qu'il n'y a pas de constructeur nommé. Pour chaque résultat, on procédera comme si le système appelait "new Object()", puis définissait des propriétés formelles sur cet objet. Ces propriétés sont répertoriées ci-dessous.

  • <result>
    • error?
      Disponible en cas d'erreur lors de la translittération.
    • transliterations
      Tableau de tailles égales à la taille de la wordsArray d'entrée.
      • transliteratedWords
        Tableau de cinq tailles maximales, avec translittérations pour le mot correspondant dans wordsArray.

Documentation de référence sur le code JavaScript de contrôle de la translittération

Les méthodes et constructeurs suivants vous permettent d'effectuer la 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 DOM modifiables et fournit un certain nombre de méthodes vous permettant de contrôler la translittération de ces éléments. L'argument options peut comporter les champs suivants:

  • sourceLanguage est une chaîne obligatoire spécifiant la langue source à l'aide de LanguageCode enum (comme google.elements.transliteration.ENGLISH).
  • destinationLanguage est un tableau obligatoire qui spécifie la langue de destination à l'aide de l'énumération (enum) LanguageCode (comme dans google.elements.transliteration.HINDI).

    Dans l'interface utilisateur, les langues de destination disponibles apparaissent dans le menu, la première langue du tableau étant sélectionnée par défaut. Pour en savoir plus sur les langues de destination valides pour une langue source donnée, consultez la page getDestinationLanguage.
  • transliterationEnabled est un champ facultatif qui spécifie si la translittération est activée par défaut. Si vous souhaitez activer la translitération par défaut, spécifiez la valeur true dans ce champ. La valeur par défaut est false.
  • Le champ de chaîne facultatif shortcutKey spécifie une touche de raccourci permettant d'activer ou de désactiver la translittération. Pour spécifier la touche de raccourci, spécifiez une chaîne contenant des modificateurs tels que 'Ctrl', 'Alt' ou 'Maj' ainsi qu'une lettre. Par exemple, 'Ctrl+g' et 'Ctrl+Maj+a' sont deux combinaisons de touches de raccourci valides.

    Remarque:Vous ne pouvez pas utiliser 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:

  • Valeur de l'élément sourceLanguage ou destinationLanguage non valide
  • Langues non acceptées dans la paire de langues sourceLangauge et destinationLanguage
  • Combinaison de raccourci raccourci non valide

L'extrait de code suivant montre comment créer une instance de la commande 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 à la commande 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 "event". 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 (google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED), par exemple).
  • 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.

Aucune valeur renvoyée pour .addEventListener().

.disableTransliteration()

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

.enableTransliteration()

.enableTransliteration() permet la translittération dans le contrôle de translittération. Cette méthode ne comporte aucun argument et aucune valeur renvoyée.

.isTransliterationEnabled()

.isTransliterationEnabled() ne comporte aucun argument et renvoie une valeur booléenne indiquant si la translittération est activée dans la commande de translittération.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options) active la translittération sur le ou 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 de références d'éléments pour lesquelles vous souhaitez activer la translittération. Un élément modifiable peut être:

    • Un champ de texte
    • Une zone de texte
    • A <div> avec contentEditable="true"
    • <iframe> avec designMode="on"
    • Un iFrame avec un corps contentEditable="true". Assurez-vous que l'iFrame est chargé avant d'activer la translité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 détermine si la taille de l'élément et de la police est automatiquement ajustée en fonction des caractères de langue cible de l'API. La valeur par défaut est true. Cette option ne concerne 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 la destinationLanguage. La valeur par défaut est true.

Pour les systèmes d'écriture de droite à gauche tels que 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 en utilisant du code HTML et 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 compatibilité de l'API avec les langues qui se lisent de droite à gauche dans l'exemple de translittération en arabe.

Cette méthode crée des exceptions si l'une des valeurs elementIds spécifiées n'est pas valide.

Aucune valeur renvoyée pour .makeTransliteratable().

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) supprime un écouteur d'événements de la commande de translittération, où:

  • Cet argument tire sa valeur de l'énumération eventType (google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED), par exemple).
  • 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 l'ajout de l'écouteur.

Aucune valeur renvoyée pour .removeEventListener().

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) vous permet de modifier de manière dynamique la paire de langues utilisée par la commande de translittération, où:

  • sourceLanguage fournit le type de langue à transcrire. Cet argument tire sa valeur de l'énumération LanguageCode (google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH), par exemple).
  • Le paramètre "languageLanguage" fournit le type de langue du texte translittéré.

.setLanguagePair() renvoie une valeur booléenne indiquant si l'action setLanguage a bien été effectuée.

.showControl(divElement)

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

.toggleTransliteration()

.toggleTransliteration() active ou désactive la translittération dans la commande de translittération. Cette méthode ne comporte aucun argument et aucune valeur renvoyée.

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 (callback). google.setOnLoadCallback(callback);)

Aucune valeur renvoyée pour .setOnLoadCallback().

Remarque: Dans la documentation précédente, nous vous recommandons d'utiliser l'attribut "body" de l'élément "body". <body onload="OnLoad()">Bien qu'il s'agisse d'une méthode efficace lorsque vous contrôlez totalement la page et tout le code chargé par celle-ci, cette approche peut entraîner des problèmes avec certains environnements d'exécution qui détruit 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 compatible avec la sourceLanguage donnée. La carte renvoyée contient des langues de destination acceptées, dans lesquelles 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 d'événement

L'énumération google.elements.transliteration.TransliterationControl.EventType répertorie les événements possibles pendant 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 la commande de translittération via :
    • Touche de raccourci
    • Les méthodes enableTransliteration, disableTransliteration ou toggleTransliteration
    • Clic d'une souris sur la commande de translittération dessinée 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 &&33;on'. Sinon, sur "false",
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED : résultats lorsque la paire de langues de translittération est modifiée dans la commande de translittération via :
    • La méthode setLanguagePair
    • La commande de translittération tracée 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ésultat lorsque vous contactez le serveur pour transcrire du texte.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE se produit lorsqu'une tentative de contact du serveur a échoué.

Énumération Language

Le google.elements.transliteration.LanguageCode met en correspondance les constantes avec les 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 acceptée pour les langues de destination

L'énumération google.elements.transliteration.SupportedDestinationLanguages mappe les constantes aux tableaux de codes de langue que vous pouvez utiliser pour spécifier des groupes de langues de destination dans la commande 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

En cas de problème, procédez comme suit:

  • 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 dispose d'un ensemble complet d'outils de développement. Dans Firefox, vous pouvez utiliser la console JavaScript ou Firebug. Dans IE, vous pouvez utiliser Microsoft Script Debugger.
  • Effectuez une recherche dans le groupe de discussion. Si vous ne parvenez pas à trouver une réponse à votre question, publiez-la avec un lien vers une page Web décrivant le problème.