symfony

Problème d’accents avec Symfony (i18n)

Pour ceux qui conçoivent des applications ou des sites bilingues avec Symfony, vous avez peut-être déjà rencontré un problème lors de l’affichage de caractères accentués pour les mots français. J’ai été confronté à ce problème il y a longtemps et voici le résultat de mes recherches sur le Web. Pour l’explication, c’est une application qui au départ s’affiche en français et par la suite en anglais et qui utilise la version 1.1 de Symfony.

Dans un premier temps, il faut vous s’assurer que le i18n est activé dans votre fichier monapp/config/settings.yml :

all:
.settings:
i18n: on

Vous devriez avoir dans votre template quelque part une ligne qui ressemble à cela :

Ensuite dans votre fichier monapp/i18n/en/messages.xml vous devriez avoir ceci :


Déconnexion
En fait, si vous inscrivez seulement « Déconnexion » tel qu’écrit dans votre template, vous allez avoir une erreur dans votre yml étant donné que le XML ne semble pas apprécié le caractère « & ». Il faut donc mettre é
qui représente le code pour le caractère « é » et tout fonction bien.

Après ça, tous vos caractères devraient s’afficher correctement.
C’est la même chose si vous créez un plugin. Vous pouvez écrire des accents dans votre fichier /plugins/monplugin/modules/monmodule/config/generator.yml :

edit:
title: Paramètres du site

Il suffit par la suite d’ajuster le fichier /plugins/monplugin/i18n/en/messages.xml comme mentionné précédemment.

N’oubliez pas qu’à chaque fois que vous modifier votre fichier en.yml, vous devez vider la cache de votre projet :
symfony cc

Pour ceux qui développent des applications bilingues, assurez-vous d’aller voir le plugin sfLanguageSwitchPlugin qui fonctionne très bien.
original=”messages” date=”2008-12-19T12:00:00Z”
product-name=”messages”>

Standard