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 esCon 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 esPor ú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 esVer 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.
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.