Ingeniero en Informática que usa en ocasiones el alias RamSys y que está interesado en todo lo que relacione lo humano con lo tecnológico: usabilidad, diseño, interfaces, psicología, ...
Un método para incluir artículos en Wordpress en un idioma diferente al idioma principal del blog.
Publicar un blog multilingüe es un trabajo duro: tienes que traducir y mantener cada artículo, además de traducir toda la interfaz. Pero ¿y si tienes un blog monolingüe en un determinado idioma, y ocasionalmente quieres incluir un artículo en un idioma diferente? Puedes simplemente escribir el título y el contenido en ese idioma pero, como indican las directrices de la W3C, adicionalmente debes…
Identificar claramente los cambios en el idioma dentro del texto de un documento y de cualquier equivalente textual . [Prioridad 1]
Así que este es un modo sencillo de marcar un determinado artículo en un idioma diferente, usando campos personalizados en Wordpress:
1. Modifica los ficheros de tu plantilla (normalmente single.php, index.php, archive.php) donde aparezca el siguiente código (el bloque div que contiene cada artículo):
<div class="post" id="post-<?php the_ID(); ?>">
Modifícalos añadiendo el código resaltado (para comprobar si existe un campo personalizado lang para ese artículo e incluirlo como idioma del artículo, si no está vacío):
2. En cada artículo escrito en un idioma diferente al idioma principal del blog, añade un campo personalizado llamado langy asígnale el código del idioma del artículo ('en' para inglés; 'es' para español, …)
3. Y eso es todo. Ahora, cada artículo puede estar identificado con su propio idioma. Por supuesto, no necesitas incluir ese campo si el idioma del artículo es el mismo que el del blog, siempre que ese idioma principal esté identificado en la cabecera de la página web.
Por favor, hazme saber si esto te resulta útil, o si tienes algún error o mejoras que proponer.
¿Por qué devuelve Google diferentes resultados en función del idioma de la interfaz del usuario? ¿No es algo que puede confundirnos? Sabiendo lo importante que es separar la presentación del comportamiento, quizá sea un funcionamiento "demasiado inteligente".
Más de una vez nos sorprendemos cuando, al buscar utilizando Google, los primeros resultados corresponden a páginas con contenidos escritos, no en inglés, sino en español (o en el idioma de la interfaz establecido en las preferencias de idioma de Google y que afecta al idioma de los consejos, de los mensajes, etc.).
Por ejemplo, busquemos 'Firefox' en www.google.es, en páginas escritas en cualquier idioma, pero con la interfaz de Google configurada en español:
Vemos que aparecen antes los resultados de páginas en español que las del sitio oficial "central" en inglés. Sin embargo, en las opciones de búsqueda NO hemos limitado a páginas en un idioma concreto, y parece seguro que las páginas en inglés son más relevantes (cosa que se puede comprobar con esta búsqueda). Otros usuarios han destacado, en diferentesforos, ese mismo funcionamiento.
Al parecer, el orden de los resultados (en lo que respecta al idioma) puede depender tanto del idioma de la interfaz como del servidor Google concreto que se utiliza (google.com vs. google.es) e incluso, de la geolocalización del usuario (es decir, el orden de los resultados será diferente buscando desde un ordenador en España o desde uno en Estados Unidos). Y posiblemente también dependa de la localización geográfica del sitio que haya indicado su webmaster.
¿Qué indica Google al respecto? Como ya comentaba en otro artículo, los detalles de su algoritmo de búsqueda no son públicos. En concreto, respecto al orden de los resultados, Google afirma que:
Google's order of hits is determined by a combination of several factors, including PageRank priorities. Please check out our Why Use Google page for more detail, or take a look at Larry and Sergey's article The Anatomy of a Large-Scale Hypertextual Web Search Engine for pleasure reading. (Google General FAQ)
Es decir, pocas pistas.
¿Demasiado listo?
¿Es útil este funcionamiento? A mí se me antoja entre desconcertante y molesto. En las Preferencias, en el apartado "Idioma de la interfaz", se indica claramente "Mostrar consejos y mensajes de Google en: español". En ningún momento parece que esta elección vaya a influir en los resultados de la búsqueda; para eso existen otras opciones (por ejemplo, las que permiten buscar "páginas en español" o "páginas de España").
Parece que Google viola ese principio casi sagrado para los desarrolladores de separar presentación y comportamiento. ¿Por qué funciona así? Es posible que sea debido a una "sobreprotección" del usuario: "bien, estás viendo la interfaz en español, así que te voy a mostrar primero algunas páginas en ese idioma, aunque no sean las más populares". A mí me recuerda al (im)popular clip de Microsoft Office: la intención es buena, pero molesta que se pase de listo.
Puede que ordenar así los resultados resulte útil para usuarios con poca experiencia y/o escasos conocimientos de inglés, pero aún así puede resultar incluso peligroso. Por ejemplo, he visto casos en que la búsqueda de un determinado programa software devolvía como primer resultado una página en español de descarga previo pago, cuando la página oficial del programa (en inglés) lo ofrecía totalmente gratis.
Y para el resto de usuarios, resulta todavía más molesto. Puedo tener la interfaz configurada en español, pero si tengo facilidad para leer en inglés no quiero que los resultados más relevantes se vean desplazados por otros únicamente porque estén escritos en español.
"Soluciones"
Básicamente, Google debería mostrar claramente cómo afecta la configuración de idiomas a los resultados de la búsqueda. Si el idioma de la interfaz va a afectar al resultado, como mínimo debería mostrarse un aviso en las Preferencias (aunque, por lo que hemos visto, difícilmente se le puede seguir llamando únicamente "idioma de la interfaz").
En cualquier caso (y a mi modesto entender), sería más lógico que el idioma de la interfaz no afectara al orden de resultados. Si Google quiere "favorecer" los resultados en determinado idioma, sin filtrar los demás, ¿por qué no simplemente añadir una opción nueva en las opciones de búsqueda, y que sea el usuario el que decida?:
Buscar en: la Web la Web (primero páginas en español) sólo páginas en español páginas de España
Mientras tanto, estoy utilizando una solución que me permite buscar de ambos modos: después de instalar la barra de herramientas de Google en Firefox, me encontraba con dos cuadros de búsqueda en el navegador con la misma funcionalidad: buscar en www.google.es:
Ahora he configurado el buscador incorporado de Firefox (arriba a la derecha) para lanzar una búsqueda en el servidor www.google.com, de modo que puedo utilizar este último para las búsquedas "normales" en inglés (por ejemplo, si busco la última versión de un programa), y usar el de la barra de herramientas de Google (abajo a la izquierda) para las búsquedas "en español" (por ejemplo, para buscar información sobre un ayuntamiento de España).