Riferimento API Transliterate

Traslitterazione semplice

Il seguente metodo ti consente di eseguire una semplice traslitterazione senza un'interfaccia utente manipolando JavaScript.

Metodo Descrizione

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

google.language.transliterate(wordsArray, srcLang, destLang, callback) è un metodo globale che traslittera il testo dato dalla lingua di origine alla lingua di destinazione. L'API restituisce il risultato in modo asincrono alla funzione callback specificata come oggetto result. I parametri per questo metodo sono:

  • wordsArray fornisce il testo da traslitterare come array.
  • srcLang fornisce la lingua di origine come codice lingua. Per esempi, vedi l'enumerazione LanguageCode.
  • destLang fornisce la lingua di destinazione come codice lingua. Per esempi, vedi l'enumerazione LanguageCode.
  • callback è la funzione di callback che riceve result.

google.language.transliterate() non ha un valore restituito.

Questo metodo semplificato di traslitterazione utilizza lo spazio dei nomi google.language.transliterate (e non google.elements.transliteration, che è lo spazio dei nomi per tutti gli altri metodi dell'API Transliterate).

google.language.transliterate() restituisce l'oggetto result.

Gli oggetti dei risultati vengono prodotti utilizzando una codifica JSON delle richieste del server. Di conseguenza, abbiamo scelto di non implementare oggetti JavaScript formali e abbiamo creato dinamicamente gli oggetti result dalla loro forma serializzata.

Sebbene non esista un'implementazione formale degli oggetti, questi esistono e li documentiamo come se esistesse un'implementazione JavaScript di supporto. L'impatto di tutto ciò è minimo. Significa solo che non esiste un costruttore denominato. Per ogni risultato, è come se il sistema chiamasse new Object() e poi impostasse le proprietà formali dell'oggetto. Queste proprietà sono riportate di seguito.

  • <result>
    • error?
      Presenta se si è verificato un errore nella traslitterazione.
    • transliterations
      Un array di dimensioni pari a quelle dell'input wordsArray.
      • transliteratedWords
        Un array di dimensione massima 5, con le traslitterazioni della parola corrispondente in wordsArray.

Riferimento JavaScript per il controllo della traslitterazione

Il seguente costruttore e i seguenti metodi consentono di eseguire la traslitterazione all'interno di un'interfaccia utente fornita dall'API.

Constructor - google.elements.transliteration.TransliterationControl(options)

Costruttore Descrizione

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options) consente la traslitterazione su un insieme di elementi DOM HTML modificabili e fornisce una serie di metodi che ti consentono di controllare la traslitterazione in questi elementi. L'argomento options può avere i seguenti campi:

  • sourceLanguage è una stringa obbligatoria che specifica la lingua di origine utilizzando l'enum LanguageCode (come in google.elements.transliteration.ENGLISH). Al momento, l'inglese è l'unica lingua di origine supportata.
  • destinationLanguage è un array obbligatorio che specifica la lingua di destinazione utilizzando l'enum LanguageCode come in (come in google.elements.transliteration.HINDI ).

    Nell'interfaccia utente, le lingue di destinazione disponibili vengono visualizzate nel menu, con la prima lingua dell'array selezionata per impostazione predefinita.
    Per ulteriori dettagli sulle lingue di destinazione valide per una determinata lingua di origine, consulta getDestinationLanguages.
  • transliterationEnabled è un campo facoltativo che specifica se abilitare la traslitterazione per impostazione predefinita. Se vuoi attivare la traslitterazione per impostazione predefinita, specifica questo campo con il valore true. Il valore predefinito è false.
  • shortcutKey è un campo stringa facoltativo che specifica un tasto di scelta rapida per attivare o disattivare la traslitterazione. Per specificare il tasto di scelta rapida, specifica una stringa contenente modificatori come "Ctrl", "Alt" o "Maiusc" insieme a una lettera alfabetica. Ad esempio, "Ctrl+g" e "Ctrl+Maiusc+a" sono entrambe combinazioni di tasti di scelta rapida valide.

    Nota: non puoi utilizzare Maiusc come unico modificatore, ma puoi utilizzarlo in combinazione con Alt o Control.

