Riferimento API Transliterate

Traslitterazione semplice

Il seguente metodo ti consente di eseguire una traslitterazione semplice senza UI, manipolando JavaScript.

Metodo Descrizione

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

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

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

google.language.transliterate() non ha alcun valore di ritorno.

Questo metodo semplificato per la traslitterazione utilizza lo spazio dei nomi google.language.transliterate, non google.elements.transliteration, che è lo spazio dei nomi per tutti gli altri metodi nell'API Transliterate.

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

Gli oggetti Result vengono generati utilizzando una codifica JSON delle richieste del server. Di conseguenza, abbiamo scelto di non implementare oggetti JavaScript formali e di creare dinamicamente oggetti result dal modulo serializzato.

Non esiste un'implementazione formale degli oggetti, ma questi sono presenti e vengono documentati come se si trattasse di un'implementazione di JavaScript. Tutto questo è minimo. Significa solo che non esiste alcun costruttore denominato. Per ogni risultato, come se il sistema chiamasse il nuovo Object() e impostasse le proprietà formali sull'oggetto. Queste proprietà sono indicate di seguito.

  • <result>
    • error?
      Presente se si è verificato un errore nella traslitterazione.
    • transliterations
      Un array di dimensioni uguali alle dimensioni dell'input wordsArray.
      • transliteratedWords
        Un array delle dimensioni massime 5, con le traslitterazioni per la parola corrispondente in wordsArray.

Riferimento JavaScript per il controllo della traslitterazione

Il costruttore e i metodi seguenti consentono di eseguire la traslitterazione all'interno di una UI fornita dall'API.

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

Costruttore Descrizione

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options) attiva la traslitterazione in un insieme di elementi DOM HTML modificabili e fornisce diversi metodi che consentono di controllare la traslitterazione in questi elementi. L'argomento options può contenere i seguenti campi:

  • sourceLanguage è una stringa obbligatoria che specifica la lingua di origine utilizzando l'enumerazione LanguageCode (come in google.elements.transliteration.ENGLISH). Attualmente l'unica lingua di origine è supportata.
  • destinationLanguage è un array obbligatorio che specifica la lingua di destinazione utilizzando l'enumerazione LanguageCode, ad esempio nel formato google.elements.transliteration.HINDI.

    Nell'interfaccia utente, le lingue di destinazione disponibili vengono mostrate nel menu, con la prima lingua nell'array selezionata per impostazione predefinita. Consulta getDestinationLanguage per ulteriori dettagli sulle lingue di destinazione valide per una determinata lingua di origine.
  • transliterationEnabled è un campo facoltativo che specifica se attivare o meno 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 una scorciatoia da tastiera per attivare o disattivare la traslitterazione. Per specificare la scorciatoia da tastiera, specifica una stringa contenente modificatori quali 'Ctrl', 'Alt' o 'Maiusc' insieme a una lettera dell'alfabeto. Ad esempio, 'Ctrl+g' e 'Ctrl+Maiusc+a' sono entrambe combinazioni di tasti di scorciatoia valide.

    Nota: non puoi utilizzare Maiusc come unico modificatore; tuttavia, puoi utilizzarlo anche in combinazione con Alt o Ctrl.

Questo metodo crea eccezioni nelle seguenti circostanze:

  • Valore di sourceLanguage o destinationLanguage non valido
  • Lingue non supportate nelle coppie lingua sourceLangauge e destinationLanguage
  • Combinazione di scorciatoie da tastiera non valida

Il seguente snippet di codice illustra 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 sono 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 particolare tipo di evento, il listener viene chiamato con l'oggetto evento. I contenuti dell'oggetto evento dipendono dal tipo dell'evento. I parametri di questo metodo sono:

  • eventType è l'evento per il quale deve essere aggiunto l'ascoltatore. Questo argomento prende il valore dall'enumerazione di 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 alcun valore di ritorno.

.disableTransliteration()

.disableTransliteration() disabilita la traslitterazione nel controllo di traslitterazione. Questo metodo non include argomenti e non restituisce alcun valore.

.enableTransliteration()

.enableTransliteration() attiva la traslitterazione nel controllo di traslitterazione. Questo metodo non include argomenti e non restituisce alcun valore.

