From 2d541394cc7d047a9d67d1926711a3c80b09e61c Mon Sep 17 00:00:00 2001 From: Bubka <858858+Bubka@users.noreply.github.com> Date: Wed, 30 Sep 2020 20:48:42 +0200 Subject: [PATCH] Replace Composer package with npm package to handle js languages strings --- README.md | 1 - composer.json | 1 - composer.lock | 58 +-- config/vue-i18n-generator.php | 93 ----- package-lock.json | 36 ++ package.json | 1 + public/js/locales.js | 1 - resources/js/langs/i18n.js | 2 +- resources/js/langs/locales.js | 585 ------------------------------ resources/views/landing.blade.php | 1 - webpack.mix.js | 1 - 11 files changed, 40 insertions(+), 740 deletions(-) delete mode 100644 config/vue-i18n-generator.php delete mode 100644 public/js/locales.js delete mode 100644 resources/js/langs/locales.js diff --git a/README.md b/README.md index 5ef15d72..b42d1411 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,6 @@ #### Prepare some stuff php artisan passport:install php artisan storage:link php artisan config:cache -php artisan vue-i18n:generate ``` You are ready to go. diff --git a/composer.json b/composer.json index b63875f8..f8f5bb11 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,6 @@ "beyondcode/laravel-dump-server": "^1.0", "filp/whoops": "^2.0", "fzaninotto/faker": "^1.4", - "martinlindhe/laravel-vue-i18n-generator": "^0.1.42", "mockery/mockery": "^1.0", "nunomaduro/collision": "^3.0", "phpunit/phpunit": "^7.5" diff --git a/composer.lock b/composer.lock index bb7a48ab..96cf2b34 100644 --- a/composer.lock +++ b/composer.lock @@ -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": "76b4fd00e8ddf636583ffb0a3dcc30bb", + "content-hash": "f01d597b2ba10db6dcab71530946be5a", "packages": [ { "name": "appstract/laravel-options", @@ -5219,61 +5219,6 @@ ], "time": "2020-07-09T08:09:16+00:00" }, - { - "name": "martinlindhe/laravel-vue-i18n-generator", - "version": "0.1.46", - "source": { - "type": "git", - "url": "https://github.com/martinlindhe/laravel-vue-i18n-generator.git", - "reference": "ddc52890f0204dff64d25e30c3473332904c6138" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/martinlindhe/laravel-vue-i18n-generator/zipball/ddc52890f0204dff64d25e30c3473332904c6138", - "reference": "ddc52890f0204dff64d25e30c3473332904c6138", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "illuminate/console": "~5.1.0|~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|~6.0|~7.0", - "illuminate/support": "~5.1.0|~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|~6.0|~7.0", - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.7" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "MartinLindhe\\VueInternationalizationGenerator\\GeneratorProvider" - ] - } - }, - "autoload": { - "psr-4": { - "MartinLindhe\\VueInternationalizationGenerator\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Martin Lindhe", - "email": "martin@ubique.se" - } - ], - "description": "Generates a vue-i18n compatible include file from your Laravel translations.", - "homepage": "http://github.com/martinlindhe/laravel-vue-i18n-generator", - "keywords": [ - "laravel", - "vue-i18n" - ], - "time": "2020-03-10T18:55:52+00:00" - }, { "name": "mockery/mockery", "version": "1.3.3", @@ -6012,6 +5957,7 @@ "keywords": [ "tokenizer" ], + "abandoned": true, "time": "2019-09-17T06:23:10+00:00" }, { diff --git a/config/vue-i18n-generator.php b/config/vue-i18n-generator.php deleted file mode 100644 index 9ad52c0b..00000000 --- a/config/vue-i18n-generator.php +++ /dev/null @@ -1,93 +0,0 @@ - '/resources/lang', - - /* - |-------------------------------------------------------------------------- - | Laravel translation files - |-------------------------------------------------------------------------- - | - | You can choose which translation files to be generated. - | Note: leave this empty for all the translation files to be generated. - | - */ - - 'langFiles' => [ - /* - 'pagination', - 'passwords' - */ - ], - - /* - |-------------------------------------------------------------------------- - | Excluded files & folders - |-------------------------------------------------------------------------- - | - | Exclude translation files, generic files or folders you don't need. - | - */ - 'excludes' => [ - /* - 'validation', - 'example.file', - 'example-folder', - */ - ], - - /* - |-------------------------------------------------------------------------- - | Output file - |-------------------------------------------------------------------------- - | - | The javascript path where I will place the generated file. - | Note: the path will be prepended to point to the App directory. - | - */ - 'jsPath' => '/resources/js/langs/', - 'jsFile' => '/resources/js/langs/locales.js', - - /* - |-------------------------------------------------------------------------- - | i18n library - |-------------------------------------------------------------------------- - | - | Specify the library you use for localization. - | Options are vue-i18n or vuex-i18n. - | - */ - 'i18nLib' => 'vue-i18n', - - /* - |-------------------------------------------------------------------------- - | Output messages - |-------------------------------------------------------------------------- - | - | Specify if the library should show "written to" messages - | after generating json files. - | - */ - 'showOutputMessages' => false, - - /* - |-------------------------------------------------------------------------- - | Escape character - |-------------------------------------------------------------------------- - | - | Allows to escape translations strings that should not be treated as a - | variable - | - */ - 'escape_char' => '!', -]; diff --git a/package-lock.json b/package-lock.json index 4560edd2..6ce6c1a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1076,6 +1076,18 @@ "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-0.1.10.tgz", "integrity": "sha512-b2+SLF31h32LSepVcXe+BQ63yvbq5qmTCy4KfFogCYm2bn68H5sDWUnX+U7MBqnM2aeEk9M7xSoqGnu+wSdY6w==" }, + "@kirschbaum-development/laravel-translations-loader": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@kirschbaum-development/laravel-translations-loader/-/laravel-translations-loader-1.0.2.tgz", + "integrity": "sha512-85FhK4AXZJSgWyjE1wg0+qaT0kL+VYUTY/gk9TmCxPL6qYFW3BXxjQi0pPDr7D6F2X+23s7At7ogf4xK0AEUWw==", + "dev": true, + "requires": { + "klaw-sync": "^6.0.0", + "loader-utils": "^1.1.0", + "lodash": "^4.17.11", + "php-array-parser": "^1.0.1" + } + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -5360,6 +5372,15 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11" + } + }, "laravel-mix": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-5.0.5.tgz", @@ -6550,6 +6571,21 @@ "sha.js": "^2.4.8" } }, + "php-array-parser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/php-array-parser/-/php-array-parser-1.0.1.tgz", + "integrity": "sha512-elnanzvSd/+U2eWD9Hp2MIab6LzWlnp9J+sTrQasDoR6VsWMDa3fDYBS8pojvu3RwPbpgDUHUxV5WGhfJ1NewQ==", + "dev": true, + "requires": { + "php-parser": "^2.0.3" + } + }, + "php-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/php-parser/-/php-parser-2.2.0.tgz", + "integrity": "sha1-ZzhPClkz2770C+qwqzHQuMWC/4g=", + "dev": true + }, "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", diff --git a/package.json b/package.json index 9c13ff8e..dbb64bb5 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }, "devDependencies": { + "@kirschbaum-development/laravel-translations-loader": "^1.0.2", "cross-env": "^5.2.1", "laravel-mix": "^5.0.5", "lodash": "^4.17.20", diff --git a/public/js/locales.js b/public/js/locales.js deleted file mode 100644 index 1e2c949a..00000000 --- a/public/js/locales.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{1:function(e,t,a){e.exports=a("95I4")},"95I4":function(e,t,a){"use strict";a.r(t),t.default={en:{auth:{sign_out:"Sign out",sign_in:"Sign in",register:"Register",hello:"Hi {username} !",throttle:"Too many login attempts. Please try again in {seconds} seconds.",already_authenticated:"Already authenticated",confirm:{logout:"Are you sure you want to log out?"},forms:{name:"Name",login:"Login",email:"Email",password:"Password",confirm_password:"Confirm password",confirm_new_password:"Confirm new password",dont_have_account_yet:"Don't have your account yet?",already_register:"Already registered?",password_do_not_match:"Password do not match",forgot_your_password:"Forgot your password?",request_password_reset:"Request a password reset",reset_password:"Reset password",new_password:"New password",current_password:{label:"Current password",help:"Fill in your current password to confirm that it's you"},change_password:"Change password",send_password_reset_link:"Send password reset link",change_your_password:"Change your password",password_successfully_changed:"Password successfully changed ",edit_account:"Edit account",profile_saved:"Profile successfully updated!",welcome_to_demo_app_use_those_credentials:"Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo"}},commons:{cancel:"Cancel",update:"Update",copy_to_clipboard:"Copy to clipboard",profile:"Profile",edit:"Edit",delete:"Delete",save:"Save",close:"Close",demo_do_not_post_sensitive_data:"This is a demo app, do not post any sensitive data"},errors:{resource_not_found:"Resource not found",error_occured:"An error occured:",already_one_user_registered:"There is already a registered user.",cannot_register_more_user:"You cannot register more than one user.",refresh:"refresh",please:"Please ",response:{no_valid_otp:"No valid OTP resource in this QR code"},something_wrong_with_server:"Something is wrong with your server",Unable_to_decrypt_uri:"Unable to decrypt uri",wrong_current_password:"Wrong current password, nothing has changed"},languages:{en:"English",fr:"French"},pagination:{previous:"« Previous",next:"Next »"},passwords:{password:"Passwords must be at least eight characters and match the confirmation.",reset:"Your password has been reset!",sent:"We have e-mailed your password reset link!",token:"This password reset token is invalid.",user:"We can't find a user with that e-mail address."},settings:{settings:"Settings",account:"Account",password:"Password",options:"Options",confirm:[],forms:{edit_settings:"Edit settings",setting_saved:"Settings saved",language:{label:"Language",help:"Change the language used to translate the app interface."},show_token_as_dot:{label:"Show generated tokens as dot",help:"Replace generated token caracters with *** to ensure confidentiality. Do not affect the copy/paste feature."},close_token_on_copy:{label:"Close token after copy",help:"Automatically close the popup showing the generated token after it has been copied"},use_basic_qrcode_reader:{label:"Use basic qrcode reader",help:"If you experiences issues when capturing qrCodes enables this option to switch to a more basic but more reliable qrcode reader"},display_mode:{label:"Display mode",help:"Choose whether you want accounts to be displayed as a list or as a grid"},grid:"Grid",list:"List"}},twofaccounts:{service:"Service",account:"Account",icon:"Icon",new:"New",no_account_here:"No 2FA here!",add_first_account:"Add your first account",use_full_form:"Or use the full form",add_one:"Add one",manage:"Manage",done:"Done",forms:{service:{placeholder:"example.com"},account:{placeholder:"John DOE"},new_account:"New account",edit_account:"Edit account",otp_uri:"OTP Uri",hotp_counter:"HOTP Counter",scan_qrcode:"Scan a qrcode",use_qrcode:{val:"Use a qrcode",title:"Use a QR code to fill the form magically"},unlock:{val:"Unlock",title:"Unlock it (at your own risk)"},lock:{val:"Lock",title:"Lock it"},choose_image:"Choose an image…",create:"Create",save:"Save",test:"Test"},stream:{need_grant_permission:"You need to grant camera access permission",not_readable:"Fail to load scanner. Is the camera already in use?",no_cam_on_device:"No camera on this device",secured_context_required:"Secure context required (HTTPS or localhost)",camera_not_suitable:"Installed cameras are not suitable",stream_api_not_supported:"Stream API is not supported in this browser"},confirm:{delete:"Are you sure you want to delete this account?",cancel:"The account will be lost. Are you sure?"}},validation:{accepted:"The {attribute} must be accepted.",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} may only contain letters.",alpha_dash:"The {attribute} may only contain letters, numbers, dashes and underscores.",alpha_num:"The {attribute} may 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:{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."},boolean:"The {attribute} field must be true or false.",confirmed:"The {attribute} confirmation does not match.",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:{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."},gte:{numeric:"The {attribute} must be greater than or equal {value}.",file:"The {attribute} must be greater than or equal {value} kilobytes.",string:"The {attribute} must be greater than or equal {value} characters.",array:"The {attribute} must have {value} items or more."},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:{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."},lte:{numeric:"The {attribute} must be less than or equal {value}.",file:"The {attribute} must be less than or equal {value} kilobytes.",string:"The {attribute} must be less than or equal {value} characters.",array:"The {attribute} must not have more than {value} items."},max:{numeric:"The {attribute} may not be greater than {max}.",file:"The {attribute} may not be greater than {max} kilobytes.",string:"The {attribute} may not be greater than {max} characters.",array:"The {attribute} may not have more than {max} items."},mimes:"The {attribute} must be a file of type: {values}.",mimetypes:"The {attribute} must be a file of type: {values}.",min:{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."},not_in:"The selected {attribute} is invalid.",not_regex:"The {attribute} format is invalid.",numeric:"The {attribute} must be a number.",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.",required_without_all:"The {attribute} field is required when none of {values} are present.",same:"The {attribute} and {other} must match.",size:{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."},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 zone.",unique:"The {attribute} has already been taken.",uploaded:"The {attribute} failed to upload.",url:"The {attribute} format is invalid.",uuid:"The {attribute} must be a valid UUID.",custom:{"attribute-name":{"rule-name":"custom-message"},icon:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp"},qrcode:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp"},uri:{starts_with:"Only valid OTP uri are supported"},email:{exists:"No account found using this email"}},attributes:[]}},fr:{auth:{sign_out:"Déconnexion",sign_in:"Se connecter",register:"Créer un compte",hello:"Hi {username} !",throttle:"Trop de tentatives de connexion. Veuillez réessayer dans {seconds} secondes.",already_authenticated:"Déjà authentifié",confirm:{logout:"Etes-vous sûrs de vouloir vous déconnecter ?"},forms:{name:"Nom",login:"Connexion",email:"Email",password:"Mot de passe",confirm_password:"Confirmez le mot de passe",confirm_new_password:"Confirmez le nouveau mot de passe",dont_have_account_yet:"Pas encore de compte ?",already_register:"Déjà enregistré ?",password_do_not_match:"Le mot de passe ne correspond pas",forgot_your_password:"Mot de passe oublié ?",request_password_reset:"Réinitialiser le mot de passe",reset_password:"Mot de passe oublié",new_password:"Nouveau mot de passe",current_password:{label:"Mot de passe actuel",help:"Indiquez votre mot de passe actuel pour confirmer qu'il s'agit bien de vous"},change_password:"Modifier le mot de passe",send_password_reset_link:"Envoyer",change_your_password:"Modifier votre mot de passe",password_successfully_changed:"Mot de passe modifié avec succès",edit_account:"Mis à jour du profil",profile_saved:"Profil mis à jour avec succès !",welcome_to_demo_app_use_those_credentials:"bienvenue sur la démo de 2FAuth.

