Traduction, Param Converters dans le FrameWork Symfony 3
Comment éviter le message d'erreur:
"input is not proper UTF-8, indicate encoding"
lors de l'utilisation des fichiers de traduction?
Il faut s'assurer que les fichiers de traduction soient encodés en UTF8 sans BOM (Byte Order Mark)
En ligne de commande, comment récupérer dans un fichier de traduction français au format YAML, toutes les chaines sources définies dans les vues d'un Bundle?
>php bin/console translation:update --force fr NomDuBundle
Quand on lance la commande suivante, quels sont par défaut, les caractères qui précédent la chaine cible s'il n'y a pas de traduction?
>php bin/console translation:update --force fr NomDuBundle
Bonjour: __Bonjour
Quand on lance la commande suivante, quel est par défault le nom du fichier de traduction, son format et son nom de domaine?
>php bin/console translation:update --force fr NomDuBundle
Que se passe-t-il si on lance la commande suivante et qu'un fichier messages.fr.xliff existe déjà?
>php bin/console translation:update --force fr NomDuBundle
>php bin/console translation:update --prefix="..." --output-format="xliff" --force fr NomDuBundle
Bonjour: ...Bonjour
Cette commande permetra-t-elle de supprimer les doublons situés dans les fichiers de traduction du catalogue?
>php bin/console translation:update --force fr NomDuBundle
Oui
La traduction d'un site se fait-elle au début ou à la fin de sa conception?
A la fin
Pour un site, il est conseillé de finaliser un fichier de traduction dans une langue avant de s'attaquer aux autres langues.
Vrai
On récupère la variable locale située dans la requête du client.
Toutes les routes définies dans le Bundle Core seront préfixées par la variable locale.
Pour que nos fichiers de traduction soient plus lisibles et ordonnés est-il recommandé d'utiliser des mot-clés comme chaine source plutôt que du texte?
menu.top.title: Édition d'une annonce
Oui
Attention à la différence dans les guillemets
Oui
Le sigle '>' permet le retour à la ligne uniquement dans le fichier de traduction mais pas dans le code HTML.
Ainsi {{ 'mon Message'|trans|nl2br }} affichera dans la vue:
Bla1 Bla2 Bla3 Bla4 Bla5 Bla6
Le sigle '|' permet le retour à la ligne dans le fichier de traduction et ajoute aussi une nouvelle ligne dans le code HTML.
Anisi {{ 'mon Message'|trans|nl2br }} affichera dans la vue:
Bla1 Bla2 Bla3
Bla4 Bla5 Bla6
Un tableau récupéré depuis le YAML commence par quel indice?
Oui
Citez 3 noms de domaine utilisés par Symfony.
Quel est l'équivalent de cette ligne avec la balise {% trans %}
Quel est l'équivalent de cette ligne dans un contrôleur?
Oui
Si l'on souhaite traduire les messages d'erreur de nos formulaires, quel domaine doit-on utiliser?
On place nos traductions dans les fichiers:
Quels sont les deux variables fournies par le service de validation des formulaires que l'on utilise à la place des placeholders?
Ne pas oubliez les guillemets dans la chaine cible
Oui
Si l'on souhaite traduire les dates en lettres doit-on ajouter une extension au coeur de Twig?
>php composer.phar require twig/extensions
Quelles sont les extensions disponibles aprés l'installation de Twig/extensions et les filtres supplémentaires qu'ils ajoutent?
Quelle est l'utilité des convertisseurs de paramètres?
Ils permettent d'agir sur les paramètres de requêtes avant qu'ils soient utilisés par le Contrôleur. Le résultat est récupéré comme argument dans la signature de l'action du contrôleur.
On peut par exemple:
Quels sont les deux convertisseurs de paramètres utilisables par défaut dans Symfony?
Peut-on créer nos propres param converters?
Oui
Lorsque l'on utilise DoctrineParamConverter, ce convertisseur peut-il lire la signature de la méthode du contrôleur pour déterminer le type de la variable que l'on souhaite et ainsi créer un attribut de requête du même type, que l'on récupèrera dans le contrôleur?
Oui
Comment le convertisseur de paramètres ''DoctrineParamConverter'' interprète la signature du contrôleur?
Le convertisseur de paramètres comprend qu'il doit sauver dans la variable $advert une instance de l'entité Advert dont l'id est défini dans l'url.
Quelles sont les deux méthodes dont dispose le convertisseur de paramètres, pour déterminer le type de variable que l'on souhaite?
Un convertisseur de paramètres est un écouteur qui écoute un événement du kernel.
De quel événement s'agit-il?
L'événement kernel.controller
Comment le convertisseur de paramètres ''DoctrineParamConverter'' interprète l'annotation et la signature du contrôleur?
Le convertisseur de paramètres comprend qu'il doit sauver dans la variable $toto une instance de l'entité Advert dont l'id est égale à la valeur contenu dans le paramètre de route advert_id.
id est l'attribut de l'entité Advert.
Comment le convertisseur de paramètres ''Datetime'' interprète l'annotation et la signature du contrôleur?
Le convertisseur ''Datetime'' comprend qu'il doit remplacer le paramètre de route ''date'' par une instance de \DateTime qui est égale à la valeur entrée dans l'url sous le format 2017-05-14.
Comment le convertisseur de paramètres ''DoctrineParamConverter'' interprète l'annotation et la signature du contrôleur?
Le convertisseur de paramètres comprend qu'il doit:
Comment le convertisseur de paramètres ''DoctrineParamConverter'' interprète l'annotation et la signature du contrôleur?
Le convertisseur de paramètres comprend qu'il doit:
Notre propre convertisseur de paramètres est-il un service sur lequel on applique le tag ''request.param_converter''?
Quelle interface doit implémenter notre classe si l'on veut en faire un convertisseur de paramètres?
Quel est le rôle des deux méthodes ''supports'' et ''apply'' que notre classe doit implémenter?