backports murph-skeleton

This commit is contained in:
Simon Vieille 2021-03-24 17:09:13 +01:00
parent d4c0a2ed60
commit 4e8a9564fe
46 changed files with 376 additions and 240 deletions

View File

@ -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

View File

@ -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');
}

View File

@ -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', [

View File

@ -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');

View File

@ -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', [

View File

@ -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');

View File

@ -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');
}

View File

@ -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');

View File

@ -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(

View File

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

View File

@ -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' => [
],

View File

@ -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' => [
],

View File

@ -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();

View File

@ -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' => [
],

View File

@ -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' => [
],

View File

@ -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' => [
],

View File

@ -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 = [];

View File

@ -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' => [
],

View File

@ -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."

View File

@ -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">

View File

@ -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>

View File

@ -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>

View File

@ -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 %}

View File

@ -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>

View File

@ -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>

View File

@ -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') }}">

View File

@ -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') }}">

View File

@ -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">

View File

@ -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 %}

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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 }}
</span>
</div>
<div class="collapse show" id="form-node-attribute-__name__" data-parent="#form-node-edit-attributes-collection">

View File

@ -1,7 +1,9 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Édition de « {{ entity.label }} »</h5>
<h5 class="modal-title">
{{ 'Edition of "%label%"'|trans({'%label%': entity.label}) }}
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@ -12,8 +14,8 @@
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="submit" form="form-node-edit" class="btn btn-primary">Enregistrer</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ 'Cancel'|trans }}</button>
<button type="submit" form="form-node-edit" class="btn btn-primary">{{ 'Save'|trans }}</button>
</div>
</div>
</div>

View File

@ -1,7 +1,9 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Déplacement de « {{ entity.label }} »</h5>
<h5 class="modal-title">
{{ 'Moving "%label%"'|trans({'%label%': entity.label}) }}
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@ -12,8 +14,8 @@
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="submit" form="form-node-move" class="btn btn-primary">Enregistrer</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ 'Cancel'|trans }}</button>
<button type="submit" form="form-node-move" class="btn btn-primary">{{ 'Save'|trans }}</button>
</div>
</div>
</div>

View File

@ -1,7 +1,9 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Nouvel élément</h5>
<h5 class="modal-title">
{{ 'New element'|trans }}
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@ -12,8 +14,8 @@
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="submit" form="form-node-new" class="btn btn-primary">Enregistrer</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ 'Cancel'|trans }}</button>
<button type="submit" form="form-node-new" class="btn btn-primary">{{ 'Save'|trans }}</button>
</div>
</div>
</div>

View File

@ -1,7 +1,9 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">URLs de « {{ entity.label }} »</h5>
<h5 class="modal-title">
{{ 'Urls of "%label%"'|trans({'%label%': entity.label}) }}
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@ -16,7 +18,7 @@
</ul>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-modal="{{ path('admin_site_node_edit', {entity: entity.id, tab: 'routing'}) }}">Retour</button>
<button type="button" class="btn btn-primary" data-modal="{{ path('admin_site_node_edit', {entity: entity.id, tab: 'routing'}) }}">{{ 'Back'|trans }}</button>
</div>
</div>
</div>

View File

@ -26,13 +26,13 @@
<div class="col-4 p-3">
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#form-page-metas">Métas</a>
<a class="nav-link active" data-toggle="tab" href="#form-page-metas">{{ 'Meta datas'|trans }}</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#form-page-og">OpenGraph</a>
<a class="nav-link" data-toggle="tab" href="#form-page-og">{{ 'OpenGraph'|trans }}</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#form-page-others">Autres</a>
<a class="nav-link" data-toggle="tab" href="#form-page-others">{{ 'Others'|trans }}</a>
</li>
</ul>

View File

@ -11,7 +11,7 @@
<div class="btn-group">
<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">
@ -21,7 +21,7 @@
</button>
<div class="dropdown-menu dropdown-menu-right">
<button type="submit" form="form-delete" class="dropdown-item">
Supprimer
{{ 'Remove'|trans }}
</button>
</div>
</div>

View File

@ -4,7 +4,7 @@
<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">Pages</h1>
<h1 class="display-5">{{ 'Pages'|trans }}</h1>
</div>
</div>
@ -14,8 +14,8 @@
<table class="table" data-table-fixed>
<thead class="thead-light">
<tr>
<th class="col-10">Nom</th>
<th class="col-2 text-right">Actions</th>
<th class="col-10">{{ 'Name'|trans }}</th>
<th class="col-2 text-right">{{ 'Actions'|trans }}</th>
</tr>
</thead>
<tbody>
@ -59,7 +59,7 @@
<span class="fa fa-search"></span>
</div>
<div class="display-5 mt-3">
Aucun résultat
{{ 'No result'|trans }}
</div>
</td>
</tr>

View File

