Browse Source

backports murph-skeleton

develop
Simon Vieille 6 months ago
parent
commit
4e8a9564fe
  1. 4
      config/packages/translation.yaml
  2. 12
      core/Controller/Account/AccountAdminController.php
  3. 10
      core/Controller/Site/MenuAdminController.php
  4. 10
      core/Controller/Site/NavigationAdminController.php
  5. 14
      core/Controller/Site/NodeAdminController.php
  6. 8
      core/Controller/Site/PageAdminController.php
  7. 2
      core/Controller/Site/TreeAdminController.php
  8. 12
      core/Controller/User/UserAdminController.php
  9. 3
      core/EventSuscriber/Account/PasswordRequestEventSubscriber.php
  10. 2
      core/Form/Site/MenuType.php
  11. 4
      core/Form/Site/NavigationType.php
  12. 4
      core/Form/Site/NodeAttributeType.php
  13. 8
      core/Form/Site/NodeMoveType.php
  14. 8
      core/Form/Site/NodeParameterType.php
  15. 4
      core/Form/Site/NodeSitemapParametersType.php
  16. 23
      core/Form/Site/NodeType.php
  17. 8
      core/Form/Site/Page/PageType.php
  18. 19
      core/Form/UserType.php
  19. 123
      core/Resources/translations/messages.fr.yaml
  20. 58
      core/Resources/views/account/admin/edit.html.twig
  21. 2
      core/Resources/views/admin/layout.html.twig
  22. 4
      core/Resources/views/admin/module/account.html.twig
  23. 10
      core/Resources/views/admin/module/flashes.html.twig
  24. 22
      core/Resources/views/admin/module/menu.html.twig
  25. 14
      core/Resources/views/auth/2fa.html.twig
  26. 14
      core/Resources/views/auth/login.html.twig
  27. 16
      core/Resources/views/auth/resetting_request.html.twig
  28. 6
      core/Resources/views/auth/resetting_update.html.twig
  29. 4
      core/Resources/views/mail/account/resetting_request.html.twig
  30. 8
      core/Resources/views/site/navigation_admin/edit.html.twig
  31. 24
      core/Resources/views/site/navigation_admin/index.html.twig
  32. 4
      core/Resources/views/site/navigation_admin/new.html.twig
  33. 10
      core/Resources/views/site/navigation_admin/show.html.twig
  34. 38
      core/Resources/views/site/node_admin/_form.html.twig
  35. 8
      core/Resources/views/site/node_admin/edit.html.twig
  36. 8
      core/Resources/views/site/node_admin/move.html.twig
  37. 8
      core/Resources/views/site/node_admin/new.html.twig
  38. 6
      core/Resources/views/site/node_admin/urls.html.twig
  39. 6
      core/Resources/views/site/page_admin/_form.html.twig
  40. 4
      core/Resources/views/site/page_admin/edit.html.twig
  41. 8
      core/Resources/views/site/page_admin/index.html.twig
  42. 28
      core/Resources/views/site/tree_admin/navigation.html.twig
  43. 8
      core/Resources/views/user/user_admin/edit.html.twig
  44. 10
      core/Resources/views/user/user_admin/index.html.twig
  45. 6
      core/Resources/views/user/user_admin/new.html.twig
  46. 4
      core/Resources/views/user/user_admin/show.html.twig

4
config/packages/translation.yaml

@ -1,6 +1,8 @@
framework:
default_locale: en
default_locale: fr
translator:
default_path: '%kernel.project_dir%/translations'
paths:
- '%kernel.project_dir%/core/Resources/translations'
fallbacks:
- en

12
core/Controller/Account/AccountAdminController.php

@ -64,9 +64,9 @@ class AccountAdminController extends AdminController
$qrCodeContent = $totpAuthenticatorService->getQRContent($account);
if (!$totpAuthenticatorService->checkCode($account, $code)) {
$this->addFlash('error', 'Le code n\'est pas valide.');
$this->addFlash('error', 'The code is not valid.');
} else {
$this->addFlash('success', 'Double authentification activée.');
$this->addFlash('success', 'Double authentication enabled.');
$entityManager->update($account);
@ -80,7 +80,7 @@ class AccountAdminController extends AdminController
$entityManager->update($account);
$this->addFlash('success', 'Double authentification désactivée.');
$this->addFlash('success', 'Double authentication disabled.');
return $this->redirectToRoute('admin_account');
}
@ -110,7 +110,7 @@ class AccountAdminController extends AdminController
$password = $request->request->get('password');
if (!$encoder->isPasswordValid($account, $password)) {
$this->addFlash('error', 'Le formulaire n\'est pas valide.');
$this->addFlash('error', 'The form is not valid.');
return $this->redirectToRoute('admin_account');
}
@ -129,13 +129,13 @@ class AccountAdminController extends AdminController
$entityManager->update($account);
$this->addFlash('success', 'Mot de passe modifié !');
$this->addFlash('success', 'Password updated.');
return $this->redirectToRoute('admin_account');
}
}
$this->addFlash('error', 'Le formulaire n\'est pas valide.');
$this->addFlash('error', 'The form is not valid.');
return $this->redirectToRoute('admin_account');
}

10
core/Controller/Site/MenuAdminController.php

