Documentación

Traducción

Actualmente hay tres ejes de traducción posibles en Voila, traducción en controladores, traducción en vistas con twig y traducción de urls. Para facilitar todo esto, se ha creado un script que automatiza la búsqueda de textos a traducir y genera los ficheros correspondientes.

Traducción en controladores

Para traducir una cadena en el controlador, basta con llamar a la función de traducción ya incluida en el controlador.

$this->translate("Hello world")

Traducción en vistas

Para traducir una cadena en una vista, basta con llamar a la función de traducción ya incluida en twig.

{{ translate('Hola mundo') }}

Generar archivos de traducción

Before you want to translate your site, you need to "add" the languages ​​in the configuration file (/config/config.php) and add the locale you want to support (here the 'fr')

define('TRANSLATE', true);
define('DEFAULT_LANG', 'en');
define('LANGS', ['en', 'fr']);

A continuación, debe generar los archivos de traducción, para ello, debe ejecutar el siguiente comando en el terminal

$ php bin/tranlate.php

Y si desea generar una configuración regional específica, puede pasarla como parámetro (aquí para la configuración regional "fr")

$ php bin/tranlate.php fr

Once the files are generated, you can translate the texts in the files in the translation folder (in "/translation/").

los archivos de traducción son archivos json (JavaScript Object Notation), es un array que se transforma en una cadena que por lo tanto se puede colocar en un archivo. Como en un array asociativo, la clave es el valor a traducir, si no encuentra traducción, voila devolverá la clave que recibió, por lo tanto, no debes modificar las claves (a la izquierda), sino los valores asociados a ellas (a la derecha).

Traducción de urls

Para traducir las urls, es necesario generar los archivos de traducción (véase más arriba), en la carpeta de traducción, debe haber un archivo routeLO.json (con LO sustituido por la configuración regional). En cuanto a los otros archivos, puede reemplazar los datos de la tabla con sus traducciones (a la izquierda, lo que necesita ser traducido, por lo que no toque, a la derecha lo que se mostrará en la configuración regional, para ser traducido)

As this is a table transformed into a string, some characters must be "disabled" with the '\' sign, notably the '\/' sign. For example, the Route "/Error" in French will be written as "\/Error" in the translation file.

"\/Error": "\/fr\/Error",

La traducción no debe modificar el primer parámetro que representa la configuración regional, por lo que sólo debe traducir lo que hay detrás. Por supuesto, se trata de URLs, por lo que no deben contener caracteres especiales, espacios ni acentos.

"\/Error": "\/fr\/Erreur",