Questo metodo crea eccezioni nelle seguenti circostanze:

  • sourceLanguage o destinationLanguage non validi
  • Lingue non supportate nella coppia linguistica sourceLangauge e destinationLanguage
  • Combinazione shortcutKey non valida

Il seguente snippet di codice mostra come creare un'istanza del controllo di traslitterazione:

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

Metodi di controllo della traslitterazione

I seguenti metodi vengono implementati nello spazio dei nomi google.elements.transliteration.TransliterationControl.

Metodo Descrizione

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope) aggiunge un listener al controllo di traslitterazione per il tipo di evento specificato. Quando viene attivato il tipo di evento specifico, il listener viene chiamato con l'oggetto evento. I contenuti dell'oggetto evento dipendono dal tipo di evento. I parametri per questo metodo sono:

  • eventType è l'evento a cui aggiungere il listener. Questo argomento prende il suo valore dall'enum eventType (ad esempio google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED).
  • listener fornisce una funzione listener per l'evento.
  • opt_listenerScope chiama il listener con this impostato sull'oggetto specificato in opt_listenerScope.

.addEventListener() non ha un valore restituito.

.disableTransliteration()

.disableTransliteration() disattiva la traslitterazione nel controllo della traslitterazione. Questo metodo non ha argomenti e nessun valore restituito.

.enableTransliteration()

.enableTransliteration() attiva la traslitterazione nel controllo della traslitterazione. Questo metodo non ha argomenti e nessun valore restituito.

.isTransliterationEnabled()

.isTransliterationEnabled() non ha argomenti e restituisce un valore booleano che indica se la traslitterazione è attivata nel controllo di traslitterazione.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options) attiva la traslitterazione sugli elementi HTML forniti. I parametri per questo metodo sono:

  • elementIds è un array contenente stringhe di ID elemento modificabili o riferimenti agli elementi per i quali vuoi attivare la traslitterazione. Un elemento modificabile può essere:

    • Un campo di testo
    • Un'area di testo
    • Un <div> con contentEditable="true"
    • Un <iframe> con designMode="on"
    • Un iframe con corpo contentEditable="true". Assicurati che l'iFrame sia caricato prima di attivare la traslitterazione.
  • opt_options è un argomento facoltativo che fornisce le opzioni applicate a questi elementi. Questo argomento può contenere i seguenti campi:
    • adjustElementStyle è un campo booleano facoltativo che controlla se l'API regola automaticamente le dimensioni degli elementi e dei caratteri per adattarsi in modo ottimale ai caratteri della lingua di destinazione. Il valore predefinito è true. Questa opzione influisce solo sugli elementi di testo normale.
    • adjustElementDirection è un campo booleano facoltativo che controlla la direzione dell'elemento modificabile a seconda della direzione di destinationLanguage. Il valore predefinito è true.

Per i sistemi di scrittura da destra a sinistra come l'arabo, l'API regola automaticamente la direzione dell'elemento di input in base alla direzione della scrittura e al contenuto dell'elemento di input. Puoi impostare la direzione del testo in un elemento di input utilizzando HTML e JavaScript con direction, che può avere il valore 'ltr' (da sinistra a destra) o 'rtl' (da destra a sinistra). L'utilizzo di questo metodo influisce sul cursore e sull'allineamento del testo nell'area di input.

Puoi vedere un esempio del supporto dell'API per le lingue con scrittura da destra a sinistra nell'esempio di traslitterazione in arabo.

Questo metodo crea eccezioni se uno dei valori elementIds specificati non è valido.

.makeTransliteratable() non ha un valore restituito.

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) rimuove un listener di eventi dal controllo di traslitterazione, dove:

  • Questo argomento prende il valore dall'enumerazione eventType (ad esempio google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)).
  • listener è la funzione per l'evento da rimuovere.
  • opt_listenerScope è l'ambito in cui è stato registrato il listener al momento dell'aggiunta.

.removeEventListener() non ha un valore restituito.

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) consente di modificare dinamicamente la coppia linguistica utilizzata dal controllo di traslitterazione, dove:

  • sourceLanguage indica il tipo di lingua da traslitterare. Questo argomento prende il suo valore dall'enum LanguageCode (ad esempio google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH).
  • destinationLanguage fornisce il tipo di lingua per il testo traslitterato.

