Referência da API Transliterate

Transliteração simples

O método a seguir permite que você realize transliterações simples, sem interface de usuário, manipulando o JavaScript.

Método Descrição

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

google.language.transliterate(wordsArray, srcLang, destLang, callback) é um método global que translitera um texto do idioma de origem para o de destino. A API retorna o resultado de forma assíncrona para a função callback especificada como o objeto result. Os parâmetros desse método são:

  • wordsArray fornece o texto a ser transliterado como uma matriz.
  • srcLang fornece o idioma de origem como um código de idioma. Consulte o enum LanguageCode para ver exemplos.
  • destLang fornece o idioma de destino como um código de idioma. Consulte o enum LanguageCode para ver exemplos.
  • callback é a função de callback que recebe o result.

google.language.transliterate() não tem valor de retorno.

Esse método simplificado de transliteração usa o namespace google.language.transliterate, não google.elements.transliteration, que é o namespace de todos os outros métodos na API Transliterate.

google.language.transliterate() gera o objeto result.

Objetos de resultado são produzidos usando-se uma codificação JSON de solicitações do servidor. Por isso, optamos por não implementar objetos JavaScript formais e, em vez disso, criamos dinamicamente os objetos result na forma serializada.

Embora não haja implementação formal dos objetos, eles existem e são documentados como se existisse uma implementação JavaScript de apoio. O impacto desta operação é mínimo. Tudo isso significa que não há construtor nomeado. Para cada resultado, é como se o sistema chamasse "new Object()" e definisse propriedades formais nesse objeto. Essas propriedades estão abaixo.

  • <result>
    • error?
      Presente se houver um erro na transliteração.
    • transliterations
      Uma matriz de tamanho igual ao tamanho da entrada wordsArray.
      • transliteratedWords
        Uma matriz de tamanho máximo 5, com transliterações para a palavra correspondente em wordsArray.

Referência de JavaScript para o controle de transliteração

O construtor e método a seguir permitem que você realize uma transliteração com interface de usuário fornecida pela API.

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

Construtor Descrição

google.elements.transliteration.
TransliterationControl(options)

O .TransliterationControl(options) ativa a transliteração em um conjunto de elementos DOM HTML editáveis e fornece vários métodos para controlar a transliteração nesses elementos. O argumento options pode ter os seguintes campos:

  • sourceLanguage é uma string obrigatória que especifica o idioma de origem usando o enum LanguageCode (como em google.elements.transliteration.ENGLISH). No momento, o inglês é o único idioma de origem disponível.
  • destinationLanguage é uma matriz obrigatória que especifica o idioma de destino usando o LanguageCode enum, como em (como em google.elements.transliteration.HINDI ).

    Na interface, os idiomas de destino disponíveis aparecem no menu, com o primeiro idioma na matriz selecionado por padrão. Consulte getDestinationLanguages para mais detalhes sobre os idiomas de destino válidos para um determinado idioma de origem.
  • transliterationEnabled é um campo opcional que especifica se a transliteração deve ser ativada por padrão. Se você quiser ativar a transliteração por padrão, especifique esse campo com o valor true. O valor padrão é false.
  • shortcutKey é um campo de string opcional que especifica uma tecla de atalho para ativar ou desativar a transliteração. Para especificar a tecla de atalho, informe uma string que contenha modificadores como "Ctrl", "Alt" ou "Shift" junto com uma letra alfabética. Por exemplo, "Ctrl+g" e "Ctrl+Shift+a" são combinações de teclas de atalho válidas.

    Observação:não é possível usar Shift como o único modificador, mas ele pode ser usado em combinação com Alt ou Control.

Este método cria exceções nas seguintes circunstâncias:

  • sourceLanguage ou destinationLanguage inválido
  • Idiomas não aceitos no par de idiomas sourceLangauge e destinationLanguage
  • Combinação de teclas de atalho inválida

O seguinte snippet de código demonstra como criar uma instância do controle de transliteração:

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étodos de controle de transliteração

Os métodos a seguir são implementados no namespace google.elements.transliteration.TransliterationControl.

Método Descrição

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope) adiciona um listener ao controle de transliteração para o tipo de evento especificado. Quando o tipo de evento em particular é acionado, o ouvinte é chamado com o objeto do evento. O conteúdo do objeto de evento depende do tipo de evento. Os parâmetros desse método são:

  • eventType é o evento para o qual o listener será adicionado. Esse argumento recebe o valor da enumeração eventType (como google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED).
  • O listener fornece uma função de listener para o evento.
  • opt_listenerScope chama o listener com this definido como o objeto especificado em opt_listenerScope.

.addEventListener() não tem valor de retorno.

.disableTransliteration()

.disableTransliteration() desativa a transliteração no controle. Este método não tem argumentos e nem valor de retorno.

.enableTransliteration()

.enableTransliteration() ativa a transliteração no controle de transliteração. Este método não tem argumentos e nem valor de retorno.

.isTransliterationEnabled()

.isTransliterationEnabled() não tem argumentos e retorna um booleano indicando se a transliteração está ativada no controle de transliteração.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options) ativa a transliteração nos elementos HTML fornecidos. Os parâmetros desse método são:

  • elementIds é uma matriz que contém strings de IDs de elementos editáveis ou referências de elementos para os quais você quer ativar a transliteração. Um elemento editável pode ser:

    • Um campo de texto
    • Uma área de texto
    • Um <div> com contentEditable="true"
    • Um <iframe> com designMode="on"
    • Um iFrame com corpo contentEditable="true". Verifique se o iFrame está carregado antes de ativar a transliteração.
  • opt_options é um argumento opcional que fornece as opções aplicadas a esses elementos. Esse argumento pode conter os seguintes campos:
    • adjustElementStyle é um campo booleano opcional que controla se a API ajusta automaticamente os tamanhos dos elementos e das fontes para se adequar de maneira ideal aos caracteres do idioma de destino. O valor padrão é true. Esta opção afeta apenas os elementos de texto sem formatação.
    • adjustElementDirection é um campo booleano opcional que controla a direção do elemento editável dependendo da direção do destinationLanguage. O valor padrão é true.

