La razón de existencia de un blog puede ser justificada por varias razones:
- Satisfacción de Ego
- Como una manera de expresar la creatividad personal
- Como profesión
- Para tener una fuente extra de ingresos
- Cualquier otra razón
Si una o varias de estas razones han acabado por encontrarte, entonces seguramente ahora estés dando los primeros pasos del camino hacía tu diario electrónico.
Quizás esta no sea la primera vez que inicies este viaje, y el camino sea claro para ti.
Pero si, como yo, eres nuevo en el mundo del blog, entonces varias preguntas pueden aparecer.
Si además tu idea es de dar a luz a un blog multilingüe, aún más preguntas retrasarán el momento de tu primera entrada.
He aquí mis hallazgos personales del viaje entre idea y realización, en 6 cortos pasos.
Si sabes a donde quieres ir, pero no estás muy seguro de como llegar hasta allí, quizá puedan ayudarte en señalar la dirección.
Paso 1: Despejando el Camino
Si has llegado hasta aquí, seguramente tengas claro que quieres crear un blog, y quizás hasta incluso tengas claro que tipo de contenido quieres que tu blog hospeda.
Pero aún así, es posible que tengas dudas sobre si realmente vale la pena, y si realmente tienes algo que decir, o como quieres decirlo exactamente.
Un par de preguntas que me ayudaron a pasar el punto de incertidumbre, y definir como quería que fuese muy blog fueron:
- Por qué quieres tener un blog?
- Que va a ser el contenido principal de tu blog?
Pasar un poco de tiempo echando un vistazo a otros blogs puede ayudarte a despejar el camino hacía la obtención de la ciudadanía de la blogoesfera.
Puedes encontrar blogs en casi cualquier sitio, pero un buen punto de partida puede ser los comentarios que otros dejan en tus sitios de interés: normalmente junto al comentario habrá un vínculo del sitio del autor.
Blogs existentes pueden darte algo de inspiración, y ayudarte a pintar el cuadro de tu futuro blog.
Paso 2: Blogging Multilingüe
Ahora que has pasado un poco de tiempo definiendo tu blog, el camino ya parece un poco más despejado, y ya casi puedes verte escribiendo la primera entrada.
Pero entonces, la naturaleza multilingüe de tu blog hace aparecer algunas preguntas inevitables.
Vas a traducir todas las entradas, o las versiones localizadas de tu blog tendrán vidas separadas, además del idioma?
Merece la pena traducir cada entrada?
Los comentarios deben también ser localizados?
Existen bastantes blogs multilingües que pueden ayudarte a decidir que dirección tomar para tu blog multilingüe.
Para tener una idea sobre que tipo de decisiones deberás tomar, asegúrate de echarle un vistazo a esta excelente entrada.
Probablemente los dos aspectos más importantes sean:
- Simetría (Traducción de todas las entradas) contra Asimetría (No todas las traducciones se traducen)
- Traducción Manual contra Traducción Automática
Estas son algunas de las decisiones importantes que he tomado:
- Sigo un modelo simétrico, lo que significa que cada entrada del blog está disponible en todos los idiomas, y cada entrada tiene un hilo individual de comentarios localizado (el contenido de los comentarios no se tiene en cuenta, lo que significa que nada puede evitar que un visitante añada un comentario en una lengua diferente de la del hilo)
- Todos las traducciones son manuales, hechas por mí
- Todos los idiomas conviven en la misma e única instalación de blog
- No hay mezcla de idiomas en páginas individuales, y la selección de idioma se ofrece en cada página, a través de un vínculo en la cabecera del blog
- El contenido está totalmente localizado, lo que significa que todo el contenido se traduce, por ejemplo: los títulos de las entradas, los resúmenes y el contenido, las categorías, etiquetas, mensajes de interfaz, texto alt para las imágenes, título del blog, Etc.
- Cuando sea posible, todo vínculo externo varía en función de la lengua. Por ejemplo, un vínculo a un artículo Wikipedia en la versión castellana del blog enlaza al artículo Wikipedia en castellano y al artículo de Wikipedia Inglés para la versión en Inglés (una excepción es la lista de mis visitas diarias)
- No he considerado otros datos sensibles a localización, tales como formatos de fecha
- La gestión de la funcionalidad multilingüe del blog se realiza a través de una funcionalidad específica, y es totalmente independiente de categorías o etiquetas
La construcción de software para manejar todas estas consideraciones podría tomar algún tiempo, pero afortunadamente, existe un gran abanico de excelentes opciones que ofrecen la mayoría de las funcionalidades necesarias para olvidarse de la gestión multilingüe, y concentrarse en el contenido de tu blog.
Paso 3: El Software
Crear un diario electrónico nunca ha sido más fácil, y una de las principales razones de esto es porque nunca ha habido tantas posibilidades en cuanto a software de blogs.
Hay cientos de opciones para tu blog, cada una con distintas ventajas y desventajas, y es sólo cuestión de informarse sobre ellas para saber cuál se acerca más a tus necesidades.
Sin embargo, en cuanto a funcionalidad multilingüe, la mayoría de ellas probablemente requerirá algunos pequeños ajustes.
Terminé por escoger a Wordpress por su facilidad de uso, su flexibilidad, y el número de extensiones, temas y widgets, que existen hoy en día.
(si trabajas con Mac OS, échale un vistazo a MAMP y a textwrangler: es todo lo que necesitarás para jugar con una instalación local de Wordpress)
Existen varios plugins multilingüe para wordpress.
Probé language switcher, Gengo y qTranslate.
Finalmente opté por qTranslate, debido a su facilidad de uso y simplicidad, aunque es una buena idea probar cada opción, y ver cuál es el más cercano a sus necesidades.
Para poder tratar hilos individuales de comentarios localizados, hice unas pequeñas modificaciones en qTranslate.
Como tema elegí Mandigo ya que está totalmente traducido, y me gustó el diseño.
Otros plugins que utilizo actualmente y que considero de gran utilidad son los siguientes:
Las posibilidades de extensión, modificación y personalización de Wordpress son casi infinitas, y la contribución de los usuarios es muy alta, así que asegúrate de comprobar si un complemento o un widget no existe ya para una funcionalidad necesitada antes de crearla tu mismo.
Paso 4: En Directo y En Vivo
En este punto, probablemente tengas una bonita instalación local, totalmente personalizada y modificada, que pide a gritos escapar del confinamiento local, y expandirse hacía la red de redes en busca de su hogar en la blogosfera.
Hay varios aspectos a considerar antes de llevar tu blog al mundo real, pero probablemente la más importante sea el modo en que tu blog será hospedado.
Las principales opciones son el auto alojamiento, alojamiento gratis o alojamiento pagado, con diferentes posibilidades ofrecidas por cada opción.
Una alternativa interesante puede ser el alojamiento de tu blog en la nube.
Inicialmente pasé algún tiempo en alojamiento gratis, pero los molestos periodos de indisponibilidad y el bajo tiempo de respuesta me convenció para dar el salto a un alojamiento pagado.
Escogí ICDSoft , y hasta ahora, todo bien.
Si eres paranoico en cuanto a hacer pública tu información WHOIS, asegúrate de echarle una ojeada a WhoisGuard.
A pesar de que el paquete de ICDSoft incluye herramientas de monitorización, me inscribí en sitemeter, puesto que ofrecen la información que realmente me interesa.
ACTUALITZACIÓN 08/04/09: Ahora utilizo Google Analytics, descubre porqué.
También es buena idea pasar algún tiempo pensando en un nombre de dominio y la tld que va con él.
La mayoría de ofertas de alojamiento web incluyen algún tipo de gestión de ficheros, pero si necesitas un buen cliente FTP para Mac OS, pégale un vistazo a Cyberduck.
Paso 5: Promoción
Una vez que todo está en marcha y funcionando, es probable que quieras presentar tu blog al mundo.
Una posibilidad es empezar por introducir tu blog a tu círculo más próximo de contactos, y tener así algunos comentarios iniciales, para luego pensar en SEO.
Hay cientos de artículos sobre la optimización SEO, pero un par de pasos iniciales pueden ser registrar tu sitio con google, y crear una cuenta con las herramientas de webmasters de Google para comprobar si Googlebot escuchó tu llamada.
También puedes registrar tu sitio con el Open Directory Project.
(asegúrate de registrar la URL localizada de tu sitio en la categorías internacionales apropiadas)
Consideraciones para el Futuro
Ahora que tu blog acaba de nacer, crecerá, cambiará y se ampliará.
Probablemente sea buena idea optar por la sencillez al principio, ya que no es posible saber en qué dirección irá tu blog.
Sólo el tiempo y el contenido mostrará la forma en que tu blog mutará.
Algunas cosas que inicialmente no he considerado, y que tengo en mente para el futuro, son un plugin de entradas relacionados, cache, una nube de etiquetas, pingbacks, trackbacks o compresión.
ACTUALIZACION 06/03/2008: Localización de Comentarios
Estas son las modificaciones que hice para localizar los comentarios…
NOTA: Estas modificaciones son WordPress-Plugin agnósticas, seguramente este no sea el mejor camino a seguir…
1. Tabla de Comentarios (wp_comments):
- Añadir el campo ‘comment_lang’ (este campo contiene ‘en’, ‘es’ or ‘ca’, que define la localización del comentario)
2. Plantilla de Comentarios (themes/mandigo/comments.php):
- Añadir el campo input ‘comment_lang’ (contiene ‘en’, ‘es’ or ‘ca’, que define la localización del comentario)
<input type="hidden" name="comment_lang" value="<?php global $q_config; echo $q_config['language']; ?>" />
3. Tratamiento del envío de Comentarios (wp/wp-comments-post.php):
- Añadir ‘comment_lang’ a los datos del commentario
Sección de Definición de Variables:
$comment_lang = $_POST['comment_lang'];
Modificación de los Datos del Commentarios:
$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url',
'comment_content', 'comment_type', 'comment_parent', 'user_ID','comment_lang');
4. Inserción del Comentario (wp/wp-includes/comment.php):
- Añadir ‘comment_lang’ a la inserción
function wp_insert_comment($commentdata)
...
$result = $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->comments
(comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date,
comment_date_gmt, comment_content, comment_approved, comment_agent, comment_type, comment_parent, user_id,
comment_lang)
VALUES (%d, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %d, %d, %s)",
$comment_post_ID, $comment_author, $comment_author_email, $comment_author_url, $comment_author_IP, $comment_date,
$comment_date_gmt, $comment_content, $comment_approved, $comment_agent, $comment_type, $comment_parent, $user_id,
$comment_lang) );
5. Recuperación de Comentarios (wp/wp-includes/comment-template.php):
- Añadir ‘comment_lang’ al criterio de selección para el número de comentarios
function get_comments_number( $post_id = 0 ) {
global $q_config,$wpdb;
$lang = $q_config['language'];
$numcom = (int) $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_post_ID = %d
AND comment_lang = %s", $post_id, $lang) );
return apply_filters('get_comments_number', $numcom);
}
- Añadir ‘comment_lang’ al criterio de selección para los comentarios
function comments_template
...
if ( $user_ID) {
$comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_lang = %s AND
comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) )
ORDER BY comment_date", $lang, $post->ID, $user_ID));
} else if ( empty($comment_author) ) {
$comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_lang = %s AND
comment_post_ID = %d AND comment_approved = '1' ORDER BY comment_date", $lang, $post->ID));
} else {
$comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_lang = %s AND
comment_post_ID = %d AND ( comment_approved = '1' OR ( comment_author = %s AND comment_author_email = %s AND
comment_approved = '0' ) ) ORDER BY comment_date", $lang, $post->ID, $comment_author, $comment_author_email));
}
ACTUALIZACIÓN 12/05/2009: Widget de Comentarios Recientes
Parece ser un buen momento para añadir el widget de “Comentarios Recientes”…
La función wp_widget_recent_comments en el fichero <wp_home>/wp-includes/widgets.php fue modificado para obtener el idioma seleccionado:
global $q_config; $langsel=$q_config['language'];
Y recuperar solamente los comentarios del idioma seleccionado:
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = '1'
AND comment_lang = '$langsel'
ORDER BY comment_date_gmt DESC LIMIT $number");
ACTUALIZACIÓN 02/09/2009: Ficheros .mo Castellano y Catalán
No recuerdo exactamente donde los encontré, pero estos son los .mo que utilizo por si pudieran ser útiles:
(Deben ser copiados en /wp/wp-content/languages)
ACTUALIZACIÓN 02/09/2009: Como añadir un idioma no predefinido en qtranslate
Para añadir un idioma no predefinido en qtranslate, es necesario el fichero de traducción del idioma (.mo) y la bandera (.png).
Por ejemplo, para añadir catalán a qtranslate:
1. Copia el fichero de traducción ca_ES en /wp/wp-content/languages
2. Copia la bandera ca.png en /wp/wp-content/plugins/qtranslate/flags
3. Ves a “Plugins” –> “qTranslate” -> “Settings”
4. “Add New Language”
5. Añade el nuevo idioma:
Tags: Diario Electrónico, Mutlilingüe

Buenas!! un artículo muy interesante, lo he utilizado de referencia para montar un blog para hacer el seguimiento del proyecto de las obras de urbanización… solo una duda… he intentado crear dos idiomas (castellano-catalán), pero el catalán no está predefinido en el qtranslate… de donde puedes obtener los ficheros .mo y como defines la localización?
un saludo y gracias!
@Angel
Hola !! Me alegro de que el artículo te haya sido de utilidad !!
He actualizado el artículo con un par de apuntes que deberían responder a tus preguntas…