Logo de Cecil Cecil
Sur cette page

Localisation

Cecil prend en charge la traduction de texte et la localisation des dates.

Traduction de texte

Utilisez la balise ou le filtre trans pour traduire des textes dans les templates.

{% trans with variables into locale %}{% endtrans %}
{{ message|trans(variables = []) }}

Exemples

{% trans %}Hello World!{% endtrans %}
{{ message|trans }}

Inclure des variables :

{% trans with {'%name%': 'Arnaud'} %}Hello %name%!{% endtrans %}
{{ message|trans({'%name%': 'Arnaud'}) }}

Forcer la locale :

{% trans into 'fr_FR' %}Hello World!{% endtrans %}

Pluraliser :

{% trans with {'%count%': 42} %}{0}I don't have apples|{1}I have one apple|]1,Inf[I have %count% apples{% endtrans %}

Fichiers de traduction

Les fichiers de traduction doivent être nommés messages.<locale>.<extension> et stockés dans le répertoire translations. Les extensions prises en charge sont définies pour chaque format de traduction dans layouts.translations.formats.

Le code de locale (ex. : fr_FR) d’une langue est défini dans les entrées languages de la configuration. Un fichier nommé avec le seul code de langue (ex. : messages.fr.yaml) est également chargé, et les traductions des thèmes sont fusionnées avec celles du site.

Exemple :

<mon-site>
└─ translations
   ├─ messages.fr_FR.mo   <- Machine Object format
   └─ messages.fr_FR.yaml <- YAML format

Localisation de la date

Utilisez le filtre Twig format_date pour localiser une date dans les templates.

{{ page.date|format_date('long') }}
{# September 30, 2022 #}

Les valeurs prises en charge sont : none, short, medium, long et full.

Les filtres format_datetime et format_time sont également disponibles.