Merge branch 'trunk'

This commit is contained in:
Vincent BRIDIER 2024-06-18 18:40:11 +02:00
commit ba5f7ce80e
No known key found for this signature in database
GPG key ID: 8571BFA20420D512
36 changed files with 1701 additions and 930 deletions

View file

@ -50,7 +50,7 @@ class SecureHeaders
'frame-src ' . implode(' ', [
'https://www.google.com/recaptcha/',
'https://recaptcha.google.com/recaptcha/',
]),
]) . ';',
// "font-src 'self' data:;",
// ! Using CKEditor will must have unsafe-inline style
// phpcs:ignore Generic.Files.LineLength.TooLong

View file

@ -26,6 +26,8 @@
"require-dev": {
"facade/ignition": "^2.5",
"fakerphp/faker": "^1.9.1",
"laravel-lang/lang": "^10.9",
"laravel-lang/publisher": "12.2.1",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^5.10",

422
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "df9eb3c09f764c5e7c430c5b015224d6",
"content-hash": "d6927322e99a0f1d530d53690641962b",
"packages": [
{
"name": "asm89/stack-cors",
@ -7076,6 +7076,248 @@
],
"time": "2022-12-30T00:15:36+00:00"
},
{
"name": "dragon-code/contracts",
"version": "2.23.0",
"source": {
"type": "git",
"url": "https://github.com/TheDragonCode/contracts.git",
"reference": "44dbad923f152e0dc2699fbac2d33b65dd6a8f7d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/TheDragonCode/contracts/zipball/44dbad923f152e0dc2699fbac2d33b65dd6a8f7d",
"reference": "44dbad923f152e0dc2699fbac2d33b65dd6a8f7d",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
"psr/http-message": "^1.0.1 || ^2.0",
"symfony/http-kernel": "^4.0 || ^5.0 || ^6.0 || ^7.0",
"symfony/polyfill-php80": "^1.23"
},
"conflict": {
"andrey-helldar/contracts": "*"
},
"require-dev": {
"illuminate/database": "^10.0 || ^11.0",
"phpdocumentor/reflection-docblock": "^5.0"
},
"type": "library",
"autoload": {
"psr-4": {
"DragonCode\\Contracts\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andrey Helldar",
"email": "helldar@dragon-code.pro",
"homepage": "https://dragon-code.pro"
}
],
"description": "A set of contracts for any project",
"keywords": [
"contracts",
"interfaces"
],
"support": {
"source": "https://github.com/TheDragonCode/contracts"
},
"funding": [
{
"url": "https://boosty.to/dragon-code",
"type": "boosty"
},
{
"url": "https://www.donationalerts.com/r/dragon_code",
"type": "donationalerts"
},
{
"url": "https://yoomoney.ru/to/410012608840929",
"type": "yoomoney"
}
],
"time": "2024-03-11T20:15:12+00:00"
},
{
"name": "dragon-code/pretty-array",
"version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/TheDragonCode/pretty-array.git",
"reference": "bc6629eb266e7869d540dd1fcf13e8c7e1c61e82"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/TheDragonCode/pretty-array/zipball/bc6629eb266e7869d540dd1fcf13e8c7e1c61e82",
"reference": "bc6629eb266e7869d540dd1fcf13e8c7e1c61e82",
"shasum": ""
},
"require": {
"dragon-code/contracts": "^2.6",
"dragon-code/support": "^5.0",
"ext-dom": "*",
"ext-mbstring": "*",
"php": "^7.3|^8.0"
},
"conflict": {
"andrey-helldar/pretty-array": "*"
},
"require-dev": {
"phpunit/phpunit": "^9.0"
},
"suggest": {
"symfony/thanks": "Give thanks (in the form of a GitHub) to your fellow PHP package maintainers"
},
"type": "library",
"autoload": {
"psr-4": {
"DragonCode\\PrettyArray\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andrey Helldar",
"email": "helldar@ai-rus.com"
}
],
"description": "Simple conversion of an array to a pretty view",
"keywords": [
"andrey helldar",
"array",
"dragon",
"dragon code",
"pretty",
"pretty array"
],
"support": {
"issues": "https://github.com/TheDragonCode/pretty-array/issues",
"source": "https://github.com/TheDragonCode/pretty-array"
},
"funding": [
{
"url": "https://paypal.me/helldar",
"type": "custom"
},
{
"url": "https://yoomoney.ru/to/410012608840929",
"type": "custom"
},
{
"url": "https://opencollective.com/dragon-code",
"type": "open_collective"
},
{
"url": "https://www.patreon.com/andrey_helldar",
"type": "patreon"
}
],
"time": "2021-11-16T17:50:22+00:00"
},
{
"name": "dragon-code/support",
"version": "v5.8.1",
"source": {
"type": "git",
"url": "https://github.com/TheDragonCode/support.git",
"reference": "27af9d8f9ebb0c672ed76d516f524d8d58346cab"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/TheDragonCode/support/zipball/27af9d8f9ebb0c672ed76d516f524d8d58346cab",
"reference": "27af9d8f9ebb0c672ed76d516f524d8d58346cab",
"shasum": ""
},
"require": {
"dragon-code/contracts": "^2.15",
"ext-ctype": "*",
"ext-dom": "*",
"ext-json": "*",
"ext-mbstring": "*",
"php": "^7.2.5 || ^8.0",
"psr/http-message": "^1.0.1",
"symfony/deprecation-contracts": "^2.5 || ^3.0",
"voku/portable-ascii": "^1.4.8|^2.0"
},
"conflict": {
"andrey-helldar/support": "*"
},
"require-dev": {
"ext-bcmath": "*",
"phpunit/phpunit": "^8.0 || ^9.0",
"symfony/var-dumper": "^5.2 || ^6.0"
},
"suggest": {
"dragon-code/laravel-support": "Various helper files for the Laravel and Lumen frameworks",
"ext-bcmath": "Require the extension if you will be using DragonCode\\Support\\Facades\\Helpers\\Digit.",
"symfony/thanks": "Give thanks (in the form of a GitHub) to your fellow PHP package maintainers"
},
"type": "library",
"autoload": {
"psr-4": {
"DragonCode\\Support\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andrey Helldar",
"email": "helldar@ai-rus.com"
}
],
"description": "Support package is a collection of helpers and tools for any project.",
"keywords": [
"dragon",
"dragon-code",
"framework",
"helper",
"helpers",
"laravel",
"support",
"symfony",
"yii",
"yii2"
],
"support": {
"issues": "https://github.com/TheDragonCode/support/issues",
"source": "https://github.com/TheDragonCode/support"
},
"funding": [
{
"url": "https://paypal.me/helldar",
"type": "custom"
},
{
"url": "https://yoomoney.ru/to/410012608840929",
"type": "custom"
},
{
"url": "https://github.com/TheDragonCode",
"type": "github"
},
{
"url": "https://opencollective.com/dragon-code",
"type": "open_collective"
},
{
"url": "https://www.patreon.com/andrey_helldar",
"type": "patreon"
}
],
"time": "2022-04-01T17:14:16+00:00"
},
{
"name": "facade/flare-client-php",
"version": "1.10.0",
@ -7461,6 +7703,184 @@
},
"time": "2020-07-09T08:09:16+00:00"
},
{
"name": "laravel-lang/lang",
"version": "10.9.5",
"source": {
"type": "git",
"url": "https://github.com/Laravel-Lang/lang.git",
"reference": "e341421d40f2cd28feca24ab2cb84fa5cb5ddaf6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Laravel-Lang/lang/zipball/e341421d40f2cd28feca24ab2cb84fa5cb5ddaf6",
"reference": "e341421d40f2cd28feca24ab2cb84fa5cb5ddaf6",
"shasum": ""
},
"require": {
"ext-json": "*"
},
"conflict": {
"laravel-lang/publisher": "<12.0 >=14.0"
},
"require-dev": {
"dragon-code/pretty-array": "^4.0",
"dragon-code/simple-dto": "^2.3",
"dragon-code/support": "^6.1",
"ext-zip": "*",
"guzzlehttp/guzzle": "^7.3",
"laravel-lang/publisher": "^13.0",
"laravel/breeze": "^1.2",
"laravel/fortify": "^1.7",
"laravel/jetstream": "^2.3",
"laravel/ui": "^3.4",
"orchestra/testbench": "^7.0",
"php": "^8.1",
"phpunit/phpunit": "^9.5",
"symfony/finder": "^6.0",
"symfony/var-dumper": "^6.0",
"vlucas/phpdotenv": "^5.4.1"
},
"suggest": {
"arcanedev/laravel-lang": "Translations manager and checker for Laravel 5",
"laravel-lang/publisher": "Easy installation and update of translation files for your project",
"overtrue/laravel-lang": "Command to add languages in your project"
},
"type": "library",
"autoload": {
"psr-4": {
"LaravelLang\\Lang\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Laravel-Lang Team",
"homepage": "https://github.com/Laravel-Lang"
}
],
"description": "Languages for Laravel",
"keywords": [
"lang",
"languages",
"laravel",
"lpm"
],
"support": {
"issues": "https://github.com/Laravel-Lang/lang/issues",
"source": "https://github.com/Laravel-Lang/lang"
},
"funding": [
{
"url": "https://opencollective.com/laravel-lang",
"type": "open_collective"
}
],
"time": "2022-06-27T01:57:27+00:00"
},
{
"name": "laravel-lang/publisher",
"version": "v12.2.1",
"source": {
"type": "git",
"url": "https://github.com/Laravel-Lang/publisher.git",
"reference": "200a9aca41529ce33d3385e7ffd3e60aaaf808de"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Laravel-Lang/publisher/zipball/200a9aca41529ce33d3385e7ffd3e60aaaf808de",
"reference": "200a9aca41529ce33d3385e7ffd3e60aaaf808de",
"shasum": ""
},
"require": {
"dragon-code/contracts": "^2.15",
"dragon-code/pretty-array": "^3.0",
"dragon-code/support": "^5.6",
"ext-json": "*",
"illuminate/console": "^7.0 || ^8.0 || ^9.0",
"illuminate/contracts": "^7.0 || ^8.0 || ^9.0",
"illuminate/support": "^7.0 || ^8.0 || ^9.0",
"php": "^7.3 || ^8.0"
},
"conflict": {
"andrey-helldar/laravel-lang-publisher": "*",
"dragon-code/contracts": "<2.0.0",
"dragon-code/pretty-array": "<3.0.0",
"dragon-code/support": "<5.0.0",
"laravel-lang/lang": "<10.2.0"
},
"require-dev": {
"laravel-lang/http-statuses": "^2.0",
"laravel-lang/lang": "^10.2",
"orchestra/testbench": "^5.0 || ^6.0 || ^7.0",
"phpunit/phpunit": "^9.4",
"symfony/var-dumper": "^5.0 || ^6.0"
},
"suggest": {
"laravel-lang/http-statuses": "List of 78 languages for HTTP statuses",
"laravel-lang/lang": "List of 78 languages for Laravel Framework, Jetstream, Fortify, Breeze, Cashier, Nova, Spark and UI."
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"LaravelLang\\Publisher\\ServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"LaravelLang\\Publisher\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andrey Helldar",
"email": "helldar@ai-rus.com"
}
],
"description": "Publisher lang files for the Laravel and Lumen Frameworks, Jetstream, Fortify, Cashier, Spark and Nova from Laravel-Lang/lang",
"keywords": [
"breeze",
"cashier",
"fortify",
"framework",
"i18n",
"jetstream",
"lang",
"languages",
"laravel",
"locale",
"locales",
"localization",
"lpm",
"lumen",
"nova",
"publisher",
"spark",
"trans",
"translations",
"validations"
],
"support": {
"issues": "https://github.com/Laravel-Lang/publisher/issues",
"source": "https://github.com/Laravel-Lang/publisher"
},
"funding": [
{
"url": "https://opencollective.com/laravel-lang",
"type": "open_collective"
}
],
"time": "2022-03-06T12:54:14+00:00"
},
{
"name": "laravel/sail",
"version": "v1.19.0",

8
package-lock.json generated
View file

@ -6,7 +6,7 @@
"": {
"name": "srcs",
"devDependencies": {
"@ldc-web/cookie-notice": "^4.1.1",
"@ldc-web/cookie-notice": "^6.0.1",
"animate.css": "^4.1.1",
"axios": "^1.6.5",
"bootstrap": "^5.1.3",
@ -1929,9 +1929,9 @@
}
},
"node_modules/@ldc-web/cookie-notice": {
"version": "4.1.1",
"resolved": "https://lab.s-web.fr/api/v4/projects/50/packages/npm/@ldc-web/cookie-notice/-/@ldc-web/cookie-notice-4.1.1.tgz",
"integrity": "sha1-LGhW/fsWJ0RforZqjUPvudhLWgk=",
"version": "6.0.1",
"resolved": "https://lab.s-web.fr/api/v4/projects/50/packages/npm/@ldc-web/cookie-notice/-/@ldc-web/cookie-notice-6.0.1.tgz",
"integrity": "sha1-cpqBtzjutcgrzXCcyoAVsv9oBpo=",
"dev": true
},
"node_modules/@leichtgewicht/ip-codec": {

View file

@ -11,7 +11,7 @@
"production": "mix --production"
},
"devDependencies": {
"@ldc-web/cookie-notice": "^4.1.1",
"@ldc-web/cookie-notice": "^6.0.1",
"animate.css": "^4.1.1",
"axios": "^1.6.5",
"bootstrap": "^5.1.3",

View file

@ -0,0 +1,27 @@
document.addEventListener("DOMContentLoaded", function () {
function handle(e) {
e.preventDefault();
const cookieEl = e.target.parentElement;
if (!window.WebCookieNotice) {
console.debug("Missing WebCookieNotice on window");
return;
}
window.WebCookieNotice.acceptCookie(
String(cookieEl.dataset.cookieName)
);
cookieEl.classList.add("d-none");
}
window.listenInlineCnButtons = () => {
const cookieInlineActivation =
document.getElementsByClassName("cn-cookie-activate");
[...cookieInlineActivation].forEach((cookieEl) => {
const cookieBtnActivation = cookieEl.querySelector("button");
if (!cookieBtnActivation) {
throw new Error("Invalid template cookie button");
}
cookieBtnActivation.removeEventListener("click", handle);
cookieBtnActivation.addEventListener("click", handle);
});
};
window.listenInlineCnButtons();
});

View file

@ -6,3 +6,4 @@ import { Carrousel } from "./caroussel.js";
window.Carrousel = Carrousel;
require("./custom");
require("./cn-inline-buttons");

View file

@ -1,103 +1,177 @@
{
"Marque": "Brand",
"Produits": "Products",
"Actualités": "News",
"Accueil": "Home",
"Qui sommes-nous": "About us",
"Les produits": "products",
"Doux": "Doux",
"Résultats": "Results",
"Découvrez DOUX, des produits de volailles françaises.": "Discover DOUX, French poultry products.",
"Notre Histoire": "",
"Nous contacter": "",
"Adresse": "",
"Votre message a bien été envoyé !": "",
"Nos services mettent tout en oeuvre pour y répondre au plus vite.": "",
"Oups ! Une erreur s’est produite...": "",
"Votre message n’a pas pu être envoyé.<br>Nous en sommes désolés et vous prions<br>de bien vouloir réessayer plus tard.": "",
"Vos coordonnées": "",
"Monsieur": "",
"Madame": "",
"Nom": "",
"Prénom": "",
"Code postal": "",
"Ville": "",
"Téléphone": "",
"Email": "",
"Préciser votre demande": "",
"Réclamation produit": "",
"La marque": "",
"Contact commercial": "",
"Autre demande": "",
"Nom du produit": "",
"Code barre": "",
"Lieu d'achat": "",
"Numéro de lot": "",
"Date Limite de Consommation": "",
"Date de consommation": "",
"Message": "",
"Photo de l'emballage": "",
"Insérer une pièce jointe": "",
"Food service": "",
"En savoir plus": "",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleur qualité": "We are always working to improve our recipes and offer better quality products",
"Découvrir": "Discover",
"Nos gammes produits": "Our product lines",
"Toutes nos gammes": "All our product lines",
"Des produits incontournables, Authentiques et Innovants !": "Must-have, Authentic and Innovative products!",
"Gammes": "",
"Poulet, Cordon bleu ou Wing's ?": "",
"Découvrez tous nos produits à base de volaille.": "",
"<span>les +<\/span><span>Produit<\/span>": "<span>Product<\/span><span>benefits<\/span>",
"Cuisiner en famille": "",
"Poulet rôti": "",
"Grignottes de poulet": "",
"Cuisine de chef": "",
"Suggestion de poulet frit": "",
"Mentions légales": "",
"Charte de confidentialité": "",
"Plan du site": "",
"Contact": "",
"Gestion des cookies": "",
"Recherchez un produit": "",
"Une question ? Une idée ? Un conseil ?<br>Des informations sur nos produits ?": "",
"N’hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.": "N’hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.",
"Doux, La référence française de la volaille": "",
"Sélectionnez un pays": "",
"Sélectionnez un département": "",
"Doux Food Services": "",
"Tous les produits Doux": "",
"Les actualités Doux": "",
"Nos conseils ...": "Advice ...",
"Nous Rejoindre": "Join us",
"<span class=\"color-red\">les questions<\/span><br><span class=\"color-blue\">utiles<\/span>": "<span class=\"color-red\">Usefull<\/span><br><span class=\"color-blue\">questions<\/span>",
"Nos nouveautés": "",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleure qualité": "",
"cookie-notice.button_customize_cookies": "Customize cookies",
"cookie-notice.button_close_cookies": "Close cookie window",
"cookie-notice.button_forbid": "Prohibit",
"cookie-notice.button_allow": "Allow",
"cookie-notice.button_forbid_all": "Reject all",
"cookie-notice.button_allow_all": "Accept all",
"cookie-notice.button_forbid_all_title": "Refuse all cookies and close the cookies panel",
"cookie-notice.button_allow_all_title": "Accept all cookies and close the cookies panel",
"cookie-notice.button_customize": "Customize",
"cookie-notice.button_back": "Back",
"cookie-notice.button_title_open_new_tab": "Open link in new tab",
"cookie-notice.banner_title": "The :site_name website uses cookies!",
"<span>les +<\/span><span>Produit<\/span>": "<span>Product<\/span><span>benefits<\/span>",
"A fresh verification link has been sent to your email address.": "A fresh verification link has been sent to your email address.",
"Acceptez ce cookie pour utiliser les formulaires": "Accept this cookie to use the forms",
"Accueil": "Home",
"Actualités": "News",
"Adresse": "Address",
"All rights reserved.": "All rights reserved.",
"Authorize": "",
"Autre demande": "Other request",
"Before proceeding, please check your email for a verification link.": "Before proceeding, please check your email for a verification link.",
"Champ obligatoire": "Required Field",
"Charte de confidentialité": "Privacy Policy",
"click here to request another": "click here to request another",
"Code barre": "Barcode",
"Code postal": "Postal code",
"Confirm Password": "Confirm Password",
"Contact": "Contact",
"Contact commercial": "Commercial contact",
"cookie-notice.banner_text": "We use cookies to ensure the proper functioning of our site and for analytical purposes.\r You can change your mind at any time by clicking on the icon on any page of our site.\r By authorizing these third-party services, you agree to the deposit and reading of cookies and the use of tracking technologies necessary for their proper operation.",
"cookie-notice.modal_title": "Cookie management window",
"cookie-notice.panel_title": "Cookie management panel",
"cookie-notice.panel_content": "Cookie management panel content",
"cookie-notice.panel_subtitle": "Your privacy is our priority",
"cookie-notice.panel_details": "The functionalities of this site are based on services provided by third parties. If you accept, these third parties will deposit cookies that will enable you to view content on the site hosted by these third parties. Through these cookies, these third parties will collect and use your browsing data for their own purposes, in accordance with their privacy policy (link below). This page allows you to give or withdraw your consent, either globally or service by service.",
"cookie-notice.picture_cookie_title": "Image of a nice big cookie",
"cookie-notice.navigation_title": "Cookies panel navigation",
"cookie-notice.custom.matomo.title": "Matomo",
"cookie-notice.banner_title": "The :site_name website uses cookies!",
"cookie-notice.button_allow": "Allow",
"cookie-notice.button_allow_all": "Accept all",
"cookie-notice.button_allow_all_title": "Accept all cookies and close the cookies panel",
"cookie-notice.button_back": "Back",
"cookie-notice.button_close_cookies": "Close cookie window",
"cookie-notice.button_customize": "Customize",
"cookie-notice.button_customize_cookies": "Customize cookies",
"cookie-notice.button_forbid": "Prohibit",
"cookie-notice.button_forbid_all": "Reject all",
"cookie-notice.button_forbid_all_title": "Refuse all cookies and close the cookies panel",
"cookie-notice.button_title_open_new_tab": "Open link in new tab",
"cookie-notice.custom.matomo.description": "Audience measurement services are used to generate traffic statistics, which are useful for improving the site.",
"cookie-notice.custom.matomo.labelLink": "Learn more",
"cookie-notice.custom.recaptcha.title": "reCAPTACHA",
"cookie-notice.custom.matomo.title": "Matomo",
"cookie-notice.custom.recaptcha.description": "The purpose of the cookies placed on forms via the recaptcha is to prevent them from being submitted by robots.",
"cookie-notice.custom.recaptcha.labelLink": "Learn more",
"cookie-notice.custom.recaptcha.warning": "You must accept cookies to send the form"
}
"cookie-notice.custom.recaptcha.title": "reCAPTACHA",
"cookie-notice.custom.recaptcha.warning": "You must accept cookies to send the form",
"cookie-notice.modal_title": "Cookie management window",
"cookie-notice.navigation_title": "Cookies panel navigation",
"cookie-notice.panel_content": "Cookie management panel content",
"cookie-notice.panel_details": "The functionalities of this site are based on services provided by third parties. If you accept, these third parties will deposit cookies that will enable you to view content on the site hosted by these third parties. Through these cookies, these third parties will collect and use your browsing data for their own purposes, in accordance with their privacy policy (link below). This page allows you to give or withdraw your consent, either globally or service by service.",
"cookie-notice.panel_subtitle": "Your privacy is our priority",
"cookie-notice.panel_title": "Cookie management panel",
"cookie-notice.picture_cookie_title": "Image of a nice big cookie",
"Cuisine de chef": "Chef's cooking",
"Cuisiner en famille": "Cooking as a family",
"Dashboard": "Dashboard",
"Date de consommation": "Consumption date",
"Date Limite de Consommation": "Expiration date",
"Des produits incontournables, Authentiques et Innovants !": "Must-have, Authentic and Innovative products!",
"Doux": "Doux",
"Doux Food Services": "Doux Food Services",
"Doux, La référence française de la volaille": "Doux, The French reference for poultry",
"Découvrez DOUX, des produits de volailles françaises.": "Discover DOUX, French poultry products.",
"Découvrez tous nos produits à base de volaille.": "Discover all our poultry products.",
"Découvrir": "Discover",
"E-Mail Address": "E-Mail Address",
"Email": "Email",
"Email Address": "Email Address",
"En savoir +": "Learn more",
"En savoir plus": "Learn more",
"Envoyer": "Send",
"Food service": "",
"Forbidden": "Forbidden",
"Forgot Your Password?": "Forgot Your Password?",
"Gammes": "Ranges",
"Gestion des cookies": "Customize cookies",
"Go Home": "Go Home",
"Go to page :page": "Go to page :page",
"Grignottes de poulet": "Chicken Nibbles",
"Guadeloupe": "Guadeloupe",
"Guyane": "Guyana",
"Hello!": "Hello!",
"If you did not create an account, no further action is required.": "If you did not create an account, no further action is required.",
"If you did not receive the email": "If you did not receive the email",
"If you did not request a password reset, no further action is required.": "If you did not request a password reset, no further action is required.",
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:",
"Insérer une pièce jointe": "Insert an attachment",
"L'actualité de la marque Doux": "News from the Doux brand",
"La marque": "The brand",
"La Réunion": "Réunion",
"Les actualités Doux": "Doux news",
"Les produits": "products",
"Lieu d'achat": "Place of purchase",
"Login": "Login",
"Logout": "Logout",
"Madame": "Mrs.",
"Marque": "Brand",
"Martinique": "Martinique",
"Mayotte": "Mayotte",
"Mentions légales": "Legal Notice",
"Message": "Message",
"Monsieur": "Sir",
"Name": "Name",
"Nom": "Last name",
"Nom du produit": "Product Name",
"Nos conseils ...": "Advices ...",
"Nos gammes produits": "Our product lines",
"Nos nouveautés": "Our novelties",
"Nos services mettent tout en oeuvre pour y répondre au plus vite.": "Our services do everything they can to respond as quickly as possible.",
"Not Found": "Not Found",
"Notre Histoire": "Our history",
"Nous contacter": "Contact us",
"Nous Rejoindre": "Join us",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleur qualité": "We are always working to improve our recipes and offer better quality products",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleure qualité": "We are always working to improve our recipes and offer better quality products.",
"Nouvelle-Calédonie": "New Caledonia",
"Numéro de lot": "Batch number",
"N’hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.": "Do not hesitate to contact us by completing the form below.<br>We will process your request with the greatest attention as soon as possible.",
"of": "of",
"Oh no": "Oh no",
"Oups ! Une erreur s’est produite...": "Oops ! An error has occurred...",
"Page Expired": "Page Expired",
"Pagination Navigation": "Pagination Navigation",
"Password": "Password",
"Photo de l'emballage": "Photo of the packaging",
"Photo de l’emballage": "Photo of the packaging",
"Plan du site": "Sitemap",
"Please click the button below to verify your email address.": "Please click the button below to verify your email address.",
"Please confirm your password before continuing.": "Please confirm your password before continuing.",
"Polynésie française": "French Polynesia",
"Poulet rôti": "Roast chicken",
"Poulet, Cordon bleu ou Wing's ?": "Chicken, Cordon bleu or Wing's?",
"Produits": "Products",
"Préciser votre demande": "Specify your request",
"Prénom": "First name",
"Qui sommes-nous": "About us",
"Recherchez un produit": "Search for a product",
"Regards": "Regards",
"Register": "Register",
"Remember Me": "Remember Me",
"Reset Password": "Reset Password",
"Reset Password Notification": "Reset Password Notification",
"results": "results",
"Réclamation produit": "Product complaint",
"Résultats": "Results",
"Saint-Barthélémy": "Saint-Barthélémy",
"Saint-Martin": "Saint-Martin",
"Saint-Pierre-et-Miquelon": "Saint-Pierre and Miquelon",
"Send Password Reset Link": "Send Password Reset Link",
"Server Error": "Server Error",
"Service Unavailable": "Service Unavailable",
"Showing": "Showing",
"Suggestion de poulet frit": "Fried chicken suggestion",
"Sélectionnez un département": "Select a department",
"Sélectionnez un pays": "Select a country",
"Terres australes et antarctiques françaises": "French Southern and Antarctic Lands",
"The :attribute must contain at least one letter.": "The :attribute must contain at least one letter.",
"The :attribute must contain at least one number.": "The :attribute must contain at least one number.",
"The :attribute must contain at least one symbol.": "The :attribute must contain at least one symbol.",
"The :attribute must contain at least one uppercase and one lowercase letter.": "The :attribute must contain at least one uppercase and one lowercase letter.",
"The given :attribute has appeared in a data leak. Please choose a different :attribute.": "The given :attribute has appeared in a data leak. Please choose a different :attribute.",
"This password reset link will expire in :count minutes.": "This password reset link will expire in :count minutes.",
"to": "to",
"Toggle navigation": "Toggle navigation",
"Too Many Requests": "Too Many Requests",
"Tous les produits Doux": "All Soft products",
"Toutes nos gammes": "All our product lines",
"Téléphone": "Phone",
"Unauthorized": "Unauthorized",
"Une question ? Une idée ? Un conseil ?<br>Des informations sur nos produits ?": "A question ? An idea ? Any advice?<br>Information on our products?",
"Verify Email Address": "Verify Email Address",
"Verify Your Email Address": "Verify Your Email Address",
"Ville": "City",
"Vos coordonnées": "Your contact details",
"Votre message a bien été envoyé !": "Your message has been sent !",
"Votre message n’a pas pu être envoyé.<br>Nous en sommes désolés et vous prions<br>de bien vouloir réessayer plus tard.": "Your message could not be sent.<br>We apologize and kindly ask you to try again later.",
"Vous devez accepter les cookies reCaptcha pour utiliser les formulaires.": "You must accept reCaptcha cookies to use the forms.",
"Wallis-et-Futuna": "Wallis and Futuna",
"Whoops!": "Whoops!",
"You are logged in!": "You are logged in!",
"You are receiving this email because we received a password reset request for your account.": "You are receiving this email because we received a password reset request for your account.",
"Île de Clipperton": "Clipperton Island"
}

View file

@ -1,20 +1,7 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used during authentication for various
| messages that we need to display to the user. You are free to modify
| these language lines according to your application's requirements.
|
*/
'failed' => 'These credentials do not match our records.',
'failed' => 'These credentials do not match our records.',
'password' => 'The provided password is incorrect.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
];

