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

Publicada el

27 de junio de 2019

Etiquetas

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.