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.