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 plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Descargas totales de Symfony

2.869.177.683

Ver descargas en tiempo real

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