@ -22,7 +22,7 @@
<div class="btn-group">
<button class="btn btn-primary" data-toggle="modal" data-target="#modal-menu-new">
<span class="fa fa-plus pr-1"></span>
Ajouter un menu
{{ 'Add a menu'|trans }}
</button>
</div>
</div>
@ -46,14 +46,14 @@
</span>
<button type="button" class="btn btn-secondary dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Actions
{{ 'Actions'|trans }}
</button>
<div class="dropdown-menu dropdown-menu-right">
<button type="submit" class="dropdown-item" data-toggle="modal" data-target="#modal-menu-edit-{{ menu.id }}">
Modifier
{{ 'Edit'|trans }}
</button>
<button type="submit" form="form-menu-delete-{{ menu.id }}" class="dropdown-item">
Supprimer
{{ 'Remove'|trans }}
</button>
</div>
</div>
@ -76,22 +76,22 @@
{% if node.page %}
<a href="{{ path('admin_site_page_edit', {entity: node.page.id}) }}" class="btn btn-sm btn-warning text-white mr-1">
<span class="fa fa-file-alt"></span>
Page
{{ 'Page'|trans }}
</a>
{% endif %}
<button data-modal="{{ edit }}" type="submit" class="btn btn-sm btn-success mr-1">
<span data-modal="{{ edit }}" class="fa fa-pen"></span>
Éditer
{{ 'Edit'|trans }}
</button>
<button type="submit" form="form-node-visibility-{{ node.id }}" class="btn btn-sm btn-light border-dark mr-1">
{% if node.isVisible %}
<span class="fa fa-eye"></span>
Visible
{{ 'Visible'|trans }}
{% else %}
<span class="fa fa-eye-slash"></span>
Caché
{{ 'Hidden'|trans }}
{% endif %}
</button>
@ -159,7 +159,7 @@
<div class="display-5 mt-4">
<button class="btn btn-primary" data-toggle="modal" data-target="#modal-menu-new">
<span class="fa fa-plus pr-1"></span>
Ajouter un menu
{{ 'Add a menu'|trans }}
</button>
</div>
</div>
@ -170,7 +170,7 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Nouveau menu</h5>
<h5 class="modal-title">{{ 'New menu'|trans }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@ -181,8 +181,8 @@
</form>
</div>
<div class="modal-footer">
<button type="button" form="form-menu-new" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="submit" form="form-menu-new" class="btn btn-primary">Enregistrer</button>
<button type="button" form="form-menu-new" class="btn btn-secondary" data-dismiss="modal">{{ 'Cancel'|trans }}</button>
<button type="submit" form="form-menu-new" class="btn btn-primary">{{ 'Save'|trans }}</button>
</div>
</div>
</div>
@ -204,8 +204,8 @@
</form>
</div>
<div class="modal-footer">
<button type="button" form="form-menu-edit-{{ menuId }}" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="submit" form="form-menu-edit-{{ menuId }}" class="btn btn-primary">Enregistrer</button>
<button type="button" form="form-menu-edit-{{ menuId }}" class="btn btn-secondary" data-dismiss="modal">{{ 'Cancel'|trans }}</button>
<button type="submit" form="form-menu-edit-{{ menuId }}" class="btn btn-primary">{{ 'Save'|trans }}</button>
</div>
</div>
</div>

View File

@ -11,16 +11,16 @@
<div class="btn-group">
<a href="{{ path('admin_user_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_user_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">
@ -33,7 +33,7 @@
Envoyer un mail de récupération
</button>
<button type="submit" form="form-delete" class="dropdown-item">
Supprimer
{{ 'Remove'|trans }}
</button>
</div>
</div>

View File

@ -4,14 +4,14 @@
<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">Utilisateurs⋅trices</h1>
<h1 class="display-5">{{ 'Users'|trans }}</h1>
</div>
<div class="ml-auto">
<div class="btn-group">
<a href="{{ path('admin_user_new') }}" class="btn btn-primary">
<span class="fa fa-plus pr-1"></span>
Nouveau
{{ 'New'|trans }}
</a>
</div>
</div>
@ -23,8 +23,8 @@
<table class="table" data-table-fixed>
<thead class="thead-light">
<tr>
<th class="col-10">Utilisateurs</th>
<th class="col-2 text-right">Actions</th>
<th class="col-10">{{ 'Username'|trans }}</th>
<th class="col-2 text-right">{{ 'Actions'|trans }}</th>
</tr>
</thead>
<tbody>
@ -61,7 +61,7 @@
<span class="fa fa-search"></span>
</div>
<div class="display-5 mt-3">
Aucun résultat
{{ 'No result'|trans }}
</div>
</td>
</tr>

View File

@ -4,7 +4,7 @@
<div class="bg-light pl-5 pr-4 pt-5 pb-5">
<div class="d-flex">
<div class="mr-auto w-50">
<h1 class="display-5">Nouveau⋅elle utilisateur⋅tice</h1>
<h1 class="display-5">{{ 'New'|trans }}⋅elle utilisateur⋅tice</h1>
</div>
<div class="ml-auto">
@ -12,13 +12,13 @@
<a href="{{ path('admin_user_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>

View File

@ -12,12 +12,12 @@
<a href="{{ path('admin_user_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_user_edit', {entity: entity.id}) }}" class="btn btn-primary">
<span class="fa fa-edit pr-1"></span>
Éditer
{{ 'Edit'|trans }}
</a>
</div>
</div>