.setLanguagePair() restituisce un valore booleano che indica se l'azione setLanguage è stata eseguita correttamente.

.showControl(divElement)

.showControl(divElement) mostra il controllo di traslitterazione nel DIV specificato, dove divElement è l'ID del DIV. Questo metodo non ha alcun valore restituito.

.toggleTransliteration()

.toggleTransliteration() attiva o disattiva la traslitterazione nel controllo della traslitterazione. Questo metodo non ha argomenti e nessun valore restituito.

Metodo statico

Il seguente metodo statico viene implementato nello spazio dei nomi google.language.

Metodo statico Descrizione

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) è una funzione statica che registra la funzione di gestione specificata da chiamare una volta caricata la pagina contenente questa chiamata, dove callback è una funzione obbligatoria chiamata quando viene caricato il documento contenitore e l'API è pronta per l'uso (ad es. dopo onLoad). Questa funzione viene implementata nello spazio dei nomi google (ovvero google.setOnLoadCallback(callback);

.setOnLoadCallback() non ha un valore restituito.

Nota: la documentazione precedente consigliava di utilizzare l'attributo onload dell'elemento body (<body onload="OnLoad()">). Sebbene questo sia un buon modo per procedere quando hai il controllo completo della pagina e di tutto il codice caricato dalla pagina, questo approccio può causare problemi con alcuni runtime che distruggono il gestore body.onload. setOnLoadCallback() non presenta questi problemi ed è quindi il metodo consigliato per registrare un callback che chiama il tuo codice quando l'API è completamente caricata e pronta per l'uso.

Il seguente metodo statico viene implementato nello spazio dei nomi google.elements.transliteration.

Metodo statico Descrizione

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage) è un metodo globale che restituisce una mappa delle lingue di destinazione per le quali è supportata la traslitterazione per il sourceLanguage specificato. La mappa restituita contiene le lingue di destinazione supportate, in cui la chiave è il nome della lingua e il valore è il codice lingua. La mappa restituita è simile a quella descritta nell'enumerazione LanguageCode.

Enum

Enumerazione EventType

L'enumerazione google.elements.transliteration.TransliterationControl.EventType elenca gli eventi possibili durante la traslitterazione. Puoi fornire gestori personalizzati per questi eventi nel tuo codice.

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: Risultati quando la traslitterazione è attivata o disattivata nel controllo di traslitterazione tramite:
    • Un tasto di scelta rapida
    • I metodi enableTransliteration, disableTransliteration o toggleTransliteration
    • Un clic del mouse sul controllo di traslitterazione disegnato dal metodo showControl.
    L'oggetto evento passato al listener contiene il campo transliterationEnabled. Questo campo è true se la traslitterazione è "on", altrimenti è false.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: Risultati quando la coppia di lingue di traslitterazione viene modificata nel controllo di traslitterazione tramite:
    • Il metodo setLanguagePair
    • Il controllo di traslitterazione disegnato dal metodo showControl
    L'oggetto evento passato al listener contiene i campi sourceLanguage e destinationLanguage.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: risultati quando contatti correttamente il server per traslitterare il testo.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE risultati in seguito a un tentativo non riuscito di contattare il server per traslitterare il testo.

Enumerazione LanguageCode

google.elements.transliteration.LanguageCode mappa le costanti dei nomi ai codici di lingua che puoi utilizzare per specificare le lingue di origine e di destinazione nei metodi di traslitterazione.

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

L'enumerazione google.elements.transliteration.SupportedDestinationLanguages mappa le costanti dei nomi agli array di codici di lingua che puoi utilizzare per specificare gruppi di lingue di destinazione nel controllo di traslitterazione.

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

Risoluzione dei problemi

In caso di problemi:

  • Cerca errori ortografici. Ricorda che JavaScript è un linguaggio sensibile alle maiuscole.
  • Utilizza un debugger JavaScript. Google Chrome dispone di un set completo di strumenti per sviluppatori. In Firefox, puoi utilizzare la console JavaScript o Firebug. In IE, puoi utilizzare Microsoft Script Debugger.
  • Cerca nel gruppo di discussione. Se non riesci a trovare un post che risponda alla tua domanda, pubblicala nel gruppo insieme a un link a una pagina web che dimostri il problema.