Dès que l'on a créé une interface d'administration grâce au générateur, on se retrouve sans styles et sans traduction française des boutons et menus déroulants (choose an action, delete, new etc ...)
Pour les styles, il suffit de publier les css nécessaires :
$ php symfony plugin:publish-assets
Symfony crée alors un lien symbolique vers les css contenus dans /lib/vendor
Pour traduire l'interface, il suffit de créer également un lien symbolique vers le fichier xliff de /lib/vendor.
Pour notre exemple :
- notre site "mon_site" est un sous-domaine de flho.net
- flho.net est installé sur un Linux avec interfaçage Plesk
- l'application Symfony est placée dans un dossier "app_symfony"
- la racine de l'appli est le dossier "app_symfony"
- le DocumentRoot est le dossier "app_symfony/web"
Je me place à la racine de mon appli :
[root@xxxxx app_symfony]# ln -s /var/www/vhosts/flho.net/subdomains/mon_site/httpdocs/app_symfony/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/i18n/sf_admin.fr.xml apps/backend/i18n/sf_admin.fr.xml
Merci à Tim sur amicalement-web.net
Nota : votre fichier app/backend/config/settings.yml doit être configuré sans faute de casse :
Nota : votre fichier app/backend/config/settings.yml doit être configuré sans faute de casse :
all:.settings:i18n: on # i18n en minuscule
default_culture: fr
standard_helpers: [Partial, Cache, I18N] # i18n en majuscule
4 commentaires:
Cela ne marche pas chez moi avec Symfony 1.4.. :(
Avez-vous vide le cache en fin de procédure ?
Cad:
- console SSH
- plce a la racine de l'appli
- php symfony cc
Tenez-moi au courant ...
Oui j'ai bien vidé le cache.
Comme je n'ai pas d'information sur ce que vous avez configure ou non sur votre poste, sur le fait que vous êtes en local ou sur un serveur distant, je vais considérer que :
- vous avez suivi toutes indications de ce post
- vous avez également lu le post de Tim (lien en bas de l'article) qui pourrait attirer votre attention sur un détail non pris en compte par vous ou par moi
- vous avez bien vide le cache de Symfony
- si vous utilisez Safari ou Firefox, vous avez vide le cache du navigateur, quitte le navigateur,relance le navigateur ( SF et FF sont quelquefois capricieux cote cache et vider-quitter-relancer est parfois nécessaire ...)
- vous avez ouvert la SF_debug_bar et vous avez bien constate que la défaut_culture et la culture était bien "fr" et non "en"
- si la culture est toujours en "en", vous l'avez fait passe en "fr" en ouvrant dans un second onglet votre appui cote frontend (car la culture du user est enregistrée dans un cookie et est valable pour tous les onglets ouverts.)
- vous avez liste votre site dans un client ftp (Interarchy,Filezilla, ...) et vous avez constate que dans le dossier /apps/backend/I18n/ il y avait bien un raccourci du nom de sf_admin.fr.xml... Au pire, vous avez copie-colle le fameux fichier dans ce dossier depuis son emplacement original (/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/i18n/sf_admin.fr.xml)
J'ai parle de tous ses points a contrôler car il m'est deja arrive de me battre avec cette traduction française qui ne voulait pas s'afficher ;-)
En rechrchant la cause, je tombais sur :
- un oubli dans le fichier settings
- un cache Symfony ou un cache navigateur non vide (ou les deux)
- je visualisais la partie publique de mon site dans un autre onglet dans la version anglaise. Ma culture était donc "en" cote public ET cote admin
Avec tous ces points de contrôle , vous devriez retrouver votre latin;-) Tenez moi au courant.
Enregistrer un commentaire