Mis favoritos | Español | Acceder

Referencia de clase para el API de traducción

Índice

Métodos globales

Método Tipo de devolución Descripción
google.language.translate(text|content, srcLang, destLang, callback)
Ninguno
Es un método global que devuelve un determinado texto traducido en el idioma de destino. El resultado se proporciona de forma asíncrona a la función callback especificada como el objeto de resultado.
  • text|content: el texto que se va a traducir. Puede ser una cadena text o un objeto content. Si se especifica una cadena de texto, el sistema mantendrá las marcas HTML (suponiendo que la entrada y el resultado estén basados en la Web). Otra posibilidad es transmitir un objeto content, que incluya la cadena text que se va a traducir y el tipo (type) de este contenido. El uso de content permitirá indicar al sistema que trate el texto de entrada completamente como texto sin formato. A continuación se indican algunos de los valores válidos incluidos.
    • text
      Es el texto que se va a traducir.
    • <content>
      • text
        Es el texto que se va a traducir.
      • type
        Es el tipo de texto. Actualmente se admite texto sin formato y texto HTML. Consulta Enumeración ContentType de idiomas para obtener información sobre los valores correctos.
  • srcLang: el idioma de origen especificado como un código de idioma. Para ver algunos ejemplos, consulta la sección Enumeración de idiomas. Si este campo es una cadena vacía, el sistema tratará de identificar el idioma de origen automáticamente.
  • destLang: el idioma de destino especificado como un código de idioma. Para ver algunos ejemplos, consulta la sección Enumeración de idiomas.
  • callback: la función de devolución de llamada que recibe el resultado.
google.language.detect(text, callback)
Ninguno
Es un método global que devuelve el código de idioma que describe el idioma del texto determinado. El resultado se proporciona de forma asíncrona a la función callback especificada como el objeto de resultado.
  • text: el texto que se va a traducir.
  • callback: la función de devolución de llamada que recibe el resultado.
google.language.isTranslatable(lngCode)
Boolean
Es un método global que devuelve el estado traducible de un código de idioma determinado.
  • lngCode: el código de idioma, por ejemplo, "en", "jp", "es". La enumeración de idiomas también puede acceder a él.
google.language.getBranding(opt_element, opt_options)
DOM
Este método es una función de ayudante de tipo estático que devuelve un nodo de marca DOM HTML "con la tecnología de Google" a tu aplicación y puede vincularlo opcionalmente a tu documento para el elemento opcional. La finalidad de este método es garantizar que tu aplicación dispone de una manera sencilla de cumplir los requisitos de marca.
  • opt_element: la ID de elemento o elemento opcional para adjuntar la marca al DOM.
  • opt_options: el mapa de opciones opcionales. El único valor de clave admitido es type, que puede aceptar el valor 'vertical' o 'horizontal'
google.language.isFontRenderingSupported(lang)
google.language.FontRenderingStatus
Es un método global que detectará si la representación de fuente Unicode para el idioma indicado es compatible con el navegador del usuario. El resultado es una constante de la enumeración de estado de representación de fuente..
  • lang: el idioma para el que se debe detectar la compatibilidad de fuente, en el formato de código de idioma. Para ver algunos ejemplos, consulta la sección Enumeración LanguageCode.

Objetos de resultado

Resultado de traducción

  • <resultado>
    • error?
      Se muestra si se ha producido un error al cargar el feed:
    • translation
      El texto traducido.
    • detectedSourceLanguage?
      Si el idioma de origen se ha determinado automáticamente, se mostrará aquí.

Resultado de detección de idioma

  • <resultado>
    • error?
      Se muestra si se ha producido un error al cargar el feed.
    • language
      Es el código de idioma asociado al texto determinado. Para ver algunos ejemplos, consulta la sección Enumeración de idiomas.
    • isReliable
      Es un valor booleano que indica si el intervalo de detección cree que el código de idioma es seguro para el texto determinado.
    • confidence
      Es un valor numérico comprendido entre 0 y 1.0 que representa el nivel de confianza del código de idioma del texto determinado.

Enumeración de idiomas

La enumeración google.language.Languages proporciona una asignación de constantes de nombres a códigos de idioma utilizados como argumentos srcLang y destLang de google.language.translate y como resultado result.language de google.language.detect. Son los mismos códigos que se utilizan en el Traductor de Google.

