Nuevo en Symfony 4.3: Extrayendo contenidos para traducir en archivos PHP
Lo más pesado al traducir una aplicación Symfony es la extracción de todos
los contenidos a traducir que se encuentran en las plantillas y la actualización
constante de esos contenidos cuando se modifican las plantillas. Por eso Symfony
incluye un comando llamado translation:update
que te ayuda en esa tarea:
# actualizar la traducción a español con los nuevos contenidos encontrados en templates/ $ php bin/console translation:update --dump-messages --force es
Tal y como se explica en la documentación de Symfony, la principal limitación de este comando es que solo puede extraer contenidos de las plantillas. Por eso en Symfony 4.3, hemos mejorado el comando para que también extraiga contenidos a traducir en los archivos PHP que se utilizan para los servicios y controladores.
En concreto, este comando ahora analiza cualquier archivo/clase de PHP que esté
definida como servicio y que inyecte (explícitamente o automáticamente) el
servicio translator
de Symfony. Considera por ejemplo el siguiente controlador:
use Symfony\Component\Translation\TranslatorInterface; class SomeController extends AbstractController { public function someAction(TranslatorInterface $translator) { $message = $translator->trans('some_message_key'); // ... } }
En Symfony 4.3, el identificador some_message_key
se extrae y añade a la lista
de contenidos a traducir cuando se ejecuta el comando translation:update
,
mientras que en las anteriores versiones de Symfony se ignoraba.
Relacionado con este cambio, también hemos mejorado la lógica que extrae contenidos en formato PHP (Pull Request 31249), formato QT (Pull Request 31248) Y formato PO (Pull Request 30909) para incluir la ruta del archivo y la línea exacta en la que se encontraban los contenidos originales.
Esta funcionalidad fue contribuida por Yonel Ceruto, de la comunidad hispana de Symfony, en el pull request #30120.
Fuente: New in Symfony 4.3: Extracting Translation Contents from PHP Files
Comentarios
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.