traducir - como poner varios idiomas en html
¿Por qué Chrome determina incorrectamente que la página está en un idioma diferente y se ofrece para traducir? (5)
La nueva característica de auto traducción de Google Chrome se activa en una página dentro de una de nuestras aplicaciones. Cada vez que navegamos a esta página en particular, Chrome nos dice que la página está en danés y se ofrece a traducir. La página está en inglés, al igual que cualquier otra página en nuestra aplicación. Esta página en particular es una página de prueba interna que tiene unas pocas docenas de campos de formulario con etiquetas en inglés. No tengo idea de por qué Chrome piensa que esta página es en danés.
¿Alguien tiene ideas sobre cómo funciona esta característica de detección de idiomas y cómo puedo determinar qué hace que Chrome piense que la página está en danés?
Añadí lang="en"
a la declaración doctype, añadí metaetiquetas para charset utf-8 y Content-Langauge en el encabezado HTML, charset especificado como utf-8 y Content-Language como en
los encabezados de respuesta HTTP y no hizo nada para evitar que Chrome declare que mi página estaba en portugués. Lo único que solucionó el problema fue agregar esto al encabezado HTML:
<meta name="google" content="notranslate">
Pero ahora evité que los usuarios traduzcan mi página que está claramente en inglés a su propio idioma. Pobre trabajo, Chrome. Puedes ser mejor que esto.
Chromium piensa que esta página en filipino: http://www.reyalvarado.com/portfolio/cuba/ Notas: prácticamente no hay texto en la página, excepto el nombre del propietario y los elementos del menú. Los elementos del menú se reemplazan dinámicamente con imágenes de FLIR.
El HTML declara la página como inglés de EE. UU .:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
Intente incluir la propiedad xml:lang=""
en <html>
, si las otras soluciones no funcionan:
<html class="no-js" lang="pt-BR" dir="ltr" xml:lang="pt-BR">
Sin saber lo que era el texto, quizás la detección de ngram esté siendo engañada por el contenido de su página.
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
Use lo siguiente:
<meta charset="UTF-8">
<meta name="google" content="notranslate">
<meta http-equiv="Content-Language" content="en">
Si eso no funciona, siempre puede colocar un montón de texto (su página "Acerca de", por ejemplo) en un div oculto. Eso también podría ayudar con el SEO.
EDITAR (y más información)
El OP pregunta por Chrome, por lo que la recomendación de Google se publica más arriba. En general, hay tres formas de lograr esto para otros navegadores:
Recomendación de W3C : utilice los atributos
lang
y / oxml:lang
en la etiqueta html:<html lang="en" xml:lang="en" xmlns= "http://www.w3.org/1999/xhtml">
Recomendación de Google :
meta http-equiv
(como se describe arriba):<meta http-equiv="Content-Language" content="en">
Use los encabezados HTTP (no se recomienda en base a las pruebas de reconocimiento entre navegadores ):
HTTP/1.1 200 OK Date: Wed, 05 Nov 2003 10:46:04 GMT Content-Type: text/html; charset=iso-8859-1 Content-Language: en