Vous pouvez vous connecter en utilisant l'adresse email demo@2fauth.app et le mot de passe demo"}},commons:{cancel:"Annuler",update:"Mettre à jour",copy_to_clipboard:"Copier",profile:"Profil",edit:"Modifier",delete:"Supprimer",save:"Enregistrer",close:"Fermer",demo_do_not_post_sensitive_data:"Site de démonstration, ne postez aucune donnée sensible"},errors:{resource_not_found:"Ressource introuvable",error_occured:"Une erreur est survenue :",already_one_user_registered:"Un compte utilisateur existe déjà.",cannot_register_more_user:"Vous ne pouvez pas enregistrer plus d'un utilisateur.",refresh:"Actualiser",please:"",response:{no_valid_otp:"Aucune donnée OTP valide dans ce QR code"},something_wrong_with_server:"Il y a un problème avec votre serveur",Unable_to_decrypt_uri:"uri impossible à décoder",wrong_current_password:"Mot de passe actuel érroné, rien n\\a été modifié"},languages:{en:"Anglais",fr:"Français"},pagination:{previous:"« Précédent",next:"Suivant »"},passwords:{password:"Les mots de passe doivent contenir au moins huit caractères et être identiques.",reset:"Votre mot de passe a été réinitialisé !",sent:"Le lien pour réinitialiser votre mot de passe vient d'être envoyé !",token:"Ce jeton de réinitialisation n'est pas valide.",user:"Cette adresse email n'est pas celle de votre compte."},settings:{settings:"Réglages",account:"Compte",password:"Mot de passe",options:"Options",confirm:[],forms:{edit_settings:"Modifier les réglages",setting_saved:"Réglages sauvegardés",language:{label:"Langue",help:"Traduit l'application dans la langue choisie"},show_token_as_dot:{label:"Rendre illisibles les codes générés",help:"Remplace les caractères des codes générés par des ●●● pour garantir leur confidentialité. N'affecte pas la fonction de copier/coller qui reste utilisable."},close_token_on_copy:{label:"Ne plus afficher les codes copiés",help:"Ferme automatiquement le popup affichant le code généré dès que ce dernier a été copié."},use_basic_qrcode_reader:{label:"Utiliser le lecteur de qrcode basique",help:"Si vous rencontrez des problèmes lors de la lecture des qrCodes activez cette option pour utiliser un lecteur de qrcode moins évolué mais plus largement compatible"},display_mode:{label:"Mode d'affichage",help:"Change le mode d'affichage des comptes, soit sous forme de liste, soit sous forme de grille"},grid:"Grille",list:"Liste"}},twofaccounts:{service:"Service",account:"Compte",icon:"Icône",new:"Nouveau",no_account_here:"Aucun compte 2FA !",add_first_account:"Ajouter votre premier compte",use_full_form:"Ou utiliser le formulaire détaillé",add_one:"Add one",manage:"Gérer",done:"Terminé",forms:{service:{placeholder:"example.com"},account:{placeholder:"Marc Dupont"},new_account:"Nouveau compte",edit_account:"Modifier le compte",otp_uri:"OTP Uri",hotp_counter:"Compteur HOTP",scan_qrcode:"Scanner un QR code",use_qrcode:{val:"Utiliser un QR code",title:"Utiliser un QR code pour renseigner le formulaire d'un seul coup d'un seul"},unlock:{val:"Déverouiller",title:"Déverouiller le champ (à vos risques et périls)"},lock:{val:"Vérouiller",title:"Vérouiller le champ"},choose_image:"Choisir une image…",create:"Créer",save:"Enregistrer",test:"Tester"},stream:{need_grant_permission:"Vous devez autoriser l'utilisation de votre caméra",not_readable:"Le scanner ne se charge pas. La caméra est-elle déjà utilisée ?",no_cam_on_device:"Votre équipement ne dispose pas de caméra",secured_context_required:"Contexte sécurisé requis (HTTPS ou localhost)",camera_not_suitable:"Votre équipement ne dispose pas d'une caméra adaptée",stream_api_not_supported:"L'API Stream n'est pas supportée par votre navigateur"},confirm:{delete:"Etes-vous sûrs de vouloir supprimer le compte ?",cancel:"Les données seront perdues, êtes-vous sûrs ?"}},validation:{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}.",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."},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.",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."},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."},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.",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."},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."},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."},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."},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.",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."},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:{"attribute-name":{"rule-name":"custom-message"},icon:{image:"Les formats acceptés sont jpeg, png, bmp, gif, svg, or webp"},qrcode:{image:"Les formats acceptés sont jpeg, png, bmp, gif, svg, or webp"},uri:{starts_with:"La valeur n'est pas une uri OTP valide"},email:{exists:"Aucun compte utilisateur n'utilise cette email"}},attributes:[]}}}}},[[1,0]]]); \ No newline at end of file diff --git a/resources/js/langs/i18n.js b/resources/js/langs/i18n.js index b99ff4ed..c7a9277f 100644 --- a/resources/js/langs/i18n.js +++ b/resources/js/langs/i18n.js @@ -1,6 +1,6 @@ import Vue from 'vue' import VueInternationalization from 'vue-i18n'; -import Locale from './locales'; +import Locale from '@kirschbaum-development/laravel-translations-loader/php!@kirschbaum-development/laravel-translations-loader'; Vue.use(VueInternationalization); diff --git a/resources/js/langs/locales.js b/resources/js/langs/locales.js deleted file mode 100644 index 56f7a7a0..00000000 --- a/resources/js/langs/locales.js +++ /dev/null @@ -1,585 +0,0 @@ -export default { - "en": { - "auth": { - "sign_out": "Sign out", - "sign_in": "Sign in", - "register": "Register", - "hello": "Hi {username} !", - "throttle": "Too many login attempts. Please try again in {seconds} seconds.", - "already_authenticated": "Already authenticated", - "confirm": { - "logout": "Are you sure you want to log out?" - }, - "forms": { - "name": "Name", - "login": "Login", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm password", - "confirm_new_password": "Confirm new password", - "dont_have_account_yet": "Don't have your account yet?", - "already_register": "Already registered?", - "password_do_not_match": "Password do not match", - "forgot_your_password": "Forgot your password?", - "request_password_reset": "Request a password reset", - "reset_password": "Reset password", - "new_password": "New password", - "current_password": { - "label": "Current password", - "help": "Fill in your current password to confirm that it's you" - }, - "change_password": "Change password", - "send_password_reset_link": "Send password reset link", - "change_your_password": "Change your password", - "password_successfully_changed": "Password successfully changed ", - "edit_account": "Edit account", - "profile_saved": "Profile successfully updated!", - "welcome_to_demo_app_use_those_credentials": "Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo" - } - }, - "commons": { - "cancel": "Cancel", - "update": "Update", - "copy_to_clipboard": "Copy to clipboard", - "copied_to_clipboard": "Copied to clipboard", - "profile": "Profile", - "edit": "Edit", - "delete": "Delete", - "save": "Save", - "close": "Close", - "demo_do_not_post_sensitive_data": "This is a demo app, do not post any sensitive data", - "selected": "selected" - }, - "errors": { - "resource_not_found": "Resource not found", - "error_occured": "An error occured:", - "already_one_user_registered": "There is already a registered user.", - "cannot_register_more_user": "You cannot register more than one user.", - "refresh": "refresh", - "please": "Please ", - "response": { - "no_valid_otp": "No valid OTP resource in this QR code" - }, - "something_wrong_with_server": "Something is wrong with your server", - "Unable_to_decrypt_uri": "Unable to decrypt uri", - "wrong_current_password": "Wrong current password, nothing has changed" - }, - "languages": { - "en": "English", - "fr": "French" - }, - "pagination": { - "previous": "« Previous", - "next": "Next »" - }, - "passwords": { - "password": "Passwords must be at least eight characters and match the confirmation.", - "reset": "Your password has been reset!", - "sent": "We have e-mailed your password reset link!", - "token": "This password reset token is invalid.", - "user": "We can't find a user with that e-mail address." - }, - "settings": { - "settings": "Settings", - "account": "Account", - "password": "Password", - "options": "Options", - "confirm": [], - "forms": { - "edit_settings": "Edit settings", - "setting_saved": "Settings saved", - "language": { - "label": "Language", - "help": "Change the language used to translate the app interface." - }, - "show_token_as_dot": { - "label": "Show generated tokens as dot", - "help": "Replace generated token caracters with *** to ensure confidentiality. Do not affect the copy/paste feature." - }, - "close_token_on_copy": { - "label": "Close token after copy", - "help": "Automatically close the popup showing the generated token after it has been copied" - }, - "use_basic_qrcode_reader": { - "label": "Use basic qrcode reader", - "help": "If you experiences issues when capturing qrCodes enables this option to switch to a more basic but more reliable qrcode reader" - }, - "display_mode": { - "label": "Display mode", - "help": "Choose whether you want accounts to be displayed as a list or as a grid" - }, - "grid": "Grid", - "list": "List" - } - }, - "twofaccounts": { - "service": "Service", - "account": "Account", - "icon": "Icon", - "new": "New", - "no_account_here": "No 2FA here!", - "add_first_account": "Add your first account", - "use_full_form": "Or use the full form", - "add_one": "Add one", - "manage": "Manage", - "done": "Done", - "forms": { - "service": { - "placeholder": "example.com" - }, - "account": { - "placeholder": "John DOE" - }, - "new_account": "New account", - "edit_account": "Edit account", - "otp_uri": "OTP Uri", - "hotp_counter": "HOTP Counter", - "scan_qrcode": "Scan a qrcode", - "use_qrcode": { - "val": "Use a qrcode", - "title": "Use a QR code to fill the form magically" - }, - "unlock": { - "val": "Unlock", - "title": "Unlock it (at your own risk)" - }, - "lock": { - "val": "Lock", - "title": "Lock it" - }, - "choose_image": "Choose an image…", - "create": "Create", - "save": "Save", - "test": "Test" - }, - "stream": { - "need_grant_permission": "You need to grant camera access permission", - "not_readable": "Fail to load scanner. Is the camera already in use?", - "no_cam_on_device": "No camera on this device", - "secured_context_required": "Secure context required (HTTPS or localhost)", - "https_required": "HTTPS required for camera streaming", - "camera_not_suitable": "Installed cameras are not suitable", - "stream_api_not_supported": "Stream API is not supported in this browser" - }, - "confirm": { - "delete": "Are you sure you want to delete this account?", - "cancel": "The account will be lost. Are you sure?" - } - }, - "validation": { - "accepted": "The {attribute} must be accepted.", - "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} may only contain letters.", - "alpha_dash": "The {attribute} may only contain letters, numbers, dashes and underscores.", - "alpha_num": "The {attribute} may 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": { - "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." - }, - "boolean": "The {attribute} field must be true or false.", - "confirmed": "The {attribute} confirmation does not match.", - "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": { - "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." - }, - "gte": { - "numeric": "The {attribute} must be greater than or equal {value}.", - "file": "The {attribute} must be greater than or equal {value} kilobytes.", - "string": "The {attribute} must be greater than or equal {value} characters.", - "array": "The {attribute} must have {value} items or more." - }, - "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": { - "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." - }, - "lte": { - "numeric": "The {attribute} must be less than or equal {value}.", - "file": "The {attribute} must be less than or equal {value} kilobytes.", - "string": "The {attribute} must be less than or equal {value} characters.", - "array": "The {attribute} must not have more than {value} items." - }, - "max": { - "numeric": "The {attribute} may not be greater than {max}.", - "file": "The {attribute} may not be greater than {max} kilobytes.", - "string": "The {attribute} may not be greater than {max} characters.", - "array": "The {attribute} may not have more than {max} items." - }, - "mimes": "The {attribute} must be a file of type: {values}.", - "mimetypes": "The {attribute} must be a file of type: {values}.", - "min": { - "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." - }, - "not_in": "The selected {attribute} is invalid.", - "not_regex": "The {attribute} format is invalid.", - "numeric": "The {attribute} must be a number.", - "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.", - "required_without_all": "The {attribute} field is required when none of {values} are present.", - "same": "The {attribute} and {other} must match.", - "size": { - "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." - }, - "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 zone.", - "unique": "The {attribute} has already been taken.", - "uploaded": "The {attribute} failed to upload.", - "url": "The {attribute} format is invalid.", - "uuid": "The {attribute} must be a valid UUID.", - "custom": { - "attribute-name": { - "rule-name": "custom-message" - }, - "icon": { - "image": "Supported format are jpeg, png, bmp, gif, svg, or webp" - }, - "qrcode": { - "image": "Supported format are jpeg, png, bmp, gif, svg, or webp" - }, - "uri": { - "starts_with": "Only valid OTP uri are supported" - }, - "email": { - "exists": "No account found using this email" - } - }, - "attributes": [] - } - }, - "fr": { - "auth": { - "sign_out": "Déconnexion", - "sign_in": "Se connecter", - "register": "Créer un compte", - "hello": "Hi {username} !", - "throttle": "Trop de tentatives de connexion. Veuillez réessayer dans {seconds} secondes.", - "already_authenticated": "Déjà authentifié", - "confirm": { - "logout": "Etes-vous sûrs de vouloir vous déconnecter ?" - }, - "forms": { - "name": "Nom", - "login": "Connexion", - "email": "Email", - "password": "Mot de passe", - "confirm_password": "Confirmez le mot de passe", - "confirm_new_password": "Confirmez le nouveau mot de passe", - "dont_have_account_yet": "Pas encore de compte ?", - "already_register": "Déjà enregistré ?", - "password_do_not_match": "Le mot de passe ne correspond pas", - "forgot_your_password": "Mot de passe oublié ?", - "request_password_reset": "Réinitialiser le mot de passe", - "reset_password": "Mot de passe oublié", - "new_password": "Nouveau mot de passe", - "current_password": { - "label": "Mot de passe actuel", - "help": "Indiquez votre mot de passe actuel pour confirmer qu'il s'agit bien de vous" - }, - "change_password": "Modifier le mot de passe", - "send_password_reset_link": "Envoyer", - "change_your_password": "Modifier votre mot de passe", - "password_successfully_changed": "Mot de passe modifié avec succès", - "edit_account": "Mis à jour du profil", - "profile_saved": "Profil mis à jour avec succès !", - "welcome_to_demo_app_use_those_credentials": "bienvenue sur la démo de 2FAuth.

