From 658ed6d533a81ff70cab842780352243037d28b7 Mon Sep 17 00:00:00 2001 From: Camille Bouvat Date: Thu, 19 Oct 2023 16:47:58 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=93=A6=EF=B8=8F=20Add=20Laravel?= =?UTF-8?q?=20lang=20package=20#205=20(#206)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 📦️ Add Laravel lang package #205 * feat: 🎨 Laravel Pint by GitHub Actions * feat: ♻️ Refactored CI workflow to run Laravel Pint and ESLint tests * feat: ♻️ update ESLint command in CI workflow * fix: 🎨 remove unnecessary comment * feat: ✅ update test case for redirect response --------- Co-authored-by: GitHub Actions Bot --- .github/workflows/ci.yml | 27 +- Makefile | 6 + .../Fortify/UpdateUserProfileInformation.php | 2 - app/Http/Controllers/HomeController.php | 1 - composer.json | 1 + composer.lock | 1083 +++++++++++++++-- lang/en.json | 193 +++ lang/en/auth.php | 9 + lang/en/http-statuses.php | 84 ++ lang/en/pagination.php | 8 + lang/en/passwords.php | 11 + lang/en/validation.php | 217 ++++ lang/fr.json | 193 +++ lang/fr/auth.php | 9 + lang/fr/http-statuses.php | 84 ++ lang/fr/pagination.php | 8 + lang/fr/passwords.php | 11 + lang/fr/validation.php | 217 ++++ package.json | 2 +- routes/web.php | 1 - tests/Feature/ExampleTest.php | 4 +- 21 files changed, 2031 insertions(+), 140 deletions(-) create mode 100644 lang/en.json create mode 100644 lang/en/auth.php create mode 100644 lang/en/http-statuses.php create mode 100644 lang/en/pagination.php create mode 100644 lang/en/passwords.php create mode 100644 lang/en/validation.php create mode 100644 lang/fr.json create mode 100644 lang/fr/auth.php create mode 100644 lang/fr/http-statuses.php create mode 100644 lang/fr/pagination.php create mode 100644 lang/fr/passwords.php create mode 100644 lang/fr/validation.php diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b76217e..62dbbcfe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,18 +26,7 @@ jobs: - name: Install PHP dependencies run: composer install --prefer-dist --no-progress --no-suggest - name: Laravel Pint - run: ./vendor/bin/pint - - name: Commit changes - run: | - git config --global user.name "GitHub Actions Bot" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git add -A - if git diff-index --quiet HEAD; then - echo "No changes detected." - else - git commit -m "feat: 🎨 Laravel Pint by GitHub Actions" - git push - fi + run: ./vendor/bin/pint --test larastan: name: PHP - Larastan runs-on: ubuntu-latest @@ -73,19 +62,7 @@ jobs: - name: Install Node dependencies run: npm ci - name: ESLint - run: npm run lint - continue-on-error: true - - name: Commit changes - run: | - git config --global user.name "GitHub Actions Bot" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git add -A - if git diff-index --quiet HEAD; then - echo "No changes detected." - else - git commit -m "feat: 🎨 ESLint by GitHub Actions" - git push - fi + run: npm run eslint build: name: JS - Test build assets runs-on: ubuntu-latest diff --git a/Makefile b/Makefile index 1b4b0d4c..72dd311e 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,9 @@ down: ## Stop and remove all containers docker compose down --remove-orphans @echo "🛑 Socya are stopped and removed" +eslint: ## Run eslint + docker compose run --rm node npm run eslint + help: ## Display this help @echo "📖 Socya help" @echo "✍️ Usage: make [command]" @@ -74,6 +77,9 @@ upd: ## Create and start all containers (in background) upgrade: pull build ## Upgrade containers (pull and build) +pint: ## Run Laravel Pint + docker compose run --rm php ./vendor/bin/pint + pull: ## Pull all containers docker compose pull diff --git a/app/Actions/Fortify/UpdateUserProfileInformation.php b/app/Actions/Fortify/UpdateUserProfileInformation.php index 47e8e621..9e8d21bb 100644 --- a/app/Actions/Fortify/UpdateUserProfileInformation.php +++ b/app/Actions/Fortify/UpdateUserProfileInformation.php @@ -12,8 +12,6 @@ class UpdateUserProfileInformation implements UpdatesUserProfileInformation { /** * Validate and update the given user's profile information. - * - * @param array $input */ public function update(User $user, array $input): void { diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 72d97a90..ed973aaf 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -3,7 +3,6 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; class HomeController extends Controller { diff --git a/composer.json b/composer.json index c4c05a2f..ebda5c8e 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,7 @@ "require-dev": { "barryvdh/laravel-debugbar": "^3.8", "fakerphp/faker": "^1.9.1", + "laravel-lang/common": "^4.0", "laravel/pint": "^1.0", "mockery/mockery": "^1.4.4", "nunomaduro/collision": "^7.0", diff --git a/composer.lock b/composer.lock index 01fbc7aa..b2584bd9 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": "9b5945b68fab9660eba698d81cfa3e61", + "content-hash": "a106f5494fa0c2bed34ae30380705d86", "packages": [ { "name": "bacon/bacon-qr-code", @@ -6248,6 +6248,52 @@ } ], "packages-dev": [ + { + "name": "archtechx/enums", + "version": "v0.3.2", + "source": { + "type": "git", + "url": "https://github.com/archtechx/enums.git", + "reference": "475f45e682b0771253707f9403b704759a08da5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/archtechx/enums/zipball/475f45e682b0771253707f9403b704759a08da5f", + "reference": "475f45e682b0771253707f9403b704759a08da5f", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "nunomaduro/larastan": "^1.0|^2.4", + "orchestra/testbench": "^6.9|^7.0|^8.0", + "pestphp/pest": "^1.2|^2.0", + "pestphp/pest-plugin-laravel": "^1.0|^2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "ArchTech\\Enums\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Samuel Štancl", + "email": "samuel@archte.ch" + } + ], + "description": "Helpers for making PHP enums more lovable.", + "support": { + "issues": "https://github.com/archtechx/enums/issues", + "source": "https://github.com/archtechx/enums/tree/v0.3.2" + }, + "time": "2023-02-15T13:05:41+00:00" + }, { "name": "barryvdh/laravel-debugbar", "version": "v3.9.2", @@ -6304,79 +6350,755 @@ ], "authors": [ { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-debugbar/issues", + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.9.2" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-08-25T18:43:57+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-08-31T09:50:34+00:00" + }, + { + "name": "dragon-code/contracts", + "version": "v2.20.0", + "source": { + "type": "git", + "url": "https://github.com/TheDragonCode/contracts.git", + "reference": "410d35bec404f465a126bb1e672f3abe1150f5d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TheDragonCode/contracts/zipball/410d35bec404f465a126bb1e672f3abe1150f5d7", + "reference": "410d35bec404f465a126bb1e672f3abe1150f5d7", + "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", + "symfony/polyfill-php80": "^1.23" + }, + "conflict": { + "andrey-helldar/contracts": "*" + }, + "require-dev": { + "illuminate/database": "^10.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://github.com/andrey-helldar" + } + ], + "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://github.com/sponsors/TheDragonCode", + "type": "github" + }, + { + "url": "https://opencollective.com/dragon-code", + "type": "open_collective" + }, + { + "url": "https://yoomoney.ru/to/410012608840929", + "type": "yoomoney" + } + ], + "time": "2023-06-02T11:06:31+00:00" + }, + { + "name": "dragon-code/pretty-array", + "version": "v4.1.0", + "source": { + "type": "git", + "url": "https://github.com/TheDragonCode/pretty-array.git", + "reference": "6c84e2454491b414efbd37985c322712cdf9012f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TheDragonCode/pretty-array/zipball/6c84e2454491b414efbd37985c322712cdf9012f", + "reference": "6c84e2454491b414efbd37985c322712cdf9012f", + "shasum": "" + }, + "require": { + "dragon-code/contracts": "^2.20", + "dragon-code/support": "^6.11.2", + "ext-dom": "*", + "ext-mbstring": "*", + "php": "^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^10.2" + }, + "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@dragon-code.pro", + "homepage": "https://github.com/andrey-helldar" + } + ], + "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://boosty.to/dragon-code", + "type": "boosty" + }, + { + "url": "https://github.com/sponsors/TheDragonCode", + "type": "github" + }, + { + "url": "https://opencollective.com/dragon-code", + "type": "open_collective" + }, + { + "url": "https://yoomoney.ru/to/410012608840929", + "type": "yoomoney" + } + ], + "time": "2023-06-02T11:37:44+00:00" + }, + { + "name": "dragon-code/support", + "version": "v6.11.3", + "source": { + "type": "git", + "url": "https://github.com/TheDragonCode/support.git", + "reference": "3dbf1715e83e216ae1fea31eecc022829dc864df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TheDragonCode/support/zipball/3dbf1715e83e216ae1fea31eecc022829dc864df", + "reference": "3dbf1715e83e216ae1fea31eecc022829dc864df", + "shasum": "" + }, + "require": { + "dragon-code/contracts": "^2.19.1", + "ext-bcmath": "*", + "ext-ctype": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0", + "psr/http-message": "^1.0.1 || ^2.0", + "symfony/polyfill-php81": "^1.25", + "voku/portable-ascii": "^1.4.8 || ^2.0.1" + }, + "conflict": { + "andrey-helldar/support": "*" + }, + "require-dev": { + "illuminate/contracts": "^9.0 || ^10.0", + "phpunit/phpunit": "^9.6", + "symfony/var-dumper": "^6.0" + }, + "suggest": { + "dragon-code/laravel-support": "Various helper files for the Laravel and Lumen frameworks", + "symfony/thanks": "Give thanks (in the form of a GitHub) to your fellow PHP package maintainers" + }, + "type": "library", + "extra": { + "dragon-code": { + "docs-generator": { + "preview": { + "brand": "php", + "vendor": "The Dragon Code" + } + } + } + }, + "autoload": { + "psr-4": { + "DragonCode\\Support\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andrey Helldar", + "email": "helldar@dragon-code.pro", + "homepage": "https://github.com/andrey-helldar" + } + ], + "description": "Support package is a collection of helpers and tools for any project.", + "keywords": [ + "dragon", + "dragon-code", + "framework", + "helper", + "helpers", + "laravel", + "php", + "support", + "symfony", + "yii", + "yii2" + ], + "support": { + "issues": "https://github.com/TheDragonCode/support/issues", + "source": "https://github.com/TheDragonCode/support" + }, + "funding": [ + { + "url": "https://boosty.to/dragon-code", + "type": "boosty" + }, + { + "url": "https://www.donationalerts.com/r/dragon_code", + "type": "donationalerts" + }, + { + "url": "https://github.com/sponsors/TheDragonCode", + "type": "github" + }, + { + "url": "https://opencollective.com/dragon-code", + "type": "open_collective" + }, + { + "url": "https://yoomoney.ru/to/410012608840929", + "type": "yoomoney" + } + ], + "time": "2023-08-03T09:43:52+00:00" + }, + { + "name": "fakerphp/faker", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", + "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "v1.21-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0" + }, + "time": "2023-06-12T08:44:38+00:00" + }, + { + "name": "filp/whoops", + "version": "2.15.3", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "c83e88a30524f9360b11f585f71e6b17313b7187" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/c83e88a30524f9360b11f585f71e6b17313b7187", + "reference": "c83e88a30524f9360b11f585f71e6b17313b7187", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.15.3" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2023-07-13T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" + }, + { + "name": "laravel-lang/attributes", + "version": "v2.4.1", + "source": { + "type": "git", + "url": "https://github.com/Laravel-Lang/attributes.git", + "reference": "c3dce4766cac85fc7430b634d14065e811d691bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Laravel-Lang/attributes/zipball/c3dce4766cac85fc7430b634d14065e811d691bf", + "reference": "c3dce4766cac85fc7430b634d14065e811d691bf", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel-lang/publisher": "^14.0", + "php": "^8.1" + }, + "require-dev": { + "laravel-lang/status-generator": "^1.19", + "phpunit/phpunit": "^10.0", + "symfony/var-dumper": "^6.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "LaravelLang\\Attributes\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "LaravelLang\\Attributes\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andrey Helldar", + "email": "helldar@dragon-code.pro" + }, + { + "name": "Laravel-Lang Team", + "homepage": "https://github.com/Laravel-Lang" + } + ], + "description": "List of 78 languages for form field names", + "keywords": [ + "attributes", + "fields", + "form", + "lang", + "languages", + "laravel", + "messages", + "translations", + "validation" + ], + "support": { + "issues": "https://github.com/Laravel-Lang/attributes/issues", + "source": "https://github.com/Laravel-Lang/attributes/tree/v2.4.1" + }, + "funding": [ + { + "url": "https://opencollective.com/laravel-lang", + "type": "open_collective" + } + ], + "time": "2023-09-15T20:14:52+00:00" + }, + { + "name": "laravel-lang/common", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/Laravel-Lang/common.git", + "reference": "31744c7f64610990a77c7705e590e04c1fca372d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Laravel-Lang/common/zipball/31744c7f64610990a77c7705e590e04c1fca372d", + "reference": "31744c7f64610990a77c7705e590e04c1fca372d", + "shasum": "" + }, + "require": { + "laravel-lang/attributes": "^2.3.3", + "laravel-lang/http-statuses": "^3.3.1", + "laravel-lang/lang": "^13.0", + "laravel-lang/publisher": "^14.6.4", + "php": "^8.1" + }, + "require-dev": { + "orchestra/testbench": "^8.5 || ^9.0", + "phpunit/phpunit": "^10.0", + "symfony/var-dumper": "^6.3" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laravel-Lang Team", + "homepage": "https://github.com/Laravel-Lang" + }, + { + "name": "Andrey Helldar", + "email": "helldar@dragon-code.pro", + "homepage": "https://github.com/andrey-helldar" } ], - "description": "PHP Debugbar integration for Laravel", + "description": "Easily connect the necessary language packs to the application", "keywords": [ - "debug", - "debugbar", + "Laravel-lang", + "attribute", + "attributes", + "breeze", + "cashier", + "fortify", + "framework", + "http", + "http-status", + "http-status-code", + "i18n", + "jetstream", + "lang", + "language", + "languages", "laravel", - "profiler", - "webprofiler" + "locale", + "locales", + "nova", + "publisher", + "spark", + "translation", + "translations", + "ui" ], "support": { - "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.9.2" + "issues": "https://github.com/Laravel-Lang/common/issues", + "source": "https://github.com/Laravel-Lang/common" }, "funding": [ { - "url": "https://fruitcake.nl", - "type": "custom" - }, - { - "url": "https://github.com/barryvdh", - "type": "github" + "url": "https://opencollective.com/laravel-lang", + "type": "open_collective" } ], - "time": "2023-08-25T18:43:57+00:00" + "time": "2023-08-09T09:24:50+00:00" }, { - "name": "fakerphp/faker", - "version": "v1.23.0", + "name": "laravel-lang/http-statuses", + "version": "v3.4.5", "source": { "type": "git", - "url": "https://github.com/FakerPHP/Faker.git", - "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01" + "url": "https://github.com/Laravel-Lang/http-statuses.git", + "reference": "03e50c7f3629e28786e37ea8b8c9da14eab311fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", - "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", + "url": "https://api.github.com/repos/Laravel-Lang/http-statuses/zipball/03e50c7f3629e28786e37ea8b8c9da14eab311fb", + "reference": "03e50c7f3629e28786e37ea8b8c9da14eab311fb", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0", - "psr/container": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" + "ext-json": "*", + "laravel-lang/publisher": "^14.1", + "php": "^8.1" }, "conflict": { - "fzaninotto/faker": "*" + "laravel-lang/publisher": "<14.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "doctrine/persistence": "^1.3 || ^2.0", - "ext-intl": "*", - "phpunit/phpunit": "^9.5.26", - "symfony/phpunit-bridge": "^5.4.16" - }, - "suggest": { - "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", - "ext-curl": "Required by Faker\\Provider\\Image to download images.", - "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", - "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", - "ext-mbstring": "Required for multibyte Unicode string functionality." + "laravel-lang/status-generator": "^1.19", + "phpunit/phpunit": "^10.0", + "symfony/var-dumper": "^6.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "v1.21-dev" + "laravel": { + "providers": [ + "LaravelLang\\HttpStatuses\\ServiceProvider" + ] } }, "autoload": { "psr-4": { - "Faker\\": "src/Faker/" + "LaravelLang\\HttpStatuses\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6385,57 +7107,71 @@ ], "authors": [ { - "name": "François Zaninotto" + "name": "Andrey Helldar", + "email": "helldar@dragon-code.pro" + }, + { + "name": "Laravel-Lang Team", + "homepage": "https://github.com/Laravel-Lang" } ], - "description": "Faker is a PHP library that generates fake data for you.", + "description": "List of 78 languages for HTTP statuses", "keywords": [ - "data", - "faker", - "fixtures" + "http", + "lang", + "languages", + "laravel", + "messages", + "status", + "translations" ], "support": { - "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0" + "issues": "https://github.com/Laravel-Lang/http-statuses/issues", + "source": "https://github.com/Laravel-Lang/http-statuses/tree/v3.4.5" }, - "time": "2023-06-12T08:44:38+00:00" + "funding": [ + { + "url": "https://opencollective.com/laravel-lang", + "type": "open_collective" + } + ], + "time": "2023-09-14T01:14:10+00:00" }, { - "name": "filp/whoops", - "version": "2.15.3", + "name": "laravel-lang/lang", + "version": "13.2.5", "source": { "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "c83e88a30524f9360b11f585f71e6b17313b7187" + "url": "https://github.com/Laravel-Lang/lang.git", + "reference": "774e63475ab955c5e858b554faff5d96a6631681" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/c83e88a30524f9360b11f585f71e6b17313b7187", - "reference": "c83e88a30524f9360b11f585f71e6b17313b7187", + "url": "https://api.github.com/repos/Laravel-Lang/lang/zipball/774e63475ab955c5e858b554faff5d96a6631681", + "reference": "774e63475ab955c5e858b554faff5d96a6631681", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" + "ext-json": "*", + "laravel-lang/publisher": "^14.0", + "php": "^8.1" }, "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" + "laravel-lang/status-generator": "^1.19", + "phpunit/phpunit": "^10.0", + "symfony/var-dumper": "^6.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.7-dev" + "laravel": { + "providers": [ + "LaravelLang\\Lang\\ServiceProvider" + ] } }, "autoload": { "psr-4": { - "Whoops\\": "src/Whoops/" + "LaravelLang\\Lang\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6444,83 +7180,135 @@ ], "authors": [ { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" + "name": "Laravel-Lang Team", + "homepage": "https://github.com/Laravel-Lang" } ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", + "description": "List of 78 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova, Laravel Spark and Laravel UI", "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" + "lang", + "languages", + "laravel", + "lpm" ], "support": { - "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.3" + "issues": "https://github.com/Laravel-Lang/lang/issues", + "source": "https://github.com/Laravel-Lang/lang" }, "funding": [ { - "url": "https://github.com/denis-sokolov", - "type": "github" + "url": "https://opencollective.com/laravel-lang", + "type": "open_collective" } ], - "time": "2023-07-13T12:00:00+00:00" + "time": "2023-10-04T02:11:02+00:00" }, { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "name": "laravel-lang/publisher", + "version": "v14.7.0", "source": { "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "url": "https://github.com/Laravel-Lang/publisher.git", + "reference": "4e6fa2d8c446282b832ffb16b9b3c33aa4296a5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/Laravel-Lang/publisher/zipball/4e6fa2d8c446282b832ffb16b9b3c33aa4296a5b", + "reference": "4e6fa2d8c446282b832ffb16b9b3c33aa4296a5b", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" + "archtechx/enums": "^0.3", + "composer/semver": "^3.3", + "dragon-code/pretty-array": "^4.0", + "dragon-code/support": "^6.3", + "ext-json": "*", + "illuminate/console": "^8.79 || ^9.18 || ^10.0 || ^11.0", + "illuminate/support": "^8.79 || ^9.18 || ^10.0 || ^11.0", + "league/commonmark": "^2.3", + "league/config": "^1.2", + "php": "^8.1" }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" + "conflict": { + "laravel-lang/attributes": "<2.0", + "laravel-lang/http-statuses": "<3.0", + "laravel-lang/lang": "<11.0" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "laravel-lang/json-fallback-hotfix": "^1.0", + "orchestra/testbench": "^6.25 || ^7.22 || ^8.0 || ^9.0", + "phpunit/phpunit": "^9.6 || ^10.0", + "symfony/var-dumper": "^5.0 || ^6.0" + }, + "suggest": { + "laravel-lang/attributes": "List of 78 languages for form field names", + "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": { - "branch-alias": { - "dev-master": "2.1-dev" + "laravel": { + "providers": [ + "LaravelLang\\Publisher\\ServiceProvider" + ] } }, "autoload": { - "classmap": [ - "hamcrest" - ] + "files": [ + "helper.php" + ], + "psr-4": { + "LaravelLang\\Publisher\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "This is the PHP port of Hamcrest Matchers", + "authors": [ + { + "name": "Andrey Helldar", + "email": "helldar@dragon-code.pro" + }, + { + "name": "Laravel-Lang Team", + "homepage": "https://github.com/Laravel-Lang" + } + ], + "description": "Publisher lang files for the Laravel and Lumen Frameworks, Jetstream, Fortify, Cashier, Spark and Nova from Laravel-Lang/lang", "keywords": [ - "test" + "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/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "issues": "https://github.com/Laravel-Lang/publisher/issues", + "source": "https://github.com/Laravel-Lang/publisher" }, - "time": "2020-07-09T08:09:16+00:00" + "funding": [ + { + "url": "https://opencollective.com/laravel-lang", + "type": "open_collective" + } + ], + "time": "2023-08-09T09:09:57+00:00" }, { "name": "laravel/pint", @@ -8894,6 +9682,85 @@ ], "time": "2023-10-09T12:55:26+00:00" }, + { + "name": "symfony/polyfill-php81", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", + "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, { "name": "theseer/tokenizer", "version": "1.2.1", diff --git a/lang/en.json b/lang/en.json new file mode 100644 index 00000000..06b07d70 --- /dev/null +++ b/lang/en.json @@ -0,0 +1,193 @@ +{ + "(and :count more error)": "(and :count more error)", + "(and :count more errors)": "(and :count more errors)", + "A new verification link has been sent to the email address you provided in your profile settings.": "A new verification link has been sent to the email address you provided in your profile settings.", + "A new verification link has been sent to your email address.": "A new verification link has been sent to your email address.", + "Accept Invitation": "Accept Invitation", + "Add": "Add", + "Add a new team member to your team, allowing them to collaborate with you.": "Add a new team member to your team, allowing them to collaborate with you.", + "Add additional security to your account using two factor authentication.": "Add additional security to your account using two factor authentication.", + "Add Team Member": "Add Team Member", + "Added.": "Added.", + "Administrator": "Administrator", + "Administrator users can perform any action.": "Administrator users can perform any action.", + "All of the people that are part of this team.": "All of the people that are part of this team.", + "All rights reserved.": "All rights reserved.", + "Already registered?": "Already registered?", + "API Token": "API Token", + "API Token Permissions": "API Token Permissions", + "API Tokens": "API Tokens", + "API tokens allow third-party services to authenticate with our application on your behalf.": "API tokens allow third-party services to authenticate with our application on your behalf.", + "Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.": "Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.", + "Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.", + "Are you sure you would like to delete this API token?": "Are you sure you would like to delete this API token?", + "Are you sure you would like to leave this team?": "Are you sure you would like to leave this team?", + "Are you sure you would like to remove this person from the team?": "Are you sure you would like to remove this person from the team?", + "Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.": "Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.", + "Browser Sessions": "Browser Sessions", + "Cancel": "Cancel", + "Click here to re-send the verification email.": "Click here to re-send the verification email.", + "Close": "Close", + "Code": "Code", + "Confirm": "Confirm", + "Confirm Password": "Confirm Password", + "Create": "Create", + "Create a new team to collaborate with others on projects.": "Create a new team to collaborate with others on projects.", + "Create Account": "Create Account", + "Create API Token": "Create API Token", + "Create New Team": "Create New Team", + "Create Team": "Create Team", + "Created.": "Created.", + "Current Password": "Current Password", + "Dashboard": "Dashboard", + "Delete": "Delete", + "Delete Account": "Delete Account", + "Delete API Token": "Delete API Token", + "Delete Team": "Delete Team", + "Disable": "Disable", + "Done.": "Done.", + "Edit Profile": "Edit Profile", + "Editor": "Editor", + "Editor users have the ability to read, create, and update.": "Editor users have the ability to read, create, and update.", + "Email": "Email", + "Email Password Reset Link": "Email Password Reset Link", + "Enable": "Enable", + "Ensure your account is using a long, random password to stay secure.": "Ensure your account is using a long, random password to stay secure.", + "Finish enabling two factor authentication.": "Finish enabling two factor authentication.", + "For your security, please confirm your password to continue.": "For your security, please confirm your password to continue.", + "Forbidden": "Forbidden", + "Forgot your password?": "Forgot your password?", + "Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.": "Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.", + "Go to page :page": "Go to page :page", + "Great! You have accepted the invitation to join the :team team.": "Great! You have accepted the invitation to join the :team team.", + "Hello!": "Hello!", + "I agree to the :terms_of_service and :privacy_policy": "I agree to the :terms_of_service and :privacy_policy", + "If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.": "If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.", + "If you already have an account, you may accept this invitation by clicking the button below:": "If you already have an account, you may accept this invitation by clicking the button below:", + "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 expect to receive an invitation to this team, you may discard this email.": "If you did not expect to receive an invitation to this team, you may discard this 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 do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:": "If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:", + "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:", + "Invalid JSON was returned from the route.": "Invalid JSON was returned from the route.", + "Last active": "Last active", + "Last used": "Last used", + "Leave": "Leave", + "Leave Team": "Leave Team", + "Log in": "Log in", + "Log Out": "Log Out", + "Log Out Other Browser Sessions": "Log Out Other Browser Sessions", + "Login": "Login", + "Logout": "Logout", + "Manage Account": "Manage Account", + "Manage and log out your active sessions on other browsers and devices.": "Manage and log out your active sessions on other browsers and devices.", + "Manage API Tokens": "Manage API Tokens", + "Manage Role": "Manage Role", + "Manage Team": "Manage Team", + "Name": "Name", + "New Password": "New Password", + "Not Found": "Not Found", + "of": "of", + "Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.": "Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.", + "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.", + "Page Expired": "Page Expired", + "Pagination Navigation": "Pagination Navigation", + "Password": "Password", + "Payment Required": "Payment Required", + "Pending Team Invitations": "Pending Team Invitations", + "Permanently delete this team.": "Permanently delete this team.", + "Permanently delete your account.": "Permanently delete your account.", + "Permissions": "Permissions", + "Photo": "Photo", + "Please click the button below to verify your email address.": "Please click the button below to verify your email address.", + "Please confirm access to your account by entering one of your emergency recovery codes.": "Please confirm access to your account by entering one of your emergency recovery codes.", + "Please confirm access to your account by entering the authentication code provided by your authenticator application.": "Please confirm access to your account by entering the authentication code provided by your authenticator application.", + "Please copy your new API token. For your security, it won't be shown again.": "Please copy your new API token. For your security, it won't be shown again.", + "Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.": "Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.", + "Please provide the email address of the person you would like to add to this team.": "Please provide the email address of the person you would like to add to this team.", + "Privacy Policy": "Privacy Policy", + "Profile": "Profile", + "Profile Information": "Profile Information", + "Recovery Code": "Recovery Code", + "Regards": "Regards", + "Regenerate Recovery Codes": "Regenerate Recovery Codes", + "Register": "Register", + "Remember me": "Remember me", + "Remove": "Remove", + "Remove Photo": "Remove Photo", + "Remove Team Member": "Remove Team Member", + "Resend Verification Email": "Resend Verification Email", + "Reset Password": "Reset Password", + "Reset Password Notification": "Reset Password Notification", + "results": "results", + "Role": "Role", + "Save": "Save", + "Saved.": "Saved.", + "Select A New Photo": "Select A New Photo", + "Server Error": "Server Error", + "Service Unavailable": "Service Unavailable", + "Setup Key": "Setup Key", + "Show Recovery Codes": "Show Recovery Codes", + "Showing": "Showing", + "Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.": "Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.", + "Switch Teams": "Switch Teams", + "Team Details": "Team Details", + "Team Invitation": "Team Invitation", + "Team Members": "Team Members", + "Team Name": "Team Name", + "Team Owner": "Team Owner", + "Team Settings": "Team Settings", + "Terms of Service": "Terms of Service", + "The :attribute must be a valid role.": "The :attribute must be a valid role.", + "The :attribute must be at least :length characters and contain at least one number.": "The :attribute must be at least :length characters and contain at least one number.", + "The :attribute must be at least :length characters and contain at least one special character and one number.": "The :attribute must be at least :length characters and contain at least one special character and one number.", + "The :attribute must be at least :length characters and contain at least one special character.": "The :attribute must be at least :length characters and contain at least one special character.", + "The :attribute must be at least :length characters and contain at least one uppercase character and one number.": "The :attribute must be at least :length characters and contain at least one uppercase character and one number.", + "The :attribute must be at least :length characters and contain at least one uppercase character and one special character.": "The :attribute must be at least :length characters and contain at least one uppercase character and one special character.", + "The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.": "The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.", + "The :attribute must be at least :length characters and contain at least one uppercase character.": "The :attribute must be at least :length characters and contain at least one uppercase character.", + "The :attribute must be at least :length characters.": "The :attribute must be at least :length characters.", + "The given data was invalid.": "The given data was invalid.", + "The password is incorrect.": "The password is incorrect.", + "The provided password does not match your current password.": "The provided password does not match your current password.", + "The provided password was incorrect.": "The provided password was incorrect.", + "The provided two factor authentication code was invalid.": "The provided two factor authentication code was invalid.", + "The provided two factor recovery code was invalid.": "The provided two factor recovery code was invalid.", + "The response is not a streamed response.": "The response is not a streamed response.", + "The response is not a view.": "The response is not a view.", + "The team's name and owner information.": "The team's name and owner information.", + "These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.": "These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.", + "This device": "This device", + "This is a secure area of the application. Please confirm your password before continuing.": "This is a secure area of the application. Please confirm your password before continuing.", + "This password does not match our records.": "This password does not match our records.", + "This password reset link will expire in :count minutes.": "This password reset link will expire in :count minutes.", + "This user already belongs to the team.": "This user already belongs to the team.", + "This user has already been invited to the team.": "This user has already been invited to the team.", + "to": "to", + "To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.": "To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.", + "Toggle navigation": "Toggle navigation", + "Token Name": "Token Name", + "Too Many Requests": "Too Many Requests", + "Two Factor Authentication": "Two Factor Authentication", + "Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.": "Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.", + "Unauthorized": "Unauthorized", + "Unknown": "Unknown", + "Update Password": "Update Password", + "Update your account's profile information and email address.": "Update your account's profile information and email address.", + "Use a recovery code": "Use a recovery code", + "Use an authentication code": "Use an authentication code", + "Verify Email Address": "Verify Email Address", + "We were unable to find a registered user with this email address.": "We were unable to find a registered user with this email address.", + "When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.": "When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.", + "Whoops!": "Whoops!", + "Whoops! Something went wrong.": "Whoops! Something went wrong.", + "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.", + "You have been invited to join the :team team!": "You have been invited to join the :team team!", + "You have enabled two factor authentication.": "You have enabled two factor authentication.", + "You have not enabled two factor authentication.": "You have not enabled two factor authentication.", + "You may accept this invitation by clicking the button below:": "You may accept this invitation by clicking the button below:", + "You may delete any of your existing tokens if they are no longer needed.": "You may delete any of your existing tokens if they are no longer needed.", + "You may not delete your personal team.": "You may not delete your personal team.", + "You may not leave a team that you created.": "You may not leave a team that you created.", + "Your email address is unverified.": "Your email address is unverified." +} \ No newline at end of file diff --git a/lang/en/auth.php b/lang/en/auth.php new file mode 100644 index 00000000..4337d090 --- /dev/null +++ b/lang/en/auth.php @@ -0,0 +1,9 @@ + 'These credentials do not match our records.', + 'password' => 'The password is incorrect.', + 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', +]; diff --git a/lang/en/http-statuses.php b/lang/en/http-statuses.php new file mode 100644 index 00000000..f2488f41 --- /dev/null +++ b/lang/en/http-statuses.php @@ -0,0 +1,84 @@ + 'Unknown Error', + '100' => 'Continue', + '101' => 'Switching Protocols', + '102' => 'Processing', + '200' => 'OK', + '201' => 'Created', + '202' => 'Accepted', + '203' => 'Non-Authoritative Information', + '204' => 'No Content', + '205' => 'Reset Content', + '206' => 'Partial Content', + '207' => 'Multi-Status', + '208' => 'Already Reported', + '226' => 'IM Used', + '300' => 'Multiple Choices', + '301' => 'Moved Permanently', + '302' => 'Found', + '303' => 'See Other', + '304' => 'Not Modified', + '305' => 'Use Proxy', + '307' => 'Temporary Redirect', + '308' => 'Permanent Redirect', + '400' => 'Bad Request', + '401' => 'Unauthorized', + '402' => 'Payment Required', + '403' => 'Forbidden', + '404' => 'Not Found', + '405' => 'Method Not Allowed', + '406' => 'Not Acceptable', + '407' => 'Proxy Authentication Required', + '408' => 'Request Timeout', + '409' => 'Conflict', + '410' => 'Gone', + '411' => 'Length Required', + '412' => 'Precondition Failed', + '413' => 'Payload Too Large', + '414' => 'URI Too Long', + '415' => 'Unsupported Media Type', + '416' => 'Range Not Satisfiable', + '417' => 'Expectation Failed', + '418' => 'I\'m a teapot', + '419' => 'Session Has Expired', + '421' => 'Misdirected Request', + '422' => 'Unprocessable Entity', + '423' => 'Locked', + '424' => 'Failed Dependency', + '425' => 'Too Early', + '426' => 'Upgrade Required', + '428' => 'Precondition Required', + '429' => 'Too Many Requests', + '431' => 'Request Header Fields Too Large', + '444' => 'Connection Closed Without Response', + '449' => 'Retry With', + '451' => 'Unavailable For Legal Reasons', + '499' => 'Client Closed Request', + '500' => 'Internal Server Error', + '501' => 'Not Implemented', + '502' => 'Bad Gateway', + '503' => 'Maintenance Mode', + '504' => 'Gateway Timeout', + '505' => 'HTTP Version Not Supported', + '506' => 'Variant Also Negotiates', + '507' => 'Insufficient Storage', + '508' => 'Loop Detected', + '509' => 'Bandwidth Limit Exceeded', + '510' => 'Not Extended', + '511' => 'Network Authentication Required', + '520' => 'Unknown Error', + '521' => 'Web Server is Down', + '522' => 'Connection Timed Out', + '523' => 'Origin Is Unreachable', + '524' => 'A Timeout Occurred', + '525' => 'SSL Handshake Failed', + '526' => 'Invalid SSL Certificate', + '527' => 'Railgun Error', + '598' => 'Network Read Timeout Error', + '599' => 'Network Connect Timeout Error', + 'unknownError' => 'Unknown Error', +]; diff --git a/lang/en/pagination.php b/lang/en/pagination.php new file mode 100644 index 00000000..c4937125 --- /dev/null +++ b/lang/en/pagination.php @@ -0,0 +1,8 @@ + 'Next »', + 'previous' => '« Previous', +]; diff --git a/lang/en/passwords.php b/lang/en/passwords.php new file mode 100644 index 00000000..1130b8d4 --- /dev/null +++ b/lang/en/passwords.php @@ -0,0 +1,11 @@ + '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.', +]; diff --git a/lang/en/validation.php b/lang/en/validation.php new file mode 100644 index 00000000..bd96682d --- /dev/null +++ b/lang/en/validation.php @@ -0,0 +1,217 @@ + '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 may only contain letters.', + 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.', + 'alpha_num' => 'The :attribute may only contain letters and numbers.', + 'array' => 'The :attribute must be an array.', + 'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.', + '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.', + 'string' => 'The :attribute must be between :min and :max characters.', + ], + 'boolean' => 'The :attribute field must be true or false.', + 'can' => 'The :attribute field contains an unauthorized value.', + '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.', + 'decimal' => 'The :attribute field must have :decimal decimal places.', + '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.', + 'doesnt_end_with' => 'The :attribute field must not end with one of the following: :values.', + 'doesnt_start_with' => 'The :attribute field must not start with one of the following: :values.', + '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 is required.', + '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.', + 'string' => 'The :attribute must be greater than :value characters.', + ], + 'gte' => [ + 'array' => 'The :attribute must have :value items or more.', + 'file' => 'The :attribute must be greater than or equal :value kilobytes.', + 'numeric' => 'The :attribute must be greater than or equal :value.', + 'string' => 'The :attribute must be greater than or equal :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.', + 'lowercase' => 'The :attribute field must be lowercase.', + '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.', + 'string' => 'The :attribute must be less than :value characters.', + ], + 'lte' => [ + 'array' => 'The :attribute must not have more than :value items.', + 'file' => 'The :attribute must be less than or equal :value kilobytes.', + 'numeric' => 'The :attribute must be less than or equal :value.', + 'string' => 'The :attribute must be less than or equal :value characters.', + ], + 'mac_address' => 'The :attribute must be a valid MAC address.', + 'max' => [ + 'array' => 'The :attribute may not have more than :max items.', + 'file' => 'The :attribute may not be greater than :max kilobytes.', + 'numeric' => 'The :attribute may not be greater than :max.', + 'string' => 'The :attribute may not be greater than :max characters.', + ], + 'max_digits' => 'The :attribute field must not have more than :max digits.', + '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.', + 'string' => 'The :attribute must be at least :min characters.', + ], + 'min_digits' => 'The :attribute field must have at least :min digits.', + 'missing' => 'The :attribute field must be missing.', + 'missing_if' => 'The :attribute field must be missing when :other is :value.', + 'missing_unless' => 'The :attribute field must be missing unless :other is :value.', + 'missing_with' => 'The :attribute field must be missing when :values is present.', + 'missing_with_all' => 'The :attribute field must be missing when :values are 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' => [ + 'letters' => 'The :attribute field must contain at least one letter.', + 'mixed' => 'The :attribute field must contain at least one uppercase and one lowercase letter.', + 'numbers' => 'The :attribute field must contain at least one number.', + 'symbols' => 'The :attribute field must contain at least one symbol.', + 'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.', + ], + '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_if_accepted' => 'The :attribute field is required when :other is accepted.', + '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 is 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' => [ + 'array' => 'The :attribute must contain :size items.', + 'file' => 'The :attribute must be :size kilobytes.', + 'numeric' => 'The :attribute must be :size.', + '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 zone.', + 'ulid' => 'The :attribute field must be a valid ULID.', + 'unique' => 'The :attribute has already been taken.', + 'uploaded' => 'The :attribute failed to upload.', + 'uppercase' => 'The :attribute field must be uppercase.', + 'url' => 'The :attribute format is invalid.', + 'uuid' => 'The :attribute must be a valid UUID.', + 'attributes' => [ + 'address' => 'address', + 'age' => 'age', + 'amount' => 'amount', + 'area' => 'area', + 'available' => 'available', + 'birthday' => 'birthday', + 'body' => 'body', + 'city' => 'city', + 'content' => 'content', + 'country' => 'country', + 'created_at' => 'created at', + 'creator' => 'creator', + 'current_password' => 'current password', + 'date' => 'date', + 'date_of_birth' => 'date of birth', + 'day' => 'day', + 'deleted_at' => 'deleted at', + 'description' => 'description', + 'district' => 'district', + 'duration' => 'duration', + 'email' => 'email', + 'excerpt' => 'excerpt', + 'filter' => 'filter', + 'first_name' => 'first name', + 'gender' => 'gender', + 'group' => 'group', + 'hour' => 'hour', + 'image' => 'image', + 'last_name' => 'last name', + 'lesson' => 'lesson', + 'line_address_1' => 'line address 1', + 'line_address_2' => 'line address 2', + 'message' => 'message', + 'middle_name' => 'middle name', + 'minute' => 'minute', + 'mobile' => 'mobile', + 'month' => 'month', + 'name' => 'name', + 'national_code' => 'national code', + 'number' => 'number', + 'password' => 'password', + 'password_confirmation' => 'password confirmation', + 'phone' => 'phone', + 'photo' => 'photo', + 'postal_code' => 'postal code', + 'price' => 'price', + 'province' => 'province', + 'recaptcha_response_field' => 'recaptcha response field', + 'remember' => 'remember', + 'restored_at' => 'restored at', + 'result_text_under_image' => 'result text under image', + 'role' => 'role', + 'second' => 'second', + 'sex' => 'sex', + 'short_text' => 'short text', + 'size' => 'size', + 'state' => 'state', + 'street' => 'street', + 'student' => 'student', + 'subject' => 'subject', + 'teacher' => 'teacher', + 'terms' => 'terms', + 'test_description' => 'test description', + 'test_locale' => 'test locale', + 'test_name' => 'test name', + 'text' => 'text', + 'time' => 'time', + 'title' => 'title', + 'updated_at' => 'updated at', + 'username' => 'username', + 'year' => 'year', + ], +]; diff --git a/lang/fr.json b/lang/fr.json new file mode 100644 index 00000000..2461d6ab --- /dev/null +++ b/lang/fr.json @@ -0,0 +1,193 @@ +{ + "(and :count more error)": "(et :count erreur en plus)", + "(and :count more errors)": "(et :count erreurs en plus)", + "A new verification link has been sent to the email address you provided in your profile settings.": "Un nouveau lien de vérification a été envoyé à l'adresse e-mail que vous avez indiquée dans vos paramètres de profil.", + "A new verification link has been sent to your email address.": "Un nouveau lien de vérification a été envoyé à votre adresse e-mail.", + "Accept Invitation": "Accepter l'invitation", + "Add": "Ajouter", + "Add a new team member to your team, allowing them to collaborate with you.": "Ajouter un nouveau membre de l'équipe à votre équipe, lui permettant de collaborer avec vous.", + "Add additional security to your account using two factor authentication.": "Ajouter une sécurité supplémentaire à votre compte en utilisant l'authentification à deux facteurs.", + "Add Team Member": "Ajouter un membre d'équipe", + "Added.": "Ajouté.", + "Administrator": "Administrateur", + "Administrator users can perform any action.": "Les administrateurs peuvent effectuer n'importe quelle action.", + "All of the people that are part of this team.": "Toutes les personnes faisant partie de cette équipe.", + "All rights reserved.": "Tous droits réservés.", + "Already registered?": "Déjà inscrit·e ?", + "API Token": "Jeton API", + "API Token Permissions": "Autorisations de jeton API", + "API Tokens": "Jeton API", + "API tokens allow third-party services to authenticate with our application on your behalf.": "Les jetons API permettent à des services tiers de s'authentifier auprès de notre application en votre nom.", + "Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.": "Êtes-vous sûr·e de vouloir supprimer cette équipe ? Lorsqu'une équipe est supprimée, toutes les données associées seront définitivement supprimées.", + "Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Êtes-vous sûr·e de vouloir supprimer votre compte ? Une fois que votre compte est supprimé, toutes les données associées seront supprimées définitivement. Pour confirmer que vous voulez supprimer définitivement votre compte, renseignez votre mot de passe.", + "Are you sure you would like to delete this API token?": "Êtes-vous sûr·e de vouloir supprimer ce jeton API ?", + "Are you sure you would like to leave this team?": "Êtes-vous sûr·e de vouloir quitter cette équipe ?", + "Are you sure you would like to remove this person from the team?": "Êtes-vous sûr·e de vouloir supprimer cette personne de cette équipe ?", + "Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.": "Avant de continuer, pourriez-vous vérifier votre adresse e-mail en cliquant sur le lien de vérification que l'on vient de vous envoyer ? Si vous n'avez pas reçu l'e-mail, nous vous en enverrons un autre avec plaisir.", + "Browser Sessions": "Sessions de navigateur", + "Cancel": "Annuler", + "Click here to re-send the verification email.": "Cliquez ici pour renvoyer l'e-mail de vérification.", + "Close": "Fermer", + "Code": "Code", + "Confirm": "Confirmer", + "Confirm Password": "Confirmer le mot de passe", + "Create": "Créer", + "Create a new team to collaborate with others on projects.": "Créer une nouvelle équipe pour collaborer avec d'autres personnes sur des projets.", + "Create Account": "Créer un compte", + "Create API Token": "Créer un jeton API", + "Create New Team": "Créer une nouvelle équipe", + "Create Team": "Créer l'équipe", + "Created.": "Créé·e.", + "Current Password": "Mot de passe actuel", + "Dashboard": "Tableau de bord", + "Delete": "Supprimer", + "Delete Account": "Supprimer le compte", + "Delete API Token": "Supprimer le jeton API", + "Delete Team": "Supprimer l'équipe", + "Disable": "Désactiver", + "Done.": "Terminé.", + "Edit Profile": "Éditer le profil", + "Editor": "Éditeur", + "Editor users have the ability to read, create, and update.": "Les éditeurs peuvent lire, créer et mettre à jour", + "Email": "E-mail", + "Email Password Reset Link": "Lien de réinitialisation du mot de passe", + "Enable": "Activer", + "Ensure your account is using a long, random password to stay secure.": "Assurez-vous d'utiliser un mot de passe long et aléatoire pour sécuriser votre compte.", + "Finish enabling two factor authentication.": "Terminez l'activation de l'authentification à deux facteurs.", + "For your security, please confirm your password to continue.": "Par mesure de sécurité, veuillez confirmer votre mot de passe pour continuer.", + "Forbidden": "Interdit", + "Forgot your password?": "Mot de passe oublié ?", + "Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.": "Mot de passe oublié ? Pas de soucis. Veuillez nous indiquer votre adresse e-mail et nous vous enverrons un lien de réinitialisation du mot de passe.", + "Go to page :page": "Aller à la page :page", + "Great! You have accepted the invitation to join the :team team.": "Super ! Vous avez accepté l'invitation à rejoindre l'équipe :team", + "Hello!": "Bonjour !", + "I agree to the :terms_of_service and :privacy_policy": "Je suis d'accord avec :terms_of_service et :privacy_policy", + "If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.": "Si nécessaire, vous pouvez vous déconnecter de toutes vos autres sessions de navigateurs ouvertes sur tous vos appareils. Vos dernières sessions sont listées ci-dessous ; cependant, cette liste peut ne pas être exhaustive. Si vous pensez que votre compte a été compromis, vous devriez également mettre à jour votre mot de passe.", + "If you already have an account, you may accept this invitation by clicking the button below:": "Si vous avez déjà un compte, vous pouvez accepter cette invitation en cliquant sur le bouton ci-dessous :", + "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 expect to receive an invitation to this team, you may discard this email.": "Si vous n'attendiez pas d'invitation de cette équipe, vous pouvez supprimer 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 do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:": "Si vous n'avez pas de compte, vous pouvez en créer un en cliquant sur le bouton ci-dessous. Ensuite, vous pourrez cliquer sur le bouton de cet e-mail pour accepter l'invitation de rejoindre l'équipe :", + "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 :", + "Invalid JSON was returned from the route.": "Un JSON non valide a été renvoyé par la route.", + "Last active": "Dernier actif", + "Last used": "Dernière utilisation", + "Leave": "Quitter", + "Leave Team": "Quitter l'équipe", + "Log in": "Se connecter", + "Log Out": "Se déconnecter", + "Log Out Other Browser Sessions": "Déconnecter les sessions ouvertes sur d'autres navigateurs", + "Login": "Connexion", + "Logout": "Déconnexion", + "Manage Account": "Gérer le compte", + "Manage and log out your active sessions on other browsers and devices.": "Gérer et déconnecter vos sessions actives sur les autres navigateurs et appareils.", + "Manage API Tokens": "Gérer les jetons API", + "Manage Role": "Gérer le rôle", + "Manage Team": "Gérer l'équipe", + "Name": "Nom", + "New Password": "Nouveau mot de passe", + "Not Found": "Non trouvé", + "of": "de", + "Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.": "Une fois qu'une équipe est supprimée, toutes ses données seront supprimées définitivement. Avant de supprimer cette équipe, veuillez télécharger toutes données ou informations de cette équipe.", + "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Une fois que votre compte est supprimé, toutes vos données sont supprimées définitivement. Avant de supprimer votre compte, veuillez télécharger vos données.", + "Page Expired": "Page expirée", + "Pagination Navigation": "Pagination", + "Password": "Mot de passe", + "Payment Required": "Paiement requis", + "Pending Team Invitations": "Invitations d'équipe en attente", + "Permanently delete this team.": "Supprimer définitivement cette équipe.", + "Permanently delete your account.": "Supprimer définitivement votre compte.", + "Permissions": "Permissions", + "Photo": "Image", + "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 access to your account by entering one of your emergency recovery codes.": "Veuillez confirmer l'accès à votre compte en entrant l'un des codes de récupération d'urgence.", + "Please confirm access to your account by entering the authentication code provided by your authenticator application.": "Veuillez confirmer l'accès à votre compte en entrant le code d'authentification fourni par votre application d'authentification.", + "Please copy your new API token. For your security, it won't be shown again.": "Veuillez copier votre nouveau token API. Pour votre sécurité, il ne sera pas ré-affiché.", + "Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.": "Veuillez entrer votre mot de passe pour confirmer que vous voulez déconnecter toutes les autres sessions de navigateurs sur l'ensemble de vos appareils.", + "Please provide the email address of the person you would like to add to this team.": "Veuillez indiquer l'adresse e-mail de la personne que vous souhaitez ajouter à cette équipe.", + "Privacy Policy": "Politique de confidentialité", + "Profile": "Profil", + "Profile Information": "Informations du profil", + "Recovery Code": "Code de récupération", + "Regards": "Cordialement", + "Regenerate Recovery Codes": "Régénérer les codes de récupération", + "Register": "Inscription", + "Remember me": "Se souvenir de moi", + "Remove": "Supprimer", + "Remove Photo": "Supprimer l'image", + "Remove Team Member": "Supprimer le membre d'équipe", + "Resend Verification Email": "Renvoyer l'e-mail de vérification", + "Reset Password": "Réinitialisation du mot de passe", + "Reset Password Notification": "Notification de réinitialisation du mot de passe", + "results": "résultats", + "Role": "Rôle", + "Save": "Sauvegarder", + "Saved.": "Sauvegardé.", + "Select A New Photo": "Sélectionner une nouvelle image", + "Server Error": "Erreur serveur", + "Service Unavailable": "Service indisponible", + "Setup Key": "Clé de configuration", + "Show Recovery Codes": "Afficher les codes de récupération", + "Showing": "Montrant", + "Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.": "Enregistrez ces codes dans un gestionnaire de mot de passe sécurisé. Ils peuvent être réutilisés pour accéder à votre compte si l'authentification à deux facteurs n'aboutit pas.", + "Switch Teams": "Permuter les équipes", + "Team Details": "Détails de l'équipe", + "Team Invitation": "Invitation d'équipe", + "Team Members": "Membres de l'équipe", + "Team Name": "Nom de l'équipe", + "Team Owner": "Propriétaire de l'équipe", + "Team Settings": "Préférences de l'équipe", + "Terms of Service": "Conditions d'utilisation", + "The :attribute must be a valid role.": "Le :attribute doit être un rôle valide.", + "The :attribute must be at least :length characters and contain at least one number.": "Le champ :attribute doit avoir au moins :length caractères et contenir au moins un chiffre.", + "The :attribute must be at least :length characters and contain at least one special character and one number.": "Le champ :attribute doit avoir au moins :length caractères et contenir au moins un caractère spécial et un nombre.", + "The :attribute must be at least :length characters and contain at least one special character.": "Le champ :attribute doit avoir au moins :length caractères et contenir au moins un caractère spécial.", + "The :attribute must be at least :length characters and contain at least one uppercase character and one number.": "Le champ :attribute doit avoir au moins :length caractères et contenir au moins une majuscule et un chiffre.", + "The :attribute must be at least :length characters and contain at least one uppercase character and one special character.": "Le champ :attribute doit avoir au moins :length caractères et contenir au moins une majuscule et un caractère spécial.", + "The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.": "Le champ :attribute doit avoir au moins :length caractères, et contenir au moins une majuscule, un chiffre et un caractère spécial.", + "The :attribute must be at least :length characters and contain at least one uppercase character.": "Le champ :attribute doit avoir au moins :length caractères et au moins une majuscule.", + "The :attribute must be at least :length characters.": "Le champ :attribute doit avoir au moins :length caractères.", + "The given data was invalid.": "La donnée renseignée est incorrecte.", + "The password is incorrect.": "Le mot de passe est incorrect.", + "The provided password does not match your current password.": "Le mot de passe indiqué ne correspond pas à votre mot de passe actuel.", + "The provided password was incorrect.": "Le mot de passé indiqué est incorrect.", + "The provided two factor authentication code was invalid.": "Le code d'authentification à deux facteurs fourni est incorrect.", + "The provided two factor recovery code was invalid.": "Le code de récupération fourni pour l'authentification à deux facteurs est incorrect.", + "The response is not a streamed response.": "La réponse n'est pas une réponse diffusée.", + "The response is not a view.": "La réponse n'est pas une vue.", + "The team's name and owner information.": "Les informations concernant l'équipe et son propriétaire.", + "These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.": "Ces personnes ont été invitées à rejoindre votre équipe et ont été prévenues avec un e-mail d'invitation. Ils peuvent rejoindre l'équipe grâce à l'e-mail d'invitation.", + "This device": "Cet appareil", + "This is a secure area of the application. Please confirm your password before continuing.": "Ceci est une zone sécurisée de l'application. Veuillez confirmer votre mot de passe avant de continuer.", + "This password does not match our records.": "Ce mot de passe ne correspond pas à nos enregistrements.", + "This password reset link will expire in :count minutes.": "Ce lien de réinitialisation du mot de passe expirera dans :count minutes.", + "This user already belongs to the team.": "Cet utilisateur appartient déjà à l'équipe.", + "This user has already been invited to the team.": "Cet utilisateur a déjà été invité à rejoindre l'équipe.", + "to": "à", + "To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.": "Pour terminer l'activation de l'authentification à deux facteurs, scannez le code QR suivant à l'aide de l'application d'authentification de votre téléphone ou entrez la clé de configuration et fournissez le code OTP généré.", + "Toggle navigation": "Afficher / masquer le menu de navigation", + "Token Name": "Nom du jeton", + "Too Many Requests": "Trop de requêtes", + "Two Factor Authentication": "Authentification à deux facteurs", + "Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.": "L'authentification à deux facteurs est maintenant activée. Scannez le code QR suivant à l'aide de l'application d'authentification de votre téléphone ou entrez la clé de configuration.", + "Unauthorized": "Non autorisé", + "Unknown": "Inconnu·e", + "Update Password": "Mettre à jour le mot de passe", + "Update your account's profile information and email address.": "Modifier le profil associé à votre compte ainsi que votre adresse e-mail.", + "Use a recovery code": "Utiliser un code de récupération", + "Use an authentication code": "Utiliser un code d'authentification", + "Verify Email Address": "Vérifier l'adresse e-mail", + "We were unable to find a registered user with this email address.": "Nous n'avons pas pu trouver un utilisateur enregistré avec cette adresse e-mail.", + "When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.": "Lorsque l'authentification à deux facteurs est activée, vous serez invité à saisir un jeton aléatoire sécurisé lors de l'authentification. Vous pouvez récupérer ce jeton depuis l'application Google Authenticator de votre téléphone.", + "Whoops!": "Oups !", + "Whoops! Something went wrong.": "Oups ! Un problème est survenu.", + "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.", + "You have been invited to join the :team team!": "Vous avez été invité·e à rejoindre l'équipe :team !", + "You have enabled two factor authentication.": "Vous avez activé l'authentification à deux facteurs.", + "You have not enabled two factor authentication.": "Vous n'avez pas activé l'authentification à deux facteurs.", + "You may accept this invitation by clicking the button below:": "Vous pouvez accepter cette invitation en cliquant sur le bouton ci-dessous :", + "You may delete any of your existing tokens if they are no longer needed.": "Vous pouvez supprimer n'importe lequel de vos jetons existants s'ils ne sont plus nécessaires.", + "You may not delete your personal team.": "Vous ne pouvez pas supprimer votre équipe personnelle.", + "You may not leave a team that you created.": "Vous ne pouvez pas quitter une équipe que vous avez créée.", + "Your email address is unverified.": "Votre adresse e-mail n'est pas vérifiée." +} \ No newline at end of file diff --git a/lang/fr/auth.php b/lang/fr/auth.php new file mode 100644 index 00000000..7b21d006 --- /dev/null +++ b/lang/fr/auth.php @@ -0,0 +1,9 @@ + 'Ces identifiants ne correspondent pas à nos enregistrements.', + 'password' => 'Le mot de passe est incorrect', + 'throttle' => 'Tentatives de connexion trop nombreuses. Veuillez essayer de nouveau dans :seconds secondes.', +]; diff --git a/lang/fr/http-statuses.php b/lang/fr/http-statuses.php new file mode 100644 index 00000000..e0845ac5 --- /dev/null +++ b/lang/fr/http-statuses.php @@ -0,0 +1,84 @@ + 'Erreur inconnue', + '100' => 'Continuer', + '101' => 'Protocoles de commutation', + '102' => 'En traitement', + '200' => 'D\'accord', + '201' => 'Créé', + '202' => 'Accepté', + '203' => 'Informations non autorisées', + '204' => 'Pas content', + '205' => 'Réinitialiser le contenu', + '206' => 'Contenu partiel', + '207' => 'Multi-statut', + '208' => 'Déjà rapporté', + '226' => 'J\'ai l\'habitude', + '300' => 'Choix multiples', + '301' => 'Déplacé de façon permanente', + '302' => 'A trouvé', + '303' => 'Voir autre', + '304' => 'Non modifié', + '305' => 'Utiliser un proxy', + '307' => 'Redirection temporaire', + '308' => 'Redirection permanente', + '400' => 'Mauvaise Demande', + '401' => 'Non autorisé', + '402' => 'Paiement Requis', + '403' => 'Interdit', + '404' => 'Page non trouvée', + '405' => 'Méthode Non Autorisée', + '406' => 'Pas acceptable', + '407' => 'Authentification proxy requise', + '408' => 'Délai d\'expiration de la demande', + '409' => 'Conflit', + '410' => 'Disparu', + '411' => 'Longueur requise', + '412' => 'La précondition a échoué', + '413' => 'Charge utile trop grande', + '414' => 'URI trop long', + '415' => 'Type de support non supporté', + '416' => 'Plage non satisfaisante', + '417' => 'Échec de l\'attente', + '418' => 'Je suis une théière', + '419' => 'La session a expiré', + '421' => 'Demande mal dirigée', + '422' => 'Entité non traitable', + '423' => 'Fermé à clef', + '424' => 'Dépendance échouée', + '425' => 'Trop tôt', + '426' => 'Mise à niveau requise', + '428' => 'Condition préalable requise', + '429' => 'Trop de demandes', + '431' => 'Demander des champs d\'en-tête trop grands', + '444' => 'Connexion fermée sans réponse', + '449' => 'Réessayer avec', + '451' => 'Indisponible pour des raisons légales', + '499' => 'Demande fermée du client', + '500' => 'Erreur Interne du Serveur', + '501' => 'Pas mis en œuvre', + '502' => 'Mauvaise passerelle', + '503' => 'Mode de Maintenance', + '504' => 'Délai d\'attente de la passerelle', + '505' => 'Version HTTP non prise en charge', + '506' => 'La variante négocie également', + '507' => 'Espace insuffisant', + '508' => 'Boucle détectée', + '509' => 'Limite de bande passante dépassée', + '510' => 'Non prolongé', + '511' => 'Authentification réseau requise', + '520' => 'Erreur inconnue', + '521' => 'Le serveur Web est en panne', + '522' => 'La connexion a expiré', + '523' => 'L\'origine est inaccessible', + '524' => 'Un dépassement de délai s\'est produit', + '525' => 'Échec de la prise de contact SSL', + '526' => 'Certificat SSL invalide', + '527' => 'Erreur de canon ferroviaire', + '598' => 'Erreur de délai de lecture réseau', + '599' => 'Erreur de délai de connexion réseau', + 'unknownError' => 'Erreur inconnue', +]; diff --git a/lang/fr/pagination.php b/lang/fr/pagination.php new file mode 100644 index 00000000..78d8fd96 --- /dev/null +++ b/lang/fr/pagination.php @@ -0,0 +1,8 @@ + 'Suivant »', + 'previous' => '« Précédent', +]; diff --git a/lang/fr/passwords.php b/lang/fr/passwords.php new file mode 100644 index 00000000..0a6eeac4 --- /dev/null +++ b/lang/fr/passwords.php @@ -0,0 +1,11 @@ + '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.', +]; diff --git a/lang/fr/validation.php b/lang/fr/validation.php new file mode 100644 index 00000000..752500b8 --- /dev/null +++ b/lang/fr/validation.php @@ -0,0 +1,217 @@ + 'Le champ :attribute doit être accepté.', + '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.', + '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.', + 'ascii' => 'Le champ :attribute ne doit contenir que des caractères alphanumériques et des symboles codés sur un octet.', + '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' => [ + '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.', + 'can' => 'Le champ :attribute contient une valeur non autorisée.', + 'confirmed' => 'Le champ de confirmation :attribute ne correspond pas.', + '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.', + 'decimal' => 'Le champ :attribute doit comporter :decimal décimales.', + '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.', + 'distinct' => 'Le champ :attribute a une valeur en double.', + 'doesnt_end_with' => 'Le champ :attribute ne doit pas finir avec une des valeurs suivantes : :values.', + 'doesnt_start_with' => 'Le champ :attribute ne doit pas commencer avec une des valeurs suivantes : :values.', + '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' => [ + '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' => [ + '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.', + '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.', + 'lowercase' => 'Le champ :attribute doit être en minuscules.', + 'lt' => [ + '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' => [ + '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' => [ + '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.', + '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.', + ], + 'max_digits' => 'Le champ :attribute ne doit pas avoir plus de :max chiffres.', + 'mimes' => 'Le champ :attribute doit être un fichier de type : :values.', + 'mimetypes' => 'Le champ :attribute doit être un fichier de type : :values.', + 'min' => [ + '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 de :attribute doit contenir au moins :min caractères.', + ], + 'min_digits' => 'Le champ :attribute doit avoir au moins :min chiffres.', + 'missing' => 'Le champ :attribute doit être manquant.', + 'missing_if' => 'Le champ :attribute doit être manquant quand :other a la valeur :value.', + 'missing_unless' => 'Le champ :attribute doit être manquant sauf si :other a la valeur :value.', + 'missing_with' => 'Le champ :attribute doit être manquant quand :values est présent.', + 'missing_with_all' => 'Le champ :attribute doit être manquant quand :values sont présents.', + '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' => [ + 'letters' => 'Le champ :attribute doit contenir au moins une lettre.', + 'mixed' => 'Le champ :attribute doit contenir au moins une majuscule et une minuscule.', + 'numbers' => 'Le champ :attribute doit contenir au moins un chiffre.', + 'symbols' => 'Le champ :attribute doit contenir au moins un symbole.', + 'uncompromised' => 'La valeur du champ :attribute est apparue dans une fuite de données. Veuillez choisir une valeur différente.', + ], + '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_if_accepted' => 'Le champ :attribute est obligatoire quand le champ :other a été accepté.', + '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' => [ + '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.', + 'ulid' => 'Le champ :attribute doit être un ULID 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é.', + 'uppercase' => 'Le champ :attribute doit être en majuscules.', + 'url' => 'Le format de l\'URL de :attribute n\'est pas valide.', + 'uuid' => 'Le champ :attribute doit être un UUID valide', + 'attributes' => [ + 'address' => 'adresse', + 'age' => 'âge', + 'amount' => 'montant', + 'area' => 'zone', + 'available' => 'disponible', + 'birthday' => 'anniversaire', + 'body' => 'corps', + 'city' => 'ville', + 'content' => 'contenu', + 'country' => 'pays', + 'created_at' => 'créé à', + 'creator' => 'créateur', + 'current_password' => 'mot de passe actuel', + 'date' => 'Date', + 'date_of_birth' => 'date de naissance', + 'day' => 'jour', + 'deleted_at' => 'supprimé à', + 'description' => 'la description', + 'district' => 'quartier', + 'duration' => 'durée', + 'email' => 'adresse e-mail', + 'excerpt' => 'extrait', + 'filter' => 'filtre', + 'first_name' => 'prénom', + 'gender' => 'genre', + 'group' => 'groupe', + 'hour' => 'heure', + 'image' => 'image', + 'last_name' => 'nom', + 'lesson' => 'leçon', + 'line_address_1' => 'ligne d\'adresse 1', + 'line_address_2' => 'ligne d\'adresse 2', + 'message' => 'message', + 'middle_name' => 'deuxième prénom', + 'minute' => 'minute', + 'mobile' => 'portable', + 'month' => 'mois', + 'name' => 'nom', + 'national_code' => 'code national', + 'number' => 'numéro', + 'password' => 'mot de passe', + 'password_confirmation' => 'confirmation du mot de passe', + 'phone' => 'téléphone', + 'photo' => 'photo', + 'postal_code' => 'code postal', + 'price' => 'prix', + 'province' => 'région', + 'recaptcha_response_field' => 'champ de réponse recaptcha', + 'remember' => 'se souvenir', + 'restored_at' => 'restauré à', + 'result_text_under_image' => 'texte de résultat sous l\'image', + 'role' => 'rôle', + 'second' => 'seconde', + 'sex' => 'sexe', + 'short_text' => 'texte court', + 'size' => 'taille', + 'state' => 'état', + 'street' => 'rue', + 'student' => 'étudiant', + 'subject' => 'sujet', + 'teacher' => 'professeur', + 'terms' => 'conditions', + 'test_description' => 'description test', + 'test_locale' => 'localisation test', + 'test_name' => 'nom test', + 'text' => 'texte', + 'time' => 'heure', + 'title' => 'titre', + 'updated_at' => 'mis à jour à', + 'username' => 'nom d\'utilisateur', + 'year' => 'année', + ], +]; diff --git a/package.json b/package.json index 82e1c737..c3c8c8e4 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "scripts": { "dev": "vite --host", "build": "vite build", - "lint": "eslint --ext .js ./resources/js --fix" + "eslint": "eslint --ext .js ./resources/js --fix" }, "devDependencies": { "@alpinejs/focus": "^3.10.5", diff --git a/routes/web.php b/routes/web.php index 006f9f7a..7168a085 100644 --- a/routes/web.php +++ b/routes/web.php @@ -14,5 +14,4 @@ | */ - Route::get('/', HomeController::class)->name('home')->middleware(['auth:sanctum', config('jetstream.auth_session'), 'verified']); diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php index 8364a84e..0ff8c7db 100644 --- a/tests/Feature/ExampleTest.php +++ b/tests/Feature/ExampleTest.php @@ -10,10 +10,10 @@ class ExampleTest extends TestCase /** * A basic test example. */ - public function test_the_application_returns_a_successful_response(): void + public function test_the_application_returns_a_redirect_response(): void { $response = $this->get('/'); - $response->assertStatus(200); + $response->assertStatus(302); } }