var google.language.Languages = {
  'AFRIKAANS' : 'af',
  'ALBANIAN' : 'sq',
  'AMHARIC' : 'am',
  'ARABIC' : 'ar',
  'ARMENIAN' : 'hy',
  'AZERBAIJANI' : 'az',
  'BASQUE' : 'eu',
  'BELARUSIAN' : 'be',
  'BENGALI' : 'bn',
  'BIHARI' : 'bh',
  'BULGARIAN' : 'bg',
  'BURMESE' : 'my',
  'CATALAN' : 'ca',
  'CHEROKEE' : 'chr',
  'CHINESE' : 'zh',
  'CHINESE_SIMPLIFIED' : 'zh-CN',
  'CHINESE_TRADITIONAL' : 'zh-TW',
  'CROATIAN' : 'hr',
  'CZECH' : 'cs',
  'DANISH' : 'da',
  'DHIVEHI' : 'dv',
  'DUTCH': 'nl',  
  'ENGLISH' : 'en',
  'ESPERANTO' : 'eo',
  'ESTONIAN' : 'et',
  'FILIPINO' : 'tl',
  'FINNISH' : 'fi',
  'FRENCH' : 'fr',
  'GALICIAN' : 'gl',
  'GEORGIAN' : 'ka',
  'GERMAN' : 'de',
  'GREEK' : 'el',
  'GUARANI' : 'gn',
  'GUJARATI' : 'gu',
  'HEBREW' : 'iw',
  'HINDI' : 'hi',
  'HUNGARIAN' : 'hu',
  'ICELANDIC' : 'is',
  'INDONESIAN' : 'id',
  'INUKTITUT' : 'iu',
  'ITALIAN' : 'it',
  'JAPANESE' : 'ja',
  'KANNADA' : 'kn',
  'KAZAKH' : 'kk',
  'KHMER' : 'km',
  'KOREAN' : 'ko',
  'KURDISH': 'ku',
  'KYRGYZ': 'ky',
  'LAOTHIAN': 'lo',
  'LATVIAN' : 'lv',
  'LITHUANIAN' : 'lt',
  'MACEDONIAN' : 'mk',
  'MALAY' : 'ms',
  'MALAYALAM' : 'ml',
  'MALTESE' : 'mt',
  'MARATHI' : 'mr',
  'MONGOLIAN' : 'mn',
  'NEPALI' : 'ne',
  'NORWEGIAN' : 'no',
  'ORIYA' : 'or',
  'PASHTO' : 'ps',
  'PERSIAN' : 'fa',
  'POLISH' : 'pl',
  'PORTUGUESE' : 'pt-PT',
  'PUNJABI' : 'pa',
  'ROMANIAN' : 'ro',
  'RUSSIAN' : 'ru',
  'SANSKRIT' : 'sa',
  'SERBIAN' : 'sr',
  'SINDHI' : 'sd',
  'SINHALESE' : 'si',
  'SLOVAK' : 'sk',
  'SLOVENIAN' : 'sl',
  'SPANISH' : 'es',
  'SWAHILI' : 'sw',
  'SWEDISH' : 'sv',
  'TAJIK' : 'tg',
  'TAMIL' : 'ta',
  'TAGALOG' : 'tl',
  'TELUGU' : 'te',
  'THAI' : 'th',
  'TIBETAN' : 'bo',
  'TURKISH' : 'tr',
  'UKRAINIAN' : 'uk',
  'URDU' : 'ur',
  'UZBEK' : 'uz',
  'UIGHUR' : 'ug',
  'VIETNAMESE' : 'vi',
  'UNKNOWN' : ''
};

Enumeración de ContentType de idiomas

La enumeración google.language.ContentType proporciona valores de tipos aceptables para el tipo de contenido del texto que se va a traducir. El sistema trata el texto que se va a traducir como HTML de forma predeterminada y mantiene las marcas adecuadas en la traducción resultante.

var google.language.ContentType = {
  'TEXT' : 'text',
  'HTML' : 'html'
};

Enumeración de estado de representación de fuente

La enumeración google.language.FontRenderingStatus proporciona una asignación de constantes de nombres a valores que indica si se admite la detección de fuente. El valor "UNKNOWN" indica que el API de detección de compatibilidad de fuentes no admite el idioma especificado.

var google.language.FontRenderingStatus = {
  UNSUPPORTED: 0,
  SUPPORTED: 1,
  UNKNOWN: 2
};