View file

@ -1,28 +1,24 @@
<?php
// * Version 4.1.0
// * Version 5.0.7
// phpcs:disable
return [
'button_customize_cookies' => 'Customize cookies',
'button_close_cookies' => 'Close cookie window',
'button_forbid' => 'Prohibit',
'button_allow' => 'Allow',
'button_forbid_all' => 'Reject all',
'button_toggle_cookie' => 'Accept or refuse',
'button_forbid_all' => 'Refuse all',
'button_allow_all' => 'Accept all',
'button_forbid_all_title' => 'Refuse all cookies and close the cookies panel',
'button_allow_all_title' => 'Accept all cookies and close the cookies panel',
'button_customize' => 'Customize',
'button_back' => 'Back',
'button_validate_and_close' => 'Confirm and close',
'button_title_open_new_tab' => 'Open link in new tab',
'banner_title' => 'The :site_name website uses cookies!',
'banner_text' => 'We use cookies to ensure the proper functioning of our site and for analytical purposes.
You can change your mind at any time by clicking on the icon on any page of our site.
By authorizing these third-party services, you agree to the deposit and reading of cookies and the use of tracking technologies necessary for their proper operation.',
'modal_title' => 'Cookie management window',
'panel_title' => 'Cookie management panel',
'panel_content' => 'Cookie management panel content',
'panel_subtitle' => 'Your privacy is our priority',
'panel_details' => 'The functionalities of this site are based on services provided by third parties. If you accept, these third parties will deposit cookies that will enable you to view content on the site hosted by these third parties. Through these cookies, these third parties will collect and use your browsing data for their own purposes, in accordance with their privacy policy (link below). This page allows you to give or withdraw your consent, either globally or service by service.',
'picture_cookie_title' => 'Image of a nice big cookie',
'navigation_title' => 'Cookies panel navigation',
'custom' => [
@ -31,7 +27,7 @@ return [
'description' => 'Audience measurement services make it possible to generate attendance statistics useful for improving the site.',
],
'youtube' => [
'name' => 'Youtube',
'title' => 'Youtube',
'description' => 'Cookies placed via video sharing services are intended to allow the user to view multimedia content directly on the site.',
'labelLink' => 'Learn more',
'warning' => 'You must accept cookies to view this video',

View file

@ -1,19 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Pagination Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the paginator library to build
| the simple pagination links. You are free to change them to anything
| you want to customize your views to better match your application.
|
*/
'next' => 'Next &raquo;',
'previous' => '&laquo; Previous',
'next' => 'Next &raquo;',
];

View file

@ -1,22 +1,9 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Password Reset Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are the default lines which match reasons
| that are given by the password broker for a password update attempt
| has failed, such as for an invalid token or invalid new password.
|
*/
'reset' => 'Your password has been reset!',
'sent' => 'We have emailed your password reset link!',
'reset' => 'Your password has been reset!',
'sent' => 'We have emailed your password reset link!',
'throttled' => 'Please wait before retrying.',
'token' => 'This password reset token is invalid.',
'user' => "We can't find a user with that email address.",
'token' => 'This password reset token is invalid.',
'user' => 'We can\'t find a user with that email address.',
];

View file

@ -20,8 +20,7 @@ return array (
),
'contact' =>
array (
'acceptcgu' => '',
'disclaimer' => '',
'disclaimer' => 'The information collected from this form is processed by the Data Controller to respond to your contact request. To know your rights, you can consult the <a href=":PRIVROUTE">Confidentiality charter.</a>',
),
'cookie' =>
array (

View file

@ -1,158 +1,126 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
'accepted' => 'The :attribute must be accepted.',
'accepted_if' => 'The :attribute must be accepted when :other is :value.',
'active_url' => 'The :attribute is not a valid URL.',
'after' => 'The :attribute must be a date after :date.',
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
'alpha' => 'The :attribute must only contain letters.',
'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.',
'alpha_num' => 'The :attribute must only contain letters and numbers.',
'array' => 'The :attribute must be an array.',
'before' => 'The :attribute must be a date before :date.',
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
'between' => [
'accepted' => 'The :attribute must be accepted.',
'accepted_if' => 'The :attribute must be accepted when :other is :value.',
'active_url' => 'The :attribute is not a valid URL.',
'after' => 'The :attribute must be a date after :date.',
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
'alpha' => 'The :attribute must only contain letters.',
'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.',
'alpha_num' => 'The :attribute must only contain letters and numbers.',
'array' => 'The :attribute must be an array.',
'before' => 'The :attribute must be a date before :date.',
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
'between' => [
'array' => 'The :attribute must have between :min and :max items.',
'file' => 'The :attribute must be between :min and :max kilobytes.',
'numeric' => 'The :attribute must be between :min and :max.',
'file' => 'The :attribute must be between :min and :max kilobytes.',
'string' => 'The :attribute must be between :min and :max characters.',
'array' => 'The :attribute must have between :min and :max items.',
'string' => 'The :attribute must be between :min and :max characters.',
],
'boolean' => 'The :attribute field must be true or false.',
'confirmed' => 'The :attribute confirmation does not match.',
'current_password' => 'The password is incorrect.',
'date' => 'The :attribute is not a valid date.',
'date_equals' => 'The :attribute must be a date equal to :date.',
'date_format' => 'The :attribute does not match the format :format.',
'different' => 'The :attribute and :other must be different.',
'digits' => 'The :attribute must be :digits digits.',
'digits_between' => 'The :attribute must be between :min and :max digits.',
'dimensions' => 'The :attribute has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.',
'email' => 'The :attribute must be a valid email address.',
'ends_with' => 'The :attribute must end with one of the following: :values.',
'exists' => 'The selected :attribute is invalid.',
'file' => 'The :attribute must be a file.',
'filled' => 'The :attribute field must have a value.',
'gt' => [
'boolean' => 'The :attribute field must be true or false.',
'confirmed' => 'The :attribute confirmation does not match.',
'current_password' => 'The password is incorrect.',
'date' => 'The :attribute is not a valid date.',
'date_equals' => 'The :attribute must be a date equal to :date.',
'date_format' => 'The :attribute does not match the format :format.',
'declined' => 'The :attribute must be declined.',
'declined_if' => 'The :attribute must be declined when :other is :value.',
'different' => 'The :attribute and :other must be different.',
'digits' => 'The :attribute must be :digits digits.',
'digits_between' => 'The :attribute must be between :min and :max digits.',
'dimensions' => 'The :attribute has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.',
'email' => 'The :attribute must be a valid email address.',
'ends_with' => 'The :attribute must end with one of the following: :values.',
'enum' => 'The selected :attribute is invalid.',
'exists' => 'The selected :attribute is invalid.',
'file' => 'The :attribute must be a file.',
'filled' => 'The :attribute field must have a value.',
'gt' => [
'array' => 'The :attribute must have more than :value items.',
'file' => 'The :attribute must be greater than :value kilobytes.',
'numeric' => 'The :attribute must be greater than :value.',
'file' => 'The :attribute must be greater than :value kilobytes.',
'string' => 'The :attribute must be greater than :value characters.',
'array' => 'The :attribute must have more than :value items.',
'string' => 'The :attribute must be greater than :value characters.',
],
'gte' => [
'gte' => [
'array' => 'The :attribute must have :value items or more.',
'file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'numeric' => 'The :attribute must be greater than or equal to :value.',
'file' => 'The :attribute must be greater than or equal to :value kilobytes.',
'string' => 'The :attribute must be greater than or equal to :value characters.',
'array' => 'The :attribute must have :value items or more.',
'string' => 'The :attribute must be greater than or equal to :value characters.',
],
'image' => 'The :attribute must be an image.',
'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field does not exist in :other.',
'integer' => 'The :attribute must be an integer.',
'ip' => 'The :attribute must be a valid IP address.',
'ipv4' => 'The :attribute must be a valid IPv4 address.',
'ipv6' => 'The :attribute must be a valid IPv6 address.',
'json' => 'The :attribute must be a valid JSON string.',
'lt' => [
'image' => 'The :attribute must be an image.',
'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field does not exist in :other.',
'integer' => 'The :attribute must be an integer.',
'ip' => 'The :attribute must be a valid IP address.',
'ipv4' => 'The :attribute must be a valid IPv4 address.',
'ipv6' => 'The :attribute must be a valid IPv6 address.',
'json' => 'The :attribute must be a valid JSON string.',
'lt' => [
'array' => 'The :attribute must have less than :value items.',
'file' => 'The :attribute must be less than :value kilobytes.',
'numeric' => 'The :attribute must be less than :value.',
'file' => 'The :attribute must be less than :value kilobytes.',
'string' => 'The :attribute must be less than :value characters.',
'array' => 'The :attribute must have less than :value items.',
'string' => 'The :attribute must be less than :value characters.',
],
'lte' => [
'lte' => [
'array' => 'The :attribute must not have more than :value items.',
'file' => 'The :attribute must be less than or equal to :value kilobytes.',
'numeric' => 'The :attribute must be less than or equal to :value.',
'file' => 'The :attribute must be less than or equal to :value kilobytes.',
'string' => 'The :attribute must be less than or equal to :value characters.',
'array' => 'The :attribute must not have more than :value items.',
'string' => 'The :attribute must be less than or equal to :value characters.',
],
'max' => [
'mac_address' => 'The :attribute must be a valid MAC address.',
'max' => [
'array' => 'The :attribute must not have more than :max items.',
'file' => 'The :attribute must not be greater than :max kilobytes.',
'numeric' => 'The :attribute must not be greater than :max.',
'file' => 'The :attribute must not be greater than :max kilobytes.',
'string' => 'The :attribute must not be greater than :max characters.',
'array' => 'The :attribute must not have more than :max items.',
'string' => 'The :attribute must not be greater than :max characters.',
],
'mimes' => 'The :attribute must be a file of type: :values.',
'mimetypes' => 'The :attribute must be a file of type: :values.',
'min' => [
'mimes' => 'The :attribute must be a file of type: :values.',
'mimetypes' => 'The :attribute must be a file of type: :values.',
'min' => [
'array' => 'The :attribute must have at least :min items.',
'file' => 'The :attribute must be at least :min kilobytes.',
'numeric' => 'The :attribute must be at least :min.',
'file' => 'The :attribute must be at least :min kilobytes.',
'string' => 'The :attribute must be at least :min characters.',
'array' => 'The :attribute must have at least :min items.',
'string' => 'The :attribute must be at least :min characters.',
],
'multiple_of' => 'The :attribute must be a multiple of :value.',
'not_in' => 'The selected :attribute is invalid.',
'not_regex' => 'The :attribute format is invalid.',
'numeric' => 'The :attribute must be a number.',
'password' => 'The password is incorrect.',
'present' => 'The :attribute field must be present.',
'regex' => 'The :attribute format is invalid.',
'required' => 'The :attribute field is required.',
'required_if' => 'The :attribute field is required when :other is :value.',
'required_unless' => 'The :attribute field is required unless :other is in :values.',
'required_with' => 'The :attribute field is required when :values is present.',
'required_with_all' => 'The :attribute field is required when :values are present.',
'required_without' => 'The :attribute field is required when :values is not present.',
'multiple_of' => 'The :attribute must be a multiple of :value.',
'not_in' => 'The selected :attribute is invalid.',
'not_regex' => 'The :attribute format is invalid.',
'numeric' => 'The :attribute must be a number.',
'password' => 'The password is incorrect.',
'present' => 'The :attribute field must be present.',
'prohibited' => 'The :attribute field is prohibited.',
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
'prohibits' => 'The :attribute field prohibits :other from being present.',
'regex' => 'The :attribute format is invalid.',
'required' => 'The :attribute field is required.',
'required_array_keys' => 'The :attribute field must contain entries for: :values.',
'required_if' => 'The :attribute field is required when :other is :value.',
'required_unless' => 'The :attribute field is required unless :other is in :values.',
'required_with' => 'The :attribute field is required when :values is present.',
'required_with_all' => 'The :attribute field is required when :values are present.',
'required_without' => 'The :attribute field is required when :values is not present.',
'required_without_all' => 'The :attribute field is required when none of :values are present.',
'prohibited' => 'The :attribute field is prohibited.',
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
'prohibits' => 'The :attribute field prohibits :other from being present.',
'same' => 'The :attribute and :other must match.',
'size' => [
'same' => 'The :attribute and :other must match.',
'size' => [
'array' => 'The :attribute must contain :size items.',
'file' => 'The :attribute must be :size kilobytes.',
'numeric' => 'The :attribute must be :size.',
'file' => 'The :attribute must be :size kilobytes.',
'string' => 'The :attribute must be :size characters.',
'array' => 'The :attribute must contain :size items.',
'string' => 'The :attribute must be :size characters.',
],
'starts_with' => 'The :attribute must start with one of the following: :values.',
'string' => 'The :attribute must be a string.',
'timezone' => 'The :attribute must be a valid timezone.',
'unique' => 'The :attribute has already been taken.',
'uploaded' => 'The :attribute failed to upload.',
'url' => 'The :attribute must be a valid URL.',
'uuid' => 'The :attribute must be a valid UUID.',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [
'starts_with' => 'The :attribute must start with one of the following: :values.',
'string' => 'The :attribute must be a string.',
'timezone' => 'The :attribute must be a valid timezone.',
'unique' => 'The :attribute has already been taken.',
'uploaded' => 'The :attribute failed to upload.',
'url' => 'The :attribute must be a valid URL.',
'uuid' => 'The :attribute must be a valid UUID.',
'attributes' => [],
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap our attribute placeholder
| with something more reader friendly such as "E-Mail Address" instead
| of "email". This simply helps us make our message more expressive.
|
*/
'attributes' => [],
];

View file

@ -1,103 +1,177 @@
{
"Marque": "Marca",
"Produits": "productos",
"Actualités": "Noticias",
"Accueil": "Inicio",
"Découvrez DOUX, des produits de volailles françaises.": "Descubra la marca DOUX de productos franceses de carne de ave.",
"Qui sommes-nous": "¿Quiénes somos?",
"Notre Histoire": "A su lado desde 1933",
"Nous contacter": "Para contactar con nosotros",
"Adresse": "Domicilio",
"Votre message a bien été envoyé !": "Su mensaje ha sido enviado",
"Nos services mettent tout en oeuvre pour y répondre au plus vite.": "Nuestros servicios harán lo posible para responderle cuanto antes.",
"Oups ! Une erreur s’est produite...": "¡Ups! Se ha producido un error...",
"Votre message n’a pas pu être envoyé.<br>Nous en sommes désolés et vous prions<br>de bien vouloir réessayer plus tard.": "Su mensaje no ha podido ser enviado.<br>Lo sentimos. Por favor, <br>inténtelo más tarde.",
"Vos coordonnées": "Sus datos:",
"Monsieur": "Señor",
"Madame": "Señora",
"Nom": "Apellidos",
"Prénom": "Nombre",
"Code postal": "Código Postal",
"Ville": "Localidad",
"Téléphone": "Teléfono",
"Email": "E-mail",
"Préciser votre demande": "Precise su solicitud:",
"Réclamation produit": "Reclamación por un producto",
"La marque": "La marca",
"Contact commercial": "Contacto comercial",
"Autre demande": "Otra solicitud",
"Nom du produit": "Nombre del producto",
"Code barre": "Código de barras",
"Lieu d'achat": "Lugar de compra",
"Numéro de lot": "Número de lote",
"Date Limite de Consommation": "Fecha límite de consumo",
"Date de consommation": "Fecha de consumo",
"Message": "Mensaje",
"Photo de l'emballage": "Foto del embalaje",
"Insérer une pièce jointe": "Adjuntar un documento",
"Food service": "Food Service",
"En savoir plus": "Adjuntar un documento",
"Les produits": "Productos",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleur qualité": "Seguimos trabajando para mejorar nuestras recetas y proponer productos de mejor calidad",
"Découvrir": "Descubrir",
"Nos gammes produits": "Nuestras gamas de productos",
"Toutes nos gammes": "Todas nuestras gamas",
"Des produits incontournables, Authentiques et Innovants !": "Recorra nuestras gamas y, sin duda, encontrará productos de su gusto.",
"Gammes": "Gamas",
"Poulet, Cordon bleu ou Wing's ?": "¿Pollo, Cordon Bleu o Wing's?",
"Découvrez tous nos produits à base de volaille.": "Descubra todos nuestros productos a base de carne de ave.",
"<span>les +<\/span><span>Produit<\/span>": "<span>Las ventajas<\/span><span>del producto<\/span>",
"Résultats": "Resultados",
"Cuisiner en famille": "Cocinar en familia",
"Poulet rôti": "Pollo asado",
"Grignottes de poulet": "Productos de pollo para picar",
"Cuisine de chef": "Cocina del chef",
"Suggestion de poulet frit": "Sugerencia de pollo frito",
"Mentions légales": "Menciones legales",
"Charte de confidentialité": "Documento-marco de confidencialidad",
"Plan du site": "Mapa de la página web",
"Contact": "Contacto",
"Gestion des cookies": "Gestión de las cookies",
"Recherchez un produit": "Busque un producto",
"Doux": "Doux",
"Une question ? Une idée ? Un conseil ?<br>Des informations sur nos produits ?": "¿Preguntas? ¿Ideas? ¿Consejos? <br>¿Información sobre nuestros productos?",
"N’hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.": "No dude en ponerse en contacto con nosotros cumplimentando el siguiente formulario. <br>Tramitaremos su petición de forma pertinente lo antes posible.",
"Doux, La référence française de la volaille": "Doux, La referencia francesa de la carne de ave",
"Sélectionnez un pays": "Seleccione un país",
"Sélectionnez un département": "Seleccione una provincia",
"Doux Food Services": "Doux Food Services",
"Tous les produits Doux": "Todos los productos Doux",
"Les actualités Doux": "Las últimas noticias de Doux",
"Nos conseils ...": "Nuestros consejos…",
"Nous Rejoindre": "Únete a nosotros",
"<span class=\"color-red\">les questions<\/span><br><span class=\"color-blue\">utiles<\/span>": "<span class=\"color-red\">Preguntas<\/span><br><span class=\"color-blue\">útiles<\/span>",
"Nos nouveautés": "nuestras novedades",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleure qualité": "Seguimos trabajando para mejorar nuestras recetas y proponer productos de mejor calidad",
"cookie-notice.button_customize_cookies": "Personalizar las cookies",
"cookie-notice.button_close_cookies": "Cerrar la ventana de cookies",
"cookie-notice.button_forbid": "Prohibir",
"cookie-notice.button_allow": "Autorizar",
"cookie-notice.button_forbid_all": "Rechazar todo",
"cookie-notice.button_allow_all": "Aceptar todo",
"cookie-notice.button_forbid_all_title": "Rechazar todas las cookies y cerrar el panel de cookies",
"cookie-notice.button_allow_all_title": "Aceptar todas las cookies y cerrar el panel de cookies",
"cookie-notice.button_customize": "Personalizar",
"cookie-notice.button_back": "Volver",
"cookie-notice.button_title_open_new_tab": "Abrir el enlace en una nueva pestaña",
"cookie-notice.banner_title": "El sitio web :site_name utiliza cookies.",
"<span>les +<\/span><span>Produit<\/span>": "<span>Las ventajas<\/span><span>del producto<\/span>",
"A fresh verification link has been sent to your email address.": "Se ha enviado un nuevo enlace de verificación a su correo electrónico.",
"Acceptez ce cookie pour utiliser les formulaires": "Aceptar esta cookie para utilizar los formularios",
"Accueil": "Inicio",
"Actualités": "Noticias",
"Adresse": "Domicilio",
"All rights reserved.": "Todos los derechos reservados.",
"Authorize": "Autorizar",
"Autre demande": "Otra solicitud",
"Before proceeding, please check your email for a verification link.": "Antes de continuar, compruebe el enlace de verificación en su correo electrónico.",
"Champ obligatoire": "Campo obligatorio",
"Charte de confidentialité": "Documento-marco de confidencialidad",
"click here to request another": "haga clic aquí para solicitar otro",
"Code barre": "Código de barras",
"Code postal": "Código Postal",
"Confirm Password": "Confirmar contraseña",
"Contact": "Contacto",
"Contact commercial": "Contacto comercial",
"cookie-notice.banner_text": "Utilizamos cookies para garantizar que nuestro sitio funciona correctamente y con fines analíticos.\r Puede cambiar de opinión en cualquier momento haciendo clic en el icono de cualquier página de nuestro sitio.\r Al autorizar estos servicios de terceros, acepta el depósito y la lectura de cookies y el uso de tecnologías de seguimiento necesarias para su correcto funcionamiento.",
"cookie-notice.modal_title": "Ventana de gestión de cookies",
"cookie-notice.panel_title": "Panel de gestión de cookies",
"cookie-notice.panel_content": "Contenido del panel de cookies",
"cookie-notice.panel_subtitle": "Su privacidad es nuestra prioridad",
"cookie-notice.panel_details": "Las funcionalidades de este sitio se basan en servicios ofrecidos por terceros. Si acepta, estos terceros depositarán cookies que le permitirán ver en el sitio contenidos alojados por estos terceros. A través de estas cookies, estos terceros recopilarán y utilizarán sus datos de navegación para sus propios fines, de conformidad con su política de privacidad (enlace más abajo). Esta página le permite dar o retirar su consentimiento, globalmente o servicio por servicio.",
"cookie-notice.picture_cookie_title": "Imagen de una buena galleta grande",
"cookie-notice.navigation_title": "Navegación por el panel de cookies",
"cookie-notice.custom.matomo.title": "Matomo",
"cookie-notice.banner_title": "El sitio web :site_name utiliza cookies.",
"cookie-notice.button_allow": "Autorizar",
"cookie-notice.button_allow_all": "Aceptar todo",
"cookie-notice.button_allow_all_title": "Aceptar todas las cookies y cerrar el panel de cookies",
"cookie-notice.button_back": "Volver",
"cookie-notice.button_close_cookies": "Cerrar la ventana de cookies",
"cookie-notice.button_customize": "Personalizar",
"cookie-notice.button_customize_cookies": "Personalizar las cookies",
"cookie-notice.button_forbid": "Prohibir",
"cookie-notice.button_forbid_all": "Rechazar todo",
"cookie-notice.button_forbid_all_title": "Rechazar todas las cookies y cerrar el panel de cookies",
"cookie-notice.button_title_open_new_tab": "Abrir el enlace en una nueva pestaña",
"cookie-notice.custom.matomo.description": "Los servicios de medición de audiencia se utilizan para generar estadísticas de visitas, útiles para mejorar el sitio.",
"cookie-notice.custom.matomo.labelLink": "Más información",
"cookie-notice.custom.recaptcha.title": "reCAPTACHA",
"cookie-notice.custom.matomo.title": "Matomo",
"cookie-notice.custom.recaptcha.description": "Las cookies colocadas en los formularios que utilizan el recaptcha están diseñadas para evitar que los formularios sean enviados por robots.",
"cookie-notice.custom.recaptcha.labelLink": "Más información",
"cookie-notice.custom.recaptcha.warning": "Debe aceptar las cookies para enviar el formulario"
"cookie-notice.custom.recaptcha.title": "reCAPTACHA",
"cookie-notice.custom.recaptcha.warning": "Debe aceptar las cookies para enviar el formulario",
"cookie-notice.modal_title": "Ventana de gestión de cookies",
"cookie-notice.navigation_title": "Navegación por el panel de cookies",
"cookie-notice.panel_content": "Contenido del panel de cookies",
"cookie-notice.panel_details": "Las funcionalidades de este sitio se basan en servicios ofrecidos por terceros. Si acepta, estos terceros depositarán cookies que le permitirán ver en el sitio contenidos alojados por estos terceros. A través de estas cookies, estos terceros recopilarán y utilizarán sus datos de navegación para sus propios fines, de conformidad con su política de privacidad (enlace más abajo). Esta página le permite dar o retirar su consentimiento, globalmente o servicio por servicio.",
"cookie-notice.panel_subtitle": "Su privacidad es nuestra prioridad",
"cookie-notice.panel_title": "Panel de gestión de cookies",
"cookie-notice.picture_cookie_title": "Imagen de una buena galleta grande",
"Cuisine de chef": "Cocina del chef",
"Cuisiner en famille": "Cocinar en familia",
"Dashboard": "Panel",
"Date de consommation": "Fecha de consumo",
"Date Limite de Consommation": "Fecha límite de consumo",
"Des produits incontournables, Authentiques et Innovants !": "Recorra nuestras gamas y, sin duda, encontrará productos de su gusto.",
"Doux": "Doux",
"Doux Food Services": "Doux Food Services",
"Doux, La référence française de la volaille": "Doux, La referencia francesa de la carne de ave",
"Découvrez DOUX, des produits de volailles françaises.": "Descubra la marca DOUX de productos franceses de carne de ave.",
"Découvrez tous nos produits à base de volaille.": "Descubra todos nuestros productos a base de carne de ave.",
"Découvrir": "Descubrir",
"E-Mail Address": "Dirección de correo electrónico",
"Email": "E-mail",
"Email Address": "Correo electrónico",
"En savoir +": "Aprende más",
"En savoir plus": "Adjuntar un documento",
"Envoyer": "Enviar",
"Food service": "Food Service",
"Forbidden": "Prohibido",
"Forgot Your Password?": "¿Olvidó su Contraseña?",
"Gammes": "Gamas",
"Gestion des cookies": "Gestión de las cookies",
"Go Home": "Ir a inicio",
"Go to page :page": "Ir a la página :page",
"Grignottes de poulet": "Productos de pollo para picar",
"Guadeloupe": "Guadalupe",
"Guyane": "Guayana",
"Hello!": "¡Hola!",
"If you did not create an account, no further action is required.": "Si no ha creado una cuenta, no se requiere ninguna acción adicional.",
"If you did not receive the email": "Si usted no recibió el correo electrónico",
"If you did not request a password reset, no further action is required.": "Si no ha solicitado el restablecimiento de contraseña, omita este mensaje de correo electrónico.",
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Si está teniendo problemas al hacer clic en el botón \":actionText\", copie y pegue la URL de abajo\nen su navegador web:",
"Insérer une pièce jointe": "Adjuntar un documento",
"L'actualité de la marque Doux": "",
"La marque": "La marca",
"La Réunion": "Reunión",
"Les actualités Doux": "Las últimas noticias de Doux",
"Les produits": "Productos",
"Lieu d'achat": "Lugar de compra",
"Login": "Iniciar sesión",
"Logout": "Finalizar sesión",
"Madame": "Señora",
"Marque": "Marca",
"Martinique": "Martinica",
"Mayotte": "Mayotte",
"Mentions légales": "Menciones legales",
"Message": "Mensaje",
"Monsieur": "Señor",
"Name": "Nombre",
"Nom": "Apellidos",
"Nom du produit": "Nombre del producto",
"Nos conseils ...": "Nuestros consejos…",
"Nos gammes produits": "Nuestras gamas de productos",
"Nos nouveautés": "nuestras novedades",
"Nos services mettent tout en oeuvre pour y répondre au plus vite.": "Nuestros servicios harán lo posible para responderle cuanto antes.",
"Not Found": "No encontrado",
"Notre Histoire": "A su lado desde 1933",
"Nous contacter": "Para contactar con nosotros",
"Nous Rejoindre": "Únete a nosotros",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleur qualité": "Seguimos trabajando para mejorar nuestras recetas y proponer productos de mejor calidad",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleure qualité": "Seguimos trabajando para mejorar nuestras recetas y proponer productos de mejor calidad",
"Nouvelle-Calédonie": "Nueva Caledonia",
"Numéro de lot": "Número de lote",
"N’hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.": "No dude en ponerse en contacto con nosotros cumplimentando el siguiente formulario. <br>Tramitaremos su petición de forma pertinente lo antes posible.",
"of": "de",
"Oh no": "Oh no",
"Oups ! Une erreur s’est produite...": "¡Ups! Se ha producido un error...",
"Page Expired": "Página expirada",
"Pagination Navigation": "Navegación por los enlaces de paginación",
"Password": "Contraseña",
"Photo de l'emballage": "Foto del embalaje",
"Photo de l’emballage": "Foto del embalaje",
"Plan du site": "Mapa de la página web",
"Please click the button below to verify your email address.": "Por favor, haga clic en el botón de abajo para verificar su dirección de correo electrónico.",
"Please confirm your password before continuing.": "Por favor confirme su contraseña antes de continuar.",
"Polynésie française": "Polinesia francesa",
"Poulet rôti": "Pollo asado",
"Poulet, Cordon bleu ou Wing's ?": "¿Pollo, Cordon Bleu o Wing's?",
"Produits": "productos",
"Préciser votre demande": "Precise su solicitud:",
"Prénom": "Nombre",
"Qui sommes-nous": "¿Quiénes somos?",
"Recherchez un produit": "Busque un producto",
"Regards": "Saludos",
"Register": "Registrarse",
"Remember Me": "Mantener sesión activa",
"Reset Password": "Restablecer contraseña",
"Reset Password Notification": "Notificación de restablecimiento de contraseña",
"results": "resultados",
"Réclamation produit": "Reclamación por un producto",
"Résultats": "Resultados",
"Saint-Barthélémy": "San Bartolomé",
"Saint-Martin": "San Martín",
"Saint-Pierre-et-Miquelon": "San Pedro y Miquelón",
"Send Password Reset Link": "Enviar enlace para restablecer la contraseña",
"Server Error": "Error del servidor",
"Service Unavailable": "Servicio no disponible",
"Showing": "Mostrando",
"Suggestion de poulet frit": "Sugerencia de pollo frito",
"Sélectionnez un département": "Seleccione una provincia",
"Sélectionnez un pays": "Seleccione un país",
"Terres australes et antarctiques françaises": "Territorios australes y antárticos franceses",
"The :attribute must contain at least one letter.": "La :attribute debe contener al menos una letra.",
"The :attribute must contain at least one number.": "La :attribute debe contener al menos un número.",
"The :attribute must contain at least one symbol.": "La :attribute debe contener al menos un símbolo.",
"The :attribute must contain at least one uppercase and one lowercase letter.": "La :attribute debe contener al menos una letra mayúscula y una minúscula.",
"The given :attribute has appeared in a data leak. Please choose a different :attribute.": "La :attribute proporcionada se ha visto comprometida en una filtración de datos (data leak). Elija una :attribute diferente.",
"This password reset link will expire in :count minutes.": "Este enlace de restablecimiento de contraseña expirará en :count minutos.",
"to": "al",
"Toggle navigation": "Activar navegación",
"Too Many Requests": "Demasiadas peticiones",
"Tous les produits Doux": "Todos los productos Doux",
"Toutes nos gammes": "Todas nuestras gamas",
"Téléphone": "Teléfono",
"Unauthorized": "No autorizado",
"Une question ? Une idée ? Un conseil ?<br>Des informations sur nos produits ?": "¿Preguntas? ¿Ideas? ¿Consejos? <br>¿Información sobre nuestros productos?",
"Verify Email Address": "Confirme su correo electrónico",
"Verify Your Email Address": "Verifique su dirección de correo electrónico",
"Ville": "Localidad",
"Vos coordonnées": "Sus datos:",
"Votre message a bien été envoyé !": "Su mensaje ha sido enviado",
"Votre message n’a pas pu être envoyé.<br>Nous en sommes désolés et vous prions<br>de bien vouloir réessayer plus tard.": "Su mensaje no ha podido ser enviado.<br>Lo sentimos. Por favor, <br>inténtelo más tarde.",
"Vous devez accepter les cookies reCaptcha pour utiliser les formulaires.": "Debe aceptar las cookies reCaptcha para utilizar los formularios.",
"Wallis-et-Futuna": "Wallis y Futuna",
"Whoops!": "¡Ups!",
"You are logged in!": "¡Usted está conectado!",
"You are receiving this email because we received a password reset request for your account.": "Ha recibido este mensaje porque se solicitó un restablecimiento de contraseña para su cuenta.",
"Île de Clipperton": "Isla Clipperton"
}

View file

@ -1,18 +1,7 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used during authentication for various
| messages that we need to display to the user. You are free to modify
| these language lines according to your application's requirements.
|
*/
'failed' => 'Ces identifiants ne correspondent pas à nos enregistrements',
'password' => 'Le mot de passe fourni est incorrect.',
'throttle' => 'Tentatives de connexion trop nombreuses. Veuillez essayer de nouveau dans :seconds secondes.',
'failed' => 'Estas credenciales no coinciden con nuestros registros.',
'password' => 'La contraseña ingresada no es correcta.',
'throttle' => 'Demasiados intentos de acceso. Por favor intente nuevamente en :seconds segundos.',
];

View file

@ -1,48 +1,44 @@
<?php
// * Versión 4.1.0
// * Version 5.0.7
// phpcs:deshabilitar
return [
'button_customize_cookies' => 'Personalizar cookies',
'button_close_cookies' => 'Cerrar ventana de cookies',
'button_forbid' => 'Prohibir',
'button_allow' => 'Permitir',
'button_toggle_cookie' => 'Autoriser ou refuser',
'button_forbid_all' => 'Rechazar todo',
'button_allow_all' => 'Aceptar todo',
'button_forbid_all_title' => 'Rechazar todas las cookies y cerrar el panel de cookies',
'button_allow_all_title' => 'Aceptar todas las cookies y cerrar el panel de cookies',
'button_customize' => 'Personalizar',
'button_back' => 'Atrás',
'button_validate_and_close' => 'Validar y cerrar',
'button_title_open_new_tab' => 'Abrir enlace en una pestaña nueva',
'banner_title' => '¡El sitio web:site_name utiliza cookies!',
'banner_text' => 'Utilizamos cookies para garantizar que nuestro sitio funcione correctamente y con fines analíticos.
Puede cambiar de opinión en cualquier momento haciendo clic en el icono en cada página de nuestro sitio.
Al autorizar estos servicios de terceros, acepta el depósito y lectura de cookies y el uso de tecnologías de seguimiento necesarias para su correcto funcionamiento.',
'modal_title' => 'Ventana de gestión de cookies',
'panel_title' => 'Panel de gestión de cookies',
'panel_content' => 'Contenido del panel de cookies',
'panel_subtitle' => 'Respetar su privacidad es nuestra prioridad',
'panel_details' => 'Las funcionalidades de este sitio dependen de servicios ofrecidos por terceros. Si acepta, estos terceros colocarán cookies que le permitirán ver el contenido alojado por estos terceros en el sitio. A través de estas cookies, estos terceros recopilarán y utilizarán sus datos de navegación para sus propios fines, de acuerdo con su política de privacidad (enlace a continuación). Esta página le permite dar o retirar su consentimiento, ya sea de forma global o servicio por servicio.',
'picture_cookie_title' => 'Imagen de una galleta grande y bonita',
'navigation_title' => 'Navegación del panel de cookies',
'personalizado' => [
'análisis' => [
'título' => 'Google Analytics',
'custom' => [
'analytics' => [
'title' => 'Google Analytics',
'description' => 'Los servicios de medición de audiencia permiten generar estadísticas de tráfico útiles para mejorar el sitio.',
],
'youtube' => [
'nombre' => 'Youtube',
'title' => 'Youtube',
'description' => 'Las cookies colocadas a través de servicios para compartir vídeos tienen como objetivo permitir al usuario ver contenido multimedia directamente en el sitio.',
'labelLink' => 'Más información',
'advertencia' => 'Debes aceptar cookies para ver este vídeo',
],
'matomo' => [
'título' => 'Matomo',
'title' => 'Matomo',
'description' => 'Los servicios de medición de audiencia permiten generar estadísticas de tráfico útiles para mejorar el sitio.',
'labelLink' => 'Más información',
],
'recaptcha' => [
'título' => 'reCAPTCHA',
'title' => 'reCAPTCHA',
'description' => 'Las cookies que se colocan a través de recaptcha en los formularios tienen como objetivo evitar que sean enviadas por robots.',
'labelLink' => 'Más información',
'warning' => 'Debes aceptar las cookies reCAPTCHA para enviar el formulario',

View file

@ -1,19 +1,19 @@
<?php
return [
'kid' => 'enfant',
'kid' => 'niño',
'balanced_menu_type' => [
'kid' => 'enfant',
'teenager' => 'adolescent',
'woman' => 'femme',
'man' => 'homme',
'senior' => 'senior',
'kid' => 'niño',
'teenager' => 'adolescente',
'woman' => 'mujer',
'man' => 'hombre',
'senior' => 'sénior',
'withPrefix' => [
'kid' => 'un enfant',
'teenager' => 'un adolescent',
'woman' => 'une femme',
'man' => 'un homme',
'senior' => 'un senior'
'kid' => 'un niño',
'teenager' => 'un adolescente',
'woman' => 'una mujer',
'man' => 'un hombre',
'senior' => 'un mayor'
]
]
];

View file

@ -1,17 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Pagination Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the paginator library to build
| the simple pagination links. You are free to change them to anything
| you want to customize your views to better match your application.
|
*/
'previous' => '&laquo; Précédent',
'next' => 'Suivant &raquo;',
'next' => 'Siguiente &raquo;',
'previous' => '&laquo; Anterior',
];

View file

@ -1,20 +1,9 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Password Reminder Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are the default lines which match reasons
| that are given by the password broker for a password update attempt
| has failed, such as for an invalid token or invalid new password.
|
*/
'reset' => 'Votre mot de passe a été réinitialisé !',
'sent' => 'Nous vous avons envoyé par email le lien de réinitialisation du mot de passe !',
'throttled' => 'Veuillez patienter avant de réessayer.',
'token' => "Ce jeton de réinitialisation du mot de passe n'est pas valide.",
'user' => "Aucun utilisateur n'a été trouvé avec cette adresse email.",
'reset' => '¡Su contraseña ha sido restablecida!',
'sent' => '¡Le hemos enviado por correo electrónico el enlace para restablecer su contraseña!',
'throttled' => 'Por favor espere antes de intentar de nuevo.',
'token' => 'El token de restablecimiento de contraseña es inválido.',
'user' => 'No encontramos ningún usuario con ese correo electrónico.',
];

View file

@ -20,8 +20,7 @@ return array (
),
'contact' =>
array (
'acceptcgu' => 'Acepto las condiciones generales de uso de la web y autorizo a Société Bretonne de Volaille a tratar mis datos personales de acuerdo con la Política de confidencialidad.',
'disclaimer' => 'La información que nos comunique se recopilará y tratará por Société Bretonne de Volaille, responsable de tratamiento según los objetivos definidos en nuestra Política de confidencialidad. Esta información está destinada al personal de Société Bretonne de Volaille y puede compartirse con sus subcontratistas.<br /> Puede retirar su consentimiento en cualquier momento. Para cualquier información adicional sobre sus datos personales y sus derechos, consulte nuestra <a href=":PRIVROUTE">Política de confidencialidad.</a>',
'disclaimer' => 'La información recogida en este formulario es procesada por el Responsable del tratamiento para responder a su solicitud de contacto. Para conocer sus derechos, puede consultar la <a href=":PRIVROUTE">Carta de confidencialidad.</a>',
),
'cookie' =>
array (

View file

@ -1,187 +1,162 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages.
|
*/
'accepted' => 'Le champ :attribute doit être accepté.',
'active_url' => "Le champ :attribute n'est pas une URL valide.",
'after' => 'Le champ :attribute doit être une date postérieure au :date.',
'after_or_equal' => 'Le champ :attribute doit être une date postérieure ou égale au :date.',
'alpha' => 'Le champ :attribute doit contenir uniquement des lettres.',
'alpha_dash' => 'Le champ :attribute doit contenir uniquement des lettres, des chiffres et des tirets.',
'alpha_num' => 'Le champ :attribute doit contenir uniquement des chiffres et des lettres.',
'array' => 'Le champ :attribute doit être un tableau.',
'before' => 'Le champ :attribute doit être une date antérieure au :date.',
'before_or_equal' => 'Le champ :attribute doit être une date antérieure ou égale au :date.',
'accepted' => ':attribute debe ser aceptado.',
'accepted_if' => ':attribute debe ser aceptado cuando :other sea :value.',
'active_url' => ':attribute no es una URL válida.',
'after' => ':attribute debe ser una fecha posterior a :date.',
'after_or_equal' => ':attribute debe ser una fecha posterior o igual a :date.',
'alpha' => ':attribute sólo debe contener letras.',
'alpha_dash' => ':attribute sólo debe contener letras, números, guiones y guiones bajos.',
'alpha_num' => ':attribute sólo debe contener letras y números.',
'array' => ':attribute debe ser un conjunto.',
'before' => ':attribute debe ser una fecha anterior a :date.',
'before_or_equal' => ':attribute debe ser una fecha anterior o igual a :date.',
'between' => [
'numeric' => 'La valeur de :attribute doit être comprise entre :min et :max.',
'file' => 'La taille du fichier de :attribute doit être comprise entre :min et :max kilo-octets.',
'string' => 'Le texte :attribute doit contenir entre :min et :max caractères.',
'array' => 'Le tableau :attribute doit contenir entre :min et :max éléments.',
'array' => ':attribute tiene que tener entre :min - :max elementos.',
'file' => ':attribute debe pesar entre :min - :max kilobytes.',
'numeric' => ':attribute tiene que estar entre :min - :max.',
'string' => ':attribute tiene que tener entre :min - :max caracteres.',
],
'boolean' => 'Le champ :attribute doit être vrai ou faux.',
'confirmed' => 'Le champ de confirmation :attribute ne correspond pas.',
'date' => "Le champ :attribute n'est pas une date valide.",
'date_equals' => 'Le champ :attribute doit être une date égale à :date.',
'date_format' => 'Le champ :attribute ne correspond pas au format :format.',
'different' => 'Les champs :attribute et :other doivent être différents.',
'digits' => 'Le champ :attribute doit contenir :digits chiffres.',
'digits_between' => 'Le champ :attribute doit contenir entre :min et :max chiffres.',
'dimensions' => "La taille de l'image :attribute n'est pas conforme.",
'distinct' => 'Le champ :attribute a une valeur en double.',
'email' => 'Le champ :attribute doit être une adresse email valide.',
'ends_with' => 'Le champ :attribute doit se terminer par une des valeurs suivantes : :values',
'exists' => 'Le champ :attribute sélectionné est invalide.',
'file' => 'Le champ :attribute doit être un fichier.',
'filled' => 'Le champ :attribute doit avoir une valeur.',
'boolean' => 'El campo :attribute debe tener un valor verdadero o falso.',
'confirmed' => 'La confirmación de :attribute no coincide.',
'current_password' => 'La contraseña es incorrecta.',
'date' => ':attribute no es una fecha válida.',
'date_equals' => ':attribute debe ser una fecha igual a :date.',
'date_format' => ':attribute no corresponde al formato :format.',
'declined' => ':attribute debe ser rechazado.',
'declined_if' => ':attribute debe ser rechazado cuando :other sea :value.',
'different' => ':attribute y :other deben ser diferentes.',
'digits' => ':attribute debe tener :digits dígitos.',
'digits_between' => ':attribute debe tener entre :min y :max dígitos.',
'dimensions' => 'Las dimensiones de la imagen :attribute no son válidas.',
'distinct' => 'El campo :attribute contiene un valor duplicado.',
'email' => ':attribute no es un correo válido.',
'ends_with' => 'El campo :attribute debe finalizar con uno de los siguientes valores: :values',
'enum' => 'El :attribute seleccionado es inválido.',
'exists' => 'El :attribute seleccionado es inválido.',
'file' => 'El campo :attribute debe ser un archivo.',
'filled' => 'El campo :attribute es obligatorio.',
'gt' => [
'numeric' => 'La valeur de :attribute doit être supérieure à :value.',
'file' => 'La taille du fichier de :attribute doit être supérieure à :value kilo-octets.',
'string' => 'Le texte :attribute doit contenir plus de :value caractères.',
'array' => 'Le tableau :attribute doit contenir plus de :value éléments.',
'array' => 'El campo :attribute debe tener más de :value elementos.',
'file' => 'El campo :attribute debe tener más de :value kilobytes.',
'numeric' => 'El campo :attribute debe ser mayor que :value.',
'string' => 'El campo :attribute debe tener más de :value caracteres.',
],
'gte' => [
'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :value.',
'file' => 'La taille du fichier de :attribute doit être supérieure ou égale à :value kilo-octets.',
'string' => 'Le texte :attribute doit contenir au moins :value caractères.',
'array' => 'Le tableau :attribute doit contenir au moins :value éléments.',
'array' => 'El campo :attribute debe tener como mínimo :value elementos.',
'file' => 'El campo :attribute debe tener como mínimo :value kilobytes.',
'numeric' => 'El campo :attribute debe ser como mínimo :value.',
'string' => 'El campo :attribute debe tener como mínimo :value caracteres.',
],
'image' => 'Le champ :attribute doit être une image.',
'in' => 'Le champ :attribute est invalide.',
'in_array' => "Le champ :attribute n'existe pas dans :other.",
'integer' => 'Le champ :attribute doit être un entier.',
'ip' => 'Le champ :attribute doit être une adresse IP valide.',
'ipv4' => 'Le champ :attribute doit être une adresse IPv4 valide.',
'ipv6' => 'Le champ :attribute doit être une adresse IPv6 valide.',
'json' => 'Le champ :attribute doit être un document JSON valide.',
'image' => ':attribute debe ser una imagen.',
'in' => ':attribute es inválido.',
'in_array' => 'El campo :attribute no existe en :other.',
'integer' => ':attribute debe ser un número entero.',
'ip' => ':attribute debe ser una dirección IP válida.',
'ipv4' => ':attribute debe ser una dirección IPv4 válida.',
'ipv6' => ':attribute debe ser una dirección IPv6 válida.',
'json' => 'El campo :attribute debe ser una cadena JSON válida.',
'lt' => [
'numeric' => 'La valeur de :attribute doit être inférieure à :value.',
'file' => 'La taille du fichier de :attribute doit être inférieure à :value kilo-octets.',
'string' => 'Le texte :attribute doit contenir moins de :value caractères.',
'array' => 'Le tableau :attribute doit contenir moins de :value éléments.',
'array' => 'El campo :attribute debe tener menos de :value elementos.',
'file' => 'El campo :attribute debe tener menos de :value kilobytes.',
'numeric' => 'El campo :attribute debe ser menor que :value.',
'string' => 'El campo :attribute debe tener menos de :value caracteres.',
],
'lte' => [
'numeric' => 'La valeur de :attribute doit être inférieure ou égale à :value.',
'file' => 'La taille du fichier de :attribute doit être inférieure ou égale à :value kilo-octets.',
'string' => 'Le texte :attribute doit contenir au plus :value caractères.',
'array' => 'Le tableau :attribute doit contenir au plus :value éléments.',
'array' => 'El campo :attribute debe tener como máximo :value elementos.',
'file' => 'El campo :attribute debe tener como máximo :value kilobytes.',
'numeric' => 'El campo :attribute debe ser como máximo :value.',
'string' => 'El campo :attribute debe tener como máximo :value caracteres.',
],
'mac_address' => 'El campo :attribute debe ser una dirección MAC válida.',
'max' => [
'numeric' => 'La valeur de :attribute ne peut être supérieure à :max.',
'file' => 'La taille du fichier de :attribute ne peut pas dépasser :max kilo-octets.',
'string' => 'Le texte de :attribute ne peut contenir plus de :max caractères.',
'array' => 'Le tableau :attribute ne peut contenir plus de :max éléments.',
'array' => ':attribute no debe tener más de :max elementos.',
'file' => ':attribute no debe ser mayor que :max kilobytes.',
'numeric' => ':attribute no debe ser mayor que :max.',
'string' => ':attribute no debe ser mayor que :max caracteres.',
],
'mimes' => 'Le champ :attribute doit être un fichier de type : :values.',
'mimetypes' => 'Le champ :attribute doit être un fichier de type : :values.',
'mimes' => ':attribute debe ser un archivo con formato: :values.',
'mimetypes' => ':attribute debe ser un archivo con formato: :values.',
'min' => [
'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :min.',
'file' => 'La taille du fichier de :attribute doit être supérieure à :min kilo-octets.',
'string' => 'Le texte :attribute doit contenir au moins :min caractères.',
'array' => 'Le tableau :attribute doit contenir au moins :min éléments.',
'array' => ':attribute debe tener al menos :min elementos.',
'file' => 'El tamaño de :attribute debe ser de al menos :min kilobytes.',
'numeric' => 'El tamaño de :attribute debe ser de al menos :min.',
'string' => ':attribute debe contener al menos :min caracteres.',
],
'multiple_of' => 'La valeur de :attribute doit être un multiple de :value',
'not_in' => "Le champ :attribute sélectionné n'est pas valide.",
'not_regex' => "Le format du champ :attribute n'est pas valide.",
'numeric' => 'Le champ :attribute doit contenir un nombre.',
'password' => 'Le mot de passe est incorrect',
'present' => 'Le champ :attribute doit être présent.',
'regex' => 'Le format du champ :attribute est invalide.',
'required' => 'Le champ :attribute est obligatoire.',
'required_if' => 'Le champ :attribute est obligatoire quand la valeur de :other est :value.',
'required_unless' => 'Le champ :attribute est obligatoire sauf si :other est :values.',
'required_with' => 'Le champ :attribute est obligatoire quand :values est présent.',
'required_with_all' => 'Le champ :attribute est obligatoire quand :values sont présents.',
'required_without' => "Le champ :attribute est obligatoire quand :values n'est pas présent.",
'required_without_all' => "Le champ :attribute est requis quand aucun de :values n'est présent.",
'same' => 'Les champs :attribute et :other doivent être identiques.',
'multiple_of' => 'El campo :attribute debe ser múltiplo de :value',
'not_in' => ':attribute es inválido.',
'not_regex' => 'El formato del campo :attribute no es válido.',
'numeric' => ':attribute debe ser numérico.',
'password' => 'La contraseña es incorrecta.',
'phone' => 'Le champ :attribute n\'est pas un numéro de téléphone valide.',
'present' => 'El campo :attribute debe estar presente.',
'prohibited' => 'El campo :attribute está prohibido.',
'prohibited_if' => 'El campo :attribute está prohibido cuando :other es :value.',
'prohibited_unless' => 'El campo :attribute está prohibido a menos que :other sea :values.',
'prohibits' => 'El campo :attribute prohibe que :other esté presente.',
'regex' => 'El formato de :attribute es inválido.',
'required' => 'El campo :attribute es obligatorio.',
'required_array_keys' => 'El campo :attribute debe contener entradas para: :values.',
'required_if' => 'El campo :attribute es obligatorio cuando :other es :value.',
'required_unless' => 'El campo :attribute es obligatorio a menos que :other esté en :values.',
'required_with' => 'El campo :attribute es obligatorio cuando :values está presente.',
'required_with_all' => 'El campo :attribute es obligatorio cuando :values están presentes.',
'required_without' => 'El campo :attribute es obligatorio cuando :values no está presente.',
'required_without_all' => 'El campo :attribute es obligatorio cuando ninguno de :values está presente.',
'same' => ':attribute y :other deben coincidir.',
'size' => [
'numeric' => 'La valeur de :attribute doit être :size.',
'file' => 'La taille du fichier de :attribute doit être de :size kilo-octets.',
'string' => 'Le texte de :attribute doit contenir :size caractères.',
'array' => 'Le tableau :attribute doit contenir :size éléments.',
'array' => ':attribute debe contener :size elementos.',
'file' => 'El tamaño de :attribute debe ser :size kilobytes.',
'numeric' => 'El tamaño de :attribute debe ser :size.',
'string' => ':attribute debe contener :size caracteres.',
],
'starts_with' => 'Le champ :attribute doit commencer avec une des valeurs suivantes : :values',
'string' => 'Le champ :attribute doit être une chaîne de caractères.',
'timezone' => 'Le champ :attribute doit être un fuseau horaire valide.',
'unique' => 'La valeur du champ :attribute est déjà utilisée.',
'uploaded' => "Le fichier du champ :attribute n'a pu être téléversé.",
'url' => "Le format de l'URL de :attribute n'est pas valide.",
'uuid' => 'Le champ :attribute doit être un UUID valide',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'phone' => 'Le champ :attribute n\'est pas un numéro de téléphone valide.',
'custom' => [
'starts_with' => 'El campo :attribute debe comenzar con uno de los siguientes valores: :values',
'string' => 'El campo :attribute debe ser una cadena de caracteres.',
'timezone' => ':Attribute debe ser una zona horaria válida.',
'unique' => 'El campo :attribute ya ha sido registrado.',
'uploaded' => 'Subir :attribute ha fallado.',
'url' => ':Attribute debe ser una URL válida.',
'uuid' => 'El campo :attribute debe ser un UUID válido.',
'attributes' => [
'address' => 'dirección',
'age' => 'edad',
'answers' => 'respuestas',
'answers.*' => 'respuesta',
'available' => 'disponible',
'breeder_code' => 'código de obtentor',
'city' => 'ciudad',
'content' => 'contenido',
'country' => 'país',
'date' => 'fecha',
'day' => 'día',
'description' => 'descripción',
'email' => 'dirección de correo electrónico',
'excerpt' => 'extracto',
'first_name' => 'nombre de pila',
'gender' => 'género',
'hour' => 'hora',
'last_name' => 'apellido',
'minute' => 'minuto',
'mobile' => 'teléfono móvil',
'month' => 'mes',
'name' => 'nombre',
'password' => 'contraseña',
'password_confirmation' => 'confirmación de contraseña',
'phone' => 'teléfono',
'picture' => 'imagen',
'postal_code' => 'código postal',
'second' => 'el segundo',
'sex' => 'sexo',
'size' => 'tamaño',
'time' => 'hora',
'title' => 'título',
'username' => 'nombre del usuario',
'year' => 'año',
],
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [
'name' => 'nom',
'username' => "nom d'utilisateur",
'email' => 'adresse email',
'first_name' => 'prénom',
'last_name' => 'nom',
'password' => 'mot de passe',
'password_confirmation' => 'confirmation du mot de passe',
'city' => 'ville',
'country' => 'pays',
'address' => 'adresse',
'phone' => 'téléphone',
'mobile' => 'portable',
'age' => 'âge',
'sex' => 'sexe',
'gender' => 'genre',
'day' => 'jour',
'month' => 'mois',
'year' => 'année',
'hour' => 'heure',
'minute' => 'minute',
'second' => 'seconde',
'title' => 'titre',
'content' => 'contenu',
'description' => 'description',
'excerpt' => 'extrait',
'date' => 'date',
'time' => 'heure',
'available' => 'disponible',
'size' => 'taille',
'answers' => 'réponses',
'answers.*' => 'réponse',
'postal_code' => 'code postal',
'picture' => 'image',
'breeder_code' => 'code éleveur'
],
];

View file

@ -1,103 +1,177 @@
{
"Marque": "Marque",
"Produits": "Produits",
"Actualités": "Actualités",
"Accueil": "Accueil",
"Découvrez DOUX, des produits de volailles françaises.": "Découvrez DOUX, des produits de volailles françaises",
"Qui sommes-nous": "Qui sommes-nous",
"Les produits": "Les produits",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleur qualité": "Ne ratez aucune de nos nouveautés",
"Découvrir": "Découvrir",
"Nos gammes produits": "Nos gammes produits",
"Toutes nos gammes": "Les gammes disponibles",
"Des produits incontournables, Authentiques et Innovants !": "Parcourez nos gammes et trouvez les produits qui vous feront plaisir.",
"Doux": "Doux",
"Résultats": "Résultats",
"Mentions légales": "Mentions légales",
"Notre Histoire": "Depuis 1933 à vos côtés",
"Nous contacter": "",
"Adresse": "",
"Votre message a bien été envoyé !": "",
"Nos services mettent tout en oeuvre pour y répondre au plus vite.": "",
"Oups ! Une erreur s’est produite...": "",
"Votre message n’a pas pu être envoyé.<br>Nous en sommes désolés et vous prions<br>de bien vouloir réessayer plus tard.": "",
"Vos coordonnées": "",
"Monsieur": "",
"Madame": "",
"Nom": "",
"Prénom": "",
"Code postal": "",
"Ville": "",
"Téléphone": "",
"Email": "",
"Préciser votre demande": "",
"Réclamation produit": "",
"La marque": "",
"Contact commercial": "",
"Autre demande": "",
"Nom du produit": "",
"Code barre": "",
"Lieu d'achat": "",
"Numéro de lot": "",
"Date Limite de Consommation": "",
"Date de consommation": "",
"Message": "",
"Photo de l'emballage": "Photo de l'emballage",
"Insérer une pièce jointe": "",
"Food service": "",
"En savoir plus": "",
"Gammes": "",
"Poulet, Cordon bleu ou Wing's ?": "",
"Découvrez tous nos produits à base de volaille.": "",
"<span>les +<\/span><span>Produit<\/span>": "<span>les +<\/span><span>Produit<\/span>",
"Cuisiner en famille": "",
"Poulet rôti": "",
"Grignottes de poulet": "",
"Cuisine de chef": "",
"Suggestion de poulet frit": "",
"Charte de confidentialité": "",
"Plan du site": "",
"Contact": "",
"Gestion des cookies": "",
"Recherchez un produit": "",
"Une question ? Une idée ? Un conseil ?<br>Des informations sur nos produits ?": "",
"N’hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.": "",
"Doux, La référence française de la volaille": "Doux, La référence française de la volaille",
"Sélectionnez un pays": "",
"Sélectionnez un département": "",
"Doux Food Services": "",
"Tous les produits Doux": "",
"Les actualités Doux": "",
"Nos conseils ...": "Nos conseils ...",
"Nous Rejoindre": "",
"<span class=\"color-red\">les questions<\/span><br><span class=\"color-blue\">utiles<\/span>": "<span class=\"color-red\">les questions<\/span><br><span class=\"color-blue\">utiles<\/span>",
"Nos nouveautés": "Produits à la une",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleure qualité": "Ne ratez aucune de nos nouveautés",
"cookie-notice.button_customize_cookies": "Personnaliser les cookies",
"cookie-notice.button_close_cookies": "Fermer la fenêtre des cookies",
"cookie-notice.button_forbid": "Interdire",
"cookie-notice.button_allow": "Autoriser",
"cookie-notice.button_forbid_all": "Tout refuser",
"cookie-notice.button_allow_all": "Tout accepter",
"cookie-notice.button_forbid_all_title": "Refuser tous les cookies et fermer le panneau des cookies",
"cookie-notice.button_allow_all_title": "Accepter tous les cookies et fermer le panneau des cookies",
"cookie-notice.button_customize": "Personnaliser",
"cookie-notice.button_back": "Retour",
"cookie-notice.button_title_open_new_tab": "Ouvrir le lien dans un nouvel onglet",
"cookie-notice.banner_title": "Le site internet :site_name utilise des cookies !",
"<span>les +<\/span><span>Produit<\/span>": "<span>les +<\/span><span>Produit<\/span>",
"A fresh verification link has been sent to your email address.": "Un nouveau lien de vérification a été envoyé à votre adresse e-mail.",
"Acceptez ce cookie pour utiliser les formulaires": "",
"Accueil": "Accueil",
"Actualités": "Actualités",
"Adresse": "",
"All rights reserved.": "Tous droits réservés.",
"Authorize": "Autoriser",
"Autre demande": "",
"Before proceeding, please check your email for a verification link.": "Avant de continuer, merci de vérifier votre e-mail contenant un lien de vérification.",
"Champ obligatoire": "",
"Charte de confidentialité": "",
"click here to request another": "cliquez ici pour en demander un autre",
"Code barre": "",
"Code postal": "",
"Confirm Password": "Confirmez votre mot de passe",
"Contact": "",
"Contact commercial": "",
"cookie-notice.banner_text": "Nous utilisons des cookies pour nous assurer du bon fonctionnement de notre site et à des fins analytiques.\r Vous pouvez changer d'avis à tout moment en cliquant sur l'icône présente sur chaque page de notre site.\r En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement.",
"cookie-notice.modal_title": "Fenêtre de gestion de cookies",
"cookie-notice.panel_title": "Panneau de gestion des cookies",
"cookie-notice.panel_content": "Contenu du panneau des cookies",
"cookie-notice.panel_subtitle": "Le respect de votre vie privée est notre priorité",
"cookie-notice.panel_details": "Les fonctionnalités de ce site s'appuient sur des services proposés par des tiers. Si vous acceptez, ces tiers déposeront des cookies qui vous permettront de visualiser sur le site du contenu hébergé par ces tiers. Via ces cookies, ces tiers collecteront et utiliseront vos données de navigation pour des finalités qui leur sont propres, conformément à leur politique de confidentialité (lien ci-dessous). Cette page vous permet de donner ou de retirer votre consentement, soit globalement soit service par service.",
"cookie-notice.picture_cookie_title": "Image d'un bon gros cookie",
"cookie-notice.navigation_title": "Navigation du panneau des cookies",
"cookie-notice.custom.matomo.title": "Matomo",
"cookie-notice.banner_title": "Le site internet :site_name utilise des cookies !",
"cookie-notice.button_allow": "Autoriser",
"cookie-notice.button_allow_all": "Tout accepter",
"cookie-notice.button_allow_all_title": "Accepter tous les cookies et fermer le panneau des cookies",
"cookie-notice.button_back": "Retour",
"cookie-notice.button_close_cookies": "Fermer la fenêtre des cookies",
"cookie-notice.button_customize": "Personnaliser",
"cookie-notice.button_customize_cookies": "Personnaliser les cookies",
"cookie-notice.button_forbid": "Interdire",
"cookie-notice.button_forbid_all": "Tout refuser",
"cookie-notice.button_forbid_all_title": "Refuser tous les cookies et fermer le panneau des cookies",
"cookie-notice.button_title_open_new_tab": "Ouvrir le lien dans un nouvel onglet",
"cookie-notice.custom.matomo.description": "Les services de mesure d’audience permettent de générer des statistiques de fréquentation utiles à l’amélioration du site.",
"cookie-notice.custom.matomo.labelLink": "En apprendre plus",
"cookie-notice.custom.recaptcha.title": "reCAPTACHA",
"cookie-notice.custom.matomo.title": "Matomo",
"cookie-notice.custom.recaptcha.description": "Les cookies qui sont déposés via le recaptcha sur les formulaires ont pour finalité d’empêcher que ceux-ci ne soient soumis par des robots.",
"cookie-notice.custom.recaptcha.labelLink": "En apprendre plus",
"cookie-notice.custom.recaptcha.warning": "Vous devez accepter les cookies pour envoyer le formulaire"
"cookie-notice.custom.recaptcha.title": "reCAPTACHA",
"cookie-notice.custom.recaptcha.warning": "Vous devez accepter les cookies pour envoyer le formulaire",
"cookie-notice.modal_title": "Fenêtre de gestion de cookies",
"cookie-notice.navigation_title": "Navigation du panneau des cookies",
"cookie-notice.panel_content": "Contenu du panneau des cookies",
"cookie-notice.panel_details": "Les fonctionnalités de ce site s'appuient sur des services proposés par des tiers. Si vous acceptez, ces tiers déposeront des cookies qui vous permettront de visualiser sur le site du contenu hébergé par ces tiers. Via ces cookies, ces tiers collecteront et utiliseront vos données de navigation pour des finalités qui leur sont propres, conformément à leur politique de confidentialité (lien ci-dessous). Cette page vous permet de donner ou de retirer votre consentement, soit globalement soit service par service.",
"cookie-notice.panel_subtitle": "Le respect de votre vie privée est notre priorité",
"cookie-notice.panel_title": "Panneau de gestion des cookies",
"cookie-notice.picture_cookie_title": "Image d'un bon gros cookie",
"Cuisine de chef": "",
"Cuisiner en famille": "",
"Dashboard": "Tableau de bord",
"Date de consommation": "",
"Date Limite de Consommation": "",
"Des produits incontournables, Authentiques et Innovants !": "Parcourez nos gammes et trouvez les produits qui vous feront plaisir.",
"Doux": "Doux",
"Doux Food Services": "",
"Doux, La référence française de la volaille": "Doux, La référence française de la volaille",
"Découvrez DOUX, des produits de volailles françaises.": "Découvrez DOUX, des produits de volailles françaises",
"Découvrez tous nos produits à base de volaille.": "",
"Découvrir": "Découvrir",
"E-Mail Address": "Adresse e-mail",
"Email": "",
"Email Address": "Adresse e-mail",
"En savoir +": "",
"En savoir plus": "",
"Envoyer": "",
"Food service": "",
"Forbidden": "Interdit",
"Forgot Your Password?": "Mot de passe oublié ?",
"Gammes": "",
"Gestion des cookies": "",
"Go Home": "Aller à l'accueil",
"Go to page :page": "Aller à la page :page",
"Grignottes de poulet": "",
"Guadeloupe": "",
"Guyane": "",
"Hello!": "Bonjour !",
"If you did not create an account, no further action is required.": "Si vous n'avez pas créé de compte, vous pouvez ignorer ce message.",
"If you did not receive the email": "Si vous n'avez pas reçu cet e-mail",
"If you did not request a password reset, no further action is required.": "Si vous n'avez pas demandé de réinitialisation de mot de passe, vous pouvez ignorer ce message.",
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Si vous avez des difficultés à cliquer sur le bouton \":actionText\", copiez et collez l'URL ci-dessous\ndans votre navigateur Web:",
"Insérer une pièce jointe": "",
"L'actualité de la marque Doux": "",
"La marque": "",
"La Réunion": "",
"Les actualités Doux": "",
"Les produits": "Les produits",
"Lieu d'achat": "",
"Login": "Connexion",
"Logout": "Déconnexion",
"Madame": "",
"Marque": "Marque",
"Martinique": "",
"Mayotte": "",
"Mentions légales": "Mentions légales et CGU",
"Message": "",
"Monsieur": "",
"Name": "Nom",
"Nom": "",
"Nom du produit": "",
"Nos conseils ...": "Nos conseils ...",
"Nos gammes produits": "Nos gammes produits",
"Nos nouveautés": "Produits à la une",
"Nos services mettent tout en oeuvre pour y répondre au plus vite.": "",
"Not Found": "Non trouvé",
"Notre Histoire": "Depuis 1933 à vos côtés",
"Nous contacter": "",
"Nous Rejoindre": "",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleur qualité": "Ne ratez aucune de nos nouveautés",
"Nous travaillons toujours pour améliorer nos recettes et proposer des produits de meilleure qualité": "Ne ratez aucune de nos nouveautés",
"Nouvelle-Calédonie": "",
"Numéro de lot": "",
"N’hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.": "",
"of": "de",
"Oh no": "Oh non",
"Oups ! Une erreur s’est produite...": "",
"Page Expired": "Page expirée",
"Pagination Navigation": "Pagination",
"Password": "Mot de passe",
"Photo de l'emballage": "Photo de l'emballage",
"Photo de l’emballage": "",
"Plan du site": "",
"Please click the button below to verify your email address.": "Veuillez cliquer sur le bouton ci-dessous pour vérifier votre adresse e-mail :",
"Please confirm your password before continuing.": "Veuillez confirmer votre mot de passe avant de continuer.",
"Polynésie française": "",
"Poulet rôti": "",
"Poulet, Cordon bleu ou Wing's ?": "",
"Produits": "Produits",
"Préciser votre demande": "",
"Prénom": "",
"Qui sommes-nous": "Qui sommes-nous",
"Recherchez un produit": "",
"Regards": "Cordialement",
"Register": "Inscription",
"Remember Me": "Se souvenir de moi",
"Reset Password": "Réinitialisation du mot de passe",
"Reset Password Notification": "Notification de réinitialisation du mot de passe",
"results": "résultats",
"Réclamation produit": "",
"Résultats": "Résultats",
"Saint-Barthélémy": "",
"Saint-Martin": "",
"Saint-Pierre-et-Miquelon": "",
"Send Password Reset Link": "Envoyer le lien de réinitialisation du mot de passe",
"Server Error": "Erreur serveur",
"Service Unavailable": "Service indisponible",
"Showing": "Montrant",
"Suggestion de poulet frit": "",
"Sélectionnez un département": "",
"Sélectionnez un pays": "",
"Terres australes et antarctiques françaises": "",
"The :attribute must contain at least one letter.": "Le champ :attribute doit avoir au moins une lettre.",
"The :attribute must contain at least one number.": "Le champ :attribute doit avoir au moins un numéro.",
"The :attribute must contain at least one symbol.": "Le champ :attribute doit avoir au moins un symbole.",
"The :attribute must contain at least one uppercase and one lowercase letter.": "Le champ :attribute doit avoir au moins une lettre majuscule et une lettre minuscule.",
"The given :attribute has appeared in a data leak. Please choose a different :attribute.": "La valeur du champ :attribute est apparue dans une fuite de données. Veuillez choisir une valeur différente.",
"This password reset link will expire in :count minutes.": "Ce lien de réinitialisation du mot de passe expirera dans :count minutes.",
"to": "à",
"Toggle navigation": "Basculer la navigation",
"Too Many Requests": "Trop de requêtes",
"Tous les produits Doux": "",
"Toutes nos gammes": "Les gammes disponibles",
"Téléphone": "",
"Unauthorized": "Non autorisé",
"Une question ? Une idée ? Un conseil ?<br>Des informations sur nos produits ?": "",
"Verify Email Address": "Vérification de l'adresse e-mail",
"Verify Your Email Address": "Vérifiez votre adresse e-mail",
"Ville": "",
"Vos coordonnées": "",
"Votre message a bien été envoyé !": "",
"Votre message n’a pas pu être envoyé.<br>Nous en sommes désolés et vous prions<br>de bien vouloir réessayer plus tard.": "",
"Vous devez accepter les cookies reCaptcha pour utiliser les formulaires.": "",
"Wallis-et-Futuna": "",
"Whoops!": "Oups !",
"You are logged in!": "Vous êtes connecté(e) !",
"You are receiving this email because we received a password reset request for your account.": "Vous recevez cet e-mail car nous avons reçu une demande de réinitialisation de mot de passe pour votre compte.",
"Île de Clipperton": ""
}

View file

@ -1,18 +1,7 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used during authentication for various
| messages that we need to display to the user. You are free to modify
| these language lines according to your application's requirements.
|
*/
'failed' => 'Ces identifiants ne correspondent pas à nos enregistrements',
'failed' => 'Ces identifiants ne correspondent pas à nos enregistrements.',
'password' => 'Le mot de passe fourni est incorrect.',
'throttle' => 'Tentatives de connexion trop nombreuses. Veuillez essayer de nouveau dans :seconds secondes.',
];

View file

@ -1,28 +1,24 @@
<?php
// * Version 4.1.0
// * Version 5.0.7
// phpcs:disable
return [
'button_customize_cookies' => 'Personnaliser les cookies',
'button_close_cookies' => 'Fermer la fenêtre des cookies',
'button_forbid' => 'Interdire',
'button_allow' => 'Autoriser',
'button_toggle_cookie' => 'Autoriser ou refuser',
'button_forbid_all' => 'Tout refuser',
'button_allow_all' => 'Tout accepter',
'button_forbid_all_title' => 'Refuser tous les cookies et fermer le panneau des cookies',
'button_allow_all_title' => 'Accepter tous les cookies et fermer le panneau des cookies',
'button_customize' => 'Personnaliser',
'button_back' => 'Retour',
'button_validate_and_close' => 'Valider et fermer',
'button_title_open_new_tab' => 'Ouvrir le lien dans un nouvel onglet',
'banner_title' => 'Le site internet :site_name utilise des cookies !',
'banner_text' => 'Nous utilisons des cookies pour nous assurer du bon fonctionnement de notre site et à des fins analytiques.
Vous pouvez changer d’avis à tout moment en cliquant sur l’icône présente sur chaque page de notre site.
En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l’utilisation de technologies de suivi nécessaires à leur bon fonctionnement.',
'modal_title' => 'Fenêtre de gestion de cookies',
'panel_title' => 'Panneau de gestion des cookies',
'panel_content' => 'Contenu du panneau des cookies',
'panel_subtitle' => 'Le respect de votre vie privée est notre priorité',
'panel_details' => 'Les fonctionnalités de ce site s’appuient sur des services proposés par des tiers. Si vous acceptez, ces tiers déposeront des cookies qui vous permettront de visualiser sur le site du contenu hébergé par ces tiers. Via ces cookies, ces tiers collecteront et utiliseront vos données de navigation pour des finalités qui leur sont propres, conformément à leur politique de confidentialité (lien ci-dessous). Cette page vous permet de donner ou de retirer votre consentement, soit globalement soit service par service.',
'picture_cookie_title' => 'Image d’un bon gros cookie',
'navigation_title' => 'Navigation du panneau des cookies',
'custom' => [

View file

@ -1,17 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Pagination Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the paginator library to build
| the simple pagination links. You are free to change them to anything
| you want to customize your views to better match your application.
|
*/
'previous' => '&laquo; Précédent',
'next' => 'Suivant &raquo;',
'previous' => '&laquo; Précédent',
];

View file

@ -1,20 +1,9 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Password Reminder Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are the default lines which match reasons
| that are given by the password broker for a password update attempt
| has failed, such as for an invalid token or invalid new password.
|
*/
'reset' => 'Votre mot de passe a été réinitialisé !',
'sent' => 'Nous vous avons envoyé par email le lien de réinitialisation du mot de passe !',
'throttled' => 'Veuillez patienter avant de réessayer.',
'token' => "Ce jeton de réinitialisation du mot de passe n'est pas valide.",
'user' => "Aucun utilisateur n'a été trouvé avec cette adresse email.",
'token' => 'Ce jeton de réinitialisation du mot de passe n\'est pas valide.',
'user' => 'Aucun utilisateur n\'a été trouvé avec cette adresse email.',
];

View file

@ -24,9 +24,7 @@ return array (
),
'contact' =>
array (
'acceptcgu' => 'J’accepte les conditions générales d’utilisation du site et autorise la Société Bretonne de Volaille à traiter mes données personnelles conformément à la Charte de confidentialité.',
'disclaimer' => 'Les informations que vous nous communiquez sont collectées et traitées par la Société Bretonne de Volaille, responsable de traitement selon les finalités définies dans notre Charte de confidentialité. Ces informations sont destinées au personnel de la Société Bretonne de Volaille et peuvent être partagées avec ses sous-traitants.<br />
A tout moment, vous pouvez retirer votre consentement. Pour toute information complémentaire concernant vos données personnelles et vos droits, merci de consulter notre <a href=":PRIVROUTE">Charte de confidentialité.</a>',
'disclaimer' => 'Les informations recueillies à partir de ce formulaire sont traitées par le Responsable de Traitement pour donner suite à votre demande de contact. Pour connaître vos droits, vous pouvez consulter la <a href=":PRIVROUTE">Charte de confidentialité.</a>',
),
'cookie' =>
array (

View file

@ -1,19 +1,9 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages.
|
*/
'accepted' => 'Le champ :attribute doit être accepté.',
'active_url' => "Le champ :attribute n'est pas une URL valide.",
'accepted_if' => 'Le champ :attribute doit être accepté quand :other a la valeur :value.',
'active_url' => 'Le champ :attribute n\'est pas une URL valide.',
'after' => 'Le champ :attribute doit être une date postérieure au :date.',
'after_or_equal' => 'Le champ :attribute doit être une date postérieure ou égale au :date.',
'alpha' => 'Le champ :attribute doit contenir uniquement des lettres.',
@ -23,165 +13,150 @@ return [
'before' => 'Le champ :attribute doit être une date antérieure au :date.',
'before_or_equal' => 'Le champ :attribute doit être une date antérieure ou égale au :date.',
'between' => [
'numeric' => 'La valeur de :attribute doit être comprise entre :min et :max.',
'file' => 'La taille du fichier de :attribute doit être comprise entre :min et :max kilo-octets.',
'string' => 'Le texte :attribute doit contenir entre :min et :max caractères.',
'array' => 'Le tableau :attribute doit contenir entre :min et :max éléments.',
'file' => 'La taille du fichier de :attribute doit être comprise entre :min et :max kilo-octets.',
'numeric' => 'La valeur de :attribute doit être comprise entre :min et :max.',
'string' => 'Le texte :attribute doit contenir entre :min et :max caractères.',
],
'boolean' => 'Le champ :attribute doit être vrai ou faux.',
'confirmed' => 'Le champ de confirmation :attribute ne correspond pas.',
'date' => "Le champ :attribute n'est pas une date valide.",
'current_password' => 'Le mot de passe est incorrect.',
'date' => 'Le champ :attribute n\'est pas une date valide.',
'date_equals' => 'Le champ :attribute doit être une date égale à :date.',
'date_format' => 'Le champ :attribute ne correspond pas au format :format.',
'declined' => 'Le champ :attribute doit être décliné.',
'declined_if' => 'Le champ :attribute doit être décliné quand :other a la valeur :value.',
'different' => 'Les champs :attribute et :other doivent être différents.',
'digits' => 'Le champ :attribute doit contenir :digits chiffres.',
'digits_between' => 'Le champ :attribute doit contenir entre :min et :max chiffres.',
'dimensions' => "La taille de l'image :attribute n'est pas conforme.",
'dimensions' => 'La taille de l\'image :attribute n\'est pas conforme.',
'distinct' => 'Le champ :attribute a une valeur en double.',
'email' => 'Le champ :attribute doit être une adresse email valide.',
'email' => 'Le champ :attribute doit être une adresse e-mail valide.',
'ends_with' => 'Le champ :attribute doit se terminer par une des valeurs suivantes : :values',
'enum' => 'Le champ :attribute sélectionné est invalide.',
'exists' => 'Le champ :attribute sélectionné est invalide.',
'file' => 'Le champ :attribute doit être un fichier.',
'filled' => 'Le champ :attribute doit avoir une valeur.',
'gt' => [
'numeric' => 'La valeur de :attribute doit être supérieure à :value.',
'file' => 'La taille du fichier de :attribute doit être supérieure à :value kilo-octets.',
'string' => 'Le texte :attribute doit contenir plus de :value caractères.',
'array' => 'Le tableau :attribute doit contenir plus de :value éléments.',
'file' => 'La taille du fichier de :attribute doit être supérieure à :value kilo-octets.',
'numeric' => 'La valeur de :attribute doit être supérieure à :value.',
'string' => 'Le texte :attribute doit contenir plus de :value caractères.',
],
'gte' => [
'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :value.',
'file' => 'La taille du fichier de :attribute doit être supérieure ou égale à :value kilo-octets.',
'string' => 'Le texte :attribute doit contenir au moins :value caractères.',
'array' => 'Le tableau :attribute doit contenir au moins :value éléments.',
'file' => 'La taille du fichier de :attribute doit être supérieure ou égale à :value kilo-octets.',
'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :value.',
'string' => 'Le texte :attribute doit contenir au moins :value caractères.',
],
'image' => 'Le champ :attribute doit être une image.',
'in' => 'Le champ :attribute est invalide.',
'in_array' => "Le champ :attribute n'existe pas dans :other.",
'in_array' => 'Le champ :attribute n\'existe pas dans :other.',
'integer' => 'Le champ :attribute doit être un entier.',
'ip' => 'Le champ :attribute doit être une adresse IP valide.',
'ipv4' => 'Le champ :attribute doit être une adresse IPv4 valide.',
'ipv6' => 'Le champ :attribute doit être une adresse IPv6 valide.',
'json' => 'Le champ :attribute doit être un document JSON valide.',
'lt' => [
'numeric' => 'La valeur de :attribute doit être inférieure à :value.',
'file' => 'La taille du fichier de :attribute doit être inférieure à :value kilo-octets.',
'string' => 'Le texte :attribute doit contenir moins de :value caractères.',
'array' => 'Le tableau :attribute doit contenir moins de :value éléments.',
'file' => 'La taille du fichier de :attribute doit être inférieure à :value kilo-octets.',
'numeric' => 'La valeur de :attribute doit être inférieure à :value.',
'string' => 'Le texte :attribute doit contenir moins de :value caractères.',
],
'lte' => [
'numeric' => 'La valeur de :attribute doit être inférieure ou égale à :value.',
'file' => 'La taille du fichier de :attribute doit être inférieure ou égale à :value kilo-octets.',
'string' => 'Le texte :attribute doit contenir au plus :value caractères.',
'array' => 'Le tableau :attribute doit contenir au plus :value éléments.',
'file' => 'La taille du fichier de :attribute doit être inférieure ou égale à :value kilo-octets.',
'numeric' => 'La valeur de :attribute doit être inférieure ou égale à :value.',
'string' => 'Le texte :attribute doit contenir au plus :value caractères.',
],
'mac_address' => 'Le champ :attribute doit être une adresse MAC valide.',
'max' => [
'numeric' => 'La valeur de :attribute ne peut être supérieure à :max.',
'array' => 'Le tableau :attribute ne peut pas contenir plus que :max éléments.',
'file' => 'La taille du fichier de :attribute ne peut pas dépasser :max kilo-octets.',
'string' => 'Le texte de :attribute ne peut contenir plus de :max caractères.',
'array' => 'Le tableau :attribute ne peut contenir plus de :max éléments.',
'numeric' => 'La valeur de :attribute ne peut pas être supérieure à :max.',
'string' => 'Le texte de :attribute ne peut pas contenir plus de :max caractères.',
],
'mimes' => 'Le champ :attribute doit être un fichier de type : :values.',
'mimetypes' => 'Le champ :attribute doit être un fichier de type : :values.',
'min' => [
'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :min.',
'file' => 'La taille du fichier de :attribute doit être supérieure à :min kilo-octets.',
'string' => 'Le texte :attribute doit contenir au moins :min caractères.',
'array' => 'Le tableau :attribute doit contenir au moins :min éléments.',
'file' => 'La taille du fichier de :attribute doit être supérieure ou égale à :min kilo-octets.',
'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :min.',
'string' => 'Le texte :attribute doit contenir au moins :min caractères.',
],
'multiple_of' => 'La valeur de :attribute doit être un multiple de :value',
'not_in' => "Le champ :attribute sélectionné n'est pas valide.",
'not_regex' => "Le format du champ :attribute n'est pas valide.",
'not_in' => 'Le champ :attribute sélectionné n\'est pas valide.',
'not_regex' => 'Le format du champ :attribute n\'est pas valide.',
'numeric' => 'Le champ :attribute doit contenir un nombre.',
'password' => 'Le mot de passe est incorrect',
'phone' => 'Le champ :attribute n\'est pas un numéro de téléphone valide.',
'present' => 'Le champ :attribute doit être présent.',
'prohibited' => 'Le champ :attribute est interdit.',
'prohibited_if' => 'Le champ :attribute est interdit quand :other a la valeur :value.',
'prohibited_unless' => 'Le champ :attribute est interdit à moins que :other est l\'une des valeurs :values.',
'prohibits' => 'Le champ :attribute interdit :other d\'être présent.',
'regex' => 'Le format du champ :attribute est invalide.',
'required' => 'Le champ :attribute est obligatoire.',
'required_array_keys' => 'Le champ :attribute doit contenir des entrées pour : :values.',
'required_if' => 'Le champ :attribute est obligatoire quand la valeur de :other est :value.',
'required_unless' => 'Le champ :attribute est obligatoire sauf si :other est :values.',
'required_with' => 'Le champ :attribute est obligatoire quand :values est présent.',
'required_with_all' => 'Le champ :attribute est obligatoire quand :values sont présents.',
'required_without' => "Le champ :attribute est obligatoire quand :values n'est pas présent.",
'required_without_all' => "Le champ :attribute est requis quand aucun de :values n'est présent.",
'required_without' => 'Le champ :attribute est obligatoire quand :values n\'est pas présent.',
'required_without_all' => 'Le champ :attribute est requis quand aucun de :values n\'est présent.',
'same' => 'Les champs :attribute et :other doivent être identiques.',
'size' => [
'numeric' => 'La valeur de :attribute doit être :size.',
'file' => 'La taille du fichier de :attribute doit être de :size kilo-octets.',
'string' => 'Le texte de :attribute doit contenir :size caractères.',
'array' => 'Le tableau :attribute doit contenir :size éléments.',
'file' => 'La taille du fichier de :attribute doit être de :size kilo-octets.',
'numeric' => 'La valeur de :attribute doit être :size.',
'string' => 'Le texte de :attribute doit contenir :size caractères.',
],
'starts_with' => 'Le champ :attribute doit commencer avec une des valeurs suivantes : :values',
'string' => 'Le champ :attribute doit être une chaîne de caractères.',
'timezone' => 'Le champ :attribute doit être un fuseau horaire valide.',
'unique' => 'La valeur du champ :attribute est déjà utilisée.',
'uploaded' => "Le fichier du champ :attribute n'a pu être téléversé.",
'url' => "Le format de l'URL de :attribute n'est pas valide.",
'uploaded' => 'Le fichier du champ :attribute n\'a pu être téléversé.',
'url' => 'Le format de l\'URL de :attribute n\'est pas valide.',
'uuid' => 'Le champ :attribute doit être un UUID valide',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'phone' => 'Le champ :attribute n\'est pas un numéro de téléphone valide.',
'custom' => [
'attributes' => [
'address' => 'adresse',
'age' => 'âge',
'answers' => 'réponses',
'answers.*' => 'réponse',
'available' => 'disponible',
'breeder_code' => 'code éleveur',
'city' => 'ville',
'content' => 'contenu',
'country' => 'pays',
'date' => 'date',
'day' => 'jour',
'description' => 'description',
'email' => 'adresse email',
'excerpt' => 'extrait',
'first_name' => 'prénom',
'gender' => 'genre',
'hour' => 'heure',
'last_name' => 'nom',
'minute' => 'minute',
'mobile' => 'portable',
'month' => 'mois',
'name' => 'nom',
'password' => 'mot de passe',
'password_confirmation' => 'confirmation du mot de passe',
'phone' => 'téléphone',
'picture' => 'image',
'postal_code' => 'code postal',
'second' => 'seconde',
'sex' => 'sexe',
'size' => 'taille',
'time' => 'heure',
'title' => 'titre',
'username' => 'nom d\'utilisateur',
'year' => 'année',
],
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [
'name' => 'nom',
'username' => "nom d'utilisateur",
'email' => 'adresse email',
'first_name' => 'prénom',
'last_name' => 'nom',
'password' => 'mot de passe',
'password_confirmation' => 'confirmation du mot de passe',
'city' => 'ville',
'country' => 'pays',
'address' => 'adresse',
'phone' => 'téléphone',
'mobile' => 'portable',
'age' => 'âge',
'sex' => 'sexe',
'gender' => 'genre',
'day' => 'jour',
'month' => 'mois',
'year' => 'année',
'hour' => 'heure',
'minute' => 'minute',
'second' => 'seconde',
'title' => 'titre',
'content' => 'contenu',
'description' => 'description',
'excerpt' => 'extrait',
'date' => 'date',
'time' => 'heure',
'available' => 'disponible',
'size' => 'taille',
'answers' => 'réponses',
'answers.*' => 'réponse',
'postal_code' => 'code postal',
'picture' => 'image',
'breeder_code' => 'code éleveur'
],
];

View file

@ -27,4 +27,5 @@
@import "timeline";
@import "custom";
@import "./partials/cn-inline-buttons";
@import "~@ldc-web/cookie-notice";

View file

@ -0,0 +1,162 @@
$large-screen: 1366px;
$big-screen: 1200px;
$desktop: 1024px;
$tablet: 768px;
$mobile: 500px;
$xmobile: 320px;
@mixin min-width($width) {
@media screen and (min-width: $width),
print and (min-width: $width) {
@content;
}
}
.cn-cookie-activate {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0.6rem 1rem;
background-color: #fff;
border-radius: 1rem;
// * Prevent weird theme override
font-size: calc(0.9rem + 0.1vw) !important;
border-style: solid;
border-width: 2px;
border-color: $color-main;
@include min-width($mobile) {
max-width: 80%;
// * Prevent weird theme override
font-size: calc(0.9rem + 0.1vw) !important;
}
@include min-width($tablet) {
max-width: 70%;
flex-direction: row;
}
@include min-width($desktop) {
max-width: 50%;
}
&.d-none {
display: none !important;
}
&.d-flex-column {
flex-direction: column !important;
}
&.w-100 {
max-width: inherit !important;
}
// * Prevent weird theme override
span {
padding: 0.3rem;
color: $color-main !important;
font-size: calc(0.9rem + 0.1vw) !important;
font-weight: 800;
text-align: center !important;
@include min-width($mobile) {
font-size: calc(0.9rem + 0.1vw) !important;
}
}
button {
height: fit-content;
padding: 0.8rem 0.6rem;
border-width: 0.1rem;
border-radius: 1rem;
border-style: solid;
font-size: 0.9rem !important;
border-color: $color-second;
color: $color-second;
text-transform: uppercase;
font-weight: bold;
transition: all .3s;
&:hover,
&:focus {
transition: all .3s;
background-color: $color-second;
color: #fff;
}
@include min-width($mobile) {
// * Prevent weird theme override
font-size: calc(0.9rem + 0.1vw) !important;
}
@include min-width($tablet) {
// * Prevent weird theme override
font-size: calc(0.9rem - 0.1vw) !important;
}
@include min-width($desktop) {
// * Prevent weird theme override
font-size: 0.9rem !important;
}
}
>span {
display: flex;
flex-direction: column;
margin-bottom: 0.9rem;
color: $color-main;
font-weight: bold;
@include min-width($mobile) {
margin-bottom: initial;
}
>small {
color: initial;
font-weight: initial;
opacity: 0.5;
}
}
}
/* stylelint-disable-next-line selector-id-pattern */
#r_captcha {
display: flex;
width: inherit;
justify-content: center;
padding: 0;
margin: 0;
.g-recaptcha {
margin: 1rem 0;
}
}
.w-100 {
width: 100% !important;
}
.h-100 {
height: 100% !important;
}
// * CKEDITOR
.ck-content .video-inlaid {
display: flex !important;
justify-content: center !important;
iframe {
/** 16/9 */
width: 22rem;
height: 12.375rem;
@include min-width($mobile) {
width: 28rem;
height: 15.75rem;
}
}
}

View file

@ -58,7 +58,7 @@
<h2 class="punchline-module__title align-center animate__animated fadeInUp animate__slow">{!! __('Une question ? Une idée ? Un conseil ?<br>Des informations sur nos produits ?') !!}</h2>
</div>
<p class="align-center">{!! __(
'N\'hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.',
'N’hésitez-pas à nous contacter en renseignant le formulaire ci-dessous.<br>Nous traiterons votre demande avec la plus grande attention dans les meilleurs délais.',
) !!}</p>
@if (session()->has('status'))
<div class="form-result form-result_confirm">
@ -66,15 +66,23 @@
<div class="form-result__text">{{ __('Nos services mettent tout en oeuvre pour y répondre au plus vite.') }}</div>
</div>
@endif
<form class="form contact__form" id="contact-form" action="{{ route($routeprefixer . 'contact.submit') }}" method="post"
enctype="multipart/form-data">
<form class="form contact__form" id="form-submit" id="contact-form" action="{{ route($routeprefixer . 'contact.submit') }}"
method="post" enctype="multipart/form-data">
@csrf
@if ($errors->any())
@foreach ($errors->all() as $error)
<div class="form-result_error">{{ $error }}</div>
@endforeach
@endif
<fieldset>
<div>
@include('front.partials.inline-cookie', [
'class' => ['d-flex-column'],
'cookie_name' => 'recaptcha',
'text_line_1' => __('Vous devez accepter les cookies reCaptcha pour utiliser les formulaires.'),
'text_line_2' => __('Acceptez ce cookie pour utiliser les formulaires'),
])
</div>
<fieldset class="inert">
<legend>{{ __('Vos coordonnées') }} :</legend>
<label class="radio-label">{{ __('Monsieur') }}
@ -149,7 +157,7 @@
</div>
</div>
</fieldset>
<fieldset>
<fieldset class="inert">
<legend>{{ __('Préciser votre demande') }} :</legend>
<div class="ck-button">
<label>
@ -209,15 +217,7 @@
</div>
</fieldset>
<p class="is-small">{!! __('rgpd.contact.disclaimer', ['PRIVROUTE' => route($routeprefixer . 'policy')]) !!}</P>
<div class="is-small">
<input id="rgpd" name="rgpd" type="checkbox" required>
<label for="rgpd">{{ __('rgpd.contact.acceptcgu') }}</label>
</div>
<a class="cn-cookie-link" id="recaptcha-warning" href="" rel="nofollow">
<strong class="text-underline text-bold text-normal text-danger">
{{ __('cookie-notice.custom.recaptcha.warning') }}
</strong>
</a>
<div class="d-flex flex-column justify-content-center align-items-center">
<div id="r_captcha"></div>
@if ($errors->has('g-recaptcha-response'))
@ -225,11 +225,10 @@
<span class="text-danger">{{ $errors->first('g-recaptcha-response') }}</span>
</div>
@endif
<p>{{ __('*Champ obligatoire') }}</p>
<p>*{{ __('Champ obligatoire') }}</p>
</div>
<div class="align-center">
<div class="g-recaptcha" data-sitekey="{{ config('services.google.recaptcha.public') }}"></div>
<input type="submit" value="Envoyer">
<div class="align-center inert">
<input type="submit" value="{{ __('Envoyer') }}">
</div>
</form>
</div>
@ -244,7 +243,7 @@
for (let elem of collection) {
elem.style.display = 'flex';
}
document.getElementById('lblFile').innerHTML = 'Photo de l\'emballage*';
document.getElementById('lblFile').innerHTML = '{{ __('Photo de l’emballage') }}*';
document.getElementById('file').required = true;
}
@ -253,7 +252,7 @@
for (let elem of collection) {
elem.style.display = 'none';
}
document.getElementById('lblFile').innerHTML = 'Insérer une pièce jointe';
document.getElementById('lblFile').innerHTML = '{{ __('Insérer une pièce jointe') }}';
document.getElementById('file').required = false;
}
@ -280,27 +279,36 @@
</script>
<script nonce="{{ $nonce }}">
document.addEventListener('DOMContentLoaded', function() {
window.__CN_Recaptcha = function() {
(function(d, t) {
let g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src = 'https://www.google.com/recaptcha/api.js?render=explicit&onload=__CN_Recaptcha_Loaded';
s.parentNode.insertBefore(g, s)
}(document, 'script'));
};
window.__CN_Recaptcha_Loaded = function() {
grecaptcha.render('r_captcha', {
'sitekey': '{{ config('services.google.recaptcha.public') }}'
});
document.getElementById('recaptcha-warning').remove();
document.getElementById('contact-form').inert = false;
};
});
function onSubmit(token) {
document.getElementById("contact-form").submit();
}
const initFormCaptcha = () => {
const newDiv = document.createElement("div");
newDiv.classList.add('g-recaptcha');
document.getElementById('r_captcha').appendChild(newDiv);
[...document.querySelectorAll('#form-submit .inert')].forEach(el => {
el.inert = true;
});
};
window.__CN_Recaptcha = function() {
initFormCaptcha();
(function(d, t) {
let g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src = 'https://www.google.com/recaptcha/api.js?render=explicit&onload=__CN_Recaptcha_Loaded';
s.parentNode.insertBefore(g, s)
}(document, 'script'));
};
window.__CN_Recaptcha_Reset = function() {
document.querySelector('#r_captcha > div')?.remove();
[...document.querySelectorAll('#form-submit .inert')].forEach(el => {
el.inert = true;
});
};
window.__CN_Recaptcha_Loaded = function() {
[...document.querySelectorAll('#form-submit .inert')].forEach(el => {
el.inert = false;
});
grecaptcha.render(document.querySelector('#r_captcha > div'), {
'sitekey': "{{ config('services.google.recaptcha.public') }}"
});
};
</script>
@endpush

View file

@ -0,0 +1,9 @@
<span data-cookie-name="{{ $cookie_name }}" @class(array_merge(['cn-cookie-activate w-100'], $class ?? []))>
<span>
<span>{{ $text_line_1 }}</span>
@if (!empty($text_line_2))
<small>{{ $text_line_2 }}</small>
@endif
</span>
<button class="button brown">{{ __('Authorize') }}</button>
</span>

View file

@ -12,7 +12,7 @@
<main>
@yield('content')
</main>
@include('vendor.cn-cookies')
@include('vendor.ldcweb-cookies')
@include('layouts.frontend.app-footer')
</div>

View file

@ -33,19 +33,14 @@
<span>{!! nl2br(e($strings->banner_title)) !!}</span>
</div>
<div class="cn-banner-para-p">
<p>{!! nl2br(e($strings->banner_text)) !!}</p>
<p>{!! $strings->banner_text !!}</p>
</div>
</div>
</div>
{{-- 2ND PAGE CUSTOMIZE PANEL --}}
<div class="cn-modal-container d-none">
<p class="cn-modal-title" aria-level="h2">{{ $strings->panel_title }}</p>
<p class="cn-modal-subtitle">{!! nl2br(e($strings->panel_subtitle)) !!}</p>
<p class="cn-modal-description">{!! nl2br(e($strings->panel_details)) !!}</p>
<div class="cn-modal-wrapper">
{{-- COOKIES LIST --}}
<ul id="cn-modal-list"></ul>
</div>
{{-- COOKIES LIST --}}
<ul id="cn-modal-list"></ul>
</div>
</div>
{{-- NAV BAR --}}
@ -54,7 +49,7 @@
title="{{ $strings->button_forbid_all_title }}">{{ $strings->button_forbid_all }}</button>
<button class="cn-banner-btn cn-accept" id="cn-accept-banner"
title="{{ $strings->button_allow_all_title }}">{{ $strings->button_allow_all }}</button>
<button class="cn-banner-btn cn-custom" id="cn-settings-banner" data-open-modal="{{ $strings->button_back }}"
<button class="cn-banner-btn cn-custom" id="cn-settings-banner" data-open-modal="{{ $strings->button_validate_and_close }}"
data-close-modal="{{ $strings->button_customize }}">{{ $strings->button_customize }}</button>
</div>
@ -67,14 +62,11 @@
<a class="cn-cookie-link" title="{{ $strings->button_title_open_new_tab }}" target="blank">#link</a>
</div>
<div class="cn-cookie-buttons">
<div class="deny">
<input id="" name="" data-name="" data-status="false" type="radio">
<label for="" role="button" tabindex="0">{{ $strings->button_forbid }}</label>
</div>
<div class="accept">
<input id="" name="" data-name="" data-status="true" type="radio">
<label for="" role="button" tabindex="0">{{ $strings->button_allow }}</label>
</div>
<label class="cn-switch" title="{{ $strings->button_toggle_cookie }}" role="checkbox"
aria-label="{{ $strings->button_toggle_cookie }}" aria-checked="undefined" tabindex="0">
<input type="checkbox" tabindex="-1" />
<span></span>
</label>
</div>
</div>
</div>

View file

@ -0,0 +1,130 @@
{{-- blade-formatter-disable --}}
@php
$site_name = Str::ucfirst(config('app.name'));
$logo_picture_url = asset('assets/images/logo-doux.png');
$logo_title_text = Str::ucfirst(__('cookie-notice.logo_title_text', ['name' => $site_name]));
$logo_alt_text = Str::ucfirst(__('cookie-notice.logo_alt_text'));
$strings = (object)[
'modal_title' => __('cookie-notice.modal_title'),
'button_customize_cookies' => __('cookie-notice.button_customize_cookies'),
'button_close_cookies' => __('cookie-notice.button_close_cookies'),
'button_title_open_new_tab' => __('cookie-notice.button_title_open_new_tab'),
'button_toggle_cookie' => __('cookie-notice.button_toggle_cookie'),
'button_forbid_all' => Str::upper(__('cookie-notice.button_forbid_all')),
'button_allow_all' => Str::upper(__('cookie-notice.button_allow_all')),
'button_customize' => Str::upper(__('cookie-notice.button_customize')),
'button_forbid_all_title' => __('cookie-notice.button_forbid_all_title'),
'button_allow_all_title' => __('cookie-notice.button_allow_all_title'),
'button_validate_and_close' => Str::upper(__('cookie-notice.button_validate_and_close')),
'banner_title' => __('cookie-notice.banner_title', ['site_name' => $site_name]),
'banner_text' => sprintf(
"%s<br><br>%s",
__('cookie-notice.banner_text'),
"<a class='underline' href='" . route($routeprefixer . 'policy') . "'>" . __('Charte de confidentialité') . "</a>"
),
'panel_content' => __('cookie-notice.panel_content'),
'picture_cookie_title' => __('cookie-notice.picture_cookie_title'),
'navigation_title' => __('cookie-notice.navigation_title'),
];
$cookies = [];
// RECAPTCHA
$cookies['recaptcha'] = [
'name' => __('cookie-notice.custom.recaptcha.title'),
'description' => __('cookie-notice.custom.recaptcha.description'),
'link' => 'https://policies.google.com/privacy',
'labelLink' => __('En savoir +'),
'cookies' => ['NID', '__Secure-3PAPISID', '__Secure-3PSID', '__Secure-3PSIDCC']
];
$cookies['recaptcha']['script'] = <<<SCRIPT
function () {
if (window.__CN_Recaptcha) {
window.__CN_Recaptcha();
}
[...document.getElementsByClassName('cn-cookie-activate')].forEach(function(el) {
if (el.dataset.cookieName === 'recaptcha') {
el.classList.add('d-none');
}
});
}
SCRIPT;
$cookies['recaptcha']['fallback'] = <<<FALLBACK
function () {
if (window.__CN_Recaptcha_Reset) {
window.__CN_Recaptcha_Reset();
}
[...document.getElementsByClassName('cn-cookie-activate')].forEach(function(el) {
if (el.dataset.cookieName === 'recaptcha') {
el.classList.remove('d-none');
}
});
}
FALLBACK;
// MATOMO
$cookies['matomo'] = [
'name' => __('cookie-notice.custom.matomo.title'),
'description' => __('cookie-notice.custom.matomo.description'),
'link' => 'https://fr.matomo.org/gdpr-analytics/',
'labelLink' => __('En savoir +'),
'cookies' => ['_pk']
];
$cookies['matomo']['script'] = <<<SCRIPT
function () {
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//yl.s-web.fr/";
_paq.push(['setTrackerUrl', u+'rainbow']);
_paq.push(['setSiteId', '
SCRIPT;
$cookies['matomo']['script'] .= config("services.matomo.site_id");
$cookies['matomo']['script'] .= <<<SCRIPT
']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'unicorn'; s.parentNode.insertBefore(g,s);
})();
}
SCRIPT;
@endphp
{{-- INCLUDE TEMPLATE --}}
@include('vendor.cookie-notice.templates.standard', compact(
'site_name', 'logo_picture_url', 'logo_alt_text',
'logo_title_text', 'strings'
))
<script nonce="{{ $nonce ?? '' }}">
document.addEventListener('DOMContentLoaded', function () {
window.WebCookieNotice = {};
@foreach($cookies as $index_name => $cookie)
window.WebCookieNotice['{{ $index_name }}'] = {};
window.WebCookieNotice['{{ $index_name }}'].tmp = {};
// SCRIPT
window.WebCookieNotice['{{ $index_name }}'].tmp.script = {!! strip_tags($cookie['script']) !!};
@php unset($cookie['script']); @endphp
// FALLBACK
@if(isset($cookie['fallback']))
window.WebCookieNotice['{{ $index_name }}'].tmp.fallback = {!! strip_tags($cookie['fallback']) !!};
@php unset($cookie['fallback']); @endphp
@endif
window.WebCookieNotice['{{ $index_name }}'].conf = @json($cookie);
window.WebCookieNotice['{{ $index_name }}'].conf.script = window.WebCookieNotice['{{ $index_name }}'].tmp.script;
window.WebCookieNotice['{{ $index_name }}'].conf.fallback = window.WebCookieNotice['{{ $index_name }}'].tmp.fallback;
window.WebCookieNotice['{{ $index_name }}'] = window.WebCookieNotice['{{ $index_name }}'].conf;
@endforeach
window.WebCookieNotice = new window.CookieNotice(window.WebCookieNotice);
});
</script>