Vous pouvez vous connecter en utilisant l'adresse email demo@2fauth.app et le mot de passe demo" - } - }, - "commons": { - "cancel": "Annuler", - "update": "Mettre à jour", - "copy_to_clipboard": "Copier", - "copied_to_clipboard": "Copié dans le presse-papier", - "profile": "Profil", - "edit": "Modifier", - "delete": "Supprimer", - "save": "Enregistrer", - "close": "Fermer", - "demo_do_not_post_sensitive_data": "Site de démonstration, ne postez aucune donnée sensible", - "selected": "selectionné(s)" - }, - "errors": { - "resource_not_found": "Ressource introuvable", - "error_occured": "Une erreur est survenue :", - "already_one_user_registered": "Un compte utilisateur existe déjà.", - "cannot_register_more_user": "Vous ne pouvez pas enregistrer plus d'un utilisateur.", - "refresh": "Actualiser", - "please": "", - "response": { - "no_valid_otp": "Aucune donnée OTP valide dans ce QR code" - }, - "something_wrong_with_server": "Il y a un problème avec votre serveur", - "Unable_to_decrypt_uri": "uri impossible à décoder", - "wrong_current_password": "Mot de passe actuel érroné, rien n\\a été modifié" - }, - "languages": { - "en": "Anglais", - "fr": "Français" - }, - "pagination": { - "previous": "« Précédent", - "next": "Suivant »" - }, - "passwords": { - "password": "Les mots de passe doivent contenir au moins huit caractères et être identiques.", - "reset": "Votre mot de passe a été réinitialisé !", - "sent": "Le lien pour réinitialiser votre mot de passe vient d'être envoyé !", - "token": "Ce jeton de réinitialisation n'est pas valide.", - "user": "Cette adresse email n'est pas celle de votre compte." - }, - "settings": { - "settings": "Réglages", - "account": "Compte", - "password": "Mot de passe", - "options": "Options", - "confirm": [], - "forms": { - "edit_settings": "Modifier les réglages", - "setting_saved": "Réglages sauvegardés", - "language": { - "label": "Langue", - "help": "Traduit l'application dans la langue choisie" - }, - "show_token_as_dot": { - "label": "Rendre illisibles les codes générés", - "help": "Remplace les caractères des codes générés par des ●●● pour garantir leur confidentialité. N'affecte pas la fonction de copier/coller qui reste utilisable." - }, - "close_token_on_copy": { - "label": "Ne plus afficher les codes copiés", - "help": "Ferme automatiquement le popup affichant le code généré dès que ce dernier a été copié." - }, - "use_basic_qrcode_reader": { - "label": "Utiliser le lecteur de qrcode basique", - "help": "Si vous rencontrez des problèmes lors de la lecture des qrCodes activez cette option pour utiliser un lecteur de qrcode moins évolué mais plus largement compatible" - }, - "display_mode": { - "label": "Mode d'affichage", - "help": "Change le mode d'affichage des comptes, soit sous forme de liste, soit sous forme de grille" - }, - "grid": "Grille", - "list": "Liste" - } - }, - "twofaccounts": { - "service": "Service", - "account": "Compte", - "icon": "Icône", - "new": "Nouveau", - "no_account_here": "Aucun compte 2FA !", - "add_first_account": "Ajouter votre premier compte", - "use_full_form": "Ou utiliser le formulaire détaillé", - "add_one": "Add one", - "manage": "Gérer", - "done": "Terminé", - "forms": { - "service": { - "placeholder": "example.com" - }, - "account": { - "placeholder": "Marc Dupont" - }, - "new_account": "Nouveau compte", - "edit_account": "Modifier le compte", - "otp_uri": "OTP Uri", - "hotp_counter": "Compteur HOTP", - "scan_qrcode": "Scanner un QR code", - "use_qrcode": { - "val": "Utiliser un QR code", - "title": "Utiliser un QR code pour renseigner le formulaire d'un seul coup d'un seul" - }, - "unlock": { - "val": "Déverouiller", - "title": "Déverouiller le champ (à vos risques et périls)" - }, - "lock": { - "val": "Vérouiller", - "title": "Vérouiller le champ" - }, - "choose_image": "Choisir une image…", - "create": "Créer", - "save": "Enregistrer", - "test": "Tester" - }, - "stream": { - "need_grant_permission": "Vous devez autoriser l'utilisation de votre caméra", - "not_readable": "Le scanner ne se charge pas. La caméra est-elle déjà utilisée ?", - "no_cam_on_device": "Votre équipement ne dispose pas de caméra", - "secured_context_required": "Contexte sécurisé requis (HTTPS ou localhost)", - "https_required": "HTTPS requis pour utiliser la caméra", - "camera_not_suitable": "Votre équipement ne dispose pas d'une caméra adaptée", - "stream_api_not_supported": "L'API Stream n'est pas supportée par votre navigateur" - }, - "confirm": { - "delete": "Etes-vous sûrs de vouloir supprimer le compte ?", - "cancel": "Les données seront perdues, êtes-vous sûrs ?" - } - }, - "validation": { - "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}.", - "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." - }, - "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.", - "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." - }, - "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." - }, - "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.", - "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." - }, - "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." - }, - "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." - }, - "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." - }, - "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.", - "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." - }, - "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": { - "attribute-name": { - "rule-name": "custom-message" - }, - "icon": { - "image": "Les formats acceptés sont jpeg, png, bmp, gif, svg, or webp" - }, - "qrcode": { - "image": "Les formats acceptés sont jpeg, png, bmp, gif, svg, or webp" - }, - "uri": { - "starts_with": "La valeur n'est pas une uri OTP valide" - }, - "email": { - "exists": "Aucun compte utilisateur n'utilise cette email" - } - }, - "attributes": [] - } - } -} diff --git a/resources/views/landing.blade.php b/resources/views/landing.blade.php index 378a851b..933dd875 100644 --- a/resources/views/landing.blade.php +++ b/resources/views/landing.blade.php @@ -29,6 +29,5 @@ - \ No newline at end of file diff --git a/webpack.mix.js b/webpack.mix.js index afcd0ce5..67be60cc 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -12,7 +12,6 @@ const mix = require('laravel-mix'); */ mix.js('resources/js/app.js', 'public/js') - .js('resources/js/langs/locales.js', 'public/js') .extract([ 'vue', 'axios',