Voici ma macro pour imprimer une barre latérale. Chaque titre Même si l'élément trans "fort> n'existe pas strong> Twig renvoie toujours la chaîne transmise à modèle: p> Comment puis-je vérifier si un élément trans Avant de l'imprimer effectivement? strong> em> p> code> attribute est la construction de
'" ~ itinéraire code> élément dans
messages.it.yml code>.
trans code> filtre. Par exemple: p>
<li class="{{ active ? 'active' : '' }}">
{% set look = ('tip.' ~ route) %}
{% set foreign = look|trans %}
{% set has = not(look == foreign) %}
<a href="{{ path(route) }}" {{ not has ? '' : 'title="' ~ foreign ~ '"' }} >
<i class="{{ icon }}"></i> {{ ('nav.' ~ route)|trans }}
</a>
</li>
4 Réponses :
Essayez d'attribuer la chaîne 'NAV.' ~ Route de la variable, et ensuite traduire la variable. P>
J'ai analysé votre problème et j'ai examiné le traducteur par défaut utilisé dans Symfony2. P>
Il utilise la méthode Trans () qui est implémenté comme Ceci . < / p>
Pour vous, la meilleure solution de contournement serait de redéfinir cette méthode pour renvoyer false, lorsque vous l'attendez. P>
Raconter la longue histoire: P>
écrire votre classe, qui implémente le translatorinterface et s'étend Traducteur p> li>
méthode redéfinle trans () là p> li>
Définir le service sous forme de traducteur code> avec votre classe (il remplacera Traducteur par défaut avec le vôtre) p> li> ol>
C'est ça p>
J'espère que cela aide;) p>
La solution que j'ai proposée était celle-ci:
{% if "#{var}.something"|trans != "#{var}.something" %}
Ceci n'est correct que lorsque vous utilisez des clés et non une langue de référence par défaut.
Vous pouvez utiliser une extension de branche pour confirmer la traduction existant ou non.
+1 Ceci peut être préférable à d'autres approches énumérées ici, car ce ne sera pas des erreurs de traduction du profileur Triger. Notez que vous n'avez pas besoin de la ligne $ locale = $ traducteur-> getLocale (); code>.
GetCatalog () Code> L'argument de la méthode peut rester null, dans ce cas, la méthode utilise la locale de l'instance ...
Il n'y a pas une telle option de manière native. Une possibilité serait de vérifier si la sortie de
('NAV.' ~ ~ Itinéraire) | Trans code> est la même que
('Nav.' ~ Itinéraire) code>.