Entornos Flash y otros entornos que no utilizan JavaScript

Para los desarrolladores Flash y para aquellos desarrolladores que necesitan acceder al API AJAX de idiomas de Google desde otros entornos que no utilizan JavaScript, el API muestra una sencilla interfaz REST. En todos los casos, el método admitido es GET y el formato de respuesta es un resultado con codificación JSON con códigos de estado insertados. Para google.language.translate, está disponible el método POST. Las aplicaciones que utilizan esta interfaz deben cumplir todas las condiciones del servicio existentes. Es importante que prestes especial atención a la forma de identificarte correctamente en tus solicitudes. Las aplicaciones DEBEN incluir siempre un encabezado de referencia http válido y exacto en sus solicitudes. También te pedimos, aunque no es obligatorio, que incluyas en cada solicitud una clave de API válida. Al proporcionarnos esta clave, tu aplicación nos proporcionará un mecanismo de identificación secundario que nos resultará útil si necesitamos ponernos en contacto contigo para corregir algún problema.

Al igual que la interfaz JavaScript principal, esta interfaz se muestra a través de una URL uniforme que contiene una combinación de argumentos CGI estándar y específicos de cada método. Tu aplicación puede utilizar una pila HTTP de su elección. Los únicos requisitos son que seas capaz de construir una URL adecuada con todos los argumentos CGI necesarios, que envíes un encabezado de referencia HTTP que identifique de forma precisa a tu aplicación y que seas capaz de procesar la respuesta con codificación JSON.

Dirección base URL estándar

Es posible acceder a cada método del API de idiomas mediante una URL estándar. En la tabla siguiente se especifica la URL utilizada para acceder a cada método.

Buscador URL base
google.language.translate http://ajax.googleapis.com/ajax/services/language/translate
google.language.detect http://ajax.googleapis.com/ajax/services/language/detect

Argumentos URL estándar

Cada solicitud contiene una combinación de argumentos URL estándar, así como un conjunto opcional de argumentos específicos de cada método. En esta sección se describen los argumentos estándar uniformes en todos los métodos y que transmiten prácticamente la misma información semántica a cada método. En algunos casos, un argumento puede ser opcional. Para indicar esto se añade un código ? detrás del nombre del argumento. En todos los casos, se debe aplicar el formato de escape adecuado al valor de un argumento CGI (por ejemplo, a través del equivalente funcional del método encodeURIComponent() de JavaScript).

En la tabla siguiente se muestran los argumentos URL estándar. A continuación se incluyen secciones adicionales donde se destacan los argumentos específicos de cada método.