Para sistemas de escrita da direita para a esquerda como o árabe, a API ajusta automaticamente a direção do elemento de entrada, de acordo com a direção do script escrito e o conteúdo do elemento de entrada. É possível definir a direção do texto em um elemento de entrada usando HTML e JavaScript com direction, que pode ter o valor 'ltr' (da esquerda para a direita) ou 'rtl' (da direita para a esquerda). O uso deste método afeta o cursor e o alinhamento de texto na área de entrada.

Confira um exemplo de suporte da API para idiomas da direita para a esquerda na transliteração em árabe.

Esse método cria exceções se algum dos elementIds especificados for inválido.

.makeTransliteratable() não tem valor de retorno.

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) remove um listener de eventos do controle de transliteração, em que:

  • Esse argumento recebe o valor da enumeração eventType (como google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED).
  • listener é a função do evento que precisa ser removido.
  • opt_listenerScope é o escopo em que o listener foi registrado no momento da adição.

.removeEventListener() não tem valor de retorno.

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) permite mudar dinamicamente o par de idiomas usado pelo controle de transliteração, em que:

  • O sourceLanguage fornece o tipo de idioma a ser transliterado. Esse argumento recebe o valor da enumeração LanguageCode (como google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH).
  • destinationLanguage fornece o tipo de idioma do texto transliterado.

.setLanguagePair() retorna um booleano indicando se a ação setLanguage foi concluída com êxito.

.showControl(divElement)

.showControl(divElement) mostra o controle de transliteração na DIV especificada, em que divElement é o ID da DIV. Esse método não tem valor de retorno.

.toggleTransliteration()

.toggleTransliteration() ativa ou desativa a transliteração no controle. Este método não tem argumentos e nem valor de retorno.

Método estático

O método estático a seguir é implementado no namespace google.language.

Método estático Descrição

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) é uma função estática que registra a função de manipulador especificada para ser chamada quando a página que contém essa chamada é carregada. callback é uma função obrigatória chamada quando o documento que a contém é carregado e a API está pronta para uso (por exemplo, após onLoad). Essa função é implementada no namespace google (ou seja, google.setOnLoadCallback(callback);)

.setOnLoadCallback() não tem valor de retorno.

Observação : a documentação anterior recomendava o uso do atributo onload do elemento body (<body onload="OnLoad()">). Embora seja uma boa maneira de proceder quando você tem controle total da página e de todo o código carregado por ela, essa abordagem pode causar problemas com alguns runtimes que destroem o manipulador body.onload. O setOnLoadCallback() não tem esses problemas e, portanto, é o método recomendado para registrar um callback que chama seu código quando a API está totalmente carregada e pronta para uso.

O método estático a seguir é implementado no namespace google.elements.transliteration.

Método estático Descrição

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage) é um método global que retorna um mapa de idiomas de destino para os quais a transliteração é compatível com o sourceLanguage especificado. O mapa retornado contém os idiomas de destino suportados, em que a chave é o nome do idioma e o valor é o código do idioma. O mapa retornado é semelhante ao descrito na enumeração LanguageCode.

Enums

EventType enum

A enumeração google.elements.transliteration.TransliterationControl.EventType lista os eventos possíveis durante a transliteração. É possível fornecer manipuladores personalizados para esses eventos no seu código.

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: resultados quando a transliteração está ativada ou desativada no controle de transliteração via:
    • Uma tecla de atalho
    • Os métodos enableTransliteration, disableTransliteration ou toggleTransliteration
    • Um clique do mouse no controle de transliteração desenhado pelo método showControl.
    O objeto de evento transmitido ao listener contém o campo transliterationEnabled. Esse campo será verdadeiro se a transliteração for "on". Caso contrário, será falso.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: resultados quando o par de idiomas de transliteração é alterado no controle de transliteração por:
    • O método setLanguagePair
    • O controle de transliteração extraído pelo método showControl.
    O objeto de evento transmitido ao listener contém os campos sourceLanguage e destinationLanguage.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: resultados quando você entra em contato com o servidor para transliterar texto.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE resultados em uma tentativa falha de entrar em contato com o servidor para transliterar texto.

LanguageCode enum

O google.elements.transliteration.LanguageCode mapeia constantes de nome para códigos de idioma que podem ser usados para especificar os idiomas de origem e de destino nos métodos de transliteração.

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

SupportedDestinationLanguages enum

A enumeração google.elements.transliteration.SupportedDestinationLanguages mapeia constantes de nome para matrizes de códigos de idioma que podem ser usadas para especificar grupos de idiomas de destino no controle de transliteração.

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

Solução de problemas

Se encontrar problemas:

  • Procure erros de digitação. Lembre-se de que a linguagem JavaScript diferencia maiúsculas de minúsculas.
  • Use um depurador JavaScript. O Google Chrome tem um conjunto completo de ferramentas para desenvolvedores. No Firefox, use o console JavaScript ou o Firebug. No IE, use o Microsoft Script Debugger.
  • Pesquise o grupo de discussão. Se não conseguir encontrar uma postagem que responda a sua pergunta, poste a pergunta no grupo, juntamente com um link para uma página da web que demonstre o problema.