La peor forma de extrañar a alguien es estar sentado a su lado y saber que nunca lo podrás tener
17 Ene
Ando embarcada en varios proyectos sustentados por el gestor de contenidos WordPress y uno de los requisitos imprescindibles es la navegación multi-idioma. Así que dejaré por aquí mi experiencia, por si a alguien le sirve de ayuda o puede ser enriquecida por otras personas (y a ver si así podemos devolver algo de todo lo que nos ofrece este tipo de paquetes de software libre).
Lo primero de todo, necesitamos un plugin que consiga gestionar correctamente ese sistema multi-idioma. Para ello, y tras probar unos cuantos, el vencedor ha sido xlanguage. Las características que le hacen caballo ganador:
¿Y cómo conseguimos traducir nuestro theme y nuestros plugins? Sencillo: todas las llamadas php que muestren cadenas de texto, tendrán que ir con la función _e() o bien con la función __() (la diferencia entre ambas es que _e hace un echo de la cadena. Es decir, echo __(“Hola mundo”); es lo mismo que _e(“Hola Mundo”); ). De esta manera, con las herramientas que nos ofrece WordPress para la localización e internalización, podremos generar un .pot del theme donde introducir las traducciones pertinentes para luego generar el .mo que entenderá nuestro xlanguage.
#: presentacion.php:36
msgid “Hello World”
msgstr “”
#: presentacion.php:36
msgid “Hello World”
msgstr “Hola Mundo”
Expliquemos el proceso paso por paso.
php add-textdomain.php -i domain phpfile.php
El domain marca el ámbito de lo que traducimos. Podemos poner default, por ejemplo, para el theme y el nombre del plugin para cada uno de ellos. Luego generamos el .pot mediante makepot.php:
php makepot.php wp-theme el-directorio-del-theme languages/traduccion.pot
En el caso de un plugin ponemos wp-plugin en vez de wp-theme. Para usar todas estas herramientas tenemos que tener el paquete gettext en nuestro servidor.
msgfmt fichero_idioma.pot -o fichero_idioma.mo
function theme_init(){
load_theme_textdomain(‘default’, get_template_directory() . ‘/languages’);
}
Si además queremos traducir algún plugin:
function theme_init(){
load_theme_textdomain(‘default’, get_template_directory() . ‘/languages’);
//Aquí ponemos el plugin cuyo domain es plugin1:
load_theme_textdomain(‘plugin1′, get_template_directory() . ‘/languages/plugin1′);
}
Imagen de ButterflySha (vía Flickr). Licencia CC-by
9 Ene

Esto es un no parar. Si hace poco teníamos a dos niños correteando por el nire-salón (nirudia y niretv), ahora llega otro nuevo bebé. Y en éste tenemos muchas ilusiones puestas porque será el primer bebé libre. Le abriremos las tripas a todo el mundo (esto último me ha quedado un poco macabro… pero es lo que tiene el software libre
).
Queremos crear una plataforma en la que todos participéis y necesitamos ayuda de todo tipo: en diseño, seguridad, traducciones, testeo, … Cualquier cosa que se os ocurra será bienvenida para enriquecer el proyecto. Y por supuesto, lo más importante es generar una comunidad. Si todos tiramos de este carro, tendremos una herramienta instalable en multitud de lugares.
Por descontado, ya contamos con la traducción a multitud de idiomas de la plataforma. Todo gracias a nuestro niretrad querido (en el que también nos podéis ayudar).
¿Qué diferencia Nirewiki de otros sistemas como MediaWiki, DocuWiki, etc, …?
Pues básicamente en que con estas aplicaciones podemos crear un wiki. Con Nirewiki podremos tener una plataforma desde la que crear muchos wikis. Algo así como un WordPress MU para los blogs. Esa es la novedad que creo que hasta ahora no se había implementado (igual me equivoco, pero entonces me tiráis de las orejas
).
La idea es crear un sistema abierto no sólo en el código sino en la utilización de estándares y posibilidades de importar y exportar contenidos en formatos que cumplan los estándares.
No pretendemos reinventar la rueda. Creemos que es positivo reutilizar partes de otros proyectos que llevan funcionando ya muchos años: por ejemplo, para la traducción a otros idiomas utilizamos las traducciones del sistema Mediawiki uno de los más traducidos y que soporta la Wikipedia.
Para la edición de los contenidos utilizamos la versión del editor Wysiwyg utilizada por WordPress, por varias razones. Entre ellas, porque es bastante sencilla de utilizar y está traducida a bastantes idiomas.
En estos momentos ya hay una versión de Nirewiki funcionando, pero somos conscientes que para poder liberar el código con las mínimas condiciones de seguridad y facilidad de uso es necesario darle un buen repaso.
Estamos buscando gente que quiera unirse al proyecto: programadores, diseñadores, o cualquier persona que nos ayude a mejorar las prestaciones del sistema. Mejoras en varios aspectos: usabilidad, accesibilidad y apariencia, pero también en nuevas funcionalidades y en incrementar las posibilidades de reutilización de aplicaciones externas que puedan añadirse a Nirewiki como plugins, themes u otras similares.
Si quieres colaborar con nosotros, pásate por el wiki. Serás bienvenido
Más información en el blog de David.
Últimos Comentarios