Argumento Ejemplo Descripción
q q=Hello%World Este argumento especifica el término de consulta transmitido al método. En el método translate, este argumento especifica el texto que se va a traducir. En los métodos detect, el valor es el texto cuyo idioma se va a detectar.
v v=1.0 Este argumento especifica el número de la versión del protocolo. El único valor válido en este momento es 1.0
hl? hl=fr Este argumento opcional especifica el idioma anfitrión de la aplicación que realiza la solicitud. Si no aparece este argumento, el sistema elegirá un valor en función del valor del encabezado HTTP Accept-Language. Si no aparece el encabezado, se utilizará el valor en.
key? key=tu-clave Este argumento opcional especifica la clave de la aplicación. Si se especifica, deberá ser una clave válida asociada a tu sitio validada por el encabezado de referencia incluido. La ventaja de proporcionarnos una clave es que podremos identificarte y ponernos en contacto contigo si algo va mal con tu aplicación. Sin la clave, seguiremos tomando las medidas que estimemos necesarias, pero no podremos ponernos en contacto contigo. Definitivamente, es mejor para ti incluir una clave.
callback? callback=foo Este argumento opcional altera el formato de respuesta estándar. Cuando se incluye, en lugar de generar un simple objeto con codificación JSON, el sistema genera una respuesta a la llamada a la función JavaScript, donde el valor de callback especifica el nombre de la función ejecutada en la respuesta.
callbackFunction(
  {"responseData" : {
    "translatedText" : the-translated-text,
    "detectedSourceLanguage"? : the-source-language
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
})
      
context? context=bar Este argumento opcional está relacionado con el argumento callback. Cuando se especifican los dos, el valor de context altera el formato de respuesta habitual asociado a callback. El formato nuevo es:
callbackFunction(
  contextValue,    // the context arg value
  responseObject,  // the method result
  responseStatus,  // 200 on success, non-200 on failure
  errorDetails)    // error string for non-200 response
      

Formato de respuesta estándar

Como se indicó brevemente en la sección anterior, existen dos variaciones principales en el formato de respuesta. Si no se incluyen los argumentos callback y context, el formato de respuesta será un simple objeto JSON similar a los fragmentos que se muestran a continuación:

Respuesta JSON para el método google.language.translate

{
  "responseData" : {
    "translatedText" : the-translated-text,
    "detectedSourceLanguage"? : the-source-language
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
}

Respuesta JSON para el método google.language.detect

{
  "responseData" : {
    "language" : the-detected-language,
    "isReliable" : the-reliability-of-the-detect,
    "confidence" : the-confidence-level-of-the-detect
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
}

En el fragmento JSON anterior, observa que la propiedad responseData contiene propiedades específicas del método que son idénticas a las propiedades disponibles en el enlace de JavaScript. Para obtener información adicional, revisa el foro sobre objetos de resultados. Observa que en esta parte del documento se describe un objeto error opcional. Al utilizar un protocolo basado en URL, la propiedad error nunca aparecerá. En su lugar, se utilizarán las propiedades responseStatus y responseDetails. La propiedad responseStatus contiene un valor de 200 en caso de funcionamiento correcto y un código de estado de error HTTP distinto a 200 en caso de funcionamiento incorrecto. Si se produce un error, responseDetails contendrá una cadena de diagnóstico.

Al utilizar el argumento callback, las aplicaciones pueden solicitar fácilmente una devolución de llamada de JavaScript:

callbackFunction(
  {"responseData" : {
    "language" : the-detected-language,
    "isReliable" : the-reliability-of-the-detect,
    "confidence" : the-confidence-level-of-the-detect
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
})

Si la aplicación incluye los argumentos callback y context, la respuesta se codificará como una llamada al procedimiento JavaScript. En este modo de funcionamiento, el valor de callback se convierte en el destino de la llamada al procedimiento, el valor de context se transmite como primer argumento, el valor de responseData anterior se transmite como segundo argumento, el estado de respuesta se transmite como tercer argumento y el argumento final es null o una cadena de diagnóstico.

foo('bar',{"translatedText":"Ciao mondo","detectedSourceLanguage":"en"},
    200, null)

Argumentos específicos del método google.language.translate

El método "google.language.translate" admite los siguientes argumentos opcionales:

Argumento Descripción
langpair Este argumento especifica el idioma de origen opcional y el idioma de destino obligatorio. Las combinaciones de idiomas se separan con una barra vertical | debidamente codificada con el formato de escape %7C. Para traducir de inglés a italiano, debes especificar el valor langpair=en%7Cit. Para utilizar la función de detección automática, omite el idioma de origen y especifica sólo la barra vertical seguida del idioma de destino como en: langpair=%7Cit.
format? Este argumento opcional permite indicar si el texto que se va a traducir es texto sin formato o texto HTML. El valor html indica HTML y el valor text indica texto sin formato. Observa que text es el comportamiento predeterminado.

Argumentos específicos del método "google.language.detect"

El método "google.language.detect" no tiene argumentos adicionales. Todos los argumentos se han tratado anteriormente.

Interfaz de procesamiento por lotes

La interfaz de procesamiento por lotes, que sólo está disponible con el framework REST, permite que se realicen varias traducciones en una única llamada mediante el uso de varios argumentos "q" o "langpair". La respuesta está formada por un conjunto de datos "responsData", como se muestra en los ejemplos siguientes. Hay tres combinaciones válidas de llamadas por lotes:

  1. Traducir varias cadenas con el mismo idioma de origen al mismo idioma de destino. Esto se realiza a través del uso de varios argumentos "q". Por ejemplo:
      Traducir dos cadenas

  2. Traducir una cadena a varios idiomas. Esto se realiza a través del uso de varios argumentos "langpair". Por ejemplo:
      Traducir a dos idiomas

  3. Traducir varias cadenas, cada una a un idioma distinto. En este caso, debe haber el mismo número de argumentos "q" que de argumentos "langpair" y los argumentos deben estar unidos de dos en dos en orden:
      Traducir dos cadenas (cada una a un idioma distinto).