@ -29,9 +29,9 @@ class MenuAdminController extends AdminController
if ($form->isValid()) {
$entityManager->create($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
} else {
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->redirectToRoute('admin_site_tree_navigation', [
@ -49,9 +49,9 @@ class MenuAdminController extends AdminController
if ($form->isValid()) {
$entityManager->update($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
} else {
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->redirectToRoute('admin_site_tree_navigation', [
@ -67,7 +67,7 @@ class MenuAdminController extends AdminController
if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) {
$entityManager->delete($entity);
$this->addFlash('success', 'Données supprimée..');
$this->addFlash('success', 'The data has been removed.');
}
return $this->redirectToRoute('admin_site_tree_navigation', [

10
core/Controller/Site/NavigationAdminController.php

@ -42,13 +42,13 @@ class NavigationAdminController extends AdminController
if ($form->isValid()) {
$entityManager->create($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
return $this->redirectToRoute('admin_site_navigation_edit', [
'entity' => $entity->getId(),
]);
}
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->render('@Core/site/navigation_admin/new.html.twig', [
@ -69,14 +69,14 @@ class NavigationAdminController extends AdminController
if ($form->isValid()) {
$entityManager->update($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
return $this->redirectToRoute('admin_site_navigation_edit', [
'entity' => $entity->getId(),
]);
}
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->render('@Core/site/navigation_admin/edit.html.twig', [
@ -103,7 +103,7 @@ class NavigationAdminController extends AdminController
if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) {
$entityManager->delete($entity);
$this->addFlash('success', 'Données supprimée..');
$this->addFlash('success', 'The data has been removed.');
}
return $this->redirectToRoute('admin_site_navigation_index');

14
core/Controller/Site/NodeAdminController.php

@ -73,14 +73,14 @@ class NodeAdminController extends AdminController
$entityManager->update($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
return $this->redirectToRoute('admin_site_tree_navigation', [
'navigation' => $node->getMenu()->getNavigation()->getId(),
'data-modal' => $this->generateUrl('admin_site_node_edit', ['entity' => $entity->getId()]),
]);
}
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
return $this->redirectToRoute('admin_site_tree_navigation', [
'navigation' => $node->getMenu()->getNavigation()->getId(),
@ -125,9 +125,9 @@ class NodeAdminController extends AdminController
$entityManager->update($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
} else {
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->redirectToRoute('admin_site_tree_navigation', [
@ -194,9 +194,9 @@ class NodeAdminController extends AdminController
$entityManager->flush();
}
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
} else {
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->redirectToRoute('admin_site_tree_navigation', [
@ -220,7 +220,7 @@ class NodeAdminController extends AdminController
$entityManager->update($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
}
return $this->redirectToRoute('admin_site_tree_navigation', [

8
core/Controller/Site/PageAdminController.php

@ -43,7 +43,7 @@ class PageAdminController extends AdminController
$entityManager->create($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
return $this->redirectToRoute('admin_site_page_edit', [
'entity' => $entity->getId(),
@ -72,14 +72,14 @@ class PageAdminController extends AdminController
if ($form->isValid()) {
$entityManager->update($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
return $this->redirectToRoute('admin_site_page_edit', [
'entity' => $entity->getId(),
]);
}
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->render('@Core/site/page_admin/edit.html.twig', [
@ -96,7 +96,7 @@ class PageAdminController extends AdminController
if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) {
$entityManager->delete($entity);
$this->addFlash('success', 'Données supprimée..');
$this->addFlash('success', 'The data has been removed.');
}
return $this->redirectToRoute('admin_site_page_index');

2
core/Controller/Site/TreeAdminController.php

@ -23,7 +23,7 @@ class TreeAdminController extends AdminController
$navigation = $navigationQuery->create()->findOne();
if (null === $navigation) {
$this->addFlash('warning', 'Vous devez ajouter une navigation.');
$this->addFlash('warning', 'You must add a navigation.');
return $this->redirectToRoute('admin_site_navigation_new');
}

12
core/Controller/User/UserAdminController.php

@ -49,13 +49,13 @@ class UserAdminController extends AdminController
if ($form->isValid()) {
$entityManager->create($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
return $this->redirectToRoute('admin_user_edit', [
'entity' => $entity->getId(),
]);
}
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->render('@Core/user/user_admin/new.html.twig', [
@ -76,13 +76,13 @@ class UserAdminController extends AdminController
if ($form->isValid()) {
$entityManager->update($entity);
$this->addFlash('success', 'Donnée enregistrée.');
$this->addFlash('success', 'The data has been saved.');
return $this->redirectToRoute('admin_user_edit', [
'entity' => $entity->getId(),
]);
}
$this->addFlash('warning', 'Le formulaire est invalide.');
$this->addFlash('warning', 'The form is not valid.');
}
return $this->render('@Core/user/user_admin/edit.html.twig', [
@ -109,7 +109,7 @@ class UserAdminController extends AdminController
if ($this->isCsrfTokenValid('resetting_request'.$entity->getId(), $request->request->get('_token'))) {
$eventDispatcher->dispatch(new PasswordRequestEvent($entity), PasswordRequestEvent::EVENT);
$this->addFlash('success', 'Demande envoyée.');
$this->addFlash('success', 'E-mail sent.');
}
return $this->redirectToRoute('admin_user_edit', [
@ -125,7 +125,7 @@ class UserAdminController extends AdminController
if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) {
$entityManager->delete($entity);
$this->addFlash('success', 'Données supprimée..');
$this->addFlash('success', 'The data has been removed.');
}
return $this->redirectToRoute('admin_user_index');

3
core/EventSuscriber/Account/PasswordRequestEventSubscriber.php

@ -49,8 +49,7 @@ class PasswordRequestEventSubscriber implements EventSubscriberInterface
$this->entityManager->update($user);
$this->notifier
->setFrom('system@tinternet.net')
->setSubject('[Tinternet & cie] Mot de passe perdu')
->setSubject('Mot de passe perdu')
->addRecipient($user->getEmail())
->notify('@Core/mail/account/resetting_request.html.twig', [
'reseting_update_link' => $this->urlGenerator->generate(

2
core/Form/Site/MenuType.php

@ -17,7 +17,7 @@ class MenuType extends AbstractType
'label',
TextType::class,
[
'label' => 'Libellé',
'label' => 'Label',
'required' => true,
'attr' => [
],

4
core/Form/Site/NavigationType.php

@ -17,7 +17,7 @@ class NavigationType extends AbstractType
'label',
TextType::class,
[
'label' => 'Libellé',
'label' => 'Label',
'required' => true,
'attr' => [
],
@ -45,7 +45,7 @@ class NavigationType extends AbstractType
'domain',
TextType::class,
[
'label' => 'Nom de domaine',
'label' => 'Domain',
'required' => true,
'attr' => [
],

4
core/Form/Site/NodeAttributeType.php

@ -16,7 +16,7 @@ class NodeAttributeType extends AbstractType
'label',
TextType::class,
[
'label' => 'Libellé',
'label' => 'Label',
'required' => true,
'attr' => [
],
@ -30,7 +30,7 @@ class NodeAttributeType extends AbstractType
'value',
TextType::class,
[
'label' => 'Valeur',
'label' => 'Value',
'required' => false,
'attr' => [
],

8
core/Form/Site/NodeMoveType.php

@ -21,9 +21,9 @@ class NodeMoveType extends AbstractType
'label' => 'Position',
'required' => true,
'choices' => [
'Après' => 'after',
'Avant' => 'before',
'En dessous' => 'above',
'After' => 'after',
'Before' => 'before',
'Above' => 'above',
],
'attr' => [
],
@ -37,7 +37,7 @@ class NodeMoveType extends AbstractType
'node',
EntityType::class,
[
'label' => 'Élement de référence',
'label' => 'Element',
'class' => Node::class,
'choices' => call_user_func(function () use ($options) {
return $options['menu']->getRootNode()->getAllChildren();

8
core/Form/Site/NodeParameterType.php

@ -16,7 +16,7 @@ class NodeParameterType extends AbstractType
'name',
TextType::class,
[
'label' => 'Nom',
'label' => 'Name',
'required' => true,
'attr' => [
],
@ -30,7 +30,7 @@ class NodeParameterType extends AbstractType
'defaultValue',
TextType::class,
[
'label' => 'Valeur par défaut',
'label' => 'Default value',
'required' => false,
'attr' => [
],
@ -43,8 +43,8 @@ class NodeParameterType extends AbstractType
'requirement',
TextType::class,
[
'label' => 'Éxigence',
'help' => 'Expression régulière',
'label' => 'Requirement',
'help' => 'Regular expression',
'required' => false,
'attr' => [
],

4
core/Form/Site/NodeSitemapParametersType.php

@ -30,7 +30,7 @@ class NodeSitemapParametersType extends AbstractType
'priority',
ChoiceType::class,
[
'label' => 'Priorité',
'label' => 'Priority',
'required' => true,
'attr' => [
],
@ -53,7 +53,7 @@ class NodeSitemapParametersType extends AbstractType
'changeFrequency',
ChoiceType::class,
[
'label' => 'Fréquence de changement',
'label' => 'Frequency of change',
'required' => true,
'attr' => [
],

23
core/Form/Site/NodeType.php

@ -22,7 +22,7 @@ class NodeType extends AbstractType
'label',
TextType::class,
[
'label' => 'Libellé',
'label' => 'Label',
'required' => true,
'attr' => [
],
@ -38,7 +38,7 @@ class NodeType extends AbstractType
[
'label' => 'URL',
'required' => false,
'help' => 'Laisser vide pour une génération automatique',
'help' => 'Leave blank for automatic generation',
'attr' => [
],
'constraints' => [
@ -52,7 +52,6 @@ class NodeType extends AbstractType
[
'label' => 'Code',
'required' => false,
'help' => 'Sans espace, en minusule, sans caractère spécial',
'attr' => [
],
'constraints' => [
@ -64,9 +63,9 @@ class NodeType extends AbstractType
'controller',
TextType::class,
[
'label' => 'Contrôleur',
'label' => 'Controller',
'required' => false,
'help' => 'Laisser vide pour utiliser celui par défaut. Notation : App\\Controller\\FooController::barAction',
'help' => 'Leave blank to use the default one. Example: App\\Controller\\FooController::barAction',
'attr' => [
],
'constraints' => [
@ -75,13 +74,13 @@ class NodeType extends AbstractType
);
$actions = [
'Nouvelle page' => 'new',
'Associer à une page existante' => 'existing',
'Aucune page' => 'none',
'New page' => 'new',
'Use an existing page' => 'existing',
'No page' => 'none',
];
if ($builder->getData()->getId()) {
$actions['Garder la configuration actuelle'] = 'keep';
$actions['Keep the current configuration'] = 'keep';
}
$builder->add(
@ -181,9 +180,9 @@ class NodeType extends AbstractType
'required' => true,
'mapped' => false,
'choices' => [
'Après' => 'after',
'Avant' => 'before',
'En dessous' => 'above',
'After' => 'after',
'Before' => 'before',
'Above' => 'above',
],
'attr' => [
],

8
core/Form/Site/Page/PageType.php

@ -20,7 +20,7 @@ class PageType extends AbstractType
'name',
TextType::class,
[
'label' => 'Nom',
'label' => 'Name',
'required' => true,
'attr' => [
],
@ -34,7 +34,7 @@ class PageType extends AbstractType
'metaTitle',
TextType::class,
[
'label' => 'Titre',
'label' => 'Title',
'required' => false,
'attr' => [
],
@ -60,7 +60,7 @@ class PageType extends AbstractType
'ogTitle',
TextType::class,
[
'label' => 'Titre',
'label' => 'Title',
'required' => false,
'attr' => [
],
@ -100,7 +100,7 @@ class PageType extends AbstractType
'template',
ChoiceType::class,
[
'label' => 'Rendu',
'label' => 'Render',
'required' => true,
'choices' => call_user_func(function () use ($options) {
$choices = [];

19
core/Form/UserType.php

@ -33,20 +33,7 @@ class UserType extends AbstractType
'displayName',
TextType::class,
[
'label' => 'Nom complet',
'required' => true,
'attr' => [
],
'constraints' => [
],
]
);
$builder->add(
'displayName',
TextType::class,
[
'label' => 'Nom complet',
'label' => 'Display name',
'required' => true,
'attr' => [
],
@ -59,7 +46,7 @@ class UserType extends AbstractType
'isAdmin',
CheckboxType::class,
[
'label' => 'Administrateur⋅trice',
'label' => 'Administrator',
'required' => false,
'attr' => [
],
@ -72,7 +59,7 @@ class UserType extends AbstractType
'isWriter',
CheckboxType::class,
[
'label' => 'Rédacteur⋅trice',
'label' => 'Writer',
'required' => false,
'attr' => [
],

123
core/Resources/translations/messages.fr.yaml

@ -0,0 +1,123 @@
"The code is not valid.": "Le code n'est pas valide."
"Double authentication enabled.": "Double authentification activée."
"Double authentication disabled.": "Double authentification désactivée."
"The form is not valid.": "Le formulaire n'est pas valide."
"Password updated.": "Mot de passe modifié."
"Notice": "Information"
"Information": "Information"
"Success": "Succès"
"Warning": "Attention"
"Danger": "Danger"
"Error": "Erreur"
"The data has been saved.": "Les données ont été sauvegardées."
"The data has been removed.": "Les données ont été supprimées."
"You must add a navigation.": "Vous devez ajouter une navigation."
"E-mail sent.": "E-mail envoyé"
"name": "Nom"
"Title": "Titre"
"Description": "Description"
"Image": "Image"
"Render": "Rendu"
"Label": "Libellé"
"Code": "Code"
"Domain": "Nom de domaine"
"Value": "Valeur"
"Default value": "Valeur par défaut"
"Requirement": "Éxigence"
"Regular expression": "Expression régulière"
"Visible": "Visible"
"Priority": "Priorité"
"Frequency of change": "Fréquence de changement"
"Always": "Toujours"
"Hourly": "Toutes les heures"
"Daily": "Quotidienne"
"Weekly": "Hebdomadaire"
"Monthly": "Mensuelle"
"Yearly": "Annuelle"
"Never": "Jamais"
"URL": "URL"
"Controller": "Contrôleur"
"Leave blank for automatic generation": "Laisser vide pour une génération automatique"
"Leave blank to use the default one. Example: App\\Controller\\FooController::barAction": "Laisser vide pour utiliser celui par défaut. Exemple : App\\Controller\\FooController::barAction"
"New page": "Nouvelle page"
"Use an existing page": "Associer à une page existante"
"No page": "Aucune page"
"Keep the current configuration": "Garder la configuration actuelle"
"After": "Après"
"Before": "Avant"
"Above": "En dessous"
"Position": "Position"
"E-mail": "E-mail"
"Display name": "Nom d'affichage"
"Administrator": "Administrateur⋅trice"
"Writer": "Rédacteur⋅trice"
"Reference": "Élement de référence"
"My account": "Mon compte"
"Logout": "Déconnexion"
"Dashboard": "Tableau de bord"
"Navigations": "Navigations"
"Tree": "Arborescence"
"Pages": "Pages"
"Page": "Page"
"Administration": "Administration"
"Users": "Utilisateurs"
"Back to the list": "Retour à la liste"
"Edit": "Éditer"
"New password": "Nouveau mot de passe"
"New parameter": "Nouveau paramètre"
"New attribut": "Nouveau attribut"
"New menu": "Nouveau menu"
"New": "Nouveau menu"
"No action": "Aucune action"
"Route name: <code>%routeName%</code>": "Nom de la route : <code>%routeName%</code>"
"Content": "Contenu"
"Routing": "Routage"
"Attributs": "Attributs"
"Sitemap": "Sitemap"
"Cancel": "Annuler"
"Save": "Enregistrer"
"Back": "Retour"
'Moving "%label%"': "Déplacement de « %label% »"
'Edition of "%label%"': "Édition de « %label% »"
'Urls of "%label%"': "Urls de « %label% »"
"New element": "Nouvel élément"
"Show all node URLs": "Afficher toutes les URLs du nœud"
"Add a menu": "Ajouter un menu"
"Actions": "Actions"
"Remove": "Supprimer"
"Hidden": "Caché"
"Show": "Voir"
"No result": "Aucun résultat"
"Others": "Autres"
"OpenGraph": "OpenGraph"
"Meta datas": "Métas données"
"Username": "Nom d'utilisateur"
"Double authentication": "Double authentification"
"The indicator must display 5 green lines for the password to be accepted.": "L'indicateur doit afficher 5 traits verts pour que le mot de passe soit accepté."
"Current password": "Mot de passe actuel"
"Password confirmation": "Confirmation du mot de passe"
"Passwords must match.": "Les mots de passe doivent correspondre."
"If you enable two-factor authentication, you will not be able to log in without your phone.": "Si vous activez la double authentification, vous ne pourrez pas vous connecter sans votre téléphone."
"Confirmation code": "Code de confirmation"
"Generate and enter an authentication code:": "Générez et saisissez un code d'authentification :"
"Step %number%": "Étape %number%"
"Android app": "Application pour Android"
"IOS app": "Application pour IOS"
"Download your TOTP application:": "Télécharger votre application TOTP :"
"Scan this QRCode to register %siteName%:": "Scannez ce QRCode pour enregistrer %siteName% :"
"Your account is secured by double authentication.": "Votre compte est sécurisé par une double authentification."
"By activating two-factor authentication, you will have to enter a code generated from your phone in addition to your username and password.": "En activant la double authentification, vous devrez saisir un code généré depuis votre téléphone en plus de votre identifiant et votre mot de passe."
"Secured access": "Accès sécurisé"
"Login": "Connexion"
"Remember me": "Se souvenir de moi"
"This access is secured by double authentication. Take your phone and generate a verification code for this application.": "Cet accès est sécurisé par une double authentification. Munissez-vous de votre téléphone et générez un code de vérification pour cette application."
"Forgot your password": "Mot de passe perdu"
"Password": "Mot de passe"
"Username": "Nom d'utilisateur"
"Username or password is incorrect.": "L'identifiant ou le mot de passe est incorrect."
"Username or e-mail": "Identifiant ou e-mail"
"Submit": "Soumettre"
"If the information submitted corresponds to a user account, you will receive an e-mail with the link to initiate the password change procedure.": "Si les informations soumises correspondent à un compte utilisateur, vous allez recevoir un e-mail avec en lien pour enclancher la procédure de changement de mot de passe."
"Enter your account username or email address. An e-mail will be sent to you to initiate the password change procedure. ": "Saisissez le nom d'utilisateur ou l'adresse e-mail de votre compte. Un e-mail vous sera envoyé pour enclancher la procédure de changement de mot de passe."
"Show the login page": "Afficher la page de connexion"
"A password reset request has been made. If you are the source of this request, click on the link below or copy and paste the address if the link does not work.": "Une demande de réinitialisation de mot de passe a été réalisée. Si vous êtes à l'origine de cette demande, cliquer sur le lien ci-dessous ou copier et coller l'adresse si le lien ne fonctionne pas."

58
core/Resources/views/account/admin/edit.html.twig

@ -2,11 +2,11 @@
{% import _self as macros %}
{% block title %}Mon compte - {{ parent() }}{% endblock %}
{% block title %}{{ 'My account'|trans }} - {{ parent() }}{% endblock %}
{% block body %}
<div class="row">
<h1 class="h2 p-4 mr-auto">Mon compte</h1>
<h1 class="h2 p-4 mr-auto">{{ 'My account'|trans }}</h1>
</div>
<div class="row">
@ -15,17 +15,17 @@
<div class="tab-content">
<div class="tab-pane active">
<div class="tab-form">
<h4>Changer mon mot de passe</h4>
<h4>{{ 'New password'|trans }}</h4>
<hr>
<div class="alert alert-info">
L'indicateur doit afficher 5 traits verts pour que
le mot de passe soit accepté.<br>
{{ "The indicator must display 5 green lines for the password to be accepted."|trans }}
<br>
</div>
<div class="form-group">
<label for="form-password">Mot de passe actuel</label>
<label for="form-password">{{ 'Current password'|trans }}</label>
<div class="input-group">
<div class="input-group-prepend">
@ -39,7 +39,7 @@
</div>
<div class="form-group">
<label for="form-password">Nouveau mot de passe</label>
<label for="form-password">{{ 'New password'|trans }}</label>
<div class="input-group">
<div class="input-group-prepend">
@ -52,8 +52,9 @@
</div>
<div class="form-text text-muted">
<small> L'indicateur doit afficher 5 traits verts pour que
le mot de passe soit accepté.</small>
<small>
{{ 'The indicator must display 5 green lines for the password to be accepted.'|trans }}
</small>
</div>
</div>
@ -69,7 +70,9 @@
</div>
<div class="form-group">
<label for="form-password">Confirmation du mot de passe</label>
<label for="form-password">
{{ 'Password confirmation'|trans }}
</label>
<div class="input-group">
<div class="input-group-prepend">
@ -82,7 +85,7 @@
</div>
<div class="form-text text-muted">
<small>Les 2 mots de passe doivent correspondre.</small>
<small>{{ 'Passwords must match.'|trans }}</small>
</div>
</div>
@ -102,23 +105,18 @@
<div class="tab-content">
<div class="tab-pane active">
<div class="tab-form">
<h4>Double authentification</h4>
<h4>{{ 'Double authentication'|trans }}</h4>
<hr>
<p>
La double authentification ou vérification en deux étapes
est une méthode par laquelle un utilisateur peut accéder à un site web
après avoir présenté deux preuves d'identité distinctes.<br>
En activant la double authentification, vous devrez saisir un code généré depuis votre téléphone
en plus de votre identifiant et votre mot de passe.
{% trans %}En activant la double authentification, vous devrez saisir un code généré depuis votre téléphone en plus de votre identifiant et votre mot de passe.{% endtrans %}
</p>
{% if app.request.isMethod('GET') %}
{% if account.isTotpAuthenticationEnabled %}
<p class="text-success">
<strong>Votre compte est sécurisé par une double authentification.</strong>
<strong>{{ 'Your account is secured by double authentication.'|trans }}</strong>
</p>
<div class="form-group">
@ -132,26 +130,26 @@
</div>
{% endif %}
{% else %}
<h4>Étape 1</h4>
<h4>{{ 'Step %number%'|trans({'%number%': 1}) }}</h4>
<p>
Télécharger votre application TOTP :
{{ 'Download your TOTP application:'|trans }}
</p>
<ul>
<li>
<a href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp&amp;hl=fr" target="_blank">
Application pour Android :
{{ 'Android app'|trans }}
</a>
</li>
<li>
<a href="https://apps.apple.com/in/app/authy/id494168017" target="_blank">
Application pour IOS
{{ 'IOS app'|trans }}
</a>
</li>
</ul>
<h4>Étape 2</h4>
<h4>{{ 'Step %number%'|trans({'%number%': 2}) }}</h4>
{% set twoFaQrCodeContent = twoFaQrCodeContent|replace({
'%40': '@',
@ -159,7 +157,7 @@
}) ~ '&algorithm=SHA1&digits=6&period=30' %}
<p>
Scannez ce QRCode pour enregistrer Tinternet &amp; cie :
{{ 'Scan this QRCode to register %siteName%:'|trans({"%siteName%": site_name}) }}
<div id="qrcode"></div>
</p>
@ -172,14 +170,16 @@
);
</script>
<h4>Étape 3</h4>
<h4>{{ 'Step %number%'|trans({'%number%': 3}) }}</h4>
<p>
Générez et saisissez un code d'authentification :
{% trans %}Generate and enter an authentication code:{% endtrans %}
</p>
<div class="form-group">
<label for="form-password">Code de confirmation</label>
<label for="form-password">
{{ 'Confirmation code'|trans }}
</label>
<div class="input-group">
<div class="input-group-prepend">
@ -208,7 +208,7 @@
</div>
</div>
<div class="alert alert-warning">
Si vous activez la double authentification, vous ne pourrez pas vous connecter sans votre téléphone.
{% trans %}If you enable two-factor authentication, you will not be able to log in without your phone.{% endtrans %}
</div>
<div class="form-group">
<input type="hidden" name="enable" value="1">

2
core/Resources/views/admin/layout.html.twig

@ -15,7 +15,7 @@
<nav class="navbar fixed-top navbar-expand-md navbar-light bg-light border-bottom">
<a class="navbar-brand" href="{{ path('admin_dashboard_index') }}">
<img id="logo" src="{{ asset(site_logo) }}" alt="Tinternet &amp; cie" title="Tinternet &amp; cie">
<img id="logo" src="{{ asset(site_logo) }}" alt="{{ site_name }}" title="{{ site_name }}">
{{ site_name }}
</a>

4
core/Resources/views/admin/module/account.html.twig

@ -5,11 +5,11 @@
</button>
<div class="dropdown-menu dropdown-menu-right">
<a href="{{ path('admin_account') }}" class="dropdown-item">
Mon compte
{{ 'My account'|trans }}
</a>
<a href="{{ path('auth_logout') }}" class="dropdown-item">
Déconnexion
{{ 'Logout'|trans }}
</a>
</div>
</div>

10
core/Resources/views/admin/module/flashes.html.twig

@ -13,10 +13,10 @@
{% set titles = {
'notice': 'Information',
'info': 'Information',
'success': 'Succès',
'warning': 'Attention',
'success': 'Success',
'warning': 'Warning',
'danger': 'Danger',
'error': 'Erreur',
'error': 'Error',
} %}
{% set borders = {
@ -34,14 +34,14 @@
{% for message in messages %}
<div class="toast {{ borders[label] }}" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<strong class="mr-auto">{{ titles[label] }}</strong>
<strong class="mr-auto">{{ titles[label]|trans }}</strong>
<small>{{ 'now'|date('H:i') }}</small>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body text-{{ colors[label] }}">
{{ message|nl2br }}
{{ message|trans|nl2br }}
</div>
</div>
{% endfor %}

22
core/Resources/views/admin/module/menu.html.twig

@ -5,7 +5,9 @@
<a class="nav-link {{ macros_menu.active_class('dashboard', section) }}" href="{{ path('admin_dashboard_index') }}">
<span class="fa fa-chart-line"></span>
<span class="nav-item-label">Tableau de bord</span>
<span class="nav-item-label">
{{ 'Dashboard'|trans }}
</span>
</a>
</li>
</ul>
@ -20,7 +22,9 @@
<a class="nav-link {{ macros_menu.active_class('site_navigation', section) }}" href="{{ path('admin_site_navigation_index') }}">
<span class="fa fa-globe-europe"></span>
<span class="nav-item-label">Navigations</span>
<span class="nav-item-label">
{{ 'Navigations'|trans }}
</span>
</a>
</li>
@ -28,7 +32,9 @@
<a class="nav-link {{ macros_menu.active_class('site_tree', section) }}" href="{{ path('admin_site_tree_index') }}">
<span class="fa fa-sitemap"></span>
<span class="nav-item-label">Arborescence</span>
<span class="nav-item-label">
{{ 'Tree'|trans }}
</span>
</a>
</li>
@ -36,7 +42,9 @@
<a class="nav-link {{ macros_menu.active_class('site_page', section) }}" href="{{ path('admin_site_page_index') }}">
<span class="fa fa-file-alt"></span>
<span class="nav-item-label">Pages</span>
<span class="nav-item-label">
{{ 'Pages'|trans }}
</span>
</a>
</li>
</ul>
@ -46,7 +54,7 @@
{% if is_granted('ROLE_ADMIN') %}
<h6 class="sidebar-heading justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
<span>Administration</span>
<span>{{ 'Administration'|trans }}</span>
</h6>
<ul class="nav flex-column">
@ -54,7 +62,9 @@
<a class="nav-link {{ macros_menu.active_class('user', section) }}" href="{{ path('admin_user_index') }}">
<span class="fa fa-user"></span>
<span class="nav-item-label">Utilisateurs</span>
<span class="nav-item-label">
{{ 'Users'|trans }}
</span>
</a>
</li>
</ul>

14
core/Resources/views/auth/2fa.html.twig

@ -4,7 +4,7 @@
<head>
{{ include('@Core/admin/module/metas.html.twig') }}
<title>{% block title %}Tinternet &amp; cie{% endblock %}</title>
<title>{% block title %}{{ site_name }} {% endblock %}</title>
{% block css %}
{{ encore_entry_link_tags('admin') }}
@ -20,18 +20,16 @@
<span class="fa fa-lock"></span>
</span>
Accès sécurisé
{{ 'Secured access'|trans }}
</div>
<form method="post" action="{{ path("2fa_login_check") }}">
<p>
Cet accès est sécurisé par une double authentification.
Munissez-vous de votre téléphone et générez un code de vérification
pour cette application.
{% trans %}This access is secured by double authentication. Take your phone and generate a verification code for this application.{% endtrans %}
</p>
<div class="form-group">
<label for="form-password">Code de vérification</label>
<label for="form-password">{{ 'Code'|trans }}</label>
<div class="input-group">
<div class="input-group-prepend">
@ -60,14 +58,14 @@
{% endif %}
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Connexion">
<input type="submit" class="btn btn-primary" value="{{ 'Connexion'|trans }}">
</div>
</form>
</div>
</div>
<div class="col-md-6 bg-light d-flex">
<div class="flex-fill align-self-center text-center p-3">
<img class="login-image" src="{{ asset('build/images/logo.png') }}" alt="Tinternet &amp; cie" title="Tinternet &amp; cie">
<img class="login-image" src="{{ asset(site_logo) }}" alt="{{ site_name }}" title="{{ site_name }}">
</div>
</div>
</div>

14
core/Resources/views/auth/login.html.twig

@ -20,18 +20,18 @@
<span class="fa fa-lock"></span>
</span>
Accès sécurisé
{{ 'Secured access'|trans }}
</div>
{% if error %}
<div class="alert alert-danger">
L'identifiant ou le mot de passe est incorrect.
{{ 'Username or password is incorrect.'|trans }}
</div>
{% endif %}
<form method="post" action="{{ path("auth_login") }}">
<div class="form-group">
<label for="form-id">Identifiant</label>
<label for="form-id">{{ 'Username'|trans }}</label>
<div class="input-group">
<div class="input-group-prepend">
@ -45,7 +45,7 @@
</div>
<div class="form-group">
<label for="form-password">Mot de passe</label>
<label for="form-password">{{ 'Password'|trans }}</label>
<div class="input-group">
<div class="input-group-prepend">
@ -57,20 +57,20 @@
<input type="password" name="_password" class="form-control" id="form-password" required>
</div>
<p><a href="{{ path('auth_resetting_request') }}">Mot de passe perdu</a></p>
<p><a href="{{ path('auth_resetting_request') }}">{{ 'Forgot your password'|trans }}</a></p>
</div>
<div class="form-group">
<div class="form-check mb-2">
<input class="form-check-input" name="_remember_me" type="checkbox" id="form-remember">
<label class="form-check-label" for="form-remember">
Se souvenir de moi
{{ 'Remember me'|trans }}
</label>
</div>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Connexion">
<input type="submit" class="btn btn-primary" value="{{ 'Login'|trans }}">
</div>
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">

16
core/Resources/views/auth/resetting_request.html.twig

@ -20,25 +20,21 @@
<span class="fa fa-lock"></span>
</span>
Mot de passe perdu
{{ 'Forgot your password'|trans }}
</div>
{% if email_sent %}
<div class="alert alert-info">
Si les informations soumises correspondent à un compte utilisateur,
vous allez recevoir un e-mail avec en lien pour enclancher la
procédure de changement de mot de passe.<br>
{% trans %}If the information submitted corresponds to a user account, you will receive an e-mail with the link to initiate the password change procedure.{% endtrans %}<br>
</div>
{% else %}
<form method="post" action="{{ path("auth_resetting_request") }}">
<p>
Saisissez le nom d'utilisateur ou l'adresse e-mail
de votre compte. Un e-mail vous sera envoyé pour
enclancher la procédure de changement de mot de passe.
{% trans %}Enter your account username or email address. An e-mail will be sent to you to initiate the password change procedure.{% endtrans %}
</p>
<div class="form-group">
<label for="form-id">Identifiant ou e-mail</label>
<label for="form-id">{{ 'Username or e-mail'|trans }}</label>
<div class="input-group">
<div class="input-group-prepend">
@ -52,9 +48,9 @@
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Soumettre">
<input type="submit" class="btn btn-primary" value="{{ 'Submit'|trans }}">
&nbsp;
<a class="btn btn-light" href="{{ path('auth_login') }}">Afficher la page de connexion</a></p>
<a class="btn btn-light" href="{{ path('auth_login') }}">{{ 'Show the login page'|trans }}</a></p>
</div>
<input type="hidden" name="_csrf_token" value="{{ csrf_token('resetting_request') }}">

6
core/Resources/views/auth/resetting_update.html.twig

@ -20,7 +20,7 @@
<span class="fa fa-lock"></span>
</span>
Nouveau mot de passe
{{ 'New password'|trans }}
</div>
{% if expired %}
@ -46,7 +46,7 @@
</p>
<div class="form-group">
<label for="form-password">Nouveau mot de passe</label>
<label for="form-password">{{ 'New password'|trans }}</label>
<div class="input-group">
<div class="input-group-prepend">
@ -71,7 +71,7 @@
</div>
<div class="form-group">
<label for="form-password">Confirmation du mot de passe</label>
<label for="form-password">{{ 'Password confirmation'|trans }}</label>
<div class="input-group">
<div class="input-group-prepend">

4
core/Resources/views/mail/account/resetting_request.html.twig

@ -1,9 +1,7 @@
{% extends '@Core/mail/base.html.twig' %}
{% set message %}
Une demande de réinitialisation de mot de passe a été réalisée sur Tinternet &amp; cie.
Si vous êtes à l'origine de cette demande, cliquer sur le lien ci-dessous ou copier/coller l'adresse si le lien ne fonctionne pas.
{% trans %}A password reset request has been made. If you are the source of this request, click on the link below or copy and paste the address if the link does not work.{% endtrans %}
<a href="{{ reseting_update_link }}">{{ reseting_update_link }}</a>
{% endset %}

8
core/Resources/views/site/navigation_admin/edit.html.twig

@ -11,16 +11,16 @@
<div class="btn-group">
<a href="{{ path('admin_site_navigation_index') }}" class="btn btn-light">
<span class="fa fa-list pr-1"></span>
Retour à la liste
{{ 'Back to the list'|trans }}
</a>
<a href="{{ path('admin_site_navigation_show', {entity: entity.id}) }}" class="btn btn-secondary">
<span class="fa fa-eye pr-1"></span>
Voir
{{ 'Show'|trans }}
</a>
<button type="submit" form="form-main" class="btn btn-primary">
<span class="fa fa-save pr-1"></span>
Enregistrer
{{ 'Save'|trans }}
</button>
<button type="button" class="btn btn-white dropdown-toggle dropdown-toggle-hide-after" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
@ -30,7 +30,7 @@
</button>
<div class="dropdown-menu dropdown-menu-right">
<button type="submit" form="form-delete" class="dropdown-item">
Supprimer
{{ 'Remove'|trans }}
</button>
</div>
</div>

24
core/Resources/views/site/navigation_admin/index.html.twig

@ -4,14 +4,16 @@
<div class="bg-light pl-5 pr-4 pt-5 {% if pager.getPaginationData.pageCount < 2 %}pb-5{% endif %}">
<div class="d-flex">
<div class="mr-auto w-50">
<h1 class="display-5">Navigations</h1>
<h1 class="display-5">
{{ 'Navigations'|trans }}
</h1>
</div>
<div class="ml-auto">
<div class="btn-group">
<a href="{{ path('admin_site_navigation_new') }}" class="btn btn-primary">
<span class="fa fa-plus pr-1"></span>
Nouveau
{{ 'New'|trans }}
</a>
</div>
</div>
@ -23,9 +25,15 @@
<table class="table" data-table-fixed>
<thead class="thead-light">
<tr>
<th class="col-5">Libellé</th>
<th class="col-5">Domaine</th>
<th class="col-2 text-right">Actions</th>
<th class="col-5">
{{ 'Label'|trans }}
</th>
<th class="col-5">
{{ 'Domain'|trans }}
</th>
<th class="col-2 text-right">
{{ 'Actions'|trans }}
</th>
</tr>
</thead>
<tbody>
@ -34,14 +42,14 @@
{% set show = path('admin_site_navigation_show', {entity: item.id}) %}
<tr data-dblclick="{{ edit }}">
<td class="col-6">
<td class="col-5">
<a href="{{ show }}" class="font-weight-bold text-body d-block">
{{ item.label }}
</a>
{{ item.code }}
</td>
<td class="col-4">
<td class="col-5">
<a href="" class="btn btn-sm btn-light">
{{ item.domain }}
</a>
@ -67,7 +75,7 @@
<span class="fa fa-search"></span>
</div>
<div class="display-5 mt-3">
Aucun résultat
{{ 'No result'|trans }}
</div>
</td>
</tr>

4
core/Resources/views/site/navigation_admin/new.html.twig

@ -12,13 +12,13 @@
<a href="{{ path('admin_site_navigation_index') }}" class="btn btn-light">
<span class="fa fa-list pr-1"></span>
Retour à la liste
{{ 'Back to the list'|trans }}
</a>
<button type="submit" form="form-main" class="btn btn-primary">
<span class="fa fa-save pr-1"></span>
Enregistrer
{{ 'Save'|trans }}
</button>
</div>
</div>

10
core/Resources/views/site/navigation_admin/show.html.twig

@ -12,12 +12,12 @@
<a href="{{ path('admin_site_navigation_index') }}" class="btn btn-secondary">
<span class="fa fa-list pr-1"></span>
Retour à la liste
{{ 'Back to the list'|trans }}
</a>
<a href="{{ path('admin_site_navigation_edit', {entity: entity.id}) }}" class="btn btn-primary">
<span class="fa fa-edit pr-1"></span>
Éditer
{{ 'Edit'|trans }}
</a>
</div>
</div>
@ -28,17 +28,17 @@
<div class="col-12 p-3">
<ul class="list-group">
<li class="list-group-item">
<span class="font-weight-bold pb-2 d-block">Libellé</span>
<span class="font-weight-bold pb-2 d-block">{{ 'Label'|trans }}</span>
{{ entity.label }}
</li>
<li class="list-group-item">
<span class="font-weight-bold pb-2 d-block">Code</span>
<span class="font-weight-bold pb-2 d-block">{{ 'Code'|trans }}</span>
{{ entity.code }}
</li>
<li class="list-group-item">
<span class="font-weight-bold pb-2 d-block">Nom de domaine</span>
<span class="font-weight-bold pb-2 d-block">{{ 'Domain'|trans }}</span>
{{ entity.domain }}
</li>

38
core/Resources/views/site/node_admin/_form.html.twig

@ -1,15 +1,23 @@
<ul class="nav nav-pills" id="myTab" role="tablist">
<li class="nav-item" role="presentation">
<a class="nav-link {% if tab == 'content' %}active{% endif %}" data-toggle="tab" href="#form-node-edit-content">Contenu</a>
<a class="nav-link {% if tab == 'content' %}active{% endif %}" data-toggle="tab" href="#form-node-edit-content">
{{ 'Content'|trans }}
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link {% if tab == 'routing' %}active{% endif %}" data-toggle="tab" href="#form-node-edit-routing">Routage</a>
<a class="nav-link {% if tab == 'routing' %}active{% endif %}" data-toggle="tab" href="#form-node-edit-routing">
{{ 'Routing'|trans }}
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link {% if tab == 'attributes' %}active{% endif %}" data-toggle="tab" href="#form-node-edit-attributes">Attributs</a>
<a class="nav-link {% if tab == 'attributes' %}active{% endif %}" data-toggle="tab" href="#form-node-edit-attributes">
{{ 'Attributs'|trans }}
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link {% if tab == 'sitemap' %}active{% endif %}" data-toggle="tab" href="#form-node-edit-sitemap">Sitemap</a>
<a class="nav-link {% if tab == 'sitemap' %}active{% endif %}" data-toggle="tab" href="#form-node-edit-sitemap">
{{ 'Sitemap'|trans }}
</a>
</li>
</ul>
@ -32,7 +40,7 @@
for="{{ action.vars.id }}"
data-toggle="collapse"
data-target="#form-node-page-action-new">
{{ action.vars.label }}
{{ action.vars.label|trans }}
</label>
<div class="d-none">
@ -55,7 +63,7 @@
for="{{ action.vars.id }}"
data-toggle="collapse"
data-target="#form-node-page-action-existing">
{{ action.vars.label }}
{{ action.vars.label|trans }}
</label>
<div class="d-none">
@ -78,7 +86,7 @@
for="{{ action.vars.id }}"
data-toggle="collapse"
data-target="#form-node-page-action-none">
{{ action.vars.label }}
{{ action.vars.label|trans }}
</label>
<div class="d-none">
@ -104,7 +112,7 @@
for="{{ action.vars.id }}"
data-toggle="collapse"
data-target="#form-node-page-action-keep">
{{ action.vars.label }}
{{ action.vars.label|trans }}
</label>
<div class="d-none">
@ -114,7 +122,7 @@
</div>
<div id="form-node-page-action-keep" class="collapse show" data-parent="#node-page-action">
<div class="card-body">
Aucune action
{{ 'No action'|trans }}
</div>
</div>
</div>
@ -124,7 +132,7 @@
<div class="tab-pane {% if tab == 'routing' %}show active{% endif %}" id="form-node-edit-routing">
{% if entity.id %}
<div class="float-right">
<span data-modal="{{ path('admin_site_node_urls', {entity: entity.id}) }}" class="btn" title="Afficher toutes les URLs du nœud">
<span data-modal="{{ path('admin_site_node_urls', {entity: entity.id}) }}" class="btn" title="{{ 'Show all node URLs'|trans }}">
<span class="fa fa-list" data-modal="{{ path('admin_site_node_urls', {entity: entity.id}) }}"></span>
</span>
</div>
@ -133,7 +141,7 @@
{{ form_row(form.url) }}
<div class="pb-1">
Nom de la route : <code>{{ entity.routeName }}</code>
{{ 'Route name: <code>%routeName%</code>'|trans({'%routeName%': entity.routeName})|raw }}
</div>
{{ form_row(form.code) }}
@ -168,7 +176,7 @@
<div data-collection-add="collection-node-parameters" class="collection-add">
<span class="btn btn-primary" data-collection-add="collection-node-parameters">
<span class="fa fa-plus"></span>
Ajouter un paramètre
{{ 'New parameter'|trans }}
</span>
</div>
</div>
@ -201,7 +209,7 @@
<div data-collection-add="collection-node-attributes" class="collection-add">
<span class="btn btn-primary" data-collection-add="collection-node-attributes">
<span class="fa fa-plus"></span>
Ajouter un attribut
{{ 'New attribut'|trans }}
</span>
</div>
</div>
@ -214,7 +222,7 @@
<div class="card" data-collection-item="__name__">
<div class="card-header p-0">
<span class="btn btn-link btn-block text-left" data-toggle="collapse" data-target="#form-node-parameter-__name__">
Nouveau paramètre
{{ 'New parameter'|trans }}
</span>
</div>
<div class="collapse show" id="form-node-parameter-__name__" data-parent="#form-node-edit-parameters-collection">
@ -237,7 +245,7 @@
<div class="card" data-collection-item="__name__">
<div class="card-header p-0">
<span class="btn btn-link btn-block text-left" data-toggle="collapse" data-target="#form-node-attribute-__name__">
Nouveau attribut
{{ 'New attribut'|trans }}