Simplificando la internacionalización en Symfony

La internacionalización de las aplicaciones consiste en adaptar las aplicaciones a diferentes idiomas y culturas. Además, es uno de los puntos fuertes de Symfony, ya que el framework incluye todas las utilidades necesarias para traducir las aplicaciones sin necesidad de instalar ningún plugin ni realizar ninguna configuración complicada.

Aunque la internacionalización también comprende la traducción de formatos (como por ejemplo los precios) y la distribución de diferentes contenidos en función del idioma/cultura (como por ejemplo imágenes traducidas) la parte más importante de la internacionalización consiste en la traducción de la interfaz de las aplicaciones.

Symfony utiliza por defecto un formato estándar (y muy sencillo) llamado XLIFF para crear los diccionarios que guardan las traducciones de cada idioma. El único inconveniente de la internacionalización de aplicaciones con Symfony era la gestión de todas las cadenas de texto que se deben traducir.

Aunque la futura versión 1.1 de Symfony va a incluirlo por defecto, se acaba de presentar un plugin para la versión 1.0 llamado sfI18nExtractplugin que permite gestionar fácilmente las cadenas de texto que se deben traducir. De esta forma, se puede utilizar el siguiente comando para extraer todas las cadenas de texto de la aplicación frontend que se deben traducir al español:

symfony i18n-extract frontend es
Con el siguiente comando, no sólo se extraen las cadenas, sino que se añaden al diccionario del idioma indicado, todas las cadenas que no existían en ese diccionario:

symfony i18n-extract --auto-save frontend es
Por último, el siguiente comando permitiría borrar del diccionario de español todas las cadenas de texto que ya no se encuentran en la aplicación:

symfony i18n-extract --auto-save --auto-delete frontend es
Ver instalación, configuración y ejemplos de uso del plugin sfI18nExtractplugin

Fuente: sfBBPlugin and sfI18nExportPlugin

Comentarios

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

27 de junio de 2007

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.