.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 di questo metodo sono:

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

    • Un campo di testo
    • Un'area di testo
    • <div> con contentEditable="true"
    • <iframe> con designMode="on"
    • Un iframe con contentEditable="true" corpo. Assicurati che l'iframe venga 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 dell'elemento e del carattere in base ai caratteri della lingua di destinazione in modo ottimale. Il valore predefinito è true. Questa opzione riguarda solo gli 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 sistemi di scrittura da destra a sinistra come l'arabo, l'API regola automaticamente la direzione dell'elemento di input, in base a quella dello script scritto e dei contenuti 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 immissione.

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

Questo metodo crea eccezioni se una delle elementIds specificate non è valida.

.makeTransliteratable() non ha alcun valore di ritorno.

.removeEventListener(eventType, listener, opt_listenerScope)

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

  • Questo argomento prende il suo valore dall'enumerazione di eventType, ad esempio google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED).
  • listener è la funzione per l'evento che deve essere rimosso.
  • opt_listenerScope è l'ambito in cui è stato registrato il listener al momento dell'aggiunta del listener.

.removeEventListener() non ha alcun valore di ritorno.

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) consente di modificare in modo dinamico la coppia di lingue utilizzata dal controllo di traslitterazione, laddove:

  • sourceLanguage fornisce il tipo di lingua da traslitterare. Questo argomento prende il valore dall'enumerazione di 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 è riuscita.

.showControl(divElement)

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

.toggleTransliteration()

.toggleTransliteration() attiva o disattiva la traslitterazione nel controllo di traslitterazione. Questo metodo non include argomenti e non restituisce alcun valore.

Metodo statico

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

Metodo statico Descrizione

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) è una funzione statica che registra la funzione di gestore 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 esempio, dopo onLoad). Questa funzione è implementata nello spazio dei nomi google (ad esempio google.setOnLoadCallback(callback);)

.setOnLoadCallback() non ha alcun valore di ritorno.

Nota: la documentazione precedente consiglia di utilizzare l'attributo onload dell'elemento body (<body onload="OnLoad()">). Anche se questo è un buon modo per tenere sotto controllo la pagina e 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 è pertanto il metodo consigliato per registrare un callback che chiama il tuo codice quando l'API è completamente carica e pronta per l'utilizzo.

Il seguente metodo statico è 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 campo sourceLanguage specificato. La mappa restituita contiene lingue di destinazione supportate, in cui la chiave è il nome della lingua e il valore è il codice della lingua. La mappa restituita è simile a quella descritta nell'enumerazione di LanguageCode.

Enum

Enumerazione EventType

L'enumerazione di 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:
    • Una scorciatoia da tastiera
    • I metodi enableTransliteration, disableTransliteration o toggleTransliteration
    • Un clic del mouse sul controllo di traslitterazione disegnato con il metodo showControl.
    L'oggetto evento trasmesso al listener contiene il campo transliterationEnabled. Questo campo è true se la traslitterazione è 'on' altrimenti è false.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: risultato quando la coppia di lingue di traslitterazione viene modificata nel controllo di traslitterazione tramite:
    • Il metodo setLanguagePair
    • Il controllo di traslitterazione disegnato con il metodo showControl
    L'oggetto evento trasmesso al listener contiene i campi sourceLanguage e destinationLanguage.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: risultato quando contatti correttamente il server per eseguire la traslitterazione del testo.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE risultati in caso di tentativo non riuscito di contattare il server per la traslitterazione del testo.

Enumerazione LanguageCode

google.elements.transliteration.LanguageCode mappa le costanti dei nomi ai codici 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'
};

Enumerazione lingue di destinazione supportate

L'enumerazione di google.elements.transliteration.SupportedDestinationLanguages esegue la mappatura dei nomi costanti agli array di codici 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 eventuali errori di battitura. Ricorda che JavaScript è un linguaggio sensibile alle maiuscole.
  • Utilizza un debugger di JavaScript. Google Chrome offre un set completo di strumenti per sviluppatori. In Firefox puoi utilizzare la console JavaScript o [^. In IE, puoi utilizzare Microsoft Script Debugger.
  • Cerca nel gruppo di discussione. Se non riesci a trovare un post che risponda alla tua domanda, pubblica la domanda nel gruppo insieme a un link a una pagina web che dimostra il problema.