Sitios multi-idioma y Smarty

Smarty es un motor de plantillas para PHP que nos permite separar el código PHP del código HTML. Los contenidos web se generan mediante la colocación de etiquetas Smarty en un documento. Pueden encontrar más documentación en el sitio web de Smarty

Para algunos de mis proyectos he utilizado Smarty y hoy os voy a presentar una forma de usar este tipo de plantillas en sitios multi-idioma. Hay otras posibilidades como smarty-gettext, que os presentaré más adelante.

Para las traducciones vamos a utilizar archivos de configuración . En estos ficheros se definen variables globales para los templates y se aplica con el siguiente código:

<?php
$smarty=new Smarty();
$smarty->config_dir='/path/al/directorio/';
//Segun el idioma cargamos uno u otro fichero de configuración  
$smarty->config_load('es.conf');
?>

Crearemos un fichero de configuración por idioma, de manera que en cada uno queden reflejadas todas las cadenas de texto traducidas.

Por ejemplo un archivo de configuración en español:

# cadenas globalesinicio = Inicioenviar = Enviar # página de login[login]titulo = Introduce tu usuario y contraseña

Y su archivo correspondiente de configuración en inglés:

# cadenas globalesinicio = Homeenviar = Send # página de login[login]titulo = Enter your username and password

Una vez tenemos todo el contenido estático de la web reflejado en los archivos de configuración, llamamos desde la plantilla a cada cadena utilizando la sintaxis {#variable#}. De tal manera que según el archivo de configuración que le hayamos asignado en la plantilla se mostraran las cadenas en un idioma u otro.

Ejemplo:

<strong>{#titulo#}strong>

<inputtype="button"name="enviar"value="{#enviar#}"/>

Desde luego con el uso de Smarty en sitios multi-idiomas, es una alternativa a tener en cuenta.

...

2 comentarios para Sitios multi-idioma y Smarty

  • Mari  Mari dice:

    Para traducciones de sitios web y blogs profesionales recomiendo esta herramienta de traducción https://poeditor.com, que es muy práctica. También cuenta con plugins de WordPress y Drupal que hacen las cosas más fáciles.

    13 de febrero de 2014 - 15:12:41
    Jose  Jose dice:

    Muchas gracias por la recomendación, probaremos la herramienta a ver que tal.

    14 de febrero de 2014 - 09:37:35

Deja un comentario




Si le ha parecido interesante nuestro artículo Sitios multi-idioma y Smarty dentro de la categoría Plugins y Utilidades Webs recuerde que puede suscribirse a nuestra dirección RSS,a nuestro newsletter o seguirnos en las redes sociales