From 9efa250ad8e3cf658f374bedd465ea452497a9f7 Mon Sep 17 00:00:00 2001 From: condor2 Date: Sat, 21 Dec 2024 10:07:26 +0200 Subject: [PATCH] Updated symfony/validator --- .../vendor/symfony/validator/CHANGELOG.md | 77 +++ .../validator/Command/DebugCommand.php | 252 ++++++++++ .../vendor/symfony/validator/Constraint.php | 61 +-- .../symfony/validator/ConstraintValidator.php | 16 +- .../symfony/validator/ConstraintViolation.php | 22 +- .../ConstraintViolationInterface.php | 4 +- .../validator/ConstraintViolationList.php | 32 +- .../ConstraintViolationListInterface.php | 15 +- .../Constraints/AbstractComparison.php | 33 +- .../AbstractComparisonValidator.php | 13 +- .../symfony/validator/Constraints/All.php | 6 + .../validator/Constraints/AtLeastOneOf.php | 57 +++ .../Constraints/AtLeastOneOfValidator.php | 73 +++ .../symfony/validator/Constraints/Bic.php | 28 +- .../validator/Constraints/BicValidator.php | 42 +- .../symfony/validator/Constraints/Blank.php | 8 + .../validator/Constraints/Callback.php | 17 +- .../Constraints/CallbackValidator.php | 2 +- .../validator/Constraints/CardScheme.php | 32 ++ .../Constraints/CardSchemeValidator.php | 62 +-- .../symfony/validator/Constraints/Cascade.php | 42 ++ .../symfony/validator/Constraints/Choice.php | 37 ++ .../validator/Constraints/ChoiceValidator.php | 3 + .../symfony/validator/Constraints/Cidr.php | 80 +++ .../validator/Constraints/CidrValidator.php | 77 +++ .../validator/Constraints/Collection.php | 44 +- .../validator/Constraints/Composite.php | 12 +- .../validator/Constraints/Compound.php | 52 ++ .../Constraints/CompoundValidator.php | 35 ++ .../symfony/validator/Constraints/Count.php | 61 ++- .../validator/Constraints/CountValidator.php | 26 +- .../symfony/validator/Constraints/Country.php | 21 +- .../Constraints/CountryValidator.php | 7 +- .../validator/Constraints/CssColor.php | 106 ++++ .../Constraints/CssColorValidator.php | 86 ++++ .../validator/Constraints/Currency.php | 10 +- .../Constraints/CurrencyValidator.php | 5 - .../symfony/validator/Constraints/Date.php | 8 + .../validator/Constraints/DateTime.php | 19 + .../Constraints/DateTimeValidator.php | 6 - .../validator/Constraints/DateValidator.php | 14 +- .../Constraints/DisableAutoMapping.php | 3 +- .../validator/Constraints/DivisibleBy.php | 1 + .../Constraints/DivisibleByValidator.php | 6 + .../symfony/validator/Constraints/Email.php | 67 +-- .../validator/Constraints/EmailValidator.php | 80 +-- .../Constraints/EnableAutoMapping.php | 3 +- .../symfony/validator/Constraints/EqualTo.php | 1 + .../validator/Constraints/Expression.php | 33 +- .../Constraints/ExpressionLanguageSyntax.php | 51 ++ .../ExpressionLanguageSyntaxValidator.php | 60 +++ .../Constraints/ExpressionValidator.php | 23 +- .../symfony/validator/Constraints/File.php | 63 ++- .../validator/Constraints/GreaterThan.php | 1 + .../Constraints/GreaterThanOrEqual.php | 1 + .../validator/Constraints/GroupSequence.php | 3 +- .../Constraints/GroupSequenceProvider.php | 1 + .../validator/Constraints/Hostname.php | 46 ++ .../Constraints/HostnameValidator.php | 69 +++ .../symfony/validator/Constraints/Iban.php | 8 + .../validator/Constraints/IbanValidator.php | 136 +++-- .../validator/Constraints/IdenticalTo.php | 1 + .../symfony/validator/Constraints/Image.php | 104 ++++ .../symfony/validator/Constraints/Ip.php | 19 +- .../symfony/validator/Constraints/IsFalse.php | 8 + .../symfony/validator/Constraints/IsNull.php | 8 + .../symfony/validator/Constraints/IsTrue.php | 8 + .../symfony/validator/Constraints/Isbn.php | 33 ++ .../validator/Constraints/IsbnValidator.php | 14 +- .../symfony/validator/Constraints/Isin.php | 46 ++ .../validator/Constraints/IsinValidator.php | 81 +++ .../symfony/validator/Constraints/Issn.php | 16 + .../symfony/validator/Constraints/Json.php | 8 + .../validator/Constraints/JsonValidator.php | 3 +- .../validator/Constraints/Language.php | 21 +- .../Constraints/LanguageValidator.php | 7 +- .../symfony/validator/Constraints/Length.php | 63 ++- .../validator/Constraints/LengthValidator.php | 18 +- .../validator/Constraints/LessThan.php | 1 + .../validator/Constraints/LessThanOrEqual.php | 1 + .../symfony/validator/Constraints/Locale.php | 26 +- .../validator/Constraints/LocaleValidator.php | 5 - .../symfony/validator/Constraints/Luhn.php | 12 + .../validator/Constraints/Negative.php | 13 +- .../validator/Constraints/NegativeOrZero.php | 13 +- .../validator/Constraints/NotBlank.php | 11 +- .../Constraints/NotCompromisedPassword.php | 16 + .../NotCompromisedPasswordValidator.php | 6 +- .../validator/Constraints/NotEqualTo.php | 1 + .../validator/Constraints/NotIdenticalTo.php | 1 + .../symfony/validator/Constraints/NotNull.php | 8 + .../Constraints/NumberConstraintTrait.php | 4 + .../validator/Constraints/Positive.php | 13 +- .../validator/Constraints/PositiveOrZero.php | 13 +- .../symfony/validator/Constraints/Range.php | 75 ++- .../validator/Constraints/RangeValidator.php | 51 +- .../symfony/validator/Constraints/Regex.php | 33 +- .../validator/Constraints/Sequentially.php | 52 ++ .../Constraints/SequentiallyValidator.php | 44 ++ .../symfony/validator/Constraints/Time.php | 12 + .../validator/Constraints/TimeValidator.php | 8 +- .../validator/Constraints/Timezone.php | 26 +- .../Constraints/TimezoneValidator.php | 4 +- .../validator/Constraints/Traverse.php | 10 +- .../symfony/validator/Constraints/Type.php | 19 + .../validator/Constraints/TypeValidator.php | 43 +- .../symfony/validator/Constraints/Ulid.php | 48 ++ .../validator/Constraints/UlidValidator.php | 73 +++ .../symfony/validator/Constraints/Unique.php | 20 + .../validator/Constraints/UniqueValidator.php | 16 +- .../symfony/validator/Constraints/Url.php | 105 +--- .../validator/Constraints/UrlValidator.php | 33 +- .../symfony/validator/Constraints/Uuid.php | 48 +- .../validator/Constraints/UuidValidator.php | 9 +- .../symfony/validator/Constraints/Valid.php | 12 +- .../ZeroComparisonConstraintTrait.php | 45 ++ .../ContainerConstraintValidatorFactory.php | 2 +- .../validator/Context/ExecutionContext.php | 57 +-- .../Context/ExecutionContextFactory.php | 15 +- .../ExecutionContextFactoryInterface.php | 2 +- .../Context/ExecutionContextInterface.php | 93 ++-- .../DataCollector/ValidatorDataCollector.php | 20 +- .../AddAutoMappingConfigurationPass.php | 4 + .../AddConstraintValidatorsPass.php | 4 + .../AddValidatorInitializersPass.php | 36 +- .../Exception/UnexpectedTypeException.php | 2 +- .../Exception/ValidationFailedException.php | 40 ++ .../GroupSequenceProviderInterface.php | 2 +- .../storage/vendor/symfony/validator/LICENSE | 2 +- .../validator/Mapping/ClassMetadata.php | 103 ++-- .../Mapping/ClassMetadataInterface.php | 33 +- .../Factory/LazyLoadingMetadataFactory.php | 43 +- .../Factory/MetadataFactoryInterface.php | 4 +- .../validator/Mapping/GenericMetadata.php | 42 +- .../validator/Mapping/GetterMetadata.php | 2 +- .../Mapping/Loader/AbstractLoader.php | 9 +- .../Mapping/Loader/AnnotationLoader.php | 64 ++- .../Mapping/Loader/AutoMappingTrait.php | 2 +- .../validator/Mapping/Loader/FilesLoader.php | 12 +- .../validator/Mapping/Loader/LoaderChain.php | 2 +- .../Mapping/Loader/LoaderInterface.php | 2 +- .../Mapping/Loader/PropertyInfoLoader.php | 5 +- .../Mapping/Loader/XmlFileLoader.php | 15 +- .../Mapping/Loader/XmlFilesLoader.php | 2 +- .../Mapping/Loader/YamlFileLoader.php | 5 +- .../Mapping/Loader/YamlFilesLoader.php | 2 +- .../validator/Mapping/MemberMetadata.php | 8 +- .../validator/Mapping/MetadataInterface.php | 10 +- .../Mapping/PropertyMetadataInterface.php | 4 +- .../validator/ObjectInitializerInterface.php | 7 +- .../Resources/translations/validators.af.xlf | 104 +++- .../Resources/translations/validators.ar.xlf | 100 +++- .../Resources/translations/validators.az.xlf | 100 +++- .../Resources/translations/validators.be.xlf | 98 +++- .../Resources/translations/validators.bg.xlf | 108 +++- .../Resources/translations/validators.bs.xlf | 100 +++- .../Resources/translations/validators.ca.xlf | 128 +++-- .../Resources/translations/validators.cs.xlf | 100 +++- .../Resources/translations/validators.cy.xlf | 172 ++++++- .../Resources/translations/validators.da.xlf | 100 +++- .../Resources/translations/validators.de.xlf | 96 +++- .../Resources/translations/validators.el.xlf | 100 +++- .../Resources/translations/validators.en.xlf | 78 ++- .../Resources/translations/validators.es.xlf | 110 +++- .../Resources/translations/validators.et.xlf | 100 +++- .../Resources/translations/validators.eu.xlf | 102 +++- .../Resources/translations/validators.fa.xlf | 108 +++- .../Resources/translations/validators.fi.xlf | 190 ++++--- .../Resources/translations/validators.fr.xlf | 98 +++- .../Resources/translations/validators.gl.xlf | 98 +++- .../Resources/translations/validators.he.xlf | 102 +++- .../Resources/translations/validators.hr.xlf | 100 +++- .../Resources/translations/validators.hu.xlf | 114 ++++- .../Resources/translations/validators.hy.xlf | 114 ++++- .../Resources/translations/validators.id.xlf | 100 +++- .../Resources/translations/validators.it.xlf | 98 +++- .../Resources/translations/validators.ja.xlf | 94 +++- .../Resources/translations/validators.lb.xlf | 114 ++++- .../Resources/translations/validators.lt.xlf | 100 +++- .../Resources/translations/validators.lv.xlf | 132 +++-- .../Resources/translations/validators.mk.xlf | 471 ++++++++++++++++++ .../Resources/translations/validators.mn.xlf | 114 ++++- .../Resources/translations/validators.my.xlf | 112 ++++- .../Resources/translations/validators.nb.xlf | 100 +++- .../Resources/translations/validators.nl.xlf | 122 +++-- .../Resources/translations/validators.nn.xlf | 102 +++- .../Resources/translations/validators.no.xlf | 100 +++- .../Resources/translations/validators.pl.xlf | 98 +++- .../Resources/translations/validators.pt.xlf | 132 +++-- .../translations/validators.pt_BR.xlf | 100 +++- .../Resources/translations/validators.ro.xlf | 104 +++- .../Resources/translations/validators.ru.xlf | 100 +++- .../Resources/translations/validators.sk.xlf | 102 +++- .../Resources/translations/validators.sl.xlf | 100 +++- .../Resources/translations/validators.sq.xlf | 183 +++++-- .../translations/validators.sr_Cyrl.xlf | 158 ++++-- .../translations/validators.sr_Latn.xlf | 216 +++++--- .../Resources/translations/validators.sv.xlf | 130 +++-- .../Resources/translations/validators.th.xlf | 102 +++- .../Resources/translations/validators.tl.xlf | 110 +++- .../Resources/translations/validators.tr.xlf | 130 +++-- .../Resources/translations/validators.uk.xlf | 100 +++- .../Resources/translations/validators.ur.xlf | 100 +++- .../Resources/translations/validators.uz.xlf | 116 ++++- .../Resources/translations/validators.vi.xlf | 126 +++-- .../translations/validators.zh_CN.xlf | 110 +++- .../translations/validators.zh_TW.xlf | 292 ++++++----- .../Test/ConstraintValidatorTestCase.php | 192 +++++-- .../symfony/validator/Util/PropertyPath.php | 8 +- .../vendor/symfony/validator/Validation.php | 48 ++ .../ContextualValidatorInterface.php | 13 +- .../RecursiveContextualValidator.php | 45 +- .../Validator/RecursiveValidator.php | 4 +- .../Validator/TraceableValidator.php | 4 +- .../Validator/ValidatorInterface.php | 9 +- .../symfony/validator/ValidatorBuilder.php | 171 ++++--- .../Violation/ConstraintViolationBuilder.php | 44 +- .../ConstraintViolationBuilderInterface.php | 12 +- .../vendor/symfony/validator/composer.json | 61 ++- 219 files changed, 9218 insertions(+), 2683 deletions(-) create mode 100644 upload/system/storage/vendor/symfony/validator/Command/DebugCommand.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/AtLeastOneOf.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/AtLeastOneOfValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/Cascade.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/Cidr.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/CidrValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/Compound.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/CompoundValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/CssColor.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/CssColorValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/ExpressionLanguageSyntax.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/ExpressionLanguageSyntaxValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/Hostname.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/HostnameValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/Isin.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/IsinValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/Sequentially.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/SequentiallyValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/Ulid.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/UlidValidator.php create mode 100644 upload/system/storage/vendor/symfony/validator/Constraints/ZeroComparisonConstraintTrait.php create mode 100644 upload/system/storage/vendor/symfony/validator/Exception/ValidationFailedException.php create mode 100644 upload/system/storage/vendor/symfony/validator/Resources/translations/validators.mk.xlf diff --git a/upload/system/storage/vendor/symfony/validator/CHANGELOG.md b/upload/system/storage/vendor/symfony/validator/CHANGELOG.md index 172bb9fb..f15d18b6 100644 --- a/upload/system/storage/vendor/symfony/validator/CHANGELOG.md +++ b/upload/system/storage/vendor/symfony/validator/CHANGELOG.md @@ -1,6 +1,83 @@ CHANGELOG ========= +5.4 +--- + + * Add a `Cidr` constraint to validate CIDR notations + * Add a `CssColor` constraint to validate CSS colors + * Add support for `ConstraintViolationList::createFromMessage()` + * Add error's uid to `Count` and `Length` constraints with "exactly" option enabled + +5.3 +--- + + * Add the `normalizer` option to the `Unique` constraint + * Add `Validation::createIsValidCallable()` that returns true/false instead of throwing exceptions + +5.2.0 +----- + + * added a `Cascade` constraint to ease validating nested typed object properties + * deprecated the `allowEmptyString` option of the `Length` constraint + + Before: + + ```php + use Symfony\Component\Validator\Constraints as Assert; + + /** + * @Assert\Length(min=5, allowEmptyString=true) + */ + ``` + + After: + + ```php + use Symfony\Component\Validator\Constraints as Assert; + + /** + * @Assert\AtLeastOneOf({ + * @Assert\Blank(), + * @Assert\Length(min=5) + * }) + */ + ``` + * added the `Isin` constraint and validator + * added the `ULID` constraint and validator + * added support for UUIDv6 in `Uuid` constraint + * enabled the validator to load constraints from PHP attributes + * deprecated the `NumberConstraintTrait` trait + * deprecated setting or creating a Doctrine annotation reader via `ValidatorBuilder::enableAnnotationMapping()`, pass `true` as first parameter and additionally call `setDoctrineAnnotationReader()` or `addDefaultDoctrineAnnotationReader()` to set up the annotation reader + +5.1.0 +----- + + * Add `AtLeastOneOf` constraint that is considered to be valid if at least one of the nested constraints is valid + * added the `Hostname` constraint and validator + * added the `alpha3` option to the `Country` and `Language` constraints + * allow to define a reusable set of constraints by extending the `Compound` constraint + * added `Sequentially` constraint, to sequentially validate a set of constraints (any violation raised will prevent further validation of the nested constraints) + * added the `divisibleBy` option to the `Count` constraint + * added the `ExpressionLanguageSyntax` constraint + +5.0.0 +----- + + * an `ExpressionLanguage` instance or null must be passed as the first argument of `ExpressionValidator::__construct()` + * removed the `checkDNS` and `dnsMessage` options of the `Url` constraint + * removed the `checkMX`, `checkHost` and `strict` options of the `Email` constraint + * removed support for validating instances of `\DateTimeInterface` in `DateTimeValidator`, `DateValidator` and `TimeValidator` + * removed support for using the `Bic`, `Country`, `Currency`, `Language` and `Locale` constraints without `symfony/intl` + * removed support for using the `Email` constraint without `egulias/email-validator` + * removed support for using the `Expression` constraint without `symfony/expression-language` + * changed default value of `canonicalize` option of `Locale` constraint to `true` + * removed `ValidatorBuilderInterface` + * passing a null message when instantiating a `ConstraintViolation` is not allowed + * changed the default value of `Length::$allowEmptyString` to `false` and made it optional + * removed `Symfony\Component\Validator\Mapping\Cache\CacheInterface` in favor of PSR-6. + * removed `ValidatorBuilder::setMetadataCache`, use `ValidatorBuilder::setMappingCache` instead. + 4.4.0 ----- diff --git a/upload/system/storage/vendor/symfony/validator/Command/DebugCommand.php b/upload/system/storage/vendor/symfony/validator/Command/DebugCommand.php new file mode 100644 index 00000000..bd892c5e --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Command/DebugCommand.php @@ -0,0 +1,252 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Command; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Helper\Dumper; +use Symfony\Component\Console\Helper\Table; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Style\SymfonyStyle; +use Symfony\Component\Finder\Exception\DirectoryNotFoundException; +use Symfony\Component\Finder\Finder; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Mapping\AutoMappingStrategy; +use Symfony\Component\Validator\Mapping\CascadingStrategy; +use Symfony\Component\Validator\Mapping\ClassMetadataInterface; +use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface; +use Symfony\Component\Validator\Mapping\GenericMetadata; +use Symfony\Component\Validator\Mapping\TraversalStrategy; + +/** + * A console command to debug Validators information. + * + * @author Loïc Frémont + */ +class DebugCommand extends Command +{ + protected static $defaultName = 'debug:validator'; + protected static $defaultDescription = 'Display validation constraints for classes'; + + private $validator; + + public function __construct(MetadataFactoryInterface $validator) + { + parent::__construct(); + + $this->validator = $validator; + } + + protected function configure() + { + $this + ->addArgument('class', InputArgument::REQUIRED, 'A fully qualified class name or a path') + ->addOption('show-all', null, InputOption::VALUE_NONE, 'Show all classes even if they have no validation constraints') + ->setDescription(self::$defaultDescription) + ->setHelp(<<<'EOF' +The %command.name% 'App\Entity\Dummy' command dumps the validators for the dummy class. + +The %command.name% src/ command dumps the validators for the `src` directory. +EOF + ) + ; + } + + protected function execute(InputInterface $input, OutputInterface $output): int + { + $class = $input->getArgument('class'); + + if (class_exists($class)) { + $this->dumpValidatorsForClass($input, $output, $class); + + return 0; + } + + try { + foreach ($this->getResourcesByPath($class) as $class) { + $this->dumpValidatorsForClass($input, $output, $class); + } + } catch (DirectoryNotFoundException $exception) { + $io = new SymfonyStyle($input, $output); + $io->error(sprintf('Neither class nor path were found with "%s" argument.', $input->getArgument('class'))); + + return 1; + } + + return 0; + } + + private function dumpValidatorsForClass(InputInterface $input, OutputInterface $output, string $class): void + { + $io = new SymfonyStyle($input, $output); + $title = sprintf('%s', $class); + $rows = []; + $dump = new Dumper($output); + + /** @var ClassMetadataInterface $classMetadata */ + $classMetadata = $this->validator->getMetadataFor($class); + + foreach ($this->getClassConstraintsData($classMetadata) as $data) { + $rows[] = [ + '-', + $data['class'], + implode(', ', $data['groups']), + $dump($data['options']), + ]; + } + + foreach ($this->getConstrainedPropertiesData($classMetadata) as $propertyName => $constraintsData) { + foreach ($constraintsData as $data) { + $rows[] = [ + $propertyName, + $data['class'], + implode(', ', $data['groups']), + $dump($data['options']), + ]; + } + } + + if (!$rows) { + if (false === $input->getOption('show-all')) { + return; + } + + $io->section($title); + $io->text('No validators were found for this class.'); + + return; + } + + $io->section($title); + + $table = new Table($output); + $table->setHeaders(['Property', 'Name', 'Groups', 'Options']); + $table->setRows($rows); + $table->setColumnMaxWidth(3, 80); + $table->render(); + } + + private function getClassConstraintsData(ClassMetadataInterface $classMetadata): iterable + { + foreach ($classMetadata->getConstraints() as $constraint) { + yield [ + 'class' => \get_class($constraint), + 'groups' => $constraint->groups, + 'options' => $this->getConstraintOptions($constraint), + ]; + } + } + + private function getConstrainedPropertiesData(ClassMetadataInterface $classMetadata): array + { + $data = []; + + foreach ($classMetadata->getConstrainedProperties() as $constrainedProperty) { + $data[$constrainedProperty] = $this->getPropertyData($classMetadata, $constrainedProperty); + } + + return $data; + } + + private function getPropertyData(ClassMetadataInterface $classMetadata, string $constrainedProperty): array + { + $data = []; + + $propertyMetadata = $classMetadata->getPropertyMetadata($constrainedProperty); + foreach ($propertyMetadata as $metadata) { + $autoMapingStrategy = 'Not supported'; + if ($metadata instanceof GenericMetadata) { + switch ($metadata->getAutoMappingStrategy()) { + case AutoMappingStrategy::ENABLED: $autoMapingStrategy = 'Enabled'; break; + case AutoMappingStrategy::DISABLED: $autoMapingStrategy = 'Disabled'; break; + case AutoMappingStrategy::NONE: $autoMapingStrategy = 'None'; break; + } + } + $traversalStrategy = 'None'; + if (TraversalStrategy::TRAVERSE === $metadata->getTraversalStrategy()) { + $traversalStrategy = 'Traverse'; + } + if (TraversalStrategy::IMPLICIT === $metadata->getTraversalStrategy()) { + $traversalStrategy = 'Implicit'; + } + + $data[] = [ + 'class' => 'property options', + 'groups' => [], + 'options' => [ + 'cascadeStrategy' => CascadingStrategy::CASCADE === $metadata->getCascadingStrategy() ? 'Cascade' : 'None', + 'autoMappingStrategy' => $autoMapingStrategy, + 'traversalStrategy' => $traversalStrategy, + ], + ]; + foreach ($metadata->getConstraints() as $constraint) { + $data[] = [ + 'class' => \get_class($constraint), + 'groups' => $constraint->groups, + 'options' => $this->getConstraintOptions($constraint), + ]; + } + } + + return $data; + } + + private function getConstraintOptions(Constraint $constraint): array + { + $options = []; + + foreach (array_keys(get_object_vars($constraint)) as $propertyName) { + // Groups are dumped on a specific column. + if ('groups' === $propertyName) { + continue; + } + + $options[$propertyName] = $constraint->$propertyName; + } + + ksort($options); + + return $options; + } + + private function getResourcesByPath(string $path): array + { + $finder = new Finder(); + $finder->files()->in($path)->name('*.php')->sortByName(true); + $classes = []; + + foreach ($finder as $file) { + $fileContent = file_get_contents($file->getRealPath()); + + preg_match('/namespace (.+);/', $fileContent, $matches); + + $namespace = $matches[1] ?? null; + + if (!preg_match('/class +([^{ ]+)/', $fileContent, $matches)) { + // no class found + continue; + } + + $className = trim($matches[1]); + + if (null !== $namespace) { + $classes[] = $namespace.'\\'.$className; + } else { + $classes[] = $className; + } + } + + return $classes; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraint.php b/upload/system/storage/vendor/symfony/validator/Constraint.php index 1221ece8..dac13e2e 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraint.php +++ b/upload/system/storage/vendor/symfony/validator/Constraint.php @@ -66,13 +66,11 @@ abstract class Constraint /** * Returns the name of the given error code. * - * @param string $errorCode The error code - * - * @return string The name of the error code + * @return string * * @throws InvalidArgumentException If the error code does not exist */ - public static function getErrorName($errorCode) + public static function getErrorName(string $errorCode) { if (!isset(static::$errorNames[$errorCode])) { throw new InvalidArgumentException(sprintf('The error code "%s" does not exist for constraint of type "%s".', $errorCode, static::class)); @@ -96,9 +94,11 @@ public static function getErrorName($errorCode) * getRequiredOptions() to return the names of these options. If any * option is not set here, an exception is thrown. * - * @param mixed $options The options (as associative array) - * or the value for the default - * option (any other type) + * @param mixed $options The options (as associative array) + * or the value for the default + * option (any other type) + * @param string[] $groups An array of validation groups + * @param mixed $payload Domain-specific data attached to a constraint * * @throws InvalidOptionsException When you pass the names of non-existing * options @@ -108,10 +108,24 @@ public static function getErrorName($errorCode) * array, but getDefaultOption() returns * null */ - public function __construct($options = null) + public function __construct($options = null, ?array $groups = null, $payload = null) { unset($this->groups); // enable lazy initialization + $options = $this->normalizeOptions($options); + if (null !== $groups) { + $options['groups'] = $groups; + } + $options['payload'] = $payload ?? $options['payload'] ?? null; + + foreach ($options as $name => $value) { + $this->$name = $value; + } + } + + protected function normalizeOptions($options): array + { + $normalizedOptions = []; $defaultOption = $this->getDefaultOption(); $invalidOptions = []; $missingOptions = array_flip((array) $this->getRequiredOptions()); @@ -132,7 +146,7 @@ public function __construct($options = null) if ($options && \is_array($options) && \is_string(key($options))) { foreach ($options as $option => $value) { if (\array_key_exists($option, $knownOptions)) { - $this->$option = $value; + $normalizedOptions[$option] = $value; unset($missingOptions[$option]); } else { $invalidOptions[] = $option; @@ -144,7 +158,7 @@ public function __construct($options = null) } if (\array_key_exists($defaultOption, $knownOptions)) { - $this->$defaultOption = $options; + $normalizedOptions[$defaultOption] = $options; unset($missingOptions[$defaultOption]); } else { $invalidOptions[] = $defaultOption; @@ -158,6 +172,8 @@ public function __construct($options = null) if (\count($missingOptions) > 0) { throw new MissingOptionsException(sprintf('The options "%s" must be set for constraint "%s".', implode('", "', array_keys($missingOptions)), static::class), array_keys($missingOptions)); } + + return $normalizedOptions; } /** @@ -167,12 +183,11 @@ public function __construct($options = null) * this method will be called at most once per constraint instance and * option name. * - * @param string $option The option name - * @param mixed $value The value to set + * @param mixed $value The value to set * * @throws InvalidOptionsException If an invalid option name is given */ - public function __set($option, $value) + public function __set(string $option, $value) { if ('groups' === $option) { $this->groups = (array) $value; @@ -190,15 +205,11 @@ public function __set($option, $value) * this method will be called at most once per constraint instance and * option name. * - * @param string $option The option name - * - * @return mixed The value of the option + * @return mixed * * @throws InvalidOptionsException If an invalid option name is given - * - * @internal this method should not be used or overwritten in userland code */ - public function __get($option) + public function __get(string $option) { if ('groups' === $option) { $this->groups = [self::DEFAULT_GROUP]; @@ -210,21 +221,17 @@ public function __get($option) } /** - * @param string $option The option name - * * @return bool */ - public function __isset($option) + public function __isset(string $option) { return 'groups' === $option; } /** * Adds the given group if this constraint is in the Default group. - * - * @param string $group */ - public function addImplicitGroupName($group) + public function addImplicitGroupName(string $group) { if (null === $this->groups && \array_key_exists('groups', (array) $this)) { throw new \LogicException(sprintf('"%s::$groups" is set to null. Did you forget to call "%s::__construct()"?', static::class, self::class)); @@ -294,11 +301,9 @@ public function getTargets() /** * Optimizes the serialized value to minimize storage space. * - * @return array - * * @internal */ - public function __sleep() + public function __sleep(): array { // Initialize "groups" option if it is not set $this->groups; diff --git a/upload/system/storage/vendor/symfony/validator/ConstraintValidator.php b/upload/system/storage/vendor/symfony/validator/ConstraintValidator.php index f51172a8..4a22dc11 100644 --- a/upload/system/storage/vendor/symfony/validator/ConstraintValidator.php +++ b/upload/system/storage/vendor/symfony/validator/ConstraintValidator.php @@ -54,11 +54,11 @@ public function initialize(ExecutionContextInterface $context) * * @param mixed $value The value to return the type of * - * @return string The type of the value + * @return string */ protected function formatTypeOf($value) { - return \is_object($value) ? \get_class($value) : \gettype($value); + return get_debug_type($value); } /** @@ -82,9 +82,9 @@ protected function formatTypeOf($value) * @param int $format A bitwise combination of the format * constants in this class * - * @return string The string representation of the passed value + * @return string */ - protected function formatValue($value, $format = 0) + protected function formatValue($value, int $format = 0) { if (($format & self::PRETTY_DATE) && $value instanceof \DateTimeInterface) { if (class_exists(\IntlDateFormatter::class)) { @@ -99,6 +99,10 @@ protected function formatValue($value, $format = 0) return $value->format('Y-m-d H:i:s'); } + if ($value instanceof \UnitEnum) { + return $value->name; + } + if (\is_object($value)) { if (($format & self::OBJECT_TO_STRING) && method_exists($value, '__toString')) { return $value->__toString(); @@ -144,11 +148,11 @@ protected function formatValue($value, $format = 0) * @param int $format A bitwise combination of the format * constants in this class * - * @return string The string representation of the value list + * @return string * * @see formatValue() */ - protected function formatValues(array $values, $format = 0) + protected function formatValues(array $values, int $format = 0) { foreach ($values as $key => $value) { $values[$key] = $this->formatValue($value, $format); diff --git a/upload/system/storage/vendor/symfony/validator/ConstraintViolation.php b/upload/system/storage/vendor/symfony/validator/ConstraintViolation.php index cb976879..e25fb2a8 100644 --- a/upload/system/storage/vendor/symfony/validator/ConstraintViolation.php +++ b/upload/system/storage/vendor/symfony/validator/ConstraintViolation.php @@ -49,17 +49,8 @@ class ConstraintViolation implements ConstraintViolationInterface * caused the violation * @param mixed $cause The cause of the violation */ - public function __construct($message, ?string $messageTemplate, array $parameters, $root, ?string $propertyPath, $invalidValue, int $plural = null, $code = null, Constraint $constraint = null, $cause = null) + public function __construct($message, ?string $messageTemplate, array $parameters, $root, ?string $propertyPath, $invalidValue, ?int $plural = null, ?string $code = null, ?Constraint $constraint = null, $cause = null) { - if (null === $message) { - @trigger_error(sprintf('Passing a null message when instantiating a "%s" is deprecated since Symfony 4.4.', __CLASS__), \E_USER_DEPRECATED); - $message = ''; - } - - if (null !== $code && !\is_string($code)) { - @trigger_error(sprintf('Not using a string as the error code in %s() is deprecated since Symfony 4.4. A type-hint will be added in 5.0.', __METHOD__), \E_USER_DEPRECATED); - } - if (!\is_string($message) && !(\is_object($message) && method_exists($message, '__toString'))) { throw new \TypeError('Constraint violation message should be a string or an object which implements the __toString() method.'); } @@ -79,7 +70,7 @@ public function __construct($message, ?string $messageTemplate, array $parameter /** * Converts the violation into a string for debugging purposes. * - * @return string The violation as string + * @return string */ public function __toString() { @@ -92,13 +83,12 @@ public function __toString() } $propertyPath = (string) $this->propertyPath; - $code = (string) $this->code; if ('' !== $propertyPath && '[' !== $propertyPath[0] && '' !== $class) { $class .= '.'; } - if ('' !== $code) { + if (null !== ($code = $this->code) && '' !== $code) { $code = ' (code '.$code.')'; } @@ -110,7 +100,7 @@ public function __toString() */ public function getMessageTemplate() { - return $this->messageTemplate; + return (string) $this->messageTemplate; } /** @@ -150,7 +140,7 @@ public function getRoot() */ public function getPropertyPath() { - return $this->propertyPath; + return (string) $this->propertyPath; } /** @@ -164,7 +154,7 @@ public function getInvalidValue() /** * Returns the constraint whose validation caused the violation. * - * @return Constraint|null The constraint or null if it is not known + * @return Constraint|null */ public function getConstraint() { diff --git a/upload/system/storage/vendor/symfony/validator/ConstraintViolationInterface.php b/upload/system/storage/vendor/symfony/validator/ConstraintViolationInterface.php index 137d7015..fd7d414d 100644 --- a/upload/system/storage/vendor/symfony/validator/ConstraintViolationInterface.php +++ b/upload/system/storage/vendor/symfony/validator/ConstraintViolationInterface.php @@ -36,7 +36,7 @@ interface ConstraintViolationInterface /** * Returns the violation message. * - * @return string|\Stringable The violation message as a string or a stringable object + * @return string|\Stringable */ public function getMessage(); @@ -114,7 +114,7 @@ public function getInvalidValue(); /** * Returns a machine-digestible error code for the violation. * - * @return string|null The error code + * @return string|null */ public function getCode(); } diff --git a/upload/system/storage/vendor/symfony/validator/ConstraintViolationList.php b/upload/system/storage/vendor/symfony/validator/ConstraintViolationList.php index e057e916..3d459b2c 100644 --- a/upload/system/storage/vendor/symfony/validator/ConstraintViolationList.php +++ b/upload/system/storage/vendor/symfony/validator/ConstraintViolationList.php @@ -15,30 +15,40 @@ * Default implementation of {@ConstraintViolationListInterface}. * * @author Bernhard Schussek + * + * @implements \IteratorAggregate */ class ConstraintViolationList implements \IteratorAggregate, ConstraintViolationListInterface { /** - * @var ConstraintViolationInterface[] + * @var list */ private $violations = []; /** * Creates a new constraint violation list. * - * @param ConstraintViolationInterface[] $violations The constraint violations to add to the list + * @param iterable $violations The constraint violations to add to the list */ - public function __construct(array $violations = []) + public function __construct(iterable $violations = []) { foreach ($violations as $violation) { $this->add($violation); } } + public static function createFromMessage(string $message): self + { + $self = new self(); + $self->add(new ConstraintViolation($message, '', [], null, '', null)); + + return $self; + } + /** * Converts the violation into a string for debugging purposes. * - * @return string The violation as string + * @return string */ public function __toString() { @@ -72,7 +82,7 @@ public function addAll(ConstraintViolationListInterface $otherList) /** * {@inheritdoc} */ - public function get($offset) + public function get(int $offset) { if (!isset($this->violations[$offset])) { throw new \OutOfBoundsException(sprintf('The offset "%s" does not exist.', $offset)); @@ -84,7 +94,7 @@ public function get($offset) /** * {@inheritdoc} */ - public function has($offset) + public function has(int $offset) { return isset($this->violations[$offset]); } @@ -92,7 +102,7 @@ public function has($offset) /** * {@inheritdoc} */ - public function set($offset, ConstraintViolationInterface $violation) + public function set(int $offset, ConstraintViolationInterface $violation) { $this->violations[$offset] = $violation; } @@ -100,7 +110,7 @@ public function set($offset, ConstraintViolationInterface $violation) /** * {@inheritdoc} */ - public function remove($offset) + public function remove(int $offset) { unset($this->violations[$offset]); } @@ -108,7 +118,7 @@ public function remove($offset) /** * {@inheritdoc} * - * @return \ArrayIterator|ConstraintViolationInterface[] + * @return \ArrayIterator */ #[\ReturnTypeWillChange] public function getIterator() @@ -137,7 +147,7 @@ public function offsetExists($offset) /** * {@inheritdoc} * - * @return mixed + * @return ConstraintViolationInterface */ #[\ReturnTypeWillChange] public function offsetGet($offset) @@ -176,7 +186,7 @@ public function offsetUnset($offset) * * @param string|string[] $codes The codes to find * - * @return static new instance which contains only specific errors + * @return static */ public function findByCodes($codes) { diff --git a/upload/system/storage/vendor/symfony/validator/ConstraintViolationListInterface.php b/upload/system/storage/vendor/symfony/validator/ConstraintViolationListInterface.php index 0f38a6d9..f994668c 100644 --- a/upload/system/storage/vendor/symfony/validator/ConstraintViolationListInterface.php +++ b/upload/system/storage/vendor/symfony/validator/ConstraintViolationListInterface.php @@ -15,6 +15,9 @@ * A list of constraint violations. * * @author Bernhard Schussek + * + * @extends \ArrayAccess + * @extends \Traversable */ interface ConstraintViolationListInterface extends \Traversable, \Countable, \ArrayAccess { @@ -33,32 +36,32 @@ public function addAll(self $otherList); * * @param int $offset The offset of the violation * - * @return ConstraintViolationInterface The violation + * @return ConstraintViolationInterface * * @throws \OutOfBoundsException if the offset does not exist */ - public function get($offset); + public function get(int $offset); /** * Returns whether the given offset exists. * * @param int $offset The violation offset * - * @return bool Whether the offset exists + * @return bool */ - public function has($offset); + public function has(int $offset); /** * Sets a violation at a given offset. * * @param int $offset The violation offset */ - public function set($offset, ConstraintViolationInterface $violation); + public function set(int $offset, ConstraintViolationInterface $violation); /** * Removes a violation at a given offset. * * @param int $offset The offset to remove */ - public function remove($offset); + public function remove(int $offset); } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/AbstractComparison.php b/upload/system/storage/vendor/symfony/validator/Constraints/AbstractComparison.php index 9b528129..e4db8edc 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/AbstractComparison.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/AbstractComparison.php @@ -30,28 +30,33 @@ abstract class AbstractComparison extends Constraint /** * {@inheritdoc} + * + * @param mixed $value the value to compare or a set of options */ - public function __construct($options = null) + public function __construct($value = null, $propertyPath = null, ?string $message = null, ?array $groups = null, $payload = null, array $options = []) { - if (null === $options) { - $options = []; + if (\is_array($value)) { + $options = array_merge($value, $options); + } elseif (null !== $value) { + $options['value'] = $value; } - if (\is_array($options)) { - if (!isset($options['value']) && !isset($options['propertyPath'])) { - throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires either the "value" or "propertyPath" option to be set.', static::class)); - } + parent::__construct($options, $groups, $payload); - if (isset($options['value']) && isset($options['propertyPath'])) { - throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "value" or "propertyPath" options to be set, not both.', static::class)); - } + $this->message = $message ?? $this->message; + $this->propertyPath = $propertyPath ?? $this->propertyPath; - if (isset($options['propertyPath']) && !class_exists(PropertyAccess::class)) { - throw new LogicException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "propertyPath" option.', static::class)); - } + if (null === $this->value && null === $this->propertyPath) { + throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires either the "value" or "propertyPath" option to be set.', static::class)); } - parent::__construct($options); + if (null !== $this->value && null !== $this->propertyPath) { + throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "value" or "propertyPath" options to be set, not both.', static::class)); + } + + if (null !== $this->propertyPath && !class_exists(PropertyAccess::class)) { + throw new LogicException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "propertyPath" option.', static::class)); + } } /** diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php index 68a07de1..90e02267 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; +use Symfony\Component\PropertyAccess\Exception\UninitializedPropertyException; use Symfony\Component\PropertyAccess\PropertyAccess; use Symfony\Component\PropertyAccess\PropertyAccessorInterface; use Symfony\Component\Validator\Constraint; @@ -29,7 +30,7 @@ abstract class AbstractComparisonValidator extends ConstraintValidator { private $propertyAccessor; - public function __construct(PropertyAccessorInterface $propertyAccessor = null) + public function __construct(?PropertyAccessorInterface $propertyAccessor = null) { $this->propertyAccessor = $propertyAccessor; } @@ -55,7 +56,9 @@ public function validate($value, Constraint $constraint) try { $comparedValue = $this->getPropertyAccessor()->getValue($object, $path); } catch (NoSuchPropertyException $e) { - throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: ', $path, \get_class($constraint)).$e->getMessage(), 0, $e); + throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: ', $path, get_debug_type($constraint)).$e->getMessage(), 0, $e); + } catch (UninitializedPropertyException $e) { + $comparedValue = null; } } else { $comparedValue = $constraint->value; @@ -72,7 +75,7 @@ public function validate($value, Constraint $constraint) try { $comparedValue = new $dateTimeClass($comparedValue); } catch (\Exception $e) { - throw new ConstraintDefinitionException(sprintf('The compared value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $comparedValue, $dateTimeClass, \get_class($constraint))); + throw new ConstraintDefinitionException(sprintf('The compared value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $comparedValue, $dateTimeClass, get_debug_type($constraint))); } } @@ -106,14 +109,14 @@ private function getPropertyAccessor(): PropertyAccessorInterface * @param mixed $value1 The first value to compare * @param mixed $value2 The second value to compare * - * @return bool true if the relationship is valid, false otherwise + * @return bool */ abstract protected function compareValues($value1, $value2); /** * Returns the error code used if the comparison fails. * - * @return string|null The error code or `null` if no code should be set + * @return string|null */ protected function getErrorCode() { diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/All.php b/upload/system/storage/vendor/symfony/validator/Constraints/All.php index d3fe4952..f1bece0a 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/All.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/All.php @@ -17,10 +17,16 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class All extends Composite { public $constraints = []; + public function __construct($constraints = null, ?array $groups = null, $payload = null) + { + parent::__construct($constraints ?? [], $groups, $payload); + } + public function getDefaultOption() { return 'constraints'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/AtLeastOneOf.php b/upload/system/storage/vendor/symfony/validator/Constraints/AtLeastOneOf.php new file mode 100644 index 00000000..853bf398 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/AtLeastOneOf.php @@ -0,0 +1,57 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +/** + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Przemysław Bogusz + */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +class AtLeastOneOf extends Composite +{ + public const AT_LEAST_ONE_OF_ERROR = 'f27e6d6c-261a-4056-b391-6673a623531c'; + + protected static $errorNames = [ + self::AT_LEAST_ONE_OF_ERROR => 'AT_LEAST_ONE_OF_ERROR', + ]; + + public $constraints = []; + public $message = 'This value should satisfy at least one of the following constraints:'; + public $messageCollection = 'Each element of this collection should satisfy its own set of constraints.'; + public $includeInternalMessages = true; + + public function __construct($constraints = null, ?array $groups = null, $payload = null, ?string $message = null, ?string $messageCollection = null, ?bool $includeInternalMessages = null) + { + parent::__construct($constraints ?? [], $groups, $payload); + + $this->message = $message ?? $this->message; + $this->messageCollection = $messageCollection ?? $this->messageCollection; + $this->includeInternalMessages = $includeInternalMessages ?? $this->includeInternalMessages; + } + + public function getDefaultOption() + { + return 'constraints'; + } + + public function getRequiredOptions() + { + return ['constraints']; + } + + protected function getCompositeOption() + { + return 'constraints'; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/AtLeastOneOfValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/AtLeastOneOfValidator.php new file mode 100644 index 00000000..b3067e5b --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/AtLeastOneOfValidator.php @@ -0,0 +1,73 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Przemysław Bogusz + */ +class AtLeastOneOfValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof AtLeastOneOf) { + throw new UnexpectedTypeException($constraint, AtLeastOneOf::class); + } + + $validator = $this->context->getValidator(); + + // Build a first violation to have the base message of the constraint translated + $baseMessageContext = clone $this->context; + $baseMessageContext->buildViolation($constraint->message)->addViolation(); + $baseViolations = $baseMessageContext->getViolations(); + $messages = [(string) $baseViolations->get(\count($baseViolations) - 1)->getMessage()]; + + foreach ($constraint->constraints as $key => $item) { + if (!\in_array($this->context->getGroup(), $item->groups, true)) { + continue; + } + + $context = $this->context; + $executionContext = clone $this->context; + $executionContext->setNode($value, $this->context->getObject(), $this->context->getMetadata(), $this->context->getPropertyPath()); + $violations = $validator->inContext($executionContext)->validate($value, $item, $this->context->getGroup())->getViolations(); + $this->context = $context; + + if (\count($this->context->getViolations()) === \count($violations)) { + return; + } + + if ($constraint->includeInternalMessages) { + $message = ' ['.($key + 1).'] '; + + if ($item instanceof All || $item instanceof Collection) { + $message .= $constraint->messageCollection; + } else { + $message .= $violations->get(\count($violations) - 1)->getMessage(); + } + + $messages[] = $message; + } + } + + $this->context->buildViolation(implode('', $messages)) + ->setCode(AtLeastOneOf::AT_LEAST_ONE_OF_ERROR) + ->addViolation() + ; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Bic.php b/upload/system/storage/vendor/symfony/validator/Constraints/Bic.php index 3eb7e5ce..52216eee 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Bic.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Bic.php @@ -13,6 +13,7 @@ use Symfony\Component\Intl\Countries; use Symfony\Component\PropertyAccess\PropertyAccess; +use Symfony\Component\PropertyAccess\PropertyPathInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Exception\ConstraintDefinitionException; use Symfony\Component\Validator\Exception\LogicException; @@ -23,6 +24,7 @@ * * @author Michael Hirschler */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Bic extends Constraint { public const INVALID_LENGTH_ERROR = '66dad313-af0b-4214-8566-6c799be9789c'; @@ -45,21 +47,33 @@ class Bic extends Constraint public $iban; public $ibanPropertyPath; - public function __construct($options = null) + /** + * {@inheritdoc} + * + * @param string|PropertyPathInterface|null $ibanPropertyPath + */ + public function __construct(?array $options = null, ?string $message = null, ?string $iban = null, $ibanPropertyPath = null, ?string $ibanMessage = null, ?array $groups = null, $payload = null) { if (!class_exists(Countries::class)) { - // throw new LogicException('The Intl component is required to use the Bic constraint. Try running "composer require symfony/intl".'); - @trigger_error(sprintf('Using the "%s" constraint without the "symfony/intl" component installed is deprecated since Symfony 4.2.', __CLASS__), \E_USER_DEPRECATED); + throw new LogicException('The Intl component is required to use the Bic constraint. Try running "composer require symfony/intl".'); } + if (null !== $ibanPropertyPath && !\is_string($ibanPropertyPath) && !$ibanPropertyPath instanceof PropertyPathInterface) { + throw new \TypeError(sprintf('"%s": Expected argument $ibanPropertyPath to be either null, a string or an instance of "%s", got "%s".', __METHOD__, PropertyPathInterface::class, get_debug_type($ibanPropertyPath))); + } + + parent::__construct($options, $groups, $payload); - if (isset($options['iban']) && isset($options['ibanPropertyPath'])) { + $this->message = $message ?? $this->message; + $this->ibanMessage = $ibanMessage ?? $this->ibanMessage; + $this->iban = $iban ?? $this->iban; + $this->ibanPropertyPath = $ibanPropertyPath ?? $this->ibanPropertyPath; + + if (null !== $this->iban && null !== $this->ibanPropertyPath) { throw new ConstraintDefinitionException('The "iban" and "ibanPropertyPath" options of the Iban constraint cannot be used at the same time.'); } - if (isset($options['ibanPropertyPath']) && !class_exists(PropertyAccess::class)) { + if (null !== $this->ibanPropertyPath && !class_exists(PropertyAccess::class)) { throw new LogicException(sprintf('The "symfony/property-access" component is required to use the "%s" constraint with the "ibanPropertyPath" option.', self::class)); } - - parent::__construct($options); } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/BicValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/BicValidator.php index d51f3752..fa458b19 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/BicValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/BicValidator.php @@ -13,6 +13,7 @@ use Symfony\Component\Intl\Countries; use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; +use Symfony\Component\PropertyAccess\Exception\UninitializedPropertyException; use Symfony\Component\PropertyAccess\PropertyAccess; use Symfony\Component\PropertyAccess\PropertyAccessor; use Symfony\Component\Validator\Constraint; @@ -29,8 +30,9 @@ */ class BicValidator extends ConstraintValidator { + // Reference: https://www.iban.com/structure private const BIC_COUNTRY_TO_IBAN_COUNTRY_MAP = [ - // Reference: https://www.ecbs.org/iban/france-bank-account-number.html + // FR includes: 'GF' => 'FR', // French Guiana 'PF' => 'FR', // French Polynesia 'TF' => 'FR', // French Southern Territories @@ -39,18 +41,25 @@ class BicValidator extends ConstraintValidator 'YT' => 'FR', // Mayotte 'NC' => 'FR', // New Caledonia 'RE' => 'FR', // Reunion + 'BL' => 'FR', // Saint Barthelemy + 'MF' => 'FR', // Saint Martin (French part) 'PM' => 'FR', // Saint Pierre and Miquelon 'WF' => 'FR', // Wallis and Futuna Islands - // Reference: https://www.ecbs.org/iban/united-kingdom-uk-bank-account-number.html + // GB includes: 'JE' => 'GB', // Jersey 'IM' => 'GB', // Isle of Man 'GG' => 'GB', // Guernsey 'VG' => 'GB', // British Virgin Islands + // FI includes: + 'AX' => 'FI', // Aland Islands + // ES includes: + 'IC' => 'ES', // Canary Islands + 'EA' => 'ES', // Ceuta and Melilla ]; private $propertyAccessor; - public function __construct(PropertyAccessor $propertyAccessor = null) + public function __construct(?PropertyAccessor $propertyAccessor = null) { $this->propertyAccessor = $propertyAccessor; } @@ -94,25 +103,8 @@ public function validate($value, Constraint $constraint) return; } - // first 4 letters must be alphabetic (bank code) - if (!ctype_alpha(substr($canonicalize, 0, 4))) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Bic::INVALID_BANK_CODE_ERROR) - ->addViolation(); - - return; - } - - // @deprecated since Symfony 4.2, will throw in 5.0 - if (class_exists(Countries::class)) { - $validCountryCode = Countries::exists(substr($canonicalize, 4, 2)); - } else { - $validCountryCode = ctype_alpha(substr($canonicalize, 4, 2)); - // throw new LogicException('The Intl component is required to use the Bic constraint. Try running "composer require symfony/intl".'); - } - - if (!$validCountryCode) { + $bicCountryCode = substr($canonicalize, 4, 2); + if (!isset(self::BIC_COUNTRY_TO_IBAN_COUNTRY_MAP[$bicCountryCode]) && !Countries::exists($bicCountryCode)) { $this->context->buildViolation($constraint->message) ->setParameter('{{ value }}', $this->formatValue($value)) ->setCode(Bic::INVALID_COUNTRY_CODE_ERROR) @@ -138,14 +130,16 @@ public function validate($value, Constraint $constraint) try { $iban = $this->getPropertyAccessor()->getValue($object, $path); } catch (NoSuchPropertyException $e) { - throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: ', $path, \get_class($constraint)).$e->getMessage(), 0, $e); + throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: ', $path, get_debug_type($constraint)).$e->getMessage(), 0, $e); + } catch (UninitializedPropertyException $e) { + $iban = null; } } if (!$iban) { return; } $ibanCountryCode = substr($iban, 0, 2); - if (ctype_alpha($ibanCountryCode) && !$this->bicAndIbanCountriesMatch(substr($canonicalize, 4, 2), $ibanCountryCode)) { + if (ctype_alpha($ibanCountryCode) && !$this->bicAndIbanCountriesMatch($bicCountryCode, $ibanCountryCode)) { $this->context->buildViolation($constraint->ibanMessage) ->setParameter('{{ value }}', $this->formatValue($value)) ->setParameter('{{ iban }}', $iban) diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Blank.php b/upload/system/storage/vendor/symfony/validator/Constraints/Blank.php index ba384fe1..c1073e96 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Blank.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Blank.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Blank extends Constraint { public const NOT_BLANK_ERROR = '183ad2de-533d-4796-a439-6d3c3852b549'; @@ -28,4 +29,11 @@ class Blank extends Constraint ]; public $message = 'This value should be blank.'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options ?? [], $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Callback.php b/upload/system/storage/vendor/symfony/validator/Constraints/Callback.php index 8bf6d68c..260b85ad 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Callback.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Callback.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Callback extends Constraint { /** @@ -28,19 +29,23 @@ class Callback extends Constraint /** * {@inheritdoc} + * + * @param array|string|callable $callback The callback or a set of options */ - public function __construct($options = null) + public function __construct($callback = null, ?array $groups = null, $payload = null, array $options = []) { // Invocation through annotations with an array parameter only - if (\is_array($options) && 1 === \count($options) && isset($options['value'])) { - $options = $options['value']; + if (\is_array($callback) && 1 === \count($callback) && isset($callback['value'])) { + $callback = $callback['value']; } - if (\is_array($options) && !isset($options['callback']) && !isset($options['groups']) && !isset($options['payload'])) { - $options = ['callback' => $options]; + if (!\is_array($callback) || (!isset($callback['callback']) && !isset($callback['groups']) && !isset($callback['payload']))) { + $options['callback'] = $callback; + } else { + $options = array_merge($callback, $options); } - parent::__construct($options); + parent::__construct($options, $groups, $payload); } /** diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CallbackValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/CallbackValidator.php index 751c2b9c..71cff2a7 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/CallbackValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CallbackValidator.php @@ -46,7 +46,7 @@ public function validate($object, Constraint $constraint) $method($object, $this->context, $constraint->payload); } elseif (null !== $object) { if (!method_exists($object, $method)) { - throw new ConstraintDefinitionException(sprintf('Method "%s" targeted by Callback constraint does not exist in class "%s".', $method, \get_class($object))); + throw new ConstraintDefinitionException(sprintf('Method "%s" targeted by Callback constraint does not exist in class "%s".', $method, get_debug_type($object))); } $reflMethod = new \ReflectionMethod($object, $method); diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CardScheme.php b/upload/system/storage/vendor/symfony/validator/Constraints/CardScheme.php index ff1348a9..eb003bc2 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/CardScheme.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CardScheme.php @@ -22,8 +22,22 @@ * @author Tim Nagel * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class CardScheme extends Constraint { + public const AMEX = 'AMEX'; + public const CHINA_UNIONPAY = 'CHINA_UNIONPAY'; + public const DINERS = 'DINERS'; + public const DISCOVER = 'DISCOVER'; + public const INSTAPAYMENT = 'INSTAPAYMENT'; + public const JCB = 'JCB'; + public const LASER = 'LASER'; + public const MAESTRO = 'MAESTRO'; + public const MASTERCARD = 'MASTERCARD'; + public const MIR = 'MIR'; + public const UATP = 'UATP'; + public const VISA = 'VISA'; + public const NOT_NUMERIC_ERROR = 'a2ad9231-e827-485f-8a1e-ef4d9a6d5c2e'; public const INVALID_FORMAT_ERROR = 'a8faedbf-1c2f-4695-8d22-55783be8efed'; @@ -35,6 +49,24 @@ class CardScheme extends Constraint public $message = 'Unsupported card type or invalid card number.'; public $schemes; + /** + * {@inheritdoc} + * + * @param array|string $schemes The schemes to validate against or a set of options + */ + public function __construct($schemes, ?string $message = null, ?array $groups = null, $payload = null, array $options = []) + { + if (\is_array($schemes) && \is_string(key($schemes))) { + $options = array_merge($schemes, $options); + } else { + $options['value'] = $schemes; + } + + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } + public function getDefaultOption() { return 'schemes'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CardSchemeValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/CardSchemeValidator.php index a63366f5..9425e9b4 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/CardSchemeValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CardSchemeValidator.php @@ -28,66 +28,66 @@ class CardSchemeValidator extends ConstraintValidator { protected $schemes = [ // American Express card numbers start with 34 or 37 and have 15 digits. - 'AMEX' => [ - '/^3[47][0-9]{13}$/', + CardScheme::AMEX => [ + '/^3[47][0-9]{13}$/D', ], // China UnionPay cards start with 62 and have between 16 and 19 digits. // Please note that these cards do not follow Luhn Algorithm as a checksum. - 'CHINA_UNIONPAY' => [ - '/^62[0-9]{14,17}$/', + CardScheme::CHINA_UNIONPAY => [ + '/^62[0-9]{14,17}$/D', ], // Diners Club card numbers begin with 300 through 305, 36 or 38. All have 14 digits. // There are Diners Club cards that begin with 5 and have 16 digits. // These are a joint venture between Diners Club and MasterCard, and should be processed like a MasterCard. - 'DINERS' => [ - '/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/', + CardScheme::DINERS => [ + '/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/D', ], // Discover card numbers begin with 6011, 622126 through 622925, 644 through 649 or 65. // All have 16 digits. - 'DISCOVER' => [ - '/^6011[0-9]{12}$/', - '/^64[4-9][0-9]{13}$/', - '/^65[0-9]{14}$/', - '/^622(12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|91[0-9]|92[0-5])[0-9]{10}$/', + CardScheme::DISCOVER => [ + '/^6011[0-9]{12}$/D', + '/^64[4-9][0-9]{13}$/D', + '/^65[0-9]{14}$/D', + '/^622(12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|91[0-9]|92[0-5])[0-9]{10}$/D', ], // InstaPayment cards begin with 637 through 639 and have 16 digits. - 'INSTAPAYMENT' => [ - '/^63[7-9][0-9]{13}$/', + CardScheme::INSTAPAYMENT => [ + '/^63[7-9][0-9]{13}$/D', ], // JCB cards beginning with 2131 or 1800 have 15 digits. // JCB cards beginning with 35 have 16 digits. - 'JCB' => [ - '/^(?:2131|1800|35[0-9]{3})[0-9]{11}$/', + CardScheme::JCB => [ + '/^(?:2131|1800|35[0-9]{3})[0-9]{11}$/D', ], // Laser cards begin with either 6304, 6706, 6709 or 6771 and have between 16 and 19 digits. - 'LASER' => [ - '/^(6304|670[69]|6771)[0-9]{12,15}$/', + CardScheme::LASER => [ + '/^(6304|670[69]|6771)[0-9]{12,15}$/D', ], // Maestro international cards begin with 675900..675999 and have between 12 and 19 digits. // Maestro UK cards begin with either 500000..509999 or 560000..699999 and have between 12 and 19 digits. - 'MAESTRO' => [ - '/^(6759[0-9]{2})[0-9]{6,13}$/', - '/^(50[0-9]{4})[0-9]{6,13}$/', - '/^5[6-9][0-9]{10,17}$/', - '/^6[0-9]{11,18}$/', + CardScheme::MAESTRO => [ + '/^(6759[0-9]{2})[0-9]{6,13}$/D', + '/^(50[0-9]{4})[0-9]{6,13}$/D', + '/^5[6-9][0-9]{10,17}$/D', + '/^6[0-9]{11,18}$/D', ], // All MasterCard numbers start with the numbers 51 through 55. All have 16 digits. // October 2016 MasterCard numbers can also start with 222100 through 272099. - 'MASTERCARD' => [ - '/^5[1-5][0-9]{14}$/', - '/^2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12})$/', + CardScheme::MASTERCARD => [ + '/^5[1-5][0-9]{14}$/D', + '/^2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12})$/D', ], // Payment system MIR numbers start with 220, then 1 digit from 0 to 4, then between 12 and 15 digits - 'MIR' => [ - '/^220[0-4][0-9]{12,15}$/', + CardScheme::MIR => [ + '/^220[0-4][0-9]{12,15}$/D', ], // All UATP card numbers start with a 1 and have a length of 15 digits. - 'UATP' => [ - '/^1[0-9]{14}$/', + CardScheme::UATP => [ + '/^1[0-9]{14}$/D', ], // All Visa card numbers start with a 4 and have a length of 13, 16, or 19 digits. - 'VISA' => [ - '/^4([0-9]{12}|[0-9]{15}|[0-9]{18})$/', + CardScheme::VISA => [ + '/^4([0-9]{12}|[0-9]{15}|[0-9]{18})$/D', ], ]; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Cascade.php b/upload/system/storage/vendor/symfony/validator/Constraints/Cascade.php new file mode 100644 index 00000000..13ab3aea --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Cascade.php @@ -0,0 +1,42 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Exception\ConstraintDefinitionException; + +/** + * @Annotation + * @Target({"CLASS"}) + * + * @author Jules Pietri + */ +#[\Attribute(\Attribute::TARGET_CLASS)] +class Cascade extends Constraint +{ + public function __construct(?array $options = null) + { + if (\is_array($options) && \array_key_exists('groups', $options)) { + throw new ConstraintDefinitionException(sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); + } + + parent::__construct($options); + } + + /** + * {@inheritdoc} + */ + public function getTargets() + { + return self::CLASS_CONSTRAINT; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Choice.php b/upload/system/storage/vendor/symfony/validator/Constraints/Choice.php index 95b91d57..b8224e4a 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Choice.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Choice.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Choice extends Constraint { public const NO_SUCH_CHOICE_ERROR = '8e179f1b-97aa-4560-a02f-2a8b42e49df7'; @@ -49,4 +50,40 @@ public function getDefaultOption() { return 'choices'; } + + public function __construct( + $options = [], + ?array $choices = null, + $callback = null, + ?bool $multiple = null, + ?bool $strict = null, + ?int $min = null, + ?int $max = null, + ?string $message = null, + ?string $multipleMessage = null, + ?string $minMessage = null, + ?string $maxMessage = null, + $groups = null, + $payload = null + ) { + if (\is_array($options) && $options && array_is_list($options)) { + $choices = $choices ?? $options; + $options = []; + } + if (null !== $choices) { + $options['value'] = $choices; + } + + parent::__construct($options, $groups, $payload); + + $this->callback = $callback ?? $this->callback; + $this->multiple = $multiple ?? $this->multiple; + $this->strict = $strict ?? $this->strict; + $this->min = $min ?? $this->min; + $this->max = $max ?? $this->max; + $this->message = $message ?? $this->message; + $this->multipleMessage = $multipleMessage ?? $this->multipleMessage; + $this->minMessage = $minMessage ?? $this->minMessage; + $this->maxMessage = $maxMessage ?? $this->maxMessage; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/ChoiceValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/ChoiceValidator.php index a1c47a6b..5fa5318c 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/ChoiceValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/ChoiceValidator.php @@ -55,6 +55,9 @@ public function validate($value, Constraint $constraint) throw new ConstraintDefinitionException('The Choice constraint expects a valid callback.'); } $choices = $choices(); + if (!is_array($choices)) { + throw new ConstraintDefinitionException(sprintf('The Choice constraint callback "%s" is expected to return an array, but returned "%s".', trim($this->formatValue($constraint->callback), '"'), get_debug_type($choices))); + } } else { $choices = $constraint->choices; } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Cidr.php b/upload/system/storage/vendor/symfony/validator/Constraints/Cidr.php new file mode 100644 index 00000000..a65a8335 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Cidr.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Exception\ConstraintDefinitionException; + +/** + * Validates that a value is a valid CIDR notation. + * + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Sorin Pop + * @author Calin Bolea + */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +class Cidr extends Constraint +{ + public const INVALID_CIDR_ERROR = '5649e53a-5afb-47c5-a360-ffbab3be8567'; + public const OUT_OF_RANGE_ERROR = 'b9f14a51-acbd-401a-a078-8c6b204ab32f'; + + protected static $errorNames = [ + self::INVALID_CIDR_ERROR => 'INVALID_CIDR_ERROR', + self::OUT_OF_RANGE_ERROR => 'OUT_OF_RANGE_VIOLATION', + ]; + + private const NET_MAXES = [ + Ip::ALL => 128, + Ip::V4 => 32, + Ip::V6 => 128, + ]; + + public $version = Ip::ALL; + + public $message = 'This value is not a valid CIDR notation.'; + + public $netmaskRangeViolationMessage = 'The value of the netmask should be between {{ min }} and {{ max }}.'; + + public $netmaskMin = 0; + + public $netmaskMax; + + public function __construct( + ?array $options = null, + ?string $version = null, + ?int $netmaskMin = null, + ?int $netmaskMax = null, + ?string $message = null, + ?array $groups = null, + $payload = null + ) { + $this->version = $version ?? $options['version'] ?? $this->version; + + if (!\in_array($this->version, array_keys(self::NET_MAXES))) { + throw new ConstraintDefinitionException(sprintf('The option "version" must be one of "%s".', implode('", "', array_keys(self::NET_MAXES)))); + } + + $this->netmaskMin = $netmaskMin ?? $options['netmaskMin'] ?? $this->netmaskMin; + $this->netmaskMax = $netmaskMax ?? $options['netmaskMax'] ?? self::NET_MAXES[$this->version]; + $this->message = $message ?? $this->message; + + unset($options['netmaskMin'], $options['netmaskMax'], $options['version']); + + if ($this->netmaskMin < 0 || $this->netmaskMax > self::NET_MAXES[$this->version] || $this->netmaskMin > $this->netmaskMax) { + throw new ConstraintDefinitionException(sprintf('The netmask range must be between 0 and %d.', self::NET_MAXES[$this->version])); + } + + parent::__construct($options, $groups, $payload); + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CidrValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/CidrValidator.php new file mode 100644 index 00000000..c90ebcfa --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CidrValidator.php @@ -0,0 +1,77 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; +use Symfony\Component\Validator\Exception\UnexpectedValueException; + +class CidrValidator extends ConstraintValidator +{ + public function validate($value, Constraint $constraint): void + { + if (!$constraint instanceof Cidr) { + throw new UnexpectedTypeException($constraint, Cidr::class); + } + + if (null === $value || '' === $value) { + return; + } + + if (!\is_string($value)) { + throw new UnexpectedValueException($value, 'string'); + } + + $cidrParts = explode('/', $value, 2); + + if (!isset($cidrParts[1]) + || !ctype_digit($cidrParts[1]) + || '' === $cidrParts[0] + ) { + $this->context + ->buildViolation($constraint->message) + ->setCode(Cidr::INVALID_CIDR_ERROR) + ->addViolation(); + + return; + } + + $ipAddress = $cidrParts[0]; + $netmask = (int) $cidrParts[1]; + + $validV4 = Ip::V6 !== $constraint->version + && filter_var($ipAddress, \FILTER_VALIDATE_IP, \FILTER_FLAG_IPV4) + && $netmask <= 32; + + $validV6 = Ip::V4 !== $constraint->version + && filter_var($ipAddress, \FILTER_VALIDATE_IP, \FILTER_FLAG_IPV6); + + if (!$validV4 && !$validV6) { + $this->context + ->buildViolation($constraint->message) + ->setCode(Cidr::INVALID_CIDR_ERROR) + ->addViolation(); + + return; + } + + if ($netmask < $constraint->netmaskMin || $netmask > $constraint->netmaskMax) { + $this->context + ->buildViolation($constraint->netmaskRangeViolationMessage) + ->setParameter('{{ min }}', $constraint->netmaskMin) + ->setParameter('{{ max }}', $constraint->netmaskMax) + ->setCode(Cidr::OUT_OF_RANGE_ERROR) + ->addViolation(); + } + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Collection.php b/upload/system/storage/vendor/symfony/validator/Constraints/Collection.php index 6007b133..d7a1a8f6 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Collection.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Collection.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Exception\ConstraintDefinitionException; /** @@ -19,6 +20,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Collection extends Composite { public const MISSING_FIELD_ERROR = '2fa2158c-2a7f-484b-98aa-975522539ff8'; @@ -38,15 +40,18 @@ class Collection extends Composite /** * {@inheritdoc} */ - public function __construct($options = null) + public function __construct($fields = null, ?array $groups = null, $payload = null, ?bool $allowExtraFields = null, ?bool $allowMissingFields = null, ?string $extraFieldsMessage = null, ?string $missingFieldsMessage = null) { - // no known options set? $options is the fields array - if (\is_array($options) - && !array_intersect(array_keys($options), ['groups', 'fields', 'allowExtraFields', 'allowMissingFields', 'extraFieldsMessage', 'missingFieldsMessage'])) { - $options = ['fields' => $options]; + if (self::isFieldsOption($fields)) { + $fields = ['fields' => $fields]; } - parent::__construct($options); + parent::__construct($fields, $groups, $payload); + + $this->allowExtraFields = $allowExtraFields ?? $this->allowExtraFields; + $this->allowMissingFields = $allowMissingFields ?? $this->allowMissingFields; + $this->extraFieldsMessage = $extraFieldsMessage ?? $this->extraFieldsMessage; + $this->missingFieldsMessage = $missingFieldsMessage ?? $this->missingFieldsMessage; } /** @@ -82,4 +87,31 @@ protected function getCompositeOption() { return 'fields'; } + + private static function isFieldsOption($options): bool + { + if (!\is_array($options)) { + return false; + } + + foreach ($options as $optionOrField) { + if ($optionOrField instanceof Constraint) { + return true; + } + + if (null === $optionOrField) { + continue; + } + + if (!\is_array($optionOrField)) { + return false; + } + + if ($optionOrField && !($optionOrField[0] ?? null) instanceof Constraint) { + return false; + } + } + + return true; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Composite.php b/upload/system/storage/vendor/symfony/validator/Constraints/Composite.php index 8d8fe89f..55f25e19 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Composite.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Composite.php @@ -51,9 +51,9 @@ abstract class Composite extends Constraint * cached. When constraints are loaded from the cache, no more group * checks need to be done. */ - public function __construct($options = null) + public function __construct($options = null, ?array $groups = null, $payload = null) { - parent::__construct($options); + parent::__construct($options, $groups, $payload); $this->initializeNestedConstraints(); @@ -100,7 +100,7 @@ public function __construct($options = null) $excessGroups = array_diff($constraint->groups, $this->groups); if (\count($excessGroups) > 0) { - throw new ConstraintDefinitionException(sprintf('The group(s) "%s" passed to the constraint "%s" should also be passed to its containing constraint "%s".', implode('", "', $excessGroups), \get_class($constraint), static::class)); + throw new ConstraintDefinitionException(sprintf('The group(s) "%s" passed to the constraint "%s" should also be passed to its containing constraint "%s".', implode('", "', $excessGroups), get_debug_type($constraint), static::class)); } } else { $constraint->groups = $this->groups; @@ -114,10 +114,8 @@ public function __construct($options = null) * {@inheritdoc} * * Implicit group names are forwarded to nested constraints. - * - * @param string $group */ - public function addImplicitGroupName($group) + public function addImplicitGroupName(string $group) { parent::addImplicitGroupName($group); @@ -132,7 +130,7 @@ public function addImplicitGroupName($group) /** * Returns the name of the property that contains the nested constraints. * - * @return string The property name + * @return string */ abstract protected function getCompositeOption(); diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Compound.php b/upload/system/storage/vendor/symfony/validator/Constraints/Compound.php new file mode 100644 index 00000000..54dcd6c8 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Compound.php @@ -0,0 +1,52 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Exception\ConstraintDefinitionException; + +/** + * Extend this class to create a reusable set of constraints. + * + * @author Maxime Steinhausser + */ +abstract class Compound extends Composite +{ + /** @var Constraint[] */ + public $constraints = []; + + public function __construct($options = null) + { + if (isset($options[$this->getCompositeOption()])) { + throw new ConstraintDefinitionException(sprintf('You can\'t redefine the "%s" option. Use the "%s::getConstraints()" method instead.', $this->getCompositeOption(), __CLASS__)); + } + + $this->constraints = $this->getConstraints($this->normalizeOptions($options)); + + parent::__construct($options); + } + + final protected function getCompositeOption(): string + { + return 'constraints'; + } + + final public function validatedBy(): string + { + return CompoundValidator::class; + } + + /** + * @return Constraint[] + */ + abstract protected function getConstraints(array $options): array; +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CompoundValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/CompoundValidator.php new file mode 100644 index 00000000..2ba993f3 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CompoundValidator.php @@ -0,0 +1,35 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Maxime Steinhausser + */ +class CompoundValidator extends ConstraintValidator +{ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Compound) { + throw new UnexpectedTypeException($constraint, Compound::class); + } + + $context = $this->context; + + $validator = $context->getValidator()->inContext($context); + + $validator->validate($value, $constraint->constraints); + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Count.php b/upload/system/storage/vendor/symfony/validator/Constraints/Count.php index 792013fa..06f6d6c6 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Count.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Count.php @@ -20,38 +20,73 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Count extends Constraint { public const TOO_FEW_ERROR = 'bef8e338-6ae5-4caf-b8e2-50e7b0579e69'; public const TOO_MANY_ERROR = '756b1212-697c-468d-a9ad-50dd783bb169'; + public const NOT_EQUAL_COUNT_ERROR = '9fe5d43f-3784-4ece-a0e1-473fc02dadbc'; + public const NOT_DIVISIBLE_BY_ERROR = DivisibleBy::NOT_DIVISIBLE_BY; protected static $errorNames = [ self::TOO_FEW_ERROR => 'TOO_FEW_ERROR', self::TOO_MANY_ERROR => 'TOO_MANY_ERROR', + self::NOT_EQUAL_COUNT_ERROR => 'NOT_EQUAL_COUNT_ERROR', + self::NOT_DIVISIBLE_BY_ERROR => 'NOT_DIVISIBLE_BY_ERROR', ]; public $minMessage = 'This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.'; public $maxMessage = 'This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.'; public $exactMessage = 'This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.'; + public $divisibleByMessage = 'The number of elements in this collection should be a multiple of {{ compared_value }}.'; public $min; public $max; + public $divisibleBy; - public function __construct($options = null) - { - if (null !== $options && !\is_array($options)) { - $options = [ - 'min' => $options, - 'max' => $options, - ]; - } elseif (\is_array($options) && isset($options['value']) && !isset($options['min']) && !isset($options['max'])) { - $options['min'] = $options['max'] = $options['value']; - unset($options['value']); + /** + * {@inheritdoc} + * + * @param int|array|null $exactly The expected exact count or a set of options + */ + public function __construct( + $exactly = null, + ?int $min = null, + ?int $max = null, + ?int $divisibleBy = null, + ?string $exactMessage = null, + ?string $minMessage = null, + ?string $maxMessage = null, + ?string $divisibleByMessage = null, + ?array $groups = null, + $payload = null, + array $options = [] + ) { + if (\is_array($exactly)) { + $options = array_merge($exactly, $options); + $exactly = $options['value'] ?? null; } - parent::__construct($options); + $min = $min ?? $options['min'] ?? null; + $max = $max ?? $options['max'] ?? null; - if (null === $this->min && null === $this->max) { - throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint "%s".', __CLASS__), ['min', 'max']); + unset($options['value'], $options['min'], $options['max']); + + if (null !== $exactly && null === $min && null === $max) { + $min = $max = $exactly; + } + + parent::__construct($options, $groups, $payload); + + $this->min = $min; + $this->max = $max; + $this->divisibleBy = $divisibleBy ?? $this->divisibleBy; + $this->exactMessage = $exactMessage ?? $this->exactMessage; + $this->minMessage = $minMessage ?? $this->minMessage; + $this->maxMessage = $maxMessage ?? $this->maxMessage; + $this->divisibleByMessage = $divisibleByMessage ?? $this->divisibleByMessage; + + if (null === $this->min && null === $this->max && null === $this->divisibleBy) { + throw new MissingOptionsException(sprintf('Either option "min", "max" or "divisibleBy" must be given for constraint "%s".', __CLASS__), ['min', 'max', 'divisibleBy']); } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CountValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/CountValidator.php index 5c40e47b..ff991ac2 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/CountValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CountValidator.php @@ -41,25 +41,43 @@ public function validate($value, Constraint $constraint) $count = \count($value); if (null !== $constraint->max && $count > $constraint->max) { - $this->context->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage) + $exactlyOptionEnabled = $constraint->min == $constraint->max; + + $this->context->buildViolation($exactlyOptionEnabled ? $constraint->exactMessage : $constraint->maxMessage) ->setParameter('{{ count }}', $count) ->setParameter('{{ limit }}', $constraint->max) ->setInvalidValue($value) ->setPlural((int) $constraint->max) - ->setCode(Count::TOO_MANY_ERROR) + ->setCode($exactlyOptionEnabled ? Count::NOT_EQUAL_COUNT_ERROR : Count::TOO_MANY_ERROR) ->addViolation(); return; } if (null !== $constraint->min && $count < $constraint->min) { - $this->context->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage) + $exactlyOptionEnabled = $constraint->min == $constraint->max; + + $this->context->buildViolation($exactlyOptionEnabled ? $constraint->exactMessage : $constraint->minMessage) ->setParameter('{{ count }}', $count) ->setParameter('{{ limit }}', $constraint->min) ->setInvalidValue($value) ->setPlural((int) $constraint->min) - ->setCode(Count::TOO_FEW_ERROR) + ->setCode($exactlyOptionEnabled ? Count::NOT_EQUAL_COUNT_ERROR : Count::TOO_FEW_ERROR) ->addViolation(); + + return; + } + + if (null !== $constraint->divisibleBy) { + $this->context + ->getValidator() + ->inContext($this->context) + ->validate($count, [ + new DivisibleBy([ + 'value' => $constraint->divisibleBy, + 'message' => $constraint->divisibleByMessage, + ]), + ], $this->context->getGroup()); } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Country.php b/upload/system/storage/vendor/symfony/validator/Constraints/Country.php index 27ec7aaf..8c0eb099 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Country.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Country.php @@ -21,6 +21,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Country extends Constraint { public const NO_SUCH_COUNTRY_ERROR = '8f900c12-61bd-455d-9398-996cd040f7f0'; @@ -30,14 +31,22 @@ class Country extends Constraint ]; public $message = 'This value is not a valid country.'; - - public function __construct($options = null) - { + public $alpha3 = false; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?bool $alpha3 = null, + ?array $groups = null, + $payload = null + ) { if (!class_exists(Countries::class)) { - // throw new LogicException('The Intl component is required to use the Country constraint. Try running "composer require symfony/intl".'); - @trigger_error(sprintf('Using the "%s" constraint without the "symfony/intl" component installed is deprecated since Symfony 4.2.', __CLASS__), \E_USER_DEPRECATED); + throw new LogicException('The Intl component is required to use the Country constraint. Try running "composer require symfony/intl".'); } - parent::__construct($options); + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->alpha3 = $alpha3 ?? $this->alpha3; } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CountryValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/CountryValidator.php index f4eafc32..a96809c2 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/CountryValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CountryValidator.php @@ -14,7 +14,6 @@ use Symfony\Component\Intl\Countries; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; use Symfony\Component\Validator\Exception\UnexpectedTypeException; use Symfony\Component\Validator\Exception\UnexpectedValueException; @@ -42,13 +41,9 @@ public function validate($value, Constraint $constraint) throw new UnexpectedValueException($value, 'string'); } - if (!class_exists(Countries::class)) { - throw new LogicException('The Intl component is required to use the Country constraint. Try running "composer require symfony/intl".'); - } - $value = (string) $value; - if (!Countries::exists($value)) { + if ($constraint->alpha3 ? !Countries::alpha3CodeExists($value) : !Countries::exists($value)) { $this->context->buildViolation($constraint->message) ->setParameter('{{ value }}', $this->formatValue($value)) ->setCode(Country::NO_SUCH_COUNTRY_ERROR) diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CssColor.php b/upload/system/storage/vendor/symfony/validator/Constraints/CssColor.php new file mode 100644 index 00000000..f5a9ac89 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CssColor.php @@ -0,0 +1,106 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Exception\InvalidArgumentException; + +/** + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Mathieu Santostefano + */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +class CssColor extends Constraint +{ + public const HEX_LONG = 'hex_long'; + public const HEX_LONG_WITH_ALPHA = 'hex_long_with_alpha'; + public const HEX_SHORT = 'hex_short'; + public const HEX_SHORT_WITH_ALPHA = 'hex_short_with_alpha'; + public const BASIC_NAMED_COLORS = 'basic_named_colors'; + public const EXTENDED_NAMED_COLORS = 'extended_named_colors'; + public const SYSTEM_COLORS = 'system_colors'; + public const KEYWORDS = 'keywords'; + public const RGB = 'rgb'; + public const RGBA = 'rgba'; + public const HSL = 'hsl'; + public const HSLA = 'hsla'; + public const INVALID_FORMAT_ERROR = '454ab47b-aacf-4059-8f26-184b2dc9d48d'; + + protected static $errorNames = [ + self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', + ]; + + /** + * @var string[] + */ + private static $validationModes = [ + self::HEX_LONG, + self::HEX_LONG_WITH_ALPHA, + self::HEX_SHORT, + self::HEX_SHORT_WITH_ALPHA, + self::BASIC_NAMED_COLORS, + self::EXTENDED_NAMED_COLORS, + self::SYSTEM_COLORS, + self::KEYWORDS, + self::RGB, + self::RGBA, + self::HSL, + self::HSLA, + ]; + + public $message = 'This value is not a valid CSS color.'; + public $formats; + + /** + * @param array|string $formats The types of CSS colors allowed (e.g. hexadecimal only, RGB and HSL only, etc.). + */ + public function __construct($formats = [], ?string $message = null, ?array $groups = null, $payload = null, ?array $options = null) + { + $validationModesAsString = implode(', ', self::$validationModes); + + if (!$formats) { + $options['value'] = self::$validationModes; + } elseif (\is_array($formats) && \is_string(key($formats))) { + $options = array_merge($formats, $options ?? []); + } elseif (\is_array($formats)) { + if ([] === array_intersect(self::$validationModes, $formats)) { + throw new InvalidArgumentException(sprintf('The "formats" parameter value is not valid. It must contain one or more of the following values: "%s".', $validationModesAsString)); + } + + $options['value'] = $formats; + } elseif (\is_string($formats)) { + if (!\in_array($formats, self::$validationModes)) { + throw new InvalidArgumentException(sprintf('The "formats" parameter value is not valid. It must contain one or more of the following values: "%s".', $validationModesAsString)); + } + + $options['value'] = [$formats]; + } else { + throw new InvalidArgumentException('The "formats" parameter type is not valid. It should be a string or an array.'); + } + + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } + + public function getDefaultOption(): string + { + return 'formats'; + } + + public function getRequiredOptions(): array + { + return ['formats']; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CssColorValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/CssColorValidator.php new file mode 100644 index 00000000..be377d83 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CssColorValidator.php @@ -0,0 +1,86 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; +use Symfony\Component\Validator\Exception\UnexpectedValueException; + +/** + * @author Mathieu Santostefano + */ +class CssColorValidator extends ConstraintValidator +{ + private const PATTERN_HEX_LONG = '/^#[0-9a-f]{6}$/iD'; + private const PATTERN_HEX_LONG_WITH_ALPHA = '/^#[0-9a-f]{8}$/iD'; + private const PATTERN_HEX_SHORT = '/^#[0-9a-f]{3}$/iD'; + private const PATTERN_HEX_SHORT_WITH_ALPHA = '/^#[0-9a-f]{4}$/iD'; + // List comes from https://www.w3.org/wiki/CSS/Properties/color/keywords#Basic_Colors + private const PATTERN_BASIC_NAMED_COLORS = '/^(black|silver|gray|white|maroon|red|purple|fuchsia|green|lime|olive|yellow|navy|blue|teal|aqua)$/iD'; + // List comes from https://www.w3.org/wiki/CSS/Properties/color/keywords#Extended_colors + private const PATTERN_EXTENDED_NAMED_COLORS = '/^(aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)$/iD'; + // List comes from https://drafts.csswg.org/css-color/#css-system-colors + private const PATTERN_SYSTEM_COLORS = '/^(Canvas|CanvasText|LinkText|VisitedText|ActiveText|ButtonFace|ButtonText|ButtonBorder|Field|FieldText|Highlight|HighlightText|SelectedItem|SelectedItemText|Mark|MarkText|GrayText)$/iD'; + private const PATTERN_KEYWORDS = '/^(transparent|currentColor)$/iD'; + private const PATTERN_RGB = '/^rgb\(\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d)\s*\)$/iD'; + private const PATTERN_RGBA = '/^rgba\(\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|255|25[0-4]|2[0-4]\d|1\d\d|0?\d?\d),\s*(0|0?\.\d+|1(\.0)?)\s*\)$/iD'; + private const PATTERN_HSL = '/^hsl\(\s*(0|360|35\d|3[0-4]\d|[12]\d\d|0?\d?\d),\s*(0|100|\d{1,2})%,\s*(0|100|\d{1,2})%\s*\)$/iD'; + private const PATTERN_HSLA = '/^hsla\(\s*(0|360|35\d|3[0-4]\d|[12]\d\d|0?\d?\d),\s*(0|100|\d{1,2})%,\s*(0|100|\d{1,2})%,\s*(0|0?\.\d+|1(\.0)?)\s*\)$/iD'; + + private const COLOR_PATTERNS = [ + CssColor::HEX_LONG => self::PATTERN_HEX_LONG, + CssColor::HEX_LONG_WITH_ALPHA => self::PATTERN_HEX_LONG_WITH_ALPHA, + CssColor::HEX_SHORT => self::PATTERN_HEX_SHORT, + CssColor::HEX_SHORT_WITH_ALPHA => self::PATTERN_HEX_SHORT_WITH_ALPHA, + CssColor::BASIC_NAMED_COLORS => self::PATTERN_BASIC_NAMED_COLORS, + CssColor::EXTENDED_NAMED_COLORS => self::PATTERN_EXTENDED_NAMED_COLORS, + CssColor::SYSTEM_COLORS => self::PATTERN_SYSTEM_COLORS, + CssColor::KEYWORDS => self::PATTERN_KEYWORDS, + CssColor::RGB => self::PATTERN_RGB, + CssColor::RGBA => self::PATTERN_RGBA, + CssColor::HSL => self::PATTERN_HSL, + CssColor::HSLA => self::PATTERN_HSLA, + ]; + + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint): void + { + if (!$constraint instanceof CssColor) { + throw new UnexpectedTypeException($constraint, CssColor::class); + } + + if (null === $value || '' === $value) { + return; + } + + if (!\is_string($value)) { + throw new UnexpectedValueException($value, 'string'); + } + + $formats = array_flip((array) $constraint->formats); + $formatRegexes = array_intersect_key(self::COLOR_PATTERNS, $formats); + + foreach ($formatRegexes as $regex) { + if (preg_match($regex, (string) $value)) { + return; + } + } + + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(CssColor::INVALID_FORMAT_ERROR) + ->addViolation(); + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Currency.php b/upload/system/storage/vendor/symfony/validator/Constraints/Currency.php index 0ee57dc9..7dea613e 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Currency.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Currency.php @@ -22,6 +22,7 @@ * @author Miha Vrhovnik * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Currency extends Constraint { public const NO_SUCH_CURRENCY_ERROR = '69945ac1-2db4-405f-bec7-d2772f73df52'; @@ -32,13 +33,14 @@ class Currency extends Constraint public $message = 'This value is not a valid currency.'; - public function __construct($options = null) + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) { if (!class_exists(Currencies::class)) { - // throw new LogicException('The Intl component is required to use the Currency constraint. Try running "composer require symfony/intl".'); - @trigger_error(sprintf('Using the "%s" constraint without the "symfony/intl" component installed is deprecated since Symfony 4.2.', __CLASS__), \E_USER_DEPRECATED); + throw new LogicException('The Intl component is required to use the Currency constraint. Try running "composer require symfony/intl".'); } - parent::__construct($options); + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/CurrencyValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/CurrencyValidator.php index 465cfb95..64dd66f8 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/CurrencyValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/CurrencyValidator.php @@ -14,7 +14,6 @@ use Symfony\Component\Intl\Currencies; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; use Symfony\Component\Validator\Exception\UnexpectedTypeException; use Symfony\Component\Validator\Exception\UnexpectedValueException; @@ -43,10 +42,6 @@ public function validate($value, Constraint $constraint) throw new UnexpectedValueException($value, 'string'); } - if (!class_exists(Currencies::class)) { - throw new LogicException('The Intl component is required to use the Currency constraint. Try running "composer require symfony/intl".'); - } - $value = (string) $value; if (!Currencies::exists($value)) { diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Date.php b/upload/system/storage/vendor/symfony/validator/Constraints/Date.php index 0b14cbb4..025cb22d 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Date.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Date.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Date extends Constraint { public const INVALID_FORMAT_ERROR = '69819696-02ac-4a99-9ff0-14e127c4d1bc'; @@ -30,4 +31,11 @@ class Date extends Constraint ]; public $message = 'This value is not a valid date.'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/DateTime.php b/upload/system/storage/vendor/symfony/validator/Constraints/DateTime.php index 7e64a62d..b1c43b76 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/DateTime.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/DateTime.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class DateTime extends Constraint { public const INVALID_FORMAT_ERROR = '1a9da513-2640-4f84-9b6a-4d99dcddc628'; @@ -34,6 +35,24 @@ class DateTime extends Constraint public $format = 'Y-m-d H:i:s'; public $message = 'This value is not a valid datetime.'; + /** + * {@inheritdoc} + * + * @param string|array|null $format + */ + public function __construct($format = null, ?string $message = null, ?array $groups = null, $payload = null, array $options = []) + { + if (\is_array($format)) { + $options = array_merge($format, $options); + } elseif (null !== $format) { + $options['value'] = $format; + } + + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } + public function getDefaultOption() { return 'format'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/DateTimeValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/DateTimeValidator.php index 5f2c7a8e..6ecefe62 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/DateTimeValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/DateTimeValidator.php @@ -34,12 +34,6 @@ public function validate($value, Constraint $constraint) return; } - if ($value instanceof \DateTimeInterface) { - @trigger_error(sprintf('Validating a \\DateTimeInterface with "%s" is deprecated since version 4.2. Use "%s" instead or remove the constraint if the underlying model is already type hinted to \\DateTimeInterface.', DateTime::class, Type::class), \E_USER_DEPRECATED); - - return; - } - if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/DateValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/DateValidator.php index ff06bec5..4a1fb7dd 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/DateValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/DateValidator.php @@ -21,7 +21,7 @@ */ class DateValidator extends ConstraintValidator { - public const PATTERN = '/^(\d{4})-(\d{2})-(\d{2})$/'; + public const PATTERN = '/^(?\d{4})-(?\d{2})-(?\d{2})$/D'; /** * Checks whether a date is valid. @@ -46,12 +46,6 @@ public function validate($value, Constraint $constraint) return; } - if ($value instanceof \DateTimeInterface) { - @trigger_error(sprintf('Validating a \\DateTimeInterface with "%s" is deprecated since version 4.2. Use "%s" instead or remove the constraint if the underlying model is already type hinted to \\DateTimeInterface.', Date::class, Type::class), \E_USER_DEPRECATED); - - return; - } - if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } @@ -67,7 +61,11 @@ public function validate($value, Constraint $constraint) return; } - if (!self::checkDate($matches[1], $matches[2], $matches[3])) { + if (!self::checkDate( + $matches['year'] ?? $matches[1], + $matches['month'] ?? $matches[2], + $matches['day'] ?? $matches[3] + )) { $this->context->buildViolation($constraint->message) ->setParameter('{{ value }}', $this->formatValue($value)) ->setCode(Date::INVALID_DATE_ERROR) diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/DisableAutoMapping.php b/upload/system/storage/vendor/symfony/validator/Constraints/DisableAutoMapping.php index 66f7b1e4..8fc95ba7 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/DisableAutoMapping.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/DisableAutoMapping.php @@ -24,9 +24,10 @@ * * @author Kévin Dunglas */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::TARGET_CLASS)] class DisableAutoMapping extends Constraint { - public function __construct($options = null) + public function __construct(?array $options = null) { if (\is_array($options) && \array_key_exists('groups', $options)) { throw new ConstraintDefinitionException(sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/DivisibleBy.php b/upload/system/storage/vendor/symfony/validator/Constraints/DivisibleBy.php index 1e208f61..d3f5cd71 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/DivisibleBy.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/DivisibleBy.php @@ -17,6 +17,7 @@ * * @author Colin O'Dell */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class DivisibleBy extends AbstractComparison { public const NOT_DIVISIBLE_BY = '6d99d6c3-1464-4ccf-bdc7-14d083cf455c'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/DivisibleByValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/DivisibleByValidator.php index 53b8d389..de774301 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/DivisibleByValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/DivisibleByValidator.php @@ -42,6 +42,12 @@ protected function compareValues($value1, $value2) if (!$remainder = fmod($value1, $value2)) { return true; } + if (\is_float($value2) && \INF !== $value2) { + $quotient = $value1 / $value2; + $rounded = round($quotient); + + return sprintf('%.12e', $quotient) === sprintf('%.12e', $rounded); + } return sprintf('%.12e', $value2) === sprintf('%.12e', $remainder); } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Email.php b/upload/system/storage/vendor/symfony/validator/Constraints/Email.php index e8396c57..e9e0e06d 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Email.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Email.php @@ -22,6 +22,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Email extends Constraint { public const VALIDATION_MODE_HTML5 = 'html5'; @@ -30,20 +31,8 @@ class Email extends Constraint public const INVALID_FORMAT_ERROR = 'bd79c0ab-ddba-46cc-a703-a7a4b08de310'; - /** - * @deprecated since Symfony 4.2. - */ - public const MX_CHECK_FAILED_ERROR = 'bf447c1c-0266-4e10-9c6c-573df282e413'; - - /** - * @deprecated since Symfony 4.2. - */ - public const HOST_CHECK_FAILED_ERROR = '7da53a8b-56f3-4288-bb3e-ee9ede4ef9a1'; - protected static $errorNames = [ - self::INVALID_FORMAT_ERROR => 'STRICT_CHECK_FAILED_ERROR', - self::MX_CHECK_FAILED_ERROR => 'MX_CHECK_FAILED_ERROR', - self::HOST_CHECK_FAILED_ERROR => 'HOST_CHECK_FAILED_ERROR', + self::INVALID_FORMAT_ERROR => 'INVALID_FORMAT_ERROR', ]; /** @@ -58,51 +47,37 @@ class Email extends Constraint ]; public $message = 'This value is not a valid email address.'; - - /** - * @deprecated since Symfony 4.2. - */ - public $checkMX = false; - - /** - * @deprecated since Symfony 4.2. - */ - public $checkHost = false; - - /** - * @deprecated since Symfony 4.1, set mode to "strict" instead. - */ - public $strict; public $mode; public $normalizer; - public function __construct($options = null) - { - if (\is_array($options) && \array_key_exists('strict', $options)) { - @trigger_error(sprintf('The "strict" property is deprecated since Symfony 4.1. Use "mode"=>"%s" instead.', self::VALIDATION_MODE_STRICT), \E_USER_DEPRECATED); - } - - if (\is_array($options) && \array_key_exists('checkMX', $options)) { - @trigger_error('The "checkMX" option is deprecated since Symfony 4.2.', \E_USER_DEPRECATED); - } - - if (\is_array($options) && \array_key_exists('checkHost', $options)) { - @trigger_error('The "checkHost" option is deprecated since Symfony 4.2.', \E_USER_DEPRECATED); + public function __construct( + ?array $options = null, + ?string $message = null, + ?string $mode = null, + ?callable $normalizer = null, + ?array $groups = null, + $payload = null + ) { + if (\is_array($options) && \array_key_exists('mode', $options) && !\in_array($options['mode'], self::$validationModes, true)) { + throw new InvalidArgumentException('The "mode" parameter value is not valid.'); } - if (\is_array($options) && \array_key_exists('mode', $options) && !\in_array($options['mode'], self::$validationModes, true)) { + if (null !== $mode && !\in_array($mode, self::$validationModes, true)) { throw new InvalidArgumentException('The "mode" parameter value is not valid.'); } - parent::__construct($options); + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->mode = $mode ?? $this->mode; + $this->normalizer = $normalizer ?? $this->normalizer; - if ((self::VALIDATION_MODE_STRICT === $this->mode || true === $this->strict) && !class_exists(StrictEmailValidator::class)) { - // throw new LogicException(sprintf('The "egulias/email-validator" component is required to use the "%s" constraint in strict mode.', __CLASS__)); - @trigger_error(sprintf('Using the "%s" constraint in strict mode without the "egulias/email-validator" component installed is deprecated since Symfony 4.2.', __CLASS__), \E_USER_DEPRECATED); + if (self::VALIDATION_MODE_STRICT === $this->mode && !class_exists(StrictEmailValidator::class)) { + throw new LogicException(sprintf('The "egulias/email-validator" component is required to use the "%s" constraint in strict mode.', __CLASS__)); } if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', \is_object($this->normalizer) ? \get_class($this->normalizer) : \gettype($this->normalizer))); + throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/EmailValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/EmailValidator.php index 8ea5cee6..a073ab31 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/EmailValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/EmailValidator.php @@ -25,37 +25,18 @@ */ class EmailValidator extends ConstraintValidator { - /** - * @internal - */ - public const PATTERN_HTML5 = '/^[a-zA-Z0-9.!#$%&\'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/'; - - /** - * @internal - */ - public const PATTERN_LOOSE = '/^.+\@\S+\.\S+$/'; + private const PATTERN_HTML5 = '/^[a-zA-Z0-9.!#$%&\'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/D'; + private const PATTERN_LOOSE = '/^.+\@\S+\.\S+$/D'; private const EMAIL_PATTERNS = [ Email::VALIDATION_MODE_LOOSE => self::PATTERN_LOOSE, Email::VALIDATION_MODE_HTML5 => self::PATTERN_HTML5, ]; - /** - * @var string - */ private $defaultMode; - /** - * @param string $defaultMode - */ - public function __construct($defaultMode = Email::VALIDATION_MODE_LOOSE) + public function __construct(string $defaultMode = Email::VALIDATION_MODE_LOOSE) { - if (\is_bool($defaultMode)) { - @trigger_error(sprintf('Calling `new %s(%s)` is deprecated since Symfony 4.1, use `new %s("%s")` instead.', self::class, $defaultMode ? 'true' : 'false', self::class, $defaultMode ? Email::VALIDATION_MODE_STRICT : Email::VALIDATION_MODE_LOOSE), \E_USER_DEPRECATED); - - $defaultMode = $defaultMode ? Email::VALIDATION_MODE_STRICT : Email::VALIDATION_MODE_LOOSE; - } - if (!\in_array($defaultMode, Email::$validationModes, true)) { throw new \InvalidArgumentException('The "defaultMode" parameter value is not valid.'); } @@ -89,33 +70,19 @@ public function validate($value, Constraint $constraint) $value = ($constraint->normalizer)($value); } - if (null !== $constraint->strict) { - @trigger_error(sprintf('The %s::$strict property is deprecated since Symfony 4.1. Use %s::mode="%s" instead.', Email::class, Email::class, Email::VALIDATION_MODE_STRICT), \E_USER_DEPRECATED); - - if ($constraint->strict) { - $constraint->mode = Email::VALIDATION_MODE_STRICT; - } else { - $constraint->mode = Email::VALIDATION_MODE_LOOSE; - } - } - if (null === $constraint->mode) { if (Email::VALIDATION_MODE_STRICT === $this->defaultMode && !class_exists(EguliasEmailValidator::class)) { - throw new LogicException(sprintf('The "egulias/email-validator" component is required to make the "%s" constraint default to strict mode.', EguliasEmailValidator::class)); + throw new LogicException(sprintf('The "egulias/email-validator" component is required to make the "%s" constraint default to strict mode.', Email::class)); } $constraint->mode = $this->defaultMode; } if (!\in_array($constraint->mode, Email::$validationModes, true)) { - throw new \InvalidArgumentException(sprintf('The "%s::$mode" parameter value is not valid.', \get_class($constraint))); + throw new \InvalidArgumentException(sprintf('The "%s::$mode" parameter value is not valid.', get_debug_type($constraint))); } if (Email::VALIDATION_MODE_STRICT === $constraint->mode) { - if (!class_exists(EguliasEmailValidator::class)) { - throw new LogicException('Strict email validation requires egulias/email-validator ^2.1.10|^3.'); - } - $strictValidator = new EguliasEmailValidator(); if (interface_exists(EmailValidation::class) && !$strictValidator->isValid($value, new NoRFCWarningsValidation())) { @@ -141,42 +108,5 @@ public function validate($value, Constraint $constraint) return; } - - $host = (string) substr($value, strrpos($value, '@') + 1); - - // Check for host DNS resource records - if ($constraint->checkMX) { - if (!$this->checkMX($host)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Email::MX_CHECK_FAILED_ERROR) - ->addViolation(); - } - - return; - } - - if ($constraint->checkHost && !$this->checkHost($host)) { - $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Email::HOST_CHECK_FAILED_ERROR) - ->addViolation(); - } - } - - /** - * Check DNS Records for MX type. - */ - private function checkMX(string $host): bool - { - return '' !== $host && checkdnsrr($host, 'MX'); - } - - /** - * Check if one of MX, A or AAAA DNS RR exists. - */ - private function checkHost(string $host): bool - { - return '' !== $host && ($this->checkMX($host) || (checkdnsrr($host, 'A') || checkdnsrr($host, 'AAAA'))); } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/EnableAutoMapping.php b/upload/system/storage/vendor/symfony/validator/Constraints/EnableAutoMapping.php index 8c485e18..0667a46c 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/EnableAutoMapping.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/EnableAutoMapping.php @@ -24,9 +24,10 @@ * * @author Kévin Dunglas */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::TARGET_CLASS)] class EnableAutoMapping extends Constraint { - public function __construct($options = null) + public function __construct(?array $options = null) { if (\is_array($options) && \array_key_exists('groups', $options)) { throw new ConstraintDefinitionException(sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/EqualTo.php b/upload/system/storage/vendor/symfony/validator/Constraints/EqualTo.php index 0a3a05b1..09ab4f0f 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/EqualTo.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/EqualTo.php @@ -18,6 +18,7 @@ * @author Daniel Holmes * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class EqualTo extends AbstractComparison { public const NOT_EQUAL_ERROR = '478618a7-95ba-473d-9101-cabd45e49115'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Expression.php b/upload/system/storage/vendor/symfony/validator/Constraints/Expression.php index dac58b6f..65b0ba3f 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Expression.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Expression.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\ExpressionLanguage\Expression as ExpressionObject; use Symfony\Component\ExpressionLanguage\ExpressionLanguage; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Exception\LogicException; @@ -22,6 +23,7 @@ * @author Fabien Potencier * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::TARGET_CLASS | \Attribute::IS_REPEATABLE)] class Expression extends Constraint { public const EXPRESSION_FAILED_ERROR = '6b3befbc-2f01-4ddf-be21-b57898905284'; @@ -34,14 +36,35 @@ class Expression extends Constraint public $expression; public $values = []; - public function __construct($options = null) - { + /** + * {@inheritdoc} + * + * @param string|ExpressionObject|array $expression The expression to evaluate or an array of options + */ + public function __construct( + $expression, + ?string $message = null, + ?array $values = null, + ?array $groups = null, + $payload = null, + array $options = [] + ) { if (!class_exists(ExpressionLanguage::class)) { - // throw new LogicException(sprintf('The "symfony/expression-language" component is required to use the "%s" constraint.', __CLASS__)); - @trigger_error(sprintf('Using the "%s" constraint without the "symfony/expression-language" component installed is deprecated since Symfony 4.2.', __CLASS__), \E_USER_DEPRECATED); + throw new LogicException(sprintf('The "symfony/expression-language" component is required to use the "%s" constraint.', __CLASS__)); } - parent::__construct($options); + if (\is_array($expression)) { + $options = array_merge($expression, $options); + } elseif (!\is_string($expression) && !$expression instanceof ExpressionObject) { + throw new \TypeError(sprintf('"%s": Expected argument $expression to be either a string, an instance of "%s" or an array, got "%s".', __METHOD__, ExpressionObject::class, get_debug_type($expression))); + } else { + $options['value'] = $expression; + } + + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->values = $values ?? $this->values; } /** diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionLanguageSyntax.php b/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionLanguageSyntax.php new file mode 100644 index 00000000..bace6af5 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionLanguageSyntax.php @@ -0,0 +1,51 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; + +/** + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Andrey Sevastianov + */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +class ExpressionLanguageSyntax extends Constraint +{ + public const EXPRESSION_LANGUAGE_SYNTAX_ERROR = '1766a3f3-ff03-40eb-b053-ab7aa23d988a'; + + protected static $errorNames = [ + self::EXPRESSION_LANGUAGE_SYNTAX_ERROR => 'EXPRESSION_LANGUAGE_SYNTAX_ERROR', + ]; + + public $message = 'This value should be a valid expression.'; + public $service; + public $allowedVariables; + + public function __construct(?array $options = null, ?string $message = null, ?string $service = null, ?array $allowedVariables = null, ?array $groups = null, $payload = null) + { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->service = $service ?? $this->service; + $this->allowedVariables = $allowedVariables ?? $this->allowedVariables; + } + + /** + * {@inheritdoc} + */ + public function validatedBy() + { + return $this->service ?? static::class.'Validator'; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionLanguageSyntaxValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionLanguageSyntaxValidator.php new file mode 100644 index 00000000..b5d4654c --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionLanguageSyntaxValidator.php @@ -0,0 +1,60 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\ExpressionLanguage\ExpressionLanguage; +use Symfony\Component\ExpressionLanguage\SyntaxError; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; +use Symfony\Component\Validator\Exception\UnexpectedValueException; + +/** + * @author Andrey Sevastianov + */ +class ExpressionLanguageSyntaxValidator extends ConstraintValidator +{ + private $expressionLanguage; + + public function __construct(?ExpressionLanguage $expressionLanguage = null) + { + $this->expressionLanguage = $expressionLanguage; + } + + /** + * {@inheritdoc} + */ + public function validate($expression, Constraint $constraint): void + { + if (!$constraint instanceof ExpressionLanguageSyntax) { + throw new UnexpectedTypeException($constraint, ExpressionLanguageSyntax::class); + } + + if (!\is_string($expression)) { + throw new UnexpectedValueException($expression, 'string'); + } + + if (null === $this->expressionLanguage) { + $this->expressionLanguage = new ExpressionLanguage(); + } + + try { + $this->expressionLanguage->lint($expression, $constraint->allowedVariables); + } catch (SyntaxError $exception) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ syntax_error }}', $this->formatValue($exception->getMessage())) + ->setInvalidValue((string) $expression) + ->setCode(ExpressionLanguageSyntax::EXPRESSION_LANGUAGE_SYNTAX_ERROR) + ->addViolation(); + } + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionValidator.php index 048434cf..59d24d06 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/ExpressionValidator.php @@ -14,7 +14,6 @@ use Symfony\Component\ExpressionLanguage\ExpressionLanguage; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; use Symfony\Component\Validator\Exception\UnexpectedTypeException; /** @@ -25,25 +24,8 @@ class ExpressionValidator extends ConstraintValidator { private $expressionLanguage; - /** - * @param ExpressionLanguage|null $expressionLanguage - */ - public function __construct($expressionLanguage = null) + public function __construct(?ExpressionLanguage $expressionLanguage = null) { - if (\func_num_args() > 1) { - @trigger_error(sprintf('The "%s" instance should be passed as "%s" first argument instead of second argument since 4.4.', ExpressionLanguage::class, __METHOD__), \E_USER_DEPRECATED); - - $expressionLanguage = func_get_arg(1); - - if (null !== $expressionLanguage && !$expressionLanguage instanceof ExpressionLanguage) { - throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be an instance of "%s" or null, "%s" given. Since 4.4, passing it as the second argument is deprecated and will trigger a deprecation. Pass it as the first argument instead.', __METHOD__, ExpressionLanguage::class, \is_object($expressionLanguage) ? \get_class($expressionLanguage) : \gettype($expressionLanguage))); - } - } elseif (null !== $expressionLanguage && !$expressionLanguage instanceof ExpressionLanguage) { - @trigger_error(sprintf('The "%s" first argument must be an instance of "%s" or null since 4.4. "%s" given', __METHOD__, ExpressionLanguage::class, \is_object($expressionLanguage) ? \get_class($expressionLanguage) : \gettype($expressionLanguage)), \E_USER_DEPRECATED); - - $expressionLanguage = null; - } - $this->expressionLanguage = $expressionLanguage; } @@ -71,9 +53,6 @@ public function validate($value, Constraint $constraint) private function getExpressionLanguage(): ExpressionLanguage { if (null === $this->expressionLanguage) { - if (!class_exists(ExpressionLanguage::class)) { - throw new LogicException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.'); - } $this->expressionLanguage = new ExpressionLanguage(); } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/File.php b/upload/system/storage/vendor/symfony/validator/Constraints/File.php index 377be1f2..f8bf0f44 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/File.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/File.php @@ -22,6 +22,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class File extends Constraint { // Check the Image constraint for clashes if adding new constants here @@ -61,17 +62,64 @@ class File extends Constraint /** * {@inheritdoc} + * + * @param int|string|null $maxSize + * @param string[]|string|null $mimeTypes */ - public function __construct($options = null) - { - parent::__construct($options); + public function __construct( + ?array $options = null, + $maxSize = null, + ?bool $binaryFormat = null, + $mimeTypes = null, + ?string $notFoundMessage = null, + ?string $notReadableMessage = null, + ?string $maxSizeMessage = null, + ?string $mimeTypesMessage = null, + ?string $disallowEmptyMessage = null, + + ?string $uploadIniSizeErrorMessage = null, + ?string $uploadFormSizeErrorMessage = null, + ?string $uploadPartialErrorMessage = null, + ?string $uploadNoFileErrorMessage = null, + ?string $uploadNoTmpDirErrorMessage = null, + ?string $uploadCantWriteErrorMessage = null, + ?string $uploadExtensionErrorMessage = null, + ?string $uploadErrorMessage = null, + ?array $groups = null, + $payload = null + ) { + if (null !== $maxSize && !\is_int($maxSize) && !\is_string($maxSize)) { + throw new \TypeError(sprintf('"%s": Expected argument $maxSize to be either null, an integer or a string, got "%s".', __METHOD__, get_debug_type($maxSize))); + } + if (null !== $mimeTypes && !\is_array($mimeTypes) && !\is_string($mimeTypes)) { + throw new \TypeError(sprintf('"%s": Expected argument $mimeTypes to be either null, an array or a string, got "%s".', __METHOD__, get_debug_type($mimeTypes))); + } + + parent::__construct($options, $groups, $payload); + + $this->maxSize = $maxSize ?? $this->maxSize; + $this->binaryFormat = $binaryFormat ?? $this->binaryFormat; + $this->mimeTypes = $mimeTypes ?? $this->mimeTypes; + $this->notFoundMessage = $notFoundMessage ?? $this->notFoundMessage; + $this->notReadableMessage = $notReadableMessage ?? $this->notReadableMessage; + $this->maxSizeMessage = $maxSizeMessage ?? $this->maxSizeMessage; + $this->mimeTypesMessage = $mimeTypesMessage ?? $this->mimeTypesMessage; + $this->disallowEmptyMessage = $disallowEmptyMessage ?? $this->disallowEmptyMessage; + $this->uploadIniSizeErrorMessage = $uploadIniSizeErrorMessage ?? $this->uploadIniSizeErrorMessage; + $this->uploadFormSizeErrorMessage = $uploadFormSizeErrorMessage ?? $this->uploadFormSizeErrorMessage; + $this->uploadPartialErrorMessage = $uploadPartialErrorMessage ?? $this->uploadPartialErrorMessage; + $this->uploadNoFileErrorMessage = $uploadNoFileErrorMessage ?? $this->uploadNoFileErrorMessage; + $this->uploadNoTmpDirErrorMessage = $uploadNoTmpDirErrorMessage ?? $this->uploadNoTmpDirErrorMessage; + $this->uploadCantWriteErrorMessage = $uploadCantWriteErrorMessage ?? $this->uploadCantWriteErrorMessage; + $this->uploadExtensionErrorMessage = $uploadExtensionErrorMessage ?? $this->uploadExtensionErrorMessage; + $this->uploadErrorMessage = $uploadErrorMessage ?? $this->uploadErrorMessage; if (null !== $this->maxSize) { $this->normalizeBinaryFormat($this->maxSize); } } - public function __set($option, $value) + public function __set(string $option, $value) { if ('maxSize' === $option) { $this->normalizeBinaryFormat($value); @@ -82,7 +130,7 @@ public function __set($option, $value) parent::__set($option, $value); } - public function __get($option) + public function __get(string $option) { if ('maxSize' === $option) { return $this->maxSize; @@ -91,7 +139,7 @@ public function __get($option) return parent::__get($option); } - public function __isset($option) + public function __isset(string $option) { if ('maxSize' === $option) { return true; @@ -100,6 +148,9 @@ public function __isset($option) return parent::__isset($option); } + /** + * @param int|string $maxSize + */ private function normalizeBinaryFormat($maxSize) { $factors = [ diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/GreaterThan.php b/upload/system/storage/vendor/symfony/validator/Constraints/GreaterThan.php index 9523a981..41648752 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/GreaterThan.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/GreaterThan.php @@ -18,6 +18,7 @@ * @author Daniel Holmes * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class GreaterThan extends AbstractComparison { public const TOO_LOW_ERROR = '778b7ae0-84d3-481a-9dec-35fdb64b1d78'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php b/upload/system/storage/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php index 57ed692b..86ff44e8 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php @@ -18,6 +18,7 @@ * @author Daniel Holmes * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class GreaterThanOrEqual extends AbstractComparison { public const TOO_LOW_ERROR = 'ea4e51d1-3342-48bd-87f1-9e672cd90cad'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/GroupSequence.php b/upload/system/storage/vendor/symfony/validator/Constraints/GroupSequence.php index 30d8765e..522c5fdf 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/GroupSequence.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/GroupSequence.php @@ -51,12 +51,13 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_CLASS)] class GroupSequence { /** * The groups in the sequence. * - * @var array + * @var array */ public $groups; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/GroupSequenceProvider.php b/upload/system/storage/vendor/symfony/validator/Constraints/GroupSequenceProvider.php index 8a3fe630..489a449e 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/GroupSequenceProvider.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/GroupSequenceProvider.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_CLASS)] class GroupSequenceProvider { } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Hostname.php b/upload/system/storage/vendor/symfony/validator/Constraints/Hostname.php new file mode 100644 index 00000000..3e5edf8b --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Hostname.php @@ -0,0 +1,46 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; + +/** + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Dmitrii Poddubnyi + */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +class Hostname extends Constraint +{ + public const INVALID_HOSTNAME_ERROR = '7057ffdb-0af4-4f7e-bd5e-e9acfa6d7a2d'; + + protected static $errorNames = [ + self::INVALID_HOSTNAME_ERROR => 'INVALID_HOSTNAME_ERROR', + ]; + + public $message = 'This value is not a valid hostname.'; + public $requireTld = true; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?bool $requireTld = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->requireTld = $requireTld ?? $this->requireTld; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/HostnameValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/HostnameValidator.php new file mode 100644 index 00000000..69f7bd00 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/HostnameValidator.php @@ -0,0 +1,69 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; +use Symfony\Component\Validator\Exception\UnexpectedValueException; + +/** + * @author Dmitrii Poddubnyi + */ +class HostnameValidator extends ConstraintValidator +{ + /** + * https://tools.ietf.org/html/rfc2606. + */ + private const RESERVED_TLDS = [ + 'example', + 'invalid', + 'localhost', + 'test', + ]; + + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Hostname) { + throw new UnexpectedTypeException($constraint, Hostname::class); + } + + if (null === $value || '' === $value) { + return; + } + + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + throw new UnexpectedValueException($value, 'string'); + } + + $value = (string) $value; + if ('' === $value) { + return; + } + if (!$this->isValid($value) || ($constraint->requireTld && !$this->hasValidTld($value))) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Hostname::INVALID_HOSTNAME_ERROR) + ->addViolation(); + } + } + + private function isValid(string $domain): bool + { + return false !== filter_var($domain, \FILTER_VALIDATE_DOMAIN, \FILTER_FLAG_HOSTNAME); + } + + private function hasValidTld(string $domain): bool + { + return false !== strpos($domain, '.') && !\in_array(substr($domain, strrpos($domain, '.') + 1), self::RESERVED_TLDS, true); + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Iban.php b/upload/system/storage/vendor/symfony/validator/Constraints/Iban.php index a9aa3026..14937ab2 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Iban.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Iban.php @@ -21,6 +21,7 @@ * @author Michael Schummel * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Iban extends Constraint { public const INVALID_COUNTRY_CODE_ERROR = 'de78ee2c-bd50-44e2-aec8-3d8228aeadb9'; @@ -38,4 +39,11 @@ class Iban extends Constraint ]; public $message = 'This is not a valid International Bank Account Number (IBAN).'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/IbanValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/IbanValidator.php index 6db31e53..5581fdb7 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/IbanValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/IbanValidator.php @@ -20,8 +20,6 @@ * @author Manuel Reinhard * @author Michael Schummel * @author Bernhard Schussek - * - * @see http://www.michael-schummel.de/2007/10/05/iban-prufung-mit-php/ */ class IbanValidator extends ConstraintValidator { @@ -34,107 +32,139 @@ class IbanValidator extends ConstraintValidator * a BBAN (Basic Bank Account Number) which has a fixed length per country and, * included within it, a bank identifier with a fixed position and a fixed length per country * - * @see https://www.swift.com/sites/default/files/resources/iban_registry.pdf + * @see Resources/bin/sync-iban-formats.php + * @see https://www.swift.com/swift-resource/11971/download?language=en + * @see https://en.wikipedia.org/wiki/International_Bank_Account_Number */ private const FORMATS = [ + // auto-generated 'AD' => 'AD\d{2}\d{4}\d{4}[\dA-Z]{12}', // Andorra - 'AE' => 'AE\d{2}\d{3}\d{16}', // United Arab Emirates + 'AE' => 'AE\d{2}\d{3}\d{16}', // United Arab Emirates (The) 'AL' => 'AL\d{2}\d{8}[\dA-Z]{16}', // Albania 'AO' => 'AO\d{2}\d{21}', // Angola 'AT' => 'AT\d{2}\d{5}\d{11}', // Austria - 'AX' => 'FI\d{2}\d{6}\d{7}\d{1}', // Aland Islands + 'AX' => 'FI\d{2}\d{3}\d{11}', // Finland 'AZ' => 'AZ\d{2}[A-Z]{4}[\dA-Z]{20}', // Azerbaijan 'BA' => 'BA\d{2}\d{3}\d{3}\d{8}\d{2}', // Bosnia and Herzegovina 'BE' => 'BE\d{2}\d{3}\d{7}\d{2}', // Belgium - 'BF' => 'BF\d{2}\d{23}', // Burkina Faso + 'BF' => 'BF\d{2}[\dA-Z]{2}\d{22}', // Burkina Faso 'BG' => 'BG\d{2}[A-Z]{4}\d{4}\d{2}[\dA-Z]{8}', // Bulgaria 'BH' => 'BH\d{2}[A-Z]{4}[\dA-Z]{14}', // Bahrain - 'BI' => 'BI\d{2}\d{12}', // Burundi - 'BJ' => 'BJ\d{2}[A-Z]{1}\d{23}', // Benin - 'BY' => 'BY\d{2}[\dA-Z]{4}\d{4}[\dA-Z]{16}', // Belarus - https://bank.codes/iban/structure/belarus/ - 'BL' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Saint Barthelemy - 'BR' => 'BR\d{2}\d{8}\d{5}\d{10}[A-Z][\dA-Z]', // Brazil - 'CG' => 'CG\d{2}\d{23}', // Congo + 'BI' => 'BI\d{2}\d{5}\d{5}\d{11}\d{2}', // Burundi + 'BJ' => 'BJ\d{2}[\dA-Z]{2}\d{22}', // Benin + 'BL' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France + 'BR' => 'BR\d{2}\d{8}\d{5}\d{10}[A-Z]{1}[\dA-Z]{1}', // Brazil + 'BY' => 'BY\d{2}[\dA-Z]{4}\d{4}[\dA-Z]{16}', // Republic of Belarus + 'CF' => 'CF\d{2}\d{23}', // Central African Republic + 'CG' => 'CG\d{2}\d{23}', // Congo, Republic of the 'CH' => 'CH\d{2}\d{5}[\dA-Z]{12}', // Switzerland - 'CI' => 'CI\d{2}[A-Z]{1}\d{23}', // Ivory Coast - 'CM' => 'CM\d{2}\d{23}', // Cameron - 'CR' => 'CR\d{2}0\d{3}\d{14}', // Costa Rica - 'CV' => 'CV\d{2}\d{21}', // Cape Verde + 'CI' => 'CI\d{2}[A-Z]{1}\d{23}', // Côte d'Ivoire + 'CM' => 'CM\d{2}\d{23}', // Cameroon + 'CR' => 'CR\d{2}\d{4}\d{14}', // Costa Rica + 'CV' => 'CV\d{2}\d{21}', // Cabo Verde 'CY' => 'CY\d{2}\d{3}\d{5}[\dA-Z]{16}', // Cyprus - 'CZ' => 'CZ\d{2}\d{20}', // Czech Republic + 'CZ' => 'CZ\d{2}\d{4}\d{6}\d{10}', // Czechia 'DE' => 'DE\d{2}\d{8}\d{10}', // Germany + 'DJ' => 'DJ\d{2}\d{5}\d{5}\d{11}\d{2}', // Djibouti + 'DK' => 'DK\d{2}\d{4}\d{9}\d{1}', // Denmark 'DO' => 'DO\d{2}[\dA-Z]{4}\d{20}', // Dominican Republic - 'DK' => 'DK\d{2}\d{4}\d{10}', // Denmark - 'DZ' => 'DZ\d{2}\d{20}', // Algeria + 'DZ' => 'DZ\d{2}\d{22}', // Algeria 'EE' => 'EE\d{2}\d{2}\d{2}\d{11}\d{1}', // Estonia - 'ES' => 'ES\d{2}\d{4}\d{4}\d{1}\d{1}\d{10}', // Spain (also includes Canary Islands, Ceuta and Melilla) - 'FI' => 'FI\d{2}\d{6}\d{7}\d{1}', // Finland + 'EG' => 'EG\d{2}\d{4}\d{4}\d{17}', // Egypt + 'ES' => 'ES\d{2}\d{4}\d{4}\d{1}\d{1}\d{10}', // Spain + 'FI' => 'FI\d{2}\d{3}\d{11}', // Finland + 'FK' => 'FK\d{2}[A-Z]{2}\d{12}', // Falkland Islands 'FO' => 'FO\d{2}\d{4}\d{9}\d{1}', // Faroe Islands 'FR' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France - 'GF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // French Guyana - 'GB' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom of Great Britain and Northern Ireland + 'GA' => 'GA\d{2}\d{23}', // Gabon + 'GB' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom 'GE' => 'GE\d{2}[A-Z]{2}\d{16}', // Georgia + 'GF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France + 'GG' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom 'GI' => 'GI\d{2}[A-Z]{4}[\dA-Z]{15}', // Gibraltar 'GL' => 'GL\d{2}\d{4}\d{9}\d{1}', // Greenland - 'GP' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Guadeloupe + 'GP' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France + 'GQ' => 'GQ\d{2}\d{23}', // Equatorial Guinea 'GR' => 'GR\d{2}\d{3}\d{4}[\dA-Z]{16}', // Greece 'GT' => 'GT\d{2}[\dA-Z]{4}[\dA-Z]{20}', // Guatemala + 'GW' => 'GW\d{2}[\dA-Z]{2}\d{19}', // Guinea-Bissau + 'HN' => 'HN\d{2}[A-Z]{4}\d{20}', // Honduras 'HR' => 'HR\d{2}\d{7}\d{10}', // Croatia 'HU' => 'HU\d{2}\d{3}\d{4}\d{1}\d{15}\d{1}', // Hungary 'IE' => 'IE\d{2}[A-Z]{4}\d{6}\d{8}', // Ireland 'IL' => 'IL\d{2}\d{3}\d{3}\d{13}', // Israel + 'IM' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom + 'IQ' => 'IQ\d{2}[A-Z]{4}\d{3}\d{12}', // Iraq 'IR' => 'IR\d{2}\d{22}', // Iran 'IS' => 'IS\d{2}\d{4}\d{2}\d{6}\d{10}', // Iceland 'IT' => 'IT\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12}', // Italy + 'JE' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom 'JO' => 'JO\d{2}[A-Z]{4}\d{4}[\dA-Z]{18}', // Jordan - 'KW' => 'KW\d{2}[A-Z]{4}\d{22}', // KUWAIT + 'KM' => 'KM\d{2}\d{23}', // Comoros + 'KW' => 'KW\d{2}[A-Z]{4}[\dA-Z]{22}', // Kuwait 'KZ' => 'KZ\d{2}\d{3}[\dA-Z]{13}', // Kazakhstan - 'LB' => 'LB\d{2}\d{4}[\dA-Z]{20}', // LEBANON - 'LI' => 'LI\d{2}\d{5}[\dA-Z]{12}', // Liechtenstein (Principality of) + 'LB' => 'LB\d{2}\d{4}[\dA-Z]{20}', // Lebanon + 'LC' => 'LC\d{2}[A-Z]{4}[\dA-Z]{24}', // Saint Lucia + 'LI' => 'LI\d{2}\d{5}[\dA-Z]{12}', // Liechtenstein 'LT' => 'LT\d{2}\d{5}\d{11}', // Lithuania 'LU' => 'LU\d{2}\d{3}[\dA-Z]{13}', // Luxembourg 'LV' => 'LV\d{2}[A-Z]{4}[\dA-Z]{13}', // Latvia + 'LY' => 'LY\d{2}\d{3}\d{3}\d{15}', // Libya + 'MA' => 'MA\d{2}\d{24}', // Morocco 'MC' => 'MC\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Monaco 'MD' => 'MD\d{2}[\dA-Z]{2}[\dA-Z]{18}', // Moldova 'ME' => 'ME\d{2}\d{3}\d{13}\d{2}', // Montenegro - 'MF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Saint Martin (French part) + 'MF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France 'MG' => 'MG\d{2}\d{23}', // Madagascar - 'MK' => 'MK\d{2}\d{3}[\dA-Z]{10}\d{2}', // Macedonia, Former Yugoslav Republic of - 'ML' => 'ML\d{2}[A-Z]{1}\d{23}', // Mali - 'MQ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Martinique - 'MR' => 'MR13\d{5}\d{5}\d{11}\d{2}', // Mauritania + 'MK' => 'MK\d{2}\d{3}[\dA-Z]{10}\d{2}', // Macedonia + 'ML' => 'ML\d{2}[\dA-Z]{2}\d{22}', // Mali + 'MN' => 'MN\d{2}\d{4}\d{12}', // Mongolia + 'MQ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France + 'MR' => 'MR\d{2}\d{5}\d{5}\d{11}\d{2}', // Mauritania 'MT' => 'MT\d{2}[A-Z]{4}\d{5}[\dA-Z]{18}', // Malta 'MU' => 'MU\d{2}[A-Z]{4}\d{2}\d{2}\d{12}\d{3}[A-Z]{3}', // Mauritius 'MZ' => 'MZ\d{2}\d{21}', // Mozambique - 'NC' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // New Caledonia - 'NL' => 'NL\d{2}[A-Z]{4}\d{10}', // The Netherlands + 'NC' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France + 'NE' => 'NE\d{2}[A-Z]{2}\d{22}', // Niger + 'NI' => 'NI\d{2}[A-Z]{4}\d{24}', // Nicaragua + 'NL' => 'NL\d{2}[A-Z]{4}\d{10}', // Netherlands (The) 'NO' => 'NO\d{2}\d{4}\d{6}\d{1}', // Norway - 'PF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // French Polynesia + 'OM' => 'OM\d{2}\d{3}[\dA-Z]{16}', // Oman + 'PF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France 'PK' => 'PK\d{2}[A-Z]{4}[\dA-Z]{16}', // Pakistan 'PL' => 'PL\d{2}\d{8}\d{16}', // Poland - 'PM' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Saint Pierre et Miquelon + 'PM' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France 'PS' => 'PS\d{2}[A-Z]{4}[\dA-Z]{21}', // Palestine, State of - 'PT' => 'PT\d{2}\d{4}\d{4}\d{11}\d{2}', // Portugal (plus Azores and Madeira) + 'PT' => 'PT\d{2}\d{4}\d{4}\d{11}\d{2}', // Portugal 'QA' => 'QA\d{2}[A-Z]{4}[\dA-Z]{21}', // Qatar - 'RE' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Reunion + 'RE' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France 'RO' => 'RO\d{2}[A-Z]{4}[\dA-Z]{16}', // Romania 'RS' => 'RS\d{2}\d{3}\d{13}\d{2}', // Serbia + 'RU' => 'RU\d{2}\d{9}\d{5}[\dA-Z]{15}', // Russia 'SA' => 'SA\d{2}\d{2}[\dA-Z]{18}', // Saudi Arabia + 'SC' => 'SC\d{2}[A-Z]{4}\d{2}\d{2}\d{16}[A-Z]{3}', // Seychelles + 'SD' => 'SD\d{2}\d{2}\d{12}', // Sudan 'SE' => 'SE\d{2}\d{3}\d{16}\d{1}', // Sweden 'SI' => 'SI\d{2}\d{5}\d{8}\d{2}', // Slovenia - 'SK' => 'SK\d{2}\d{4}\d{6}\d{10}', // Slovak Republic + 'SK' => 'SK\d{2}\d{4}\d{6}\d{10}', // Slovakia 'SM' => 'SM\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12}', // San Marino - 'SN' => 'SN\d{2}[A-Z]{1}\d{23}', // Senegal - 'TF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // French Southern Territories + 'SN' => 'SN\d{2}[A-Z]{2}\d{22}', // Senegal + 'SO' => 'SO\d{2}\d{4}\d{3}\d{12}', // Somalia + 'ST' => 'ST\d{2}\d{4}\d{4}\d{11}\d{2}', // Sao Tome and Principe + 'SV' => 'SV\d{2}[A-Z]{4}\d{20}', // El Salvador + 'TD' => 'TD\d{2}\d{23}', // Chad + 'TF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France + 'TG' => 'TG\d{2}[A-Z]{2}\d{22}', // Togo 'TL' => 'TL\d{2}\d{3}\d{14}\d{2}', // Timor-Leste - 'TN' => 'TN59\d{2}\d{3}\d{13}\d{2}', // Tunisia - 'TR' => 'TR\d{2}\d{5}[\dA-Z]{1}[\dA-Z]{16}', // Turkey + 'TN' => 'TN\d{2}\d{2}\d{3}\d{13}\d{2}', // Tunisia + 'TR' => 'TR\d{2}\d{5}\d{1}[\dA-Z]{16}', // Turkey 'UA' => 'UA\d{2}\d{6}[\dA-Z]{19}', // Ukraine 'VA' => 'VA\d{2}\d{3}\d{15}', // Vatican City State - 'VG' => 'VG\d{2}[A-Z]{4}\d{16}', // Virgin Islands, British - 'WF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Wallis and Futuna Islands - 'XK' => 'XK\d{2}\d{4}\d{10}\d{2}', // Republic of Kosovo - 'YT' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Mayotte + 'VG' => 'VG\d{2}[A-Z]{4}\d{16}', // Virgin Islands + 'WF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France + 'XK' => 'XK\d{2}\d{4}\d{10}\d{2}', // Kosovo + 'YE' => 'YE\d{2}[A-Z]{4}\d{4}[\dA-Z]{18}', // Yemen + 'YT' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France ]; /** @@ -202,6 +232,18 @@ public function validate($value, Constraint $constraint) return; } + // Check digits should always between 2 and 98 + // A ECBS document (https://www.ecbs.org/Download/EBS204_V3.PDF) replicates part of the ISO/IEC 7064:2003 standard as a method for generating check digits in the range 02 to 98. + $checkDigits = (int) substr($canonicalized, 2, 2); + if ($checkDigits < 2 || $checkDigits > 98) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::CHECKSUM_FAILED_ERROR) + ->addViolation(); + + return; + } + // Move the first four characters to the end // e.g. CH93 0076 2011 6238 5295 7 // -> 0076 2011 6238 5295 7 CH93 diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/IdenticalTo.php b/upload/system/storage/vendor/symfony/validator/Constraints/IdenticalTo.php index 44ae16f8..b3d6b92c 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/IdenticalTo.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/IdenticalTo.php @@ -18,6 +18,7 @@ * @author Daniel Holmes * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class IdenticalTo extends AbstractComparison { public const NOT_IDENTICAL_ERROR = '2a8cc50f-58a2-4536-875e-060a2ce69ed5'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Image.php b/upload/system/storage/vendor/symfony/validator/Constraints/Image.php index 4c88456a..262b7d53 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Image.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Image.php @@ -18,6 +18,7 @@ * @author Benjamin Dulau * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Image extends File { public const SIZE_NOT_DETECTED_ERROR = '6d55c3f4-e58e-4fe3-91ee-74b492199956'; @@ -86,4 +87,107 @@ class Image extends File public $allowLandscapeMessage = 'The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.'; public $allowPortraitMessage = 'The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.'; public $corruptedMessage = 'The image file is corrupted.'; + + /** + * {@inheritdoc} + * + * @param int|float $maxRatio + * @param int|float $minRatio + * @param int|float $minPixels + * @param int|float $maxPixels + */ + public function __construct( + ?array $options = null, + $maxSize = null, + ?bool $binaryFormat = null, + ?array $mimeTypes = null, + ?int $minWidth = null, + ?int $maxWidth = null, + ?int $maxHeight = null, + ?int $minHeight = null, + $maxRatio = null, + $minRatio = null, + $minPixels = null, + $maxPixels = null, + ?bool $allowSquare = null, + ?bool $allowLandscape = null, + ?bool $allowPortrait = null, + ?bool $detectCorrupted = null, + ?string $notFoundMessage = null, + ?string $notReadableMessage = null, + ?string $maxSizeMessage = null, + ?string $mimeTypesMessage = null, + ?string $disallowEmptyMessage = null, + ?string $uploadIniSizeErrorMessage = null, + ?string $uploadFormSizeErrorMessage = null, + ?string $uploadPartialErrorMessage = null, + ?string $uploadNoFileErrorMessage = null, + ?string $uploadNoTmpDirErrorMessage = null, + ?string $uploadCantWriteErrorMessage = null, + ?string $uploadExtensionErrorMessage = null, + ?string $uploadErrorMessage = null, + ?string $sizeNotDetectedMessage = null, + ?string $maxWidthMessage = null, + ?string $minWidthMessage = null, + ?string $maxHeightMessage = null, + ?string $minHeightMessage = null, + ?string $minPixelsMessage = null, + ?string $maxPixelsMessage = null, + ?string $maxRatioMessage = null, + ?string $minRatioMessage = null, + ?string $allowSquareMessage = null, + ?string $allowLandscapeMessage = null, + ?string $allowPortraitMessage = null, + ?string $corruptedMessage = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct( + $options, + $maxSize, + $binaryFormat, + $mimeTypes, + $notFoundMessage, + $notReadableMessage, + $maxSizeMessage, + $mimeTypesMessage, + $disallowEmptyMessage, + $uploadIniSizeErrorMessage, + $uploadFormSizeErrorMessage, + $uploadPartialErrorMessage, + $uploadNoFileErrorMessage, + $uploadNoTmpDirErrorMessage, + $uploadCantWriteErrorMessage, + $uploadExtensionErrorMessage, + $uploadErrorMessage, + $groups, + $payload + ); + + $this->minWidth = $minWidth ?? $this->minWidth; + $this->maxWidth = $maxWidth ?? $this->maxWidth; + $this->maxHeight = $maxHeight ?? $this->maxHeight; + $this->minHeight = $minHeight ?? $this->minHeight; + $this->maxRatio = $maxRatio ?? $this->maxRatio; + $this->minRatio = $minRatio ?? $this->minRatio; + $this->minPixels = $minPixels ?? $this->minPixels; + $this->maxPixels = $maxPixels ?? $this->maxPixels; + $this->allowSquare = $allowSquare ?? $this->allowSquare; + $this->allowLandscape = $allowLandscape ?? $this->allowLandscape; + $this->allowPortrait = $allowPortrait ?? $this->allowPortrait; + $this->detectCorrupted = $detectCorrupted ?? $this->detectCorrupted; + $this->sizeNotDetectedMessage = $sizeNotDetectedMessage ?? $this->sizeNotDetectedMessage; + $this->maxWidthMessage = $maxWidthMessage ?? $this->maxWidthMessage; + $this->minWidthMessage = $minWidthMessage ?? $this->minWidthMessage; + $this->maxHeightMessage = $maxHeightMessage ?? $this->maxHeightMessage; + $this->minHeightMessage = $minHeightMessage ?? $this->minHeightMessage; + $this->minPixelsMessage = $minPixelsMessage ?? $this->minPixelsMessage; + $this->maxPixelsMessage = $maxPixelsMessage ?? $this->maxPixelsMessage; + $this->maxRatioMessage = $maxRatioMessage ?? $this->maxRatioMessage; + $this->minRatioMessage = $minRatioMessage ?? $this->minRatioMessage; + $this->allowSquareMessage = $allowSquareMessage ?? $this->allowSquareMessage; + $this->allowLandscapeMessage = $allowLandscapeMessage ?? $this->allowLandscapeMessage; + $this->allowPortraitMessage = $allowPortraitMessage ?? $this->allowPortraitMessage; + $this->corruptedMessage = $corruptedMessage ?? $this->corruptedMessage; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Ip.php b/upload/system/storage/vendor/symfony/validator/Constraints/Ip.php index d7d0ba40..353c3f84 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Ip.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Ip.php @@ -24,6 +24,7 @@ * @author Bernhard Schussek * @author Joseph Bielawski */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Ip extends Constraint { public const V4 = '4'; @@ -78,16 +79,26 @@ class Ip extends Constraint /** * {@inheritdoc} */ - public function __construct($options = null) - { - parent::__construct($options); + public function __construct( + ?array $options = null, + ?string $version = null, + ?string $message = null, + ?callable $normalizer = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->version = $version ?? $this->version; + $this->message = $message ?? $this->message; + $this->normalizer = $normalizer ?? $this->normalizer; if (!\in_array($this->version, self::$versions)) { throw new ConstraintDefinitionException(sprintf('The option "version" must be one of "%s".', implode('", "', self::$versions))); } if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', \is_object($this->normalizer) ? \get_class($this->normalizer) : \gettype($this->normalizer))); + throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/IsFalse.php b/upload/system/storage/vendor/symfony/validator/Constraints/IsFalse.php index f7d081b9..4d232dd6 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/IsFalse.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/IsFalse.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class IsFalse extends Constraint { public const NOT_FALSE_ERROR = 'd53a91b0-def3-426a-83d7-269da7ab4200'; @@ -28,4 +29,11 @@ class IsFalse extends Constraint ]; public $message = 'This value should be false.'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options ?? [], $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/IsNull.php b/upload/system/storage/vendor/symfony/validator/Constraints/IsNull.php index da29ad90..c7ce18a4 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/IsNull.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/IsNull.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class IsNull extends Constraint { public const NOT_NULL_ERROR = '60d2f30b-8cfa-4372-b155-9656634de120'; @@ -28,4 +29,11 @@ class IsNull extends Constraint ]; public $message = 'This value should be null.'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options ?? [], $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/IsTrue.php b/upload/system/storage/vendor/symfony/validator/Constraints/IsTrue.php index 9772db32..1185b597 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/IsTrue.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/IsTrue.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class IsTrue extends Constraint { public const NOT_TRUE_ERROR = '2beabf1c-54c0-4882-a928-05249b26e23b'; @@ -28,4 +29,11 @@ class IsTrue extends Constraint ]; public $message = 'This value should be true.'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options ?? [], $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Isbn.php b/upload/system/storage/vendor/symfony/validator/Constraints/Isbn.php index d9cc607e..c51afa49 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Isbn.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Isbn.php @@ -21,8 +21,12 @@ * @author Manuel Reinhard * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Isbn extends Constraint { + public const ISBN_10 = 'isbn10'; + public const ISBN_13 = 'isbn13'; + public const TOO_SHORT_ERROR = '949acbb0-8ef5-43ed-a0e9-032dfd08ae45'; public const TOO_LONG_ERROR = '3171387d-f80a-47b3-bd6e-60598545316a'; public const INVALID_CHARACTERS_ERROR = '23d21cea-da99-453d-98b1-a7d916fbb339'; @@ -43,6 +47,35 @@ class Isbn extends Constraint public $type; public $message; + /** + * {@inheritdoc} + * + * @param string|array|null $type The ISBN standard to validate or a set of options + */ + public function __construct( + $type = null, + ?string $message = null, + ?string $isbn10Message = null, + ?string $isbn13Message = null, + ?string $bothIsbnMessage = null, + ?array $groups = null, + $payload = null, + array $options = [] + ) { + if (\is_array($type)) { + $options = array_merge($type, $options); + } elseif (null !== $type) { + $options['value'] = $type; + } + + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->isbn10Message = $isbn10Message ?? $this->isbn10Message; + $this->isbn13Message = $isbn13Message ?? $this->isbn13Message; + $this->bothIsbnMessage = $bothIsbnMessage ?? $this->bothIsbnMessage; + } + /** * {@inheritdoc} */ diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/IsbnValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/IsbnValidator.php index 3cda0af1..3aa88e2e 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/IsbnValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/IsbnValidator.php @@ -48,7 +48,7 @@ public function validate($value, Constraint $constraint) $canonical = str_replace('-', '', $value); // Explicitly validate against ISBN-10 - if ('isbn10' === $constraint->type) { + if (Isbn::ISBN_10 === $constraint->type) { if (true !== ($code = $this->validateIsbn10($canonical))) { $this->context->buildViolation($this->getMessage($constraint, $constraint->type)) ->setParameter('{{ value }}', $this->formatValue($value)) @@ -60,7 +60,7 @@ public function validate($value, Constraint $constraint) } // Explicitly validate against ISBN-13 - if ('isbn13' === $constraint->type) { + if (Isbn::ISBN_13 === $constraint->type) { if (true !== ($code = $this->validateIsbn13($canonical))) { $this->context->buildViolation($this->getMessage($constraint, $constraint->type)) ->setParameter('{{ value }}', $this->formatValue($value)) @@ -95,7 +95,7 @@ public function validate($value, Constraint $constraint) } } - protected function validateIsbn10($isbn) + protected function validateIsbn10(string $isbn) { // Choose an algorithm so that ERROR_INVALID_CHARACTERS is preferred // over ERROR_TOO_SHORT/ERROR_TOO_LONG @@ -135,7 +135,7 @@ protected function validateIsbn10($isbn) return 0 === $checkSum % 11 ? true : Isbn::CHECKSUM_FAILED_ERROR; } - protected function validateIsbn13($isbn) + protected function validateIsbn13(string $isbn) { // Error priority: // 1. ERROR_INVALID_CHARACTERS @@ -169,13 +169,13 @@ protected function validateIsbn13($isbn) return 0 === $checkSum % 10 ? true : Isbn::CHECKSUM_FAILED_ERROR; } - protected function getMessage($constraint, $type = null) + protected function getMessage(Isbn $constraint, ?string $type = null) { if (null !== $constraint->message) { return $constraint->message; - } elseif ('isbn10' === $type) { + } elseif (Isbn::ISBN_10 === $type) { return $constraint->isbn10Message; - } elseif ('isbn13' === $type) { + } elseif (Isbn::ISBN_13 === $type) { return $constraint->isbn13Message; } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Isin.php b/upload/system/storage/vendor/symfony/validator/Constraints/Isin.php new file mode 100644 index 00000000..9c285123 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Isin.php @@ -0,0 +1,46 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; + +/** + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Laurent Masforné + */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +class Isin extends Constraint +{ + public const VALIDATION_LENGTH = 12; + public const VALIDATION_PATTERN = '/[A-Z]{2}[A-Z0-9]{9}[0-9]{1}/'; + + public const INVALID_LENGTH_ERROR = '88738dfc-9ed5-ba1e-aebe-402a2a9bf58e'; + public const INVALID_PATTERN_ERROR = '3d08ce0-ded9-a93d-9216-17ac21265b65e'; + public const INVALID_CHECKSUM_ERROR = '32089b-0ee1-93ba-399e-aa232e62f2d29d'; + + protected static $errorNames = [ + self::INVALID_LENGTH_ERROR => 'INVALID_LENGTH_ERROR', + self::INVALID_PATTERN_ERROR => 'INVALID_PATTERN_ERROR', + self::INVALID_CHECKSUM_ERROR => 'INVALID_CHECKSUM_ERROR', + ]; + + public $message = 'This value is not a valid International Securities Identification Number (ISIN).'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/IsinValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/IsinValidator.php new file mode 100644 index 00000000..81c815ec --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/IsinValidator.php @@ -0,0 +1,81 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; +use Symfony\Component\Validator\Exception\UnexpectedValueException; + +/** + * @author Laurent Masforné + * + * @see https://en.wikipedia.org/wiki/International_Securities_Identification_Number + */ +class IsinValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Isin) { + throw new UnexpectedTypeException($constraint, Isin::class); + } + + if (null === $value || '' === $value) { + return; + } + + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + throw new UnexpectedValueException($value, 'string'); + } + + $value = strtoupper($value); + + if (Isin::VALIDATION_LENGTH !== \strlen($value)) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Isin::INVALID_LENGTH_ERROR) + ->addViolation(); + + return; + } + + if (!preg_match(Isin::VALIDATION_PATTERN, $value)) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Isin::INVALID_PATTERN_ERROR) + ->addViolation(); + + return; + } + + if (!$this->isCorrectChecksum($value)) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Isin::INVALID_CHECKSUM_ERROR) + ->addViolation(); + } + } + + private function isCorrectChecksum(string $input): bool + { + $characters = str_split($input); + foreach ($characters as $i => $char) { + $characters[$i] = \intval($char, 36); + } + $number = implode('', $characters); + + return 0 === $this->context->getValidator()->validate($number, new Luhn())->count(); + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Issn.php b/upload/system/storage/vendor/symfony/validator/Constraints/Issn.php index 7aeb88f8..25553500 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Issn.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Issn.php @@ -20,6 +20,7 @@ * @author Antonio J. García Lagar * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Issn extends Constraint { public const TOO_SHORT_ERROR = '6a20dd3d-f463-4460-8e7b-18a1b98abbfb'; @@ -41,4 +42,19 @@ class Issn extends Constraint public $message = 'This value is not a valid ISSN.'; public $caseSensitive = false; public $requireHyphen = false; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?bool $caseSensitive = null, + ?bool $requireHyphen = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->caseSensitive = $caseSensitive ?? $this->caseSensitive; + $this->requireHyphen = $requireHyphen ?? $this->requireHyphen; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Json.php b/upload/system/storage/vendor/symfony/validator/Constraints/Json.php index 2e5c3c84..d1887138 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Json.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Json.php @@ -19,6 +19,7 @@ * * @author Imad ZAIRIG */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Json extends Constraint { public const INVALID_JSON_ERROR = '0789c8ad-2d2b-49a4-8356-e2ce63998504'; @@ -28,4 +29,11 @@ class Json extends Constraint ]; public $message = 'This value should be valid JSON.'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/JsonValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/JsonValidator.php index 176331f6..a2a26d57 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/JsonValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/JsonValidator.php @@ -14,6 +14,7 @@ use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; +use Symfony\Component\Validator\Exception\UnexpectedValueException; /** * @author Imad ZAIRIG @@ -34,7 +35,7 @@ public function validate($value, Constraint $constraint) } if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { - throw new UnexpectedTypeException($value, 'string'); + throw new UnexpectedValueException($value, 'string'); } $value = (string) $value; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Language.php b/upload/system/storage/vendor/symfony/validator/Constraints/Language.php index 558a52e4..b8d7e4fa 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Language.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Language.php @@ -21,6 +21,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Language extends Constraint { public const NO_SUCH_LANGUAGE_ERROR = 'ee65fec4-9a20-4202-9f39-ca558cd7bdf7'; @@ -30,14 +31,22 @@ class Language extends Constraint ]; public $message = 'This value is not a valid language.'; - - public function __construct($options = null) - { + public $alpha3 = false; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?bool $alpha3 = null, + ?array $groups = null, + $payload = null + ) { if (!class_exists(Languages::class)) { - // throw new LogicException('The Intl component is required to use the Language constraint. Try running "composer require symfony/intl".'); - @trigger_error(sprintf('Using the "%s" constraint without the "symfony/intl" component installed is deprecated since Symfony 4.2.', __CLASS__), \E_USER_DEPRECATED); + throw new LogicException('The Intl component is required to use the Language constraint. Try running "composer require symfony/intl".'); } - parent::__construct($options); + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->alpha3 = $alpha3 ?? $this->alpha3; } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/LanguageValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/LanguageValidator.php index 38e46843..8becc18f 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/LanguageValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/LanguageValidator.php @@ -14,7 +14,6 @@ use Symfony\Component\Intl\Languages; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; use Symfony\Component\Validator\Exception\UnexpectedTypeException; use Symfony\Component\Validator\Exception\UnexpectedValueException; @@ -42,13 +41,9 @@ public function validate($value, Constraint $constraint) throw new UnexpectedValueException($value, 'string'); } - if (!class_exists(Languages::class)) { - throw new LogicException('The Intl component is required to use the Language constraint. Try running "composer require symfony/intl".'); - } - $value = (string) $value; - if (!Languages::exists($value)) { + if ($constraint->alpha3 ? !Languages::alpha3CodeExists($value) : !Languages::exists($value)) { $this->context->buildViolation($constraint->message) ->setParameter('{{ value }}', $this->formatValue($value)) ->setCode(Language::NO_SUCH_LANGUAGE_ERROR) diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Length.php b/upload/system/storage/vendor/symfony/validator/Constraints/Length.php index 7e820944..1e47c6de 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Length.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Length.php @@ -21,15 +21,18 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Length extends Constraint { public const TOO_SHORT_ERROR = '9ff3fdc4-b214-49db-8718-39c315e33d45'; public const TOO_LONG_ERROR = 'd94b19cc-114f-4f44-9cc4-4138e80a87b9'; + public const NOT_EQUAL_LENGTH_ERROR = '4b6f5c76-22b4-409d-af16-fbe823ba9332'; public const INVALID_CHARACTERS_ERROR = '35e6a710-aa2e-4719-b58e-24b35749b767'; protected static $errorNames = [ self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR', self::TOO_LONG_ERROR => 'TOO_LONG_ERROR', + self::NOT_EQUAL_LENGTH_ERROR => 'NOT_EQUAL_LENGTH_ERROR', self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', ]; @@ -41,28 +44,62 @@ class Length extends Constraint public $min; public $charset = 'UTF-8'; public $normalizer; - public $allowEmptyString; + public $allowEmptyString = false; - public function __construct($options = null) - { - if (null !== $options && !\is_array($options)) { - $options = [ - 'min' => $options, - 'max' => $options, - ]; - } elseif (\is_array($options) && isset($options['value']) && !isset($options['min']) && !isset($options['max'])) { - $options['min'] = $options['max'] = $options['value']; - unset($options['value']); + /** + * {@inheritdoc} + * + * @param int|array|null $exactly The expected exact length or a set of options + */ + public function __construct( + $exactly = null, + ?int $min = null, + ?int $max = null, + ?string $charset = null, + ?callable $normalizer = null, + ?string $exactMessage = null, + ?string $minMessage = null, + ?string $maxMessage = null, + ?string $charsetMessage = null, + ?array $groups = null, + $payload = null, + array $options = [] + ) { + if (\is_array($exactly)) { + $options = array_merge($exactly, $options); + $exactly = $options['value'] ?? null; } - parent::__construct($options); + $min = $min ?? $options['min'] ?? null; + $max = $max ?? $options['max'] ?? null; + + unset($options['value'], $options['min'], $options['max']); + + if (null !== $exactly && null === $min && null === $max) { + $min = $max = $exactly; + } + + parent::__construct($options, $groups, $payload); + + $this->min = $min; + $this->max = $max; + $this->charset = $charset ?? $this->charset; + $this->normalizer = $normalizer ?? $this->normalizer; + $this->exactMessage = $exactMessage ?? $this->exactMessage; + $this->minMessage = $minMessage ?? $this->minMessage; + $this->maxMessage = $maxMessage ?? $this->maxMessage; + $this->charsetMessage = $charsetMessage ?? $this->charsetMessage; if (null === $this->min && null === $this->max) { throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint "%s".', __CLASS__), ['min', 'max']); } if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', \is_object($this->normalizer) ? \get_class($this->normalizer) : \gettype($this->normalizer))); + throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); + } + + if (isset($options['allowEmptyString'])) { + trigger_deprecation('symfony/validator', '5.2', sprintf('The "allowEmptyString" option of the "%s" constraint is deprecated.', self::class)); } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/LengthValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/LengthValidator.php index af7338b3..34e8360c 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/LengthValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/LengthValidator.php @@ -30,11 +30,7 @@ public function validate($value, Constraint $constraint) throw new UnexpectedTypeException($constraint, Length::class); } - if (null !== $constraint->min && null === $constraint->allowEmptyString) { - @trigger_error(sprintf('Using the "%s" constraint with the "min" option without setting the "allowEmptyString" one is deprecated and defaults to true. In 5.0, it will become optional and default to false.', Length::class), \E_USER_DEPRECATED); - } - - if (null === $value || ('' === $value && ($constraint->allowEmptyString ?? true))) { + if (null === $value || ('' === $value && $constraint->allowEmptyString)) { return; } @@ -72,24 +68,28 @@ public function validate($value, Constraint $constraint) $length = mb_strlen($stringValue, $constraint->charset); if (null !== $constraint->max && $length > $constraint->max) { - $this->context->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage) + $exactlyOptionEnabled = $constraint->min == $constraint->max; + + $this->context->buildViolation($exactlyOptionEnabled ? $constraint->exactMessage : $constraint->maxMessage) ->setParameter('{{ value }}', $this->formatValue($stringValue)) ->setParameter('{{ limit }}', $constraint->max) ->setInvalidValue($value) ->setPlural((int) $constraint->max) - ->setCode(Length::TOO_LONG_ERROR) + ->setCode($exactlyOptionEnabled ? Length::NOT_EQUAL_LENGTH_ERROR : Length::TOO_LONG_ERROR) ->addViolation(); return; } if (null !== $constraint->min && $length < $constraint->min) { - $this->context->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage) + $exactlyOptionEnabled = $constraint->min == $constraint->max; + + $this->context->buildViolation($exactlyOptionEnabled ? $constraint->exactMessage : $constraint->minMessage) ->setParameter('{{ value }}', $this->formatValue($stringValue)) ->setParameter('{{ limit }}', $constraint->min) ->setInvalidValue($value) ->setPlural((int) $constraint->min) - ->setCode(Length::TOO_SHORT_ERROR) + ->setCode($exactlyOptionEnabled ? Length::NOT_EQUAL_LENGTH_ERROR : Length::TOO_SHORT_ERROR) ->addViolation(); } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/LessThan.php b/upload/system/storage/vendor/symfony/validator/Constraints/LessThan.php index ae142bd2..acd6c9e6 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/LessThan.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/LessThan.php @@ -18,6 +18,7 @@ * @author Daniel Holmes * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class LessThan extends AbstractComparison { public const TOO_HIGH_ERROR = '079d7420-2d13-460c-8756-de810eeb37d2'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/LessThanOrEqual.php b/upload/system/storage/vendor/symfony/validator/Constraints/LessThanOrEqual.php index 78a24153..6f728459 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/LessThanOrEqual.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/LessThanOrEqual.php @@ -18,6 +18,7 @@ * @author Daniel Holmes * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class LessThanOrEqual extends AbstractComparison { public const TOO_HIGH_ERROR = '30fbb013-d015-4232-8b3b-8f3be97a7e14'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Locale.php b/upload/system/storage/vendor/symfony/validator/Constraints/Locale.php index 80a853d1..ba5cfc15 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Locale.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Locale.php @@ -21,6 +21,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Locale extends Constraint { public const NO_SUCH_LOCALE_ERROR = 'a0af4293-1f1a-4a1c-a328-979cba6182a2'; @@ -30,19 +31,22 @@ class Locale extends Constraint ]; public $message = 'This value is not a valid locale.'; - public $canonicalize = false; - - public function __construct($options = null) - { - if (!($options['canonicalize'] ?? false)) { - @trigger_error('The "canonicalize" option with value "false" is deprecated since Symfony 4.1, set it to "true" instead.', \E_USER_DEPRECATED); - } - + public $canonicalize = true; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?bool $canonicalize = null, + ?array $groups = null, + $payload = null + ) { if (!class_exists(Locales::class)) { - // throw new LogicException('The Intl component is required to use the Locale constraint. Try running "composer require symfony/intl".'); - @trigger_error(sprintf('Using the "%s" constraint without the "symfony/intl" component installed is deprecated since Symfony 4.2.', __CLASS__), \E_USER_DEPRECATED); + throw new LogicException('The Intl component is required to use the Locale constraint. Try running "composer require symfony/intl".'); } - parent::__construct($options); + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->canonicalize = $canonicalize ?? $this->canonicalize; } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/LocaleValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/LocaleValidator.php index 78c98025..0957e908 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/LocaleValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/LocaleValidator.php @@ -14,7 +14,6 @@ use Symfony\Component\Intl\Locales; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\LogicException; use Symfony\Component\Validator\Exception\UnexpectedTypeException; use Symfony\Component\Validator\Exception\UnexpectedValueException; @@ -42,10 +41,6 @@ public function validate($value, Constraint $constraint) throw new UnexpectedValueException($value, 'string'); } - if (!class_exists(Locales::class)) { - throw new LogicException('The Intl component is required to use the Locale constraint. Try running "composer require symfony/intl".'); - } - $inputValue = (string) $value; $value = $inputValue; if ($constraint->canonicalize) { diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Luhn.php b/upload/system/storage/vendor/symfony/validator/Constraints/Luhn.php index a870401b..d1f03a3f 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Luhn.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Luhn.php @@ -23,6 +23,7 @@ * @author Greg Knapp http://gregk.me/2011/php-implementation-of-bank-card-luhn-algorithm/ * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Luhn extends Constraint { public const INVALID_CHARACTERS_ERROR = 'dfad6d23-1b74-4374-929b-5cbb56fc0d9e'; @@ -34,4 +35,15 @@ class Luhn extends Constraint ]; public $message = 'Invalid card number.'; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Negative.php b/upload/system/storage/vendor/symfony/validator/Constraints/Negative.php index 7dc394a2..c13ebcb4 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Negative.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Negative.php @@ -17,19 +17,10 @@ * * @author Jan Schädlich */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Negative extends LessThan { - use NumberConstraintTrait; + use ZeroComparisonConstraintTrait; public $message = 'This value should be negative.'; - - public function __construct($options = null) - { - parent::__construct($this->configureNumberConstraintOptions($options)); - } - - public function validatedBy(): string - { - return LessThanValidator::class; - } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/NegativeOrZero.php b/upload/system/storage/vendor/symfony/validator/Constraints/NegativeOrZero.php index 3b2274ba..5be735c3 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/NegativeOrZero.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/NegativeOrZero.php @@ -17,19 +17,10 @@ * * @author Jan Schädlich */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class NegativeOrZero extends LessThanOrEqual { - use NumberConstraintTrait; + use ZeroComparisonConstraintTrait; public $message = 'This value should be either negative or zero.'; - - public function __construct($options = null) - { - parent::__construct($this->configureNumberConstraintOptions($options)); - } - - public function validatedBy(): string - { - return LessThanOrEqualValidator::class; - } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/NotBlank.php b/upload/system/storage/vendor/symfony/validator/Constraints/NotBlank.php index 775e1f6f..33d28b30 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/NotBlank.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/NotBlank.php @@ -21,6 +21,7 @@ * @author Bernhard Schussek * @author Kévin Dunglas */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class NotBlank extends Constraint { public const IS_BLANK_ERROR = 'c1051bb4-d103-4f74-8988-acbcafc7fdc3'; @@ -33,12 +34,16 @@ class NotBlank extends Constraint public $allowNull = false; public $normalizer; - public function __construct($options = null) + public function __construct(?array $options = null, ?string $message = null, ?bool $allowNull = null, ?callable $normalizer = null, ?array $groups = null, $payload = null) { - parent::__construct($options); + parent::__construct($options ?? [], $groups, $payload); + + $this->message = $message ?? $this->message; + $this->allowNull = $allowNull ?? $this->allowNull; + $this->normalizer = $normalizer ?? $this->normalizer; if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', \is_object($this->normalizer) ? \get_class($this->normalizer) : \gettype($this->normalizer))); + throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/NotCompromisedPassword.php b/upload/system/storage/vendor/symfony/validator/Constraints/NotCompromisedPassword.php index 9ad535ae..1d2308ba 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/NotCompromisedPassword.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/NotCompromisedPassword.php @@ -21,6 +21,7 @@ * * @author Kévin Dunglas */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class NotCompromisedPassword extends Constraint { public const COMPROMISED_PASSWORD_ERROR = 'd9bcdbfe-a9d6-4bfa-a8ff-da5fd93e0f6d'; @@ -30,4 +31,19 @@ class NotCompromisedPassword extends Constraint public $message = 'This password has been leaked in a data breach, it must not be used. Please use another password.'; public $threshold = 1; public $skipOnError = false; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?int $threshold = null, + ?bool $skipOnError = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->threshold = $threshold ?? $this->threshold; + $this->skipOnError = $skipOnError ?? $this->skipOnError; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php index efc770f0..3d3bc9a2 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php @@ -36,7 +36,7 @@ class NotCompromisedPasswordValidator extends ConstraintValidator private $enabled; private $endpoint; - public function __construct(HttpClientInterface $httpClient = null, string $charset = 'UTF-8', bool $enabled = true, string $endpoint = null) + public function __construct(?HttpClientInterface $httpClient = null, string $charset = 'UTF-8', bool $enabled = true, ?string $endpoint = null) { if (null === $httpClient && !class_exists(HttpClient::class)) { throw new \LogicException(sprintf('The "%s" class requires the "HttpClient" component. Try running "composer require symfony/http-client".', self::class)); @@ -91,6 +91,10 @@ public function validate($value, Constraint $constraint) } foreach (explode("\r\n", $result) as $line) { + if (!str_contains($line, ':')) { + continue; + } + [$hashSuffix, $count] = explode(':', $line); if ($hashPrefix.$hashSuffix === $hash && $constraint->threshold <= (int) $count) { diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/NotEqualTo.php b/upload/system/storage/vendor/symfony/validator/Constraints/NotEqualTo.php index e99ff81e..4b2accdf 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/NotEqualTo.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/NotEqualTo.php @@ -18,6 +18,7 @@ * @author Daniel Holmes * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class NotEqualTo extends AbstractComparison { public const IS_EQUAL_ERROR = 'aa2e33da-25c8-4d76-8c6c-812f02ea89dd'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/NotIdenticalTo.php b/upload/system/storage/vendor/symfony/validator/Constraints/NotIdenticalTo.php index 3b57108c..82ee014e 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/NotIdenticalTo.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/NotIdenticalTo.php @@ -18,6 +18,7 @@ * @author Daniel Holmes * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class NotIdenticalTo extends AbstractComparison { public const IS_IDENTICAL_ERROR = '4aaac518-0dda-4129-a6d9-e216b9b454a0'; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/NotNull.php b/upload/system/storage/vendor/symfony/validator/Constraints/NotNull.php index a4529a51..f455a64c 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/NotNull.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/NotNull.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class NotNull extends Constraint { public const IS_NULL_ERROR = 'ad32d13f-c3d4-423b-909a-857b961eb720'; @@ -28,4 +29,11 @@ class NotNull extends Constraint ]; public $message = 'This value should not be null.'; + + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + parent::__construct($options ?? [], $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/NumberConstraintTrait.php b/upload/system/storage/vendor/symfony/validator/Constraints/NumberConstraintTrait.php index 2913f7e8..3229871f 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/NumberConstraintTrait.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/NumberConstraintTrait.php @@ -13,8 +13,12 @@ use Symfony\Component\Validator\Exception\ConstraintDefinitionException; +trigger_deprecation('symfony/validator', '5.2', '%s is deprecated.', NumberConstraintTrait::class); + /** * @author Jan Schädlich + * + * @deprecated since Symfony 5.2 */ trait NumberConstraintTrait { diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Positive.php b/upload/system/storage/vendor/symfony/validator/Constraints/Positive.php index 6efba4a9..951e944c 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Positive.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Positive.php @@ -17,19 +17,10 @@ * * @author Jan Schädlich */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Positive extends GreaterThan { - use NumberConstraintTrait; + use ZeroComparisonConstraintTrait; public $message = 'This value should be positive.'; - - public function __construct($options = null) - { - parent::__construct($this->configureNumberConstraintOptions($options)); - } - - public function validatedBy(): string - { - return GreaterThanValidator::class; - } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/PositiveOrZero.php b/upload/system/storage/vendor/symfony/validator/Constraints/PositiveOrZero.php index 2e525db4..a7669c61 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/PositiveOrZero.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/PositiveOrZero.php @@ -17,19 +17,10 @@ * * @author Jan Schädlich */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class PositiveOrZero extends GreaterThanOrEqual { - use NumberConstraintTrait; + use ZeroComparisonConstraintTrait; public $message = 'This value should be either positive or zero.'; - - public function __construct($options = null) - { - parent::__construct($this->configureNumberConstraintOptions($options)); - } - - public function validatedBy(): string - { - return GreaterThanOrEqualValidator::class; - } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Range.php b/upload/system/storage/vendor/symfony/validator/Constraints/Range.php index 9ba9655d..6dbd61e0 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Range.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Range.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\PropertyAccess\PropertyAccess; +use Symfony\Component\PropertyAccess\PropertyPathInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Exception\ConstraintDefinitionException; use Symfony\Component\Validator\Exception\LogicException; @@ -23,6 +24,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Range extends Constraint { public const INVALID_CHARACTERS_ERROR = 'ad9a9798-7a99-4df7-8ce9-46e416a1e60b'; @@ -41,12 +43,12 @@ class Range extends Constraint public $minMessage = 'This value should be {{ limit }} or more.'; public $maxMessage = 'This value should be {{ limit }} or less.'; public $invalidMessage = 'This value should be a valid number.'; + public $invalidDateTimeMessage = 'This value should be a valid datetime.'; public $min; public $minPropertyPath; public $max; public $maxPropertyPath; - // BC layer, to be removed in 5.0 /** * @internal */ @@ -57,35 +59,62 @@ class Range extends Constraint */ public $deprecatedMaxMessageSet = false; - public function __construct($options = null) - { - if (\is_array($options)) { - if (isset($options['min']) && isset($options['minPropertyPath'])) { - throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "min" or "minPropertyPath" options to be set, not both.', static::class)); - } + /** + * {@inheritdoc} + * + * @param string|PropertyPathInterface|null $minPropertyPath + * @param string|PropertyPathInterface|null $maxPropertyPath + */ + public function __construct( + ?array $options = null, + ?string $notInRangeMessage = null, + ?string $minMessage = null, + ?string $maxMessage = null, + ?string $invalidMessage = null, + ?string $invalidDateTimeMessage = null, + $min = null, + $minPropertyPath = null, + $max = null, + $maxPropertyPath = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); - if (isset($options['max']) && isset($options['maxPropertyPath'])) { - throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "max" or "maxPropertyPath" options to be set, not both.', static::class)); - } + $this->notInRangeMessage = $notInRangeMessage ?? $this->notInRangeMessage; + $this->minMessage = $minMessage ?? $this->minMessage; + $this->maxMessage = $maxMessage ?? $this->maxMessage; + $this->invalidMessage = $invalidMessage ?? $this->invalidMessage; + $this->invalidDateTimeMessage = $invalidDateTimeMessage ?? $this->invalidDateTimeMessage; + $this->min = $min ?? $this->min; + $this->minPropertyPath = $minPropertyPath ?? $this->minPropertyPath; + $this->max = $max ?? $this->max; + $this->maxPropertyPath = $maxPropertyPath ?? $this->maxPropertyPath; - if ((isset($options['minPropertyPath']) || isset($options['maxPropertyPath'])) && !class_exists(PropertyAccess::class)) { - throw new LogicException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "minPropertyPath" or "maxPropertyPath" option.', static::class)); - } + if (null === $this->min && null === $this->minPropertyPath && null === $this->max && null === $this->maxPropertyPath) { + throw new MissingOptionsException(sprintf('Either option "min", "minPropertyPath", "max" or "maxPropertyPath" must be given for constraint "%s".', __CLASS__), ['min', 'minPropertyPath', 'max', 'maxPropertyPath']); + } - if (isset($options['min']) && isset($options['max'])) { - $this->deprecatedMinMessageSet = isset($options['minMessage']); - $this->deprecatedMaxMessageSet = isset($options['maxMessage']); + if (null !== $this->min && null !== $this->minPropertyPath) { + throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "min" or "minPropertyPath" options to be set, not both.', static::class)); + } - if ($this->deprecatedMinMessageSet || $this->deprecatedMaxMessageSet) { - @trigger_error('Since symfony/validator 4.4: "minMessage" and "maxMessage" are deprecated when the "min" and "max" options are both set. Use "notInRangeMessage" instead.', \E_USER_DEPRECATED); - } - } + if (null !== $this->max && null !== $this->maxPropertyPath) { + throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "max" or "maxPropertyPath" options to be set, not both.', static::class)); } - parent::__construct($options); + if ((null !== $this->minPropertyPath || null !== $this->maxPropertyPath) && !class_exists(PropertyAccess::class)) { + throw new LogicException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "minPropertyPath" or "maxPropertyPath" option.', static::class)); + } - if (null === $this->min && null === $this->minPropertyPath && null === $this->max && null === $this->maxPropertyPath) { - throw new MissingOptionsException(sprintf('Either option "min", "minPropertyPath", "max" or "maxPropertyPath" must be given for constraint "%s".', __CLASS__), ['min', 'minPropertyPath', 'max', 'maxPropertyPath']); + if (null !== $this->min && null !== $this->max) { + $this->deprecatedMinMessageSet = isset($options['minMessage']) || null !== $minMessage; + $this->deprecatedMaxMessageSet = isset($options['maxMessage']) || null !== $maxMessage; + + // BC layer, should throw a ConstraintDefinitionException in 6.0 + if ($this->deprecatedMinMessageSet || $this->deprecatedMaxMessageSet) { + trigger_deprecation('symfony/validator', '4.4', '"minMessage" and "maxMessage" are deprecated when the "min" and "max" options are both set. Use "notInRangeMessage" instead.'); + } } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/RangeValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/RangeValidator.php index 9f9e46e1..9a0d7177 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/RangeValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/RangeValidator.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; +use Symfony\Component\PropertyAccess\Exception\UninitializedPropertyException; use Symfony\Component\PropertyAccess\PropertyAccess; use Symfony\Component\PropertyAccess\PropertyAccessorInterface; use Symfony\Component\Validator\Constraint; @@ -26,7 +27,7 @@ class RangeValidator extends ConstraintValidator { private $propertyAccessor; - public function __construct(PropertyAccessorInterface $propertyAccessor = null) + public function __construct(?PropertyAccessorInterface $propertyAccessor = null) { $this->propertyAccessor = $propertyAccessor; } @@ -44,18 +45,25 @@ public function validate($value, Constraint $constraint) return; } + $min = $this->getLimit($constraint->minPropertyPath, $constraint->min, $constraint); + $max = $this->getLimit($constraint->maxPropertyPath, $constraint->max, $constraint); + if (!is_numeric($value) && !$value instanceof \DateTimeInterface) { - $this->context->buildViolation($constraint->invalidMessage) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setCode(Range::INVALID_CHARACTERS_ERROR) - ->addViolation(); + if ($this->isParsableDatetimeString($min) && $this->isParsableDatetimeString($max)) { + $this->context->buildViolation($constraint->invalidDateTimeMessage) + ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) + ->setCode(Range::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } else { + $this->context->buildViolation($constraint->invalidMessage) + ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) + ->setCode(Range::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } return; } - $min = $this->getLimit($constraint->minPropertyPath, $constraint->min, $constraint); - $max = $this->getLimit($constraint->maxPropertyPath, $constraint->max, $constraint); - // Convert strings to DateTimes if comparing another DateTime // This allows to compare with any date/time value supported by // the DateTime constructor: @@ -69,7 +77,7 @@ public function validate($value, Constraint $constraint) try { $min = new $dateTimeClass($min); } catch (\Exception $e) { - throw new ConstraintDefinitionException(sprintf('The min value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $min, $dateTimeClass, \get_class($constraint))); + throw new ConstraintDefinitionException(sprintf('The min value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $min, $dateTimeClass, get_debug_type($constraint))); } } @@ -79,7 +87,7 @@ public function validate($value, Constraint $constraint) try { $max = new $dateTimeClass($max); } catch (\Exception $e) { - throw new ConstraintDefinitionException(sprintf('The max value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $max, $dateTimeClass, \get_class($constraint))); + throw new ConstraintDefinitionException(sprintf('The max value "%s" could not be converted to a "%s" instance in the "%s" constraint.', $max, $dateTimeClass, get_debug_type($constraint))); } } } @@ -170,7 +178,9 @@ private function getLimit(?string $propertyPath, $default, Constraint $constrain try { return $this->getPropertyAccessor()->getValue($object, $propertyPath); } catch (NoSuchPropertyException $e) { - throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: ', $propertyPath, \get_class($constraint)).$e->getMessage(), 0, $e); + throw new ConstraintDefinitionException(sprintf('Invalid property path "%s" provided to "%s" constraint: ', $propertyPath, get_debug_type($constraint)).$e->getMessage(), 0, $e); + } catch (UninitializedPropertyException $e) { + return null; } } @@ -182,4 +192,23 @@ private function getPropertyAccessor(): PropertyAccessorInterface return $this->propertyAccessor; } + + private function isParsableDatetimeString($boundary): bool + { + if (null === $boundary) { + return true; + } + + if (!\is_string($boundary)) { + return false; + } + + try { + new \DateTime($boundary); + } catch (\Exception $e) { + return false; + } + + return true; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Regex.php b/upload/system/storage/vendor/symfony/validator/Constraints/Regex.php index 2cc60701..dd55a65a 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Regex.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Regex.php @@ -20,6 +20,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Regex extends Constraint { public const REGEX_FAILED_ERROR = 'de1e3db3-5ed4-4941-aae4-59f3667cc3a3'; @@ -34,12 +35,36 @@ class Regex extends Constraint public $match = true; public $normalizer; - public function __construct($options = null) - { - parent::__construct($options); + /** + * {@inheritdoc} + * + * @param string|array $pattern The pattern to evaluate or an array of options + */ + public function __construct( + $pattern, + ?string $message = null, + ?string $htmlPattern = null, + ?bool $match = null, + ?callable $normalizer = null, + ?array $groups = null, + $payload = null, + array $options = [] + ) { + if (\is_array($pattern)) { + $options = array_merge($pattern, $options); + } elseif (null !== $pattern) { + $options['value'] = $pattern; + } + + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->htmlPattern = $htmlPattern ?? $this->htmlPattern; + $this->match = $match ?? $this->match; + $this->normalizer = $normalizer ?? $this->normalizer; if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', \is_object($this->normalizer) ? \get_class($this->normalizer) : \gettype($this->normalizer))); + throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Sequentially.php b/upload/system/storage/vendor/symfony/validator/Constraints/Sequentially.php new file mode 100644 index 00000000..2e26109f --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Sequentially.php @@ -0,0 +1,52 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +/** + * Use this constraint to sequentially validate nested constraints. + * Validation for the nested constraints collection will stop at first violation. + * + * @Annotation + * @Target({"CLASS", "PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Maxime Steinhausser + */ +#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +class Sequentially extends Composite +{ + public $constraints = []; + + public function __construct($constraints = null, ?array $groups = null, $payload = null) + { + parent::__construct($constraints ?? [], $groups, $payload); + } + + public function getDefaultOption() + { + return 'constraints'; + } + + public function getRequiredOptions() + { + return ['constraints']; + } + + protected function getCompositeOption() + { + return 'constraints'; + } + + public function getTargets() + { + return [self::CLASS_CONSTRAINT, self::PROPERTY_CONSTRAINT]; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/SequentiallyValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/SequentiallyValidator.php new file mode 100644 index 00000000..434d2aba --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/SequentiallyValidator.php @@ -0,0 +1,44 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Maxime Steinhausser + */ +class SequentiallyValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Sequentially) { + throw new UnexpectedTypeException($constraint, Sequentially::class); + } + + $context = $this->context; + + $validator = $context->getValidator()->inContext($context); + + $originalCount = $validator->getViolations()->count(); + + foreach ($constraint->constraints as $c) { + if ($originalCount !== $validator->validate($value, $c)->getViolations()->count()) { + break; + } + } + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Time.php b/upload/system/storage/vendor/symfony/validator/Constraints/Time.php index c043f15c..453d43db 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Time.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Time.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Time extends Constraint { public const INVALID_FORMAT_ERROR = '9d27b2bb-f755-4fbf-b725-39b1edbdebdf'; @@ -30,4 +31,15 @@ class Time extends Constraint ]; public $message = 'This value is not a valid time.'; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/TimeValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/TimeValidator.php index ad9a1b25..0065fc93 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/TimeValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/TimeValidator.php @@ -21,7 +21,7 @@ */ class TimeValidator extends ConstraintValidator { - public const PATTERN = '/^(\d{2}):(\d{2}):(\d{2})$/'; + public const PATTERN = '/^(\d{2}):(\d{2}):(\d{2})$/D'; /** * Checks whether a time is valid. @@ -46,12 +46,6 @@ public function validate($value, Constraint $constraint) return; } - if ($value instanceof \DateTimeInterface) { - @trigger_error(sprintf('Validating a \\DateTimeInterface with "%s" is deprecated since version 4.2. Use "%s" instead or remove the constraint if the underlying model is already type hinted to \\DateTimeInterface.', Time::class, Type::class), \E_USER_DEPRECATED); - - return; - } - if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Timezone.php b/upload/system/storage/vendor/symfony/validator/Constraints/Timezone.php index 9a46c15d..7f6d7b90 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Timezone.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Timezone.php @@ -21,6 +21,7 @@ * @author Javier Spagnoletti * @author Hugo Hamon */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Timezone extends Constraint { public const TIMEZONE_IDENTIFIER_ERROR = '5ce113e6-5e64-4ea2-90fe-d2233956db13'; @@ -42,10 +43,29 @@ class Timezone extends Constraint /** * {@inheritdoc} + * + * @param int|array|null $zone A combination of {@see \DateTimeZone} class constants or a set of options */ - public function __construct($options = null) - { - parent::__construct($options); + public function __construct( + $zone = null, + ?string $message = null, + ?string $countryCode = null, + ?bool $intlCompatible = null, + ?array $groups = null, + $payload = null, + array $options = [] + ) { + if (\is_array($zone)) { + $options = array_merge($zone, $options); + } elseif (null !== $zone) { + $options['value'] = $zone; + } + + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->countryCode = $countryCode ?? $this->countryCode; + $this->intlCompatible = $intlCompatible ?? $this->intlCompatible; if (null === $this->countryCode) { if (0 >= $this->zone || \DateTimeZone::ALL_WITH_BC < $this->zone) { diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/TimezoneValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/TimezoneValidator.php index a83d78c2..68fe8946 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/TimezoneValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/TimezoneValidator.php @@ -75,7 +75,7 @@ public function validate($value, Constraint $constraint) ->addViolation(); } - private static function getPhpTimezones(int $zone, string $countryCode = null): array + private static function getPhpTimezones(int $zone, ?string $countryCode = null): array { if (null !== $countryCode) { try { @@ -88,7 +88,7 @@ private static function getPhpTimezones(int $zone, string $countryCode = null): return \DateTimeZone::listIdentifiers($zone); } - private static function getIntlTimezones(int $zone, string $countryCode = null): array + private static function getIntlTimezones(int $zone, ?string $countryCode = null): array { if (!class_exists(Timezones::class)) { return []; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Traverse.php b/upload/system/storage/vendor/symfony/validator/Constraints/Traverse.php index f5f66f53..fe6527da 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Traverse.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Traverse.php @@ -19,17 +19,21 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_CLASS)] class Traverse extends Constraint { public $traverse = true; - public function __construct($options = null) + /** + * @param bool|array|null $traverse + */ + public function __construct($traverse = null) { - if (\is_array($options) && \array_key_exists('groups', $options)) { + if (\is_array($traverse) && \array_key_exists('groups', $traverse)) { throw new ConstraintDefinitionException(sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); } - parent::__construct($options); + parent::__construct($traverse); } /** diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Type.php b/upload/system/storage/vendor/symfony/validator/Constraints/Type.php index b3e9ecbf..278dbb82 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Type.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Type.php @@ -19,6 +19,7 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Type extends Constraint { public const INVALID_TYPE_ERROR = 'ba785a8c-82cb-4283-967c-3cf342181b40'; @@ -30,6 +31,24 @@ class Type extends Constraint public $message = 'This value should be of type {{ type }}.'; public $type; + /** + * {@inheritdoc} + * + * @param string|array $type One ore multiple types to validate against or a set of options + */ + public function __construct($type, ?string $message = null, ?array $groups = null, $payload = null, array $options = []) + { + if (\is_array($type) && \is_string(key($type))) { + $options = array_merge($type, $options); + } elseif (null !== $type) { + $options['value'] = $type; + } + + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } + /** * {@inheritdoc} */ diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/TypeValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/TypeValidator.php index 99f3d9c6..0a938c6d 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/TypeValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/TypeValidator.php @@ -20,6 +20,38 @@ */ class TypeValidator extends ConstraintValidator { + private const VALIDATION_FUNCTIONS = [ + 'bool' => 'is_bool', + 'boolean' => 'is_bool', + 'int' => 'is_int', + 'integer' => 'is_int', + 'long' => 'is_int', + 'float' => 'is_float', + 'double' => 'is_float', + 'real' => 'is_float', + 'numeric' => 'is_numeric', + 'string' => 'is_string', + 'scalar' => 'is_scalar', + 'array' => 'is_array', + 'iterable' => 'is_iterable', + 'countable' => 'is_countable', + 'callable' => 'is_callable', + 'object' => 'is_object', + 'resource' => 'is_resource', + 'null' => 'is_null', + 'alnum' => 'ctype_alnum', + 'alpha' => 'ctype_alpha', + 'cntrl' => 'ctype_cntrl', + 'digit' => 'ctype_digit', + 'graph' => 'ctype_graph', + 'lower' => 'ctype_lower', + 'print' => 'ctype_print', + 'punct' => 'ctype_punct', + 'space' => 'ctype_space', + 'upper' => 'ctype_upper', + 'xdigit' => 'ctype_xdigit', + ]; + /** * {@inheritdoc} */ @@ -37,14 +69,11 @@ public function validate($value, Constraint $constraint) foreach ($types as $type) { $type = strtolower($type); - $type = 'boolean' === $type ? 'bool' : $type; - $isFunction = 'is_'.$type; - $ctypeFunction = 'ctype_'.$type; - if (\function_exists($isFunction) && $isFunction($value)) { - return; - } elseif (\function_exists($ctypeFunction) && $ctypeFunction($value)) { + if (isset(self::VALIDATION_FUNCTIONS[$type]) && self::VALIDATION_FUNCTIONS[$type]($value)) { return; - } elseif ($value instanceof $type) { + } + + if ($value instanceof $type) { return; } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Ulid.php b/upload/system/storage/vendor/symfony/validator/Constraints/Ulid.php new file mode 100644 index 00000000..42d382d0 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Ulid.php @@ -0,0 +1,48 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; + +/** + * @Annotation + * + * @author Laurent Clouet + */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +class Ulid extends Constraint +{ + public const TOO_SHORT_ERROR = '7b44804e-37d5-4df4-9bdd-b738d4a45bb4'; + public const TOO_LONG_ERROR = '9608249f-6da1-4d53-889e-9864b58c4d37'; + public const INVALID_CHARACTERS_ERROR = 'e4155739-5135-4258-9c81-ae7b44b5311e'; + public const TOO_LARGE_ERROR = 'df8cfb9a-ce6d-4a69-ae5a-eea7ab6f278b'; + + protected static $errorNames = [ + self::TOO_SHORT_ERROR => 'TOO_SHORT_ERROR', + self::TOO_LONG_ERROR => 'TOO_LONG_ERROR', + self::INVALID_CHARACTERS_ERROR => 'INVALID_CHARACTERS_ERROR', + self::TOO_LARGE_ERROR => 'TOO_LARGE_ERROR', + ]; + + public $message = 'This is not a valid ULID.'; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/UlidValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/UlidValidator.php new file mode 100644 index 00000000..ad741244 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/UlidValidator.php @@ -0,0 +1,73 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; +use Symfony\Component\Validator\Exception\UnexpectedValueException; + +/** + * Validates whether the value is a valid ULID (Universally Unique Lexicographically Sortable Identifier). + * Cf https://github.com/ulid/spec for ULID specifications. + * + * @author Laurent Clouet + */ +class UlidValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Ulid) { + throw new UnexpectedTypeException($constraint, Ulid::class); + } + + if (null === $value || '' === $value) { + return; + } + + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + throw new UnexpectedValueException($value, 'string'); + } + + $value = (string) $value; + + if (26 !== \strlen($value)) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(26 > \strlen($value) ? Ulid::TOO_SHORT_ERROR : Ulid::TOO_LONG_ERROR) + ->addViolation(); + + return; + } + + if (\strlen($value) !== strspn($value, '0123456789ABCDEFGHJKMNPQRSTVWXYZabcdefghjkmnpqrstvwxyz')) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Ulid::INVALID_CHARACTERS_ERROR) + ->addViolation(); + + return; + } + + // Largest valid ULID is '7ZZZZZZZZZZZZZZZZZZZZZZZZZ' + // Cf https://github.com/ulid/spec#overflow-errors-when-parsing-base32-strings + if ($value[0] > '7') { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Ulid::TOO_LARGE_ERROR) + ->addViolation(); + } + } +} diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Unique.php b/upload/system/storage/vendor/symfony/validator/Constraints/Unique.php index 743ec02e..d50c1fe3 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Unique.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Unique.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Exception\InvalidArgumentException; /** * @Annotation @@ -19,6 +20,7 @@ * * @author Yevgeniy Zholkevskiy */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Unique extends Constraint { public const IS_NOT_UNIQUE = '7911c98d-b845-4da0-94b7-a8dac36bc55a'; @@ -28,4 +30,22 @@ class Unique extends Constraint ]; public $message = 'This collection should contain only unique elements.'; + public $normalizer; + + public function __construct( + ?array $options = null, + ?string $message = null, + ?callable $normalizer = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->normalizer = $normalizer ?? $this->normalizer; + + if (null !== $this->normalizer && !\is_callable($this->normalizer)) { + throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); + } + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/UniqueValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/UniqueValidator.php index ce98cd73..95dc48c6 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/UniqueValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/UniqueValidator.php @@ -39,10 +39,13 @@ public function validate($value, Constraint $constraint) } $collectionElements = []; + $normalizer = $this->getNormalizer($constraint); foreach ($value as $element) { + $element = $normalizer($element); + if (\in_array($element, $collectionElements, true)) { $this->context->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) + ->setParameter('{{ value }}', $this->formatValue($element)) ->setCode(Unique::IS_NOT_UNIQUE) ->addViolation(); @@ -51,4 +54,15 @@ public function validate($value, Constraint $constraint) $collectionElements[] = $element; } } + + private function getNormalizer(Unique $unique): callable + { + if (null === $unique->normalizer) { + return static function ($value) { + return $value; + }; + } + + return $unique->normalizer; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Url.php b/upload/system/storage/vendor/symfony/validator/Constraints/Url.php index 14650118..1e252bda 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Url.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Url.php @@ -20,73 +20,9 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Url extends Constraint { - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_ANY = 'ANY'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_NONE = false; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_A = 'A'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_A6 = 'A6'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_AAAA = 'AAAA'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_CNAME = 'CNAME'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_MX = 'MX'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_NAPTR = 'NAPTR'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_NS = 'NS'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_PTR = 'PTR'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_SOA = 'SOA'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_SRV = 'SRV'; - - /** - * @deprecated since Symfony 4.1 - */ - public const CHECK_DNS_TYPE_TXT = 'TXT'; - public const INVALID_URL_ERROR = '57c2f299-1154-4870-89bb-ef3b1f5ad229'; protected static $errorNames = [ @@ -94,35 +30,28 @@ class Url extends Constraint ]; public $message = 'This value is not a valid URL.'; - - /** - * @deprecated since Symfony 4.1 - */ - public $dnsMessage = 'The host could not be resolved.'; public $protocols = ['http', 'https']; - - /** - * @deprecated since Symfony 4.1 - */ - public $checkDNS = self::CHECK_DNS_TYPE_NONE; public $relativeProtocol = false; public $normalizer; - public function __construct($options = null) - { - if (\is_array($options)) { - if (\array_key_exists('checkDNS', $options)) { - @trigger_error(sprintf('The "checkDNS" option in "%s" is deprecated since Symfony 4.1. Its false-positive rate is too high to be relied upon.', self::class), \E_USER_DEPRECATED); - } - if (\array_key_exists('dnsMessage', $options)) { - @trigger_error(sprintf('The "dnsMessage" option in "%s" is deprecated since Symfony 4.1.', self::class), \E_USER_DEPRECATED); - } - } - - parent::__construct($options); + public function __construct( + ?array $options = null, + ?string $message = null, + ?array $protocols = null, + ?bool $relativeProtocol = null, + ?callable $normalizer = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->protocols = $protocols ?? $this->protocols; + $this->relativeProtocol = $relativeProtocol ?? $this->relativeProtocol; + $this->normalizer = $normalizer ?? $this->normalizer; if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', \is_object($this->normalizer) ? \get_class($this->normalizer) : \gettype($this->normalizer))); + throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/UrlValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/UrlValidator.php index c0d1f3b0..eb286e7b 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/UrlValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/UrlValidator.php @@ -13,7 +13,6 @@ use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\InvalidOptionsException; use Symfony\Component\Validator\Exception\UnexpectedTypeException; use Symfony\Component\Validator\Exception\UnexpectedValueException; @@ -41,10 +40,10 @@ class UrlValidator extends ConstraintValidator \] # an IPv6 address ) (:[0-9]+)? # a port (optional) - (?:/ (?:[\pL\pN\-._\~!$&\'()*+,;=:@]|%%[0-9A-Fa-f]{2})* )* # a path + (?:/ (?:[\pL\pN\pS\pM\-._\~!$&\'()*+,;=:@]|%%[0-9A-Fa-f]{2})* )* # a path (?:\? (?:[\pL\pN\-._\~!$&\'\[\]()*+,;=:@/?]|%%[0-9A-Fa-f]{2})* )? # a query (optional) (?:\# (?:[\pL\pN\-._\~!$&\'()*+,;=:@/?]|%%[0-9A-Fa-f]{2})* )? # a fragment (optional) - $~ixu'; + $~ixuD'; /** * {@inheritdoc} @@ -83,33 +82,5 @@ public function validate($value, Constraint $constraint) return; } - - if ($constraint->checkDNS) { - if (!\in_array($constraint->checkDNS, [ - Url::CHECK_DNS_TYPE_ANY, - Url::CHECK_DNS_TYPE_A, - Url::CHECK_DNS_TYPE_A6, - Url::CHECK_DNS_TYPE_AAAA, - Url::CHECK_DNS_TYPE_CNAME, - Url::CHECK_DNS_TYPE_MX, - Url::CHECK_DNS_TYPE_NAPTR, - Url::CHECK_DNS_TYPE_NS, - Url::CHECK_DNS_TYPE_PTR, - Url::CHECK_DNS_TYPE_SOA, - Url::CHECK_DNS_TYPE_SRV, - Url::CHECK_DNS_TYPE_TXT, - ], true)) { - throw new InvalidOptionsException(sprintf('Invalid value for option "checkDNS" in constraint "%s".', \get_class($constraint)), ['checkDNS']); - } - - $host = parse_url($value, \PHP_URL_HOST); - - if (!\is_string($host) || !checkdnsrr($host, $constraint->checkDNS)) { - $this->context->buildViolation($constraint->dnsMessage) - ->setParameter('{{ value }}', $this->formatValue($host)) - ->setCode(Url::INVALID_URL_ERROR) - ->addViolation(); - } - } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Uuid.php b/upload/system/storage/vendor/symfony/validator/Constraints/Uuid.php index 2c7e9bba..76d511d4 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Uuid.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Uuid.php @@ -20,6 +20,7 @@ * @author Colin O'Dell * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Uuid extends Constraint { public const TOO_SHORT_ERROR = 'aa314679-dac9-4f54-bf97-b2049df8f2a3'; @@ -38,12 +39,22 @@ class Uuid extends Constraint self::INVALID_VARIANT_ERROR => 'INVALID_VARIANT_ERROR', ]; - // Possible versions defined by RFC 4122 + // Possible versions defined by RFC 9562/4122 public const V1_MAC = 1; public const V2_DCE = 2; public const V3_MD5 = 3; public const V4_RANDOM = 4; public const V5_SHA1 = 5; + public const V6_SORTABLE = 6; + + public const ALL_VERSIONS = [ + self::V1_MAC, + self::V2_DCE, + self::V3_MD5, + self::V4_RANDOM, + self::V5_SHA1, + self::V6_SORTABLE, + ]; /** * Message to display when validation fails. @@ -53,7 +64,7 @@ class Uuid extends Constraint public $message = 'This is not a valid UUID.'; /** - * Strict mode only allows UUIDs that meet the formal definition and formatting per RFC 4122. + * Strict mode only allows UUIDs that meet the formal definition and formatting per RFC 9562/4122. * * Set this to `false` to allow legacy formats with different dash positioning or wrapping characters * @@ -68,22 +79,33 @@ class Uuid extends Constraint * * @var int[] */ - public $versions = [ - self::V1_MAC, - self::V2_DCE, - self::V3_MD5, - self::V4_RANDOM, - self::V5_SHA1, - ]; + public $versions = self::ALL_VERSIONS; public $normalizer; - public function __construct($options = null) - { - parent::__construct($options); + /** + * {@inheritdoc} + * + * @param int[]|null $versions + */ + public function __construct( + ?array $options = null, + ?string $message = null, + ?array $versions = null, + ?bool $strict = null, + ?callable $normalizer = null, + ?array $groups = null, + $payload = null + ) { + parent::__construct($options, $groups, $payload); + + $this->message = $message ?? $this->message; + $this->versions = $versions ?? $this->versions; + $this->strict = $strict ?? $this->strict; + $this->normalizer = $normalizer ?? $this->normalizer; if (null !== $this->normalizer && !\is_callable($this->normalizer)) { - throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', \is_object($this->normalizer) ? \get_class($this->normalizer) : \gettype($this->normalizer))); + throw new InvalidArgumentException(sprintf('The "normalizer" option must be a valid callable ("%s" given).', get_debug_type($this->normalizer))); } } } diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/UuidValidator.php b/upload/system/storage/vendor/symfony/validator/Constraints/UuidValidator.php index 7005f4eb..cc246da4 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/UuidValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/UuidValidator.php @@ -19,17 +19,14 @@ /** * Validates whether the value is a valid UUID (also known as GUID). * - * Strict validation will allow a UUID as specified per RFC 4122. + * Strict validation will allow a UUID as specified per RFC 9562/4122. * Loose validation will allow any type of UUID. * - * For better compatibility, both loose and strict, you should consider using a specialized UUID library like "ramsey/uuid" instead. - * * @author Colin O'Dell * @author Bernhard Schussek * - * @see http://tools.ietf.org/html/rfc4122 + * @see https://datatracker.ietf.org/doc/html/rfc9562 * @see https://en.wikipedia.org/wiki/Universally_unique_identifier - * @see https://github.com/ramsey/uuid */ class UuidValidator extends ConstraintValidator { @@ -38,7 +35,7 @@ class UuidValidator extends ConstraintValidator // Roughly speaking: // x = any hexadecimal character - // M = any allowed version {1..5} + // M = any allowed version {1..6} // N = any allowed variant {8, 9, a, b} public const STRICT_LENGTH = 36; diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/Valid.php b/upload/system/storage/vendor/symfony/validator/Constraints/Valid.php index 89394237..00674fa5 100644 --- a/upload/system/storage/vendor/symfony/validator/Constraints/Valid.php +++ b/upload/system/storage/vendor/symfony/validator/Constraints/Valid.php @@ -19,11 +19,19 @@ * * @author Bernhard Schussek */ +#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Valid extends Constraint { public $traverse = true; - public function __get($option) + public function __construct(?array $options = null, ?array $groups = null, $payload = null, ?bool $traverse = null) + { + parent::__construct($options ?? [], $groups, $payload); + + $this->traverse = $traverse ?? $this->traverse; + } + + public function __get(string $option) { if ('groups' === $option) { // when this is reached, no groups have been configured @@ -36,7 +44,7 @@ public function __get($option) /** * {@inheritdoc} */ - public function addImplicitGroupName($group) + public function addImplicitGroupName(string $group) { if (null !== $this->groups) { parent::addImplicitGroupName($group); diff --git a/upload/system/storage/vendor/symfony/validator/Constraints/ZeroComparisonConstraintTrait.php b/upload/system/storage/vendor/symfony/validator/Constraints/ZeroComparisonConstraintTrait.php new file mode 100644 index 00000000..196c62e2 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Constraints/ZeroComparisonConstraintTrait.php @@ -0,0 +1,45 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Constraints; + +use Symfony\Component\Validator\Exception\ConstraintDefinitionException; + +/** + * @internal + * + * @author Jan Schädlich + * @author Alexander M. Turek + */ +trait ZeroComparisonConstraintTrait +{ + public function __construct(?array $options = null, ?string $message = null, ?array $groups = null, $payload = null) + { + if (null === $options) { + $options = []; + } + + if (isset($options['propertyPath'])) { + throw new ConstraintDefinitionException(sprintf('The "propertyPath" option of the "%s" constraint cannot be set.', static::class)); + } + + if (isset($options['value'])) { + throw new ConstraintDefinitionException(sprintf('The "value" option of the "%s" constraint cannot be set.', static::class)); + } + + parent::__construct(0, null, $message, $groups, $payload, $options); + } + + public function validatedBy(): string + { + return parent::class.'Validator'; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/ContainerConstraintValidatorFactory.php b/upload/system/storage/vendor/symfony/validator/ContainerConstraintValidatorFactory.php index 62e5530d..0b5baed4 100644 --- a/upload/system/storage/vendor/symfony/validator/ContainerConstraintValidatorFactory.php +++ b/upload/system/storage/vendor/symfony/validator/ContainerConstraintValidatorFactory.php @@ -46,7 +46,7 @@ public function getInstance(Constraint $constraint) $this->validators[$name] = $this->container->get($name); } else { if (!class_exists($name)) { - throw new ValidatorException(sprintf('Constraint validator "%s" does not exist or is not enabled. Check the "validatedBy" method in your constraint class "%s".', $name, \get_class($constraint))); + throw new ValidatorException(sprintf('Constraint validator "%s" does not exist or is not enabled. Check the "validatedBy" method in your constraint class "%s".', $name, get_debug_type($constraint))); } $this->validators[$name] = new $name(); diff --git a/upload/system/storage/vendor/symfony/validator/Context/ExecutionContext.php b/upload/system/storage/vendor/symfony/validator/Context/ExecutionContext.php index 001140a1..12973b17 100644 --- a/upload/system/storage/vendor/symfony/validator/Context/ExecutionContext.php +++ b/upload/system/storage/vendor/symfony/validator/Context/ExecutionContext.php @@ -11,7 +11,6 @@ namespace Symfony\Component\Validator\Context; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintViolation; use Symfony\Component\Validator\ConstraintViolationList; @@ -129,26 +128,19 @@ class ExecutionContext implements ExecutionContextInterface * @var bool[] */ private $initializedObjects; + + /** + * @var \SplObjectStorage + */ private $cachedObjectsRefs; /** - * Creates a new execution context. + * @param mixed $root The root value of the validated object graph * - * @param mixed $root The root value of the - * validated object graph - * @param TranslatorInterface $translator The translator - * @param string|null $translationDomain The translation domain to - * use for translating - * violation messages - * - * @internal Called by {@link ExecutionContextFactory}. Should not be used - * in user code. + * @internal Called by {@link ExecutionContextFactory}. Should not be used in user code. */ - public function __construct(ValidatorInterface $validator, $root, $translator, string $translationDomain = null) + public function __construct(ValidatorInterface $validator, $root, TranslatorInterface $translator, ?string $translationDomain = null) { - if (!$translator instanceof LegacyTranslatorInterface && !$translator instanceof TranslatorInterface) { - throw new \TypeError(sprintf('Argument 3 passed to "%s()" must be an instance of "%s", "%s" given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); - } $this->validator = $validator; $this->root = $root; $this->translator = $translator; @@ -160,18 +152,18 @@ public function __construct(ValidatorInterface $validator, $root, $translator, s /** * {@inheritdoc} */ - public function setNode($value, $object, MetadataInterface $metadata = null, $propertyPath) + public function setNode($value, ?object $object, ?MetadataInterface $metadata, string $propertyPath) { $this->value = $value; $this->object = $object; $this->metadata = $metadata; - $this->propertyPath = (string) $propertyPath; + $this->propertyPath = $propertyPath; } /** * {@inheritdoc} */ - public function setGroup($group) + public function setGroup(?string $group) { $this->group = $group; } @@ -187,7 +179,7 @@ public function setConstraint(Constraint $constraint) /** * {@inheritdoc} */ - public function addViolation($message, array $parameters = []) + public function addViolation(string $message, array $parameters = []) { $this->violations->add(new ConstraintViolation( $this->translator->trans($message, $parameters, $this->translationDomain), @@ -205,7 +197,7 @@ public function addViolation($message, array $parameters = []) /** * {@inheritdoc} */ - public function buildViolation($message, array $parameters = []): ConstraintViolationBuilderInterface + public function buildViolation(string $message, array $parameters = []): ConstraintViolationBuilderInterface { return new ConstraintViolationBuilder( $this->violations, @@ -304,7 +296,7 @@ public function getPropertyName(): ?string /** * {@inheritdoc} */ - public function getPropertyPath($subPath = ''): string + public function getPropertyPath(string $subPath = ''): string { return PropertyPath::append($this->propertyPath, $subPath); } @@ -312,7 +304,7 @@ public function getPropertyPath($subPath = ''): string /** * {@inheritdoc} */ - public function markGroupAsValidated($cacheKey, $groupHash) + public function markGroupAsValidated(string $cacheKey, string $groupHash) { if (!isset($this->validatedObjects[$cacheKey])) { $this->validatedObjects[$cacheKey] = []; @@ -324,7 +316,7 @@ public function markGroupAsValidated($cacheKey, $groupHash) /** * {@inheritdoc} */ - public function isGroupValidated($cacheKey, $groupHash): bool + public function isGroupValidated(string $cacheKey, string $groupHash): bool { return isset($this->validatedObjects[$cacheKey][$groupHash]); } @@ -332,7 +324,7 @@ public function isGroupValidated($cacheKey, $groupHash): bool /** * {@inheritdoc} */ - public function markConstraintAsValidated($cacheKey, $constraintHash) + public function markConstraintAsValidated(string $cacheKey, string $constraintHash) { $this->validatedConstraints[$cacheKey.':'.$constraintHash] = true; } @@ -340,7 +332,7 @@ public function markConstraintAsValidated($cacheKey, $constraintHash) /** * {@inheritdoc} */ - public function isConstraintValidated($cacheKey, $constraintHash): bool + public function isConstraintValidated(string $cacheKey, string $constraintHash): bool { return isset($this->validatedConstraints[$cacheKey.':'.$constraintHash]); } @@ -348,7 +340,7 @@ public function isConstraintValidated($cacheKey, $constraintHash): bool /** * {@inheritdoc} */ - public function markObjectAsInitialized($cacheKey) + public function markObjectAsInitialized(string $cacheKey) { $this->initializedObjects[$cacheKey] = true; } @@ -356,19 +348,15 @@ public function markObjectAsInitialized($cacheKey) /** * {@inheritdoc} */ - public function isObjectInitialized($cacheKey): bool + public function isObjectInitialized(string $cacheKey): bool { return isset($this->initializedObjects[$cacheKey]); } /** * @internal - * - * @param object $object - * - * @return string */ - public function generateCacheKey($object) + public function generateCacheKey(object $object): string { if (!isset($this->cachedObjectsRefs[$object])) { $this->cachedObjectsRefs[$object] = spl_object_hash($object); @@ -376,4 +364,9 @@ public function generateCacheKey($object) return $this->cachedObjectsRefs[$object]; } + + public function __clone() + { + $this->violations = clone $this->violations; + } } diff --git a/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextFactory.php b/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextFactory.php index 7c96c673..442d59a1 100644 --- a/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextFactory.php +++ b/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextFactory.php @@ -11,7 +11,6 @@ namespace Symfony\Component\Validator\Context; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; use Symfony\Component\Validator\Validator\ValidatorInterface; use Symfony\Contracts\Translation\TranslatorInterface; @@ -27,20 +26,8 @@ class ExecutionContextFactory implements ExecutionContextFactoryInterface private $translator; private $translationDomain; - /** - * Creates a new context factory. - * - * @param TranslatorInterface $translator The translator - * @param string|null $translationDomain The translation domain to - * use for translating - * violation messages - */ - public function __construct($translator, string $translationDomain = null) + public function __construct(TranslatorInterface $translator, ?string $translationDomain = null) { - if (!$translator instanceof LegacyTranslatorInterface && !$translator instanceof TranslatorInterface) { - throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be an instance of "%s", "%s" given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); - } - $this->translator = $translator; $this->translationDomain = $translationDomain; } diff --git a/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php b/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php index bb014a12..a300086c 100644 --- a/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php @@ -29,7 +29,7 @@ interface ExecutionContextFactoryInterface * @param mixed $root The root value of the validated * object graph * - * @return ExecutionContextInterface The new execution context + * @return ExecutionContextInterface */ public function createContext(ValidatorInterface $validator, $root); } diff --git a/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextInterface.php b/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextInterface.php index f23182e4..e084500a 100644 --- a/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Context/ExecutionContextInterface.php @@ -67,7 +67,7 @@ interface ExecutionContextInterface * @param string|\Stringable $message The error message as a string or a stringable object * @param array $params The parameters substituted in the error message */ - public function addViolation($message, array $params = []); + public function addViolation(string $message, array $params = []); /** * Returns a builder for adding a violation with extended information. @@ -84,9 +84,9 @@ public function addViolation($message, array $params = []); * @param string|\Stringable $message The error message as a string or a stringable object * @param array $parameters The parameters substituted in the error message * - * @return ConstraintViolationBuilderInterface The violation builder + * @return ConstraintViolationBuilderInterface */ - public function buildViolation($message, array $parameters = []); + public function buildViolation(string $message, array $parameters = []); /** * Returns the validator. @@ -118,121 +118,93 @@ public function getValidator(); * * In other cases, null is returned. * - * @return object|null The currently validated object or null + * @return object|null */ public function getObject(); /** - * Sets the currently validated value. + * Warning: Should not be called by user code, to be used by the validator engine only. * * @param mixed $value The validated value * @param object|null $object The currently validated object * @param string $propertyPath The property path to the current value - * - * @internal Used by the validator engine. Should not be called by user - * code. */ - public function setNode($value, $object, MetadataInterface $metadata = null, $propertyPath); + public function setNode($value, ?object $object, ?MetadataInterface $metadata, string $propertyPath); /** - * Sets the currently validated group. + * Warning: Should not be called by user code, to be used by the validator engine only. * * @param string|null $group The validated group - * - * @internal Used by the validator engine. Should not be called by user - * code. */ - public function setGroup($group); + public function setGroup(?string $group); /** - * Sets the currently validated constraint. - * - * @internal Used by the validator engine. Should not be called by user - * code. + * Warning: Should not be called by user code, to be used by the validator engine only. */ public function setConstraint(Constraint $constraint); /** - * Marks an object as validated in a specific validation group. + * Warning: Should not be called by user code, to be used by the validator engine only. * * @param string $cacheKey The hash of the object * @param string $groupHash The group's name or hash, if it is group * sequence - * - * @internal Used by the validator engine. Should not be called by user - * code. */ - public function markGroupAsValidated($cacheKey, $groupHash); + public function markGroupAsValidated(string $cacheKey, string $groupHash); /** - * Returns whether an object was validated in a specific validation group. + * Warning: Should not be called by user code, to be used by the validator engine only. * * @param string $cacheKey The hash of the object * @param string $groupHash The group's name or hash, if it is group * sequence * - * @return bool Whether the object was already validated for that - * group - * - * @internal Used by the validator engine. Should not be called by user - * code. + * @return bool */ - public function isGroupValidated($cacheKey, $groupHash); + public function isGroupValidated(string $cacheKey, string $groupHash); /** - * Marks a constraint as validated for an object. + * Warning: Should not be called by user code, to be used by the validator engine only. * * @param string $cacheKey The hash of the object * @param string $constraintHash The hash of the constraint - * - * @internal Used by the validator engine. Should not be called by user - * code. */ - public function markConstraintAsValidated($cacheKey, $constraintHash); + public function markConstraintAsValidated(string $cacheKey, string $constraintHash); /** - * Returns whether a constraint was validated for an object. + * Warning: Should not be called by user code, to be used by the validator engine only. * * @param string $cacheKey The hash of the object * @param string $constraintHash The hash of the constraint * - * @return bool Whether the constraint was already validated - * - * @internal Used by the validator engine. Should not be called by user - * code. + * @return bool */ - public function isConstraintValidated($cacheKey, $constraintHash); + public function isConstraintValidated(string $cacheKey, string $constraintHash); /** - * Marks that an object was initialized. + * Warning: Should not be called by user code, to be used by the validator engine only. * * @param string $cacheKey The hash of the object * - * @internal Used by the validator engine. Should not be called by user - * code. - * * @see ObjectInitializerInterface */ - public function markObjectAsInitialized($cacheKey); + public function markObjectAsInitialized(string $cacheKey); /** - * Returns whether an object was initialized. + * Warning: Should not be called by user code, to be used by the validator engine only. * * @param string $cacheKey The hash of the object * - * @return bool Whether the object was already initialized - * - * @internal Used by the validator engine. Should not be called by user - * code. + * @return bool * * @see ObjectInitializerInterface */ - public function isObjectInitialized($cacheKey); + public function isObjectInitialized(string $cacheKey); /** * Returns the violations generated by the validator so far. * - * @return ConstraintViolationListInterface The constraint violation list + * @return ConstraintViolationListInterface */ public function getViolations(); @@ -245,7 +217,7 @@ public function getViolations(); * * The current value is returned by {@link getValue}. * - * @return mixed The root value of the validation + * @return mixed */ public function getRoot(); @@ -255,7 +227,7 @@ public function getRoot(); * If you want to retrieve the object that was originally passed to the * validator, use {@link getRoot}. * - * @return mixed The currently validated value + * @return mixed */ public function getValue(); @@ -272,15 +244,14 @@ public function getValue(); * has been called with a plain value and constraint, this method returns * null. * - * @return MetadataInterface|null the metadata of the currently validated - * value + * @return MetadataInterface|null */ public function getMetadata(); /** * Returns the validation group that is currently being validated. * - * @return string|null The current validation group + * @return string|null */ public function getGroup(); @@ -291,7 +262,7 @@ public function getGroup(); * {@link Mapping\ClassMetadataInterface} or if no metadata is available for the * current node, this method returns null. * - * @return string|null The class name or null, if no class name could be found + * @return string|null */ public function getClassName(); @@ -302,7 +273,7 @@ public function getClassName(); * {@link PropertyMetadataInterface} or if no metadata is available for the * current node, this method returns null. * - * @return string|null The property name or null, if no property name could be found + * @return string|null */ public function getPropertyName(); @@ -337,5 +308,5 @@ public function getPropertyName(); * string if the validator is currently validating the * root value of the validation graph. */ - public function getPropertyPath($subPath = ''); + public function getPropertyPath(string $subPath = ''); } diff --git a/upload/system/storage/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php b/upload/system/storage/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php index b4b5a5b1..eb846cb5 100644 --- a/upload/system/storage/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php +++ b/upload/system/storage/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php @@ -25,7 +25,7 @@ /** * @author Maxime Steinhausser * - * @final since Symfony 4.4 + * @final */ class ValidatorDataCollector extends DataCollector implements LateDataCollectorInterface { @@ -39,10 +39,8 @@ public function __construct(TraceableValidator $validator) /** * {@inheritdoc} - * - * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/* , \Throwable $exception = null */) + public function collect(Request $request, Response $response, ?\Throwable $exception = null) { // Everything is collected once, on kernel terminate. } @@ -67,18 +65,12 @@ public function lateCollect() }, 0); } - /** - * @return Data - */ - public function getCalls() + public function getCalls(): Data { return $this->data['calls']; } - /** - * @return int - */ - public function getViolationsCount() + public function getViolationsCount(): int { return $this->data['violations_count']; } @@ -86,12 +78,12 @@ public function getViolationsCount() /** * {@inheritdoc} */ - public function getName() + public function getName(): string { return 'validator'; } - protected function getCasters() + protected function getCasters(): array { return parent::getCasters() + [ \Exception::class => function (\Exception $e, array $a, Stub $s) { diff --git a/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddAutoMappingConfigurationPass.php b/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddAutoMappingConfigurationPass.php index 77bd7ce2..dca06ee1 100644 --- a/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddAutoMappingConfigurationPass.php +++ b/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddAutoMappingConfigurationPass.php @@ -27,6 +27,10 @@ class AddAutoMappingConfigurationPass implements CompilerPassInterface public function __construct(string $validatorBuilderService = 'validator.builder', string $tag = 'validator.auto_mapper') { + if (0 < \func_num_args()) { + trigger_deprecation('symfony/validator', '5.3', 'Configuring "%s" is deprecated.', __CLASS__); + } + $this->validatorBuilderService = $validatorBuilderService; $this->tag = $tag; } diff --git a/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddConstraintValidatorsPass.php b/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddConstraintValidatorsPass.php index 42636a33..a3c65598 100644 --- a/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddConstraintValidatorsPass.php +++ b/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddConstraintValidatorsPass.php @@ -27,6 +27,10 @@ class AddConstraintValidatorsPass implements CompilerPassInterface public function __construct(string $validatorFactoryServiceId = 'validator.validator_factory', string $constraintValidatorTag = 'validator.constraint_validator') { + if (0 < \func_num_args()) { + trigger_deprecation('symfony/validator', '5.3', 'Configuring "%s" is deprecated.', __CLASS__); + } + $this->validatorFactoryServiceId = $validatorFactoryServiceId; $this->constraintValidatorTag = $constraintValidatorTag; } diff --git a/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php b/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php index b6f3a076..0ea8eef7 100644 --- a/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php +++ b/upload/system/storage/vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php @@ -11,13 +11,9 @@ namespace Symfony\Component\Validator\DependencyInjection; -use Symfony\Component\DependencyInjection\ChildDefinition; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; -use Symfony\Component\Validator\Util\LegacyTranslatorProxy; /** * @author Fabien Potencier @@ -30,6 +26,10 @@ class AddValidatorInitializersPass implements CompilerPassInterface public function __construct(string $builderService = 'validator.builder', string $initializerTag = 'validator.initializer') { + if (0 < \func_num_args()) { + trigger_deprecation('symfony/validator', '5.3', 'Configuring "%s" is deprecated.', __CLASS__); + } + $this->builderService = $builderService; $this->initializerTag = $initializerTag; } @@ -46,33 +46,5 @@ public function process(ContainerBuilder $container) } $container->getDefinition($this->builderService)->addMethodCall('addObjectInitializers', [$initializers]); - - // @deprecated logic, to be removed in Symfony 5.0 - $builder = $container->getDefinition($this->builderService); - $calls = []; - - foreach ($builder->getMethodCalls() as [$method, $arguments]) { - if ('setTranslator' === $method) { - if (!$arguments[0] instanceof Reference) { - $translator = $arguments[0]; - } elseif ($container->has($arguments[0])) { - $translator = $container->findDefinition($arguments[0]); - } else { - continue; - } - - while (!($class = $translator->getClass()) && $translator instanceof ChildDefinition) { - $translator = $container->findDefinition($translator->getParent()); - } - - if (!is_subclass_of($class, LegacyTranslatorInterface::class)) { - $arguments[0] = (new Definition(LegacyTranslatorProxy::class))->addArgument($arguments[0]); - } - } - - $calls[] = [$method, $arguments]; - } - - $builder->setMethodCalls($calls); } } diff --git a/upload/system/storage/vendor/symfony/validator/Exception/UnexpectedTypeException.php b/upload/system/storage/vendor/symfony/validator/Exception/UnexpectedTypeException.php index 55d56dd9..86a7c032 100644 --- a/upload/system/storage/vendor/symfony/validator/Exception/UnexpectedTypeException.php +++ b/upload/system/storage/vendor/symfony/validator/Exception/UnexpectedTypeException.php @@ -15,6 +15,6 @@ class UnexpectedTypeException extends ValidatorException { public function __construct($value, string $expectedType) { - parent::__construct(sprintf('Expected argument of type "%s", "%s" given', $expectedType, \is_object($value) ? \get_class($value) : \gettype($value))); + parent::__construct(sprintf('Expected argument of type "%s", "%s" given', $expectedType, get_debug_type($value))); } } diff --git a/upload/system/storage/vendor/symfony/validator/Exception/ValidationFailedException.php b/upload/system/storage/vendor/symfony/validator/Exception/ValidationFailedException.php new file mode 100644 index 00000000..ca0314cf --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Exception/ValidationFailedException.php @@ -0,0 +1,40 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Exception; + +use Symfony\Component\Validator\ConstraintViolationListInterface; + +/** + * @author Jan Vernieuwe + */ +class ValidationFailedException extends RuntimeException +{ + private $violations; + private $value; + + public function __construct($value, ConstraintViolationListInterface $violations) + { + $this->violations = $violations; + $this->value = $value; + parent::__construct($violations); + } + + public function getValue() + { + return $this->value; + } + + public function getViolations(): ConstraintViolationListInterface + { + return $this->violations; + } +} diff --git a/upload/system/storage/vendor/symfony/validator/GroupSequenceProviderInterface.php b/upload/system/storage/vendor/symfony/validator/GroupSequenceProviderInterface.php index 1ce50433..0374a8b3 100644 --- a/upload/system/storage/vendor/symfony/validator/GroupSequenceProviderInterface.php +++ b/upload/system/storage/vendor/symfony/validator/GroupSequenceProviderInterface.php @@ -22,7 +22,7 @@ interface GroupSequenceProviderInterface * Returns which validation groups should be used for a certain state * of the object. * - * @return string[]|string[][]|GroupSequence An array of validation groups + * @return string[]|string[][]|GroupSequence */ public function getGroupSequence(); } diff --git a/upload/system/storage/vendor/symfony/validator/LICENSE b/upload/system/storage/vendor/symfony/validator/LICENSE index 88bf75bb..0138f8f0 100644 --- a/upload/system/storage/vendor/symfony/validator/LICENSE +++ b/upload/system/storage/vendor/symfony/validator/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2004-2022 Fabien Potencier +Copyright (c) 2004-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/ClassMetadata.php b/upload/system/storage/vendor/symfony/validator/Mapping/ClassMetadata.php index 482b8926..95700027 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/ClassMetadata.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/ClassMetadata.php @@ -12,9 +12,11 @@ namespace Symfony\Component\Validator\Mapping; use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Constraints\Cascade; use Symfony\Component\Validator\Constraints\Composite; use Symfony\Component\Validator\Constraints\GroupSequence; use Symfony\Component\Validator\Constraints\Traverse; +use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\Exception\ConstraintDefinitionException; use Symfony\Component\Validator\Exception\GroupDefinitionException; @@ -162,7 +164,7 @@ public function getClassName() * will validate the group sequence. The constraints assigned to "Default" * can still be validated by validating the class in "". * - * @return string The name of the default group + * @return string */ public function getDefaultGroup() { @@ -171,6 +173,17 @@ public function getDefaultGroup() /** * {@inheritdoc} + * + * If the constraint {@link Cascade} is added, the cascading strategy will be + * changed to {@link CascadingStrategy::CASCADE}. + * + * If the constraint {@link Traverse} is added, the traversal strategy will be + * changed. Depending on the $traverse property of that constraint, + * the traversal strategy will be set to one of the following: + * + * - {@link TraversalStrategy::IMPLICIT} by default + * - {@link TraversalStrategy::NONE} if $traverse is disabled + * - {@link TraversalStrategy::TRAVERSE} if $traverse is enabled */ public function addConstraint(Constraint $constraint) { @@ -189,6 +202,23 @@ public function addConstraint(Constraint $constraint) return $this; } + if ($constraint instanceof Cascade) { + if (\PHP_VERSION_ID < 70400) { + throw new ConstraintDefinitionException(sprintf('The constraint "%s" requires PHP 7.4.', Cascade::class)); + } + + $this->cascadingStrategy = CascadingStrategy::CASCADE; + + foreach ($this->getReflectionClass()->getProperties() as $property) { + if ($this->canCascade($property->getType())) { + $this->addPropertyConstraint($property->getName(), new Valid()); + } + } + + // The constraint is not added + return $this; + } + $constraint->addImplicitGroupName($this->getDefaultGroup()); parent::addConstraint($constraint); @@ -199,11 +229,9 @@ public function addConstraint(Constraint $constraint) /** * Adds a constraint to the given property. * - * @param string $property The name of the property - * * @return $this */ - public function addPropertyConstraint($property, Constraint $constraint) + public function addPropertyConstraint(string $property, Constraint $constraint) { if (!isset($this->properties[$property])) { $this->properties[$property] = new PropertyMetadata($this->getClassName(), $property); @@ -219,12 +247,11 @@ public function addPropertyConstraint($property, Constraint $constraint) } /** - * @param string $property * @param Constraint[] $constraints * * @return $this */ - public function addPropertyConstraints($property, array $constraints) + public function addPropertyConstraints(string $property, array $constraints) { foreach ($constraints as $constraint) { $this->addPropertyConstraint($property, $constraint); @@ -239,11 +266,9 @@ public function addPropertyConstraints($property, array $constraints) * The name of the getter is assumed to be the name of the property with an * uppercased first letter and the prefix "get", "is" or "has". * - * @param string $property The name of the property - * * @return $this */ - public function addGetterConstraint($property, Constraint $constraint) + public function addGetterConstraint(string $property, Constraint $constraint) { if (!isset($this->getters[$property])) { $this->getters[$property] = new GetterMetadata($this->getClassName(), $property); @@ -261,12 +286,9 @@ public function addGetterConstraint($property, Constraint $constraint) /** * Adds a constraint to the getter of the given property. * - * @param string $property The name of the property - * @param string $method The name of the getter method - * * @return $this */ - public function addGetterMethodConstraint($property, $method, Constraint $constraint) + public function addGetterMethodConstraint(string $property, string $method, Constraint $constraint) { if (!isset($this->getters[$property])) { $this->getters[$property] = new GetterMetadata($this->getClassName(), $property, $method); @@ -282,12 +304,11 @@ public function addGetterMethodConstraint($property, $method, Constraint $constr } /** - * @param string $property * @param Constraint[] $constraints * * @return $this */ - public function addGetterConstraints($property, array $constraints) + public function addGetterConstraints(string $property, array $constraints) { foreach ($constraints as $constraint) { $this->addGetterConstraint($property, $constraint); @@ -297,13 +318,11 @@ public function addGetterConstraints($property, array $constraints) } /** - * @param string $property - * @param string $method * @param Constraint[] $constraints * * @return $this */ - public function addGetterMethodConstraints($property, $method, array $constraints) + public function addGetterMethodConstraints(string $property, string $method, array $constraints) { foreach ($constraints as $constraint) { $this->addGetterMethodConstraint($property, $method, $constraint); @@ -337,16 +356,17 @@ public function mergeConstraints(self $source) $constraint->addImplicitGroupName($this->getDefaultGroup()); } - $this->addPropertyMetadata($member); - if ($member instanceof MemberMetadata && !$member->isPrivate($this->name)) { $property = $member->getPropertyName(); + $this->members[$property][] = $member; if ($member instanceof PropertyMetadata && !isset($this->properties[$property])) { $this->properties[$property] = $member; } elseif ($member instanceof GetterMetadata && !isset($this->getters[$property])) { $this->getters[$property] = $member; } + } else { + $this->addPropertyMetadata($member); } } } @@ -355,7 +375,7 @@ public function mergeConstraints(self $source) /** * {@inheritdoc} */ - public function hasPropertyMetadata($property) + public function hasPropertyMetadata(string $property) { return \array_key_exists($property, $this->members); } @@ -363,7 +383,7 @@ public function hasPropertyMetadata($property) /** * {@inheritdoc} */ - public function getPropertyMetadata($property) + public function getPropertyMetadata(string $property) { return $this->members[$property] ?? []; } @@ -441,11 +461,9 @@ public function getReflectionClass() /** * Sets whether a group sequence provider should be used. * - * @param bool $active - * * @throws GroupDefinitionException */ - public function setGroupSequenceProvider($active) + public function setGroupSequenceProvider(bool $active) { if ($this->hasGroupSequence()) { throw new GroupDefinitionException('Defining a group sequence provider is not allowed with a static group sequence.'); @@ -467,13 +485,11 @@ public function isGroupSequenceProvider() } /** - * Class nodes are never cascaded. - * * {@inheritdoc} */ public function getCascadingStrategy() { - return CascadingStrategy::NONE; + return $this->cascadingStrategy; } private function addPropertyMetadata(PropertyMetadataInterface $metadata) @@ -486,7 +502,7 @@ private function addPropertyMetadata(PropertyMetadataInterface $metadata) private function checkConstraint(Constraint $constraint) { if (!\in_array(Constraint::CLASS_CONSTRAINT, (array) $constraint->getTargets(), true)) { - throw new ConstraintDefinitionException(sprintf('The constraint "%s" cannot be put on classes.', \get_class($constraint))); + throw new ConstraintDefinitionException(sprintf('The constraint "%s" cannot be put on classes.', get_debug_type($constraint))); } if ($constraint instanceof Composite) { @@ -495,4 +511,33 @@ private function checkConstraint(Constraint $constraint) } } } + + private function canCascade(?\ReflectionType $type = null): bool + { + if (null === $type) { + return false; + } + + if ($type instanceof \ReflectionIntersectionType) { + foreach ($type->getTypes() as $nestedType) { + if ($this->canCascade($nestedType)) { + return true; + } + } + + return false; + } + + if ($type instanceof \ReflectionUnionType) { + foreach ($type->getTypes() as $nestedType) { + if (!$this->canCascade($nestedType)) { + return false; + } + } + + return true; + } + + return $type instanceof \ReflectionNamedType && (\in_array($type->getName(), ['array', 'null'], true) || class_exists($type->getName())); + } } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/ClassMetadataInterface.php b/upload/system/storage/vendor/symfony/validator/Mapping/ClassMetadataInterface.php index 1b6f07ac..99764c53 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/ClassMetadataInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/ClassMetadataInterface.php @@ -11,6 +11,9 @@ namespace Symfony\Component\Validator\Mapping; +use Symfony\Component\Validator\Constraints\GroupSequence; +use Symfony\Component\Validator\GroupSequenceProviderInterface; + /** * Stores all metadata needed for validating objects of specific class. * @@ -24,8 +27,8 @@ * @author Bernhard Schussek * * @see MetadataInterface - * @see \Symfony\Component\Validator\Constraints\GroupSequence - * @see \Symfony\Component\Validator\GroupSequenceProviderInterface + * @see GroupSequence + * @see GroupSequenceProviderInterface * @see TraversalStrategy */ interface ClassMetadataInterface extends MetadataInterface @@ -33,7 +36,7 @@ interface ClassMetadataInterface extends MetadataInterface /** * Returns the names of all constrained properties. * - * @return string[] A list of property names + * @return string[] */ public function getConstrainedProperties(); @@ -42,9 +45,7 @@ public function getConstrainedProperties(); * * If it is, you can access the group sequence with {@link getGroupSequence()}. * - * @return bool Returns true if the "Default" group is overridden - * - * @see \Symfony\Component\Validator\Constraints\GroupSequence + * @return bool */ public function hasGroupSequence(); @@ -52,9 +53,7 @@ public function hasGroupSequence(); * Returns the group sequence that overrides the "Default" group for this * class. * - * @return \Symfony\Component\Validator\Constraints\GroupSequence|null The group sequence or null - * - * @see \Symfony\Component\Validator\Constraints\GroupSequence + * @return GroupSequence|null */ public function getGroupSequence(); @@ -63,14 +62,11 @@ public function getGroupSequence(); * sequence obtained by the validated objects. * * If this method returns true, the class must implement - * {@link \Symfony\Component\Validator\GroupSequenceProviderInterface}. + * {@link GroupSequenceProviderInterface}. * This interface will be used to obtain the group sequence when an object * of this class is validated. * - * @return bool Returns true if the "Default" group is overridden by - * a dynamic group sequence - * - * @see \Symfony\Component\Validator\GroupSequenceProviderInterface + * @return bool */ public function isGroupSequenceProvider(); @@ -81,7 +77,7 @@ public function isGroupSequenceProvider(); * * @return bool */ - public function hasPropertyMetadata($property); + public function hasPropertyMetadata(string $property); /** * Returns all metadata instances for the given named property. @@ -91,15 +87,14 @@ public function hasPropertyMetadata($property); * * @param string $property The property name * - * @return PropertyMetadataInterface[] A list of metadata instances. Empty if - * no metadata exists for the property. + * @return PropertyMetadataInterface[] */ - public function getPropertyMetadata($property); + public function getPropertyMetadata(string $property); /** * Returns the name of the backing PHP class. * - * @return string The name of the backing class + * @return string */ public function getClassName(); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php b/upload/system/storage/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php index 89580e16..a12e6b09 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php @@ -13,7 +13,6 @@ use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Validator\Exception\NoSuchMetadataException; -use Symfony\Component\Validator\Mapping\Cache\CacheInterface; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Mapping\Loader\LoaderInterface; @@ -49,20 +48,8 @@ class LazyLoadingMetadataFactory implements MetadataFactoryInterface */ protected $loadedClasses = []; - /** - * Creates a new metadata factory. - * - * @param CacheItemPoolInterface|null $cache The cache for persisting metadata - * between multiple PHP requests - */ - public function __construct(LoaderInterface $loader = null, $cache = null) + public function __construct(?LoaderInterface $loader = null, ?CacheItemPoolInterface $cache = null) { - if ($cache instanceof CacheInterface) { - @trigger_error(sprintf('Passing a "%s" to "%s" is deprecated in Symfony 4.4 and will trigger a TypeError in 5.0. Please pass an implementation of "%s" instead.', \get_class($cache), __METHOD__, CacheItemPoolInterface::class), \E_USER_DEPRECATED); - } elseif (!$cache instanceof CacheItemPoolInterface && null !== $cache) { - throw new \TypeError(sprintf('Expected an instance of "%s", got "%s".', CacheItemPoolInterface::class, \is_object($cache) ? \get_class($cache) : \gettype($cache))); - } - $this->loader = $loader; $this->cache = $cache; } @@ -85,7 +72,7 @@ public function __construct(LoaderInterface $loader = null, $cache = null) public function getMetadataFor($value) { if (!\is_object($value) && !\is_string($value)) { - throw new NoSuchMetadataException(sprintf('Cannot create metadata for non-objects. Got: "%s".', \gettype($value))); + throw new NoSuchMetadataException(sprintf('Cannot create metadata for non-objects. Got: "%s".', get_debug_type($value))); } $class = ltrim(\is_object($value) ? \get_class($value) : $value, '\\'); @@ -98,24 +85,14 @@ public function getMetadataFor($value) throw new NoSuchMetadataException(sprintf('The class or interface "%s" does not exist.', $class)); } - $cacheItem = null; - if ($this->cache instanceof CacheInterface) { - if ($metadata = $this->cache->read($class)) { - // Include constraints from the parent class - $this->mergeConstraints($metadata); - - return $this->loadedClasses[$class] = $metadata; - } - } elseif (null !== $this->cache) { - $cacheItem = $this->cache->getItem($this->escapeClassName($class)); - if ($cacheItem->isHit()) { - $metadata = $cacheItem->get(); + $cacheItem = null === $this->cache ? null : $this->cache->getItem($this->escapeClassName($class)); + if ($cacheItem && $cacheItem->isHit()) { + $metadata = $cacheItem->get(); - // Include constraints from the parent class - $this->mergeConstraints($metadata); + // Include constraints from the parent class + $this->mergeConstraints($metadata); - return $this->loadedClasses[$class] = $metadata; - } + return $this->loadedClasses[$class] = $metadata; } $metadata = new ClassMetadata($class); @@ -124,9 +101,7 @@ public function getMetadataFor($value) $this->loader->loadClassMetadata($metadata); } - if ($this->cache instanceof CacheInterface) { - $this->cache->write($metadata); - } elseif (null !== $cacheItem) { + if (null !== $cacheItem) { $this->cache->save($cacheItem->set($metadata)); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php b/upload/system/storage/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php index a70b94b9..d3517c52 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php @@ -26,7 +26,7 @@ interface MetadataFactoryInterface * * @param mixed $value Some value * - * @return MetadataInterface The metadata for the value + * @return MetadataInterface * * @throws NoSuchMetadataException If no metadata exists for the given value */ @@ -37,7 +37,7 @@ public function getMetadataFor($value); * * @param mixed $value Some value * - * @return bool Whether metadata can be returned for that value + * @return bool */ public function hasMetadataFor($value); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/GenericMetadata.php b/upload/system/storage/vendor/symfony/validator/Mapping/GenericMetadata.php index 40e447a6..06971e8f 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/GenericMetadata.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/GenericMetadata.php @@ -12,10 +12,9 @@ namespace Symfony\Component\Validator\Mapping; use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Constraints\Cascade; use Symfony\Component\Validator\Constraints\DisableAutoMapping; use Symfony\Component\Validator\Constraints\EnableAutoMapping; -use Symfony\Component\Validator\Constraints\Length; -use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\Traverse; use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\Exception\ConstraintDefinitionException; @@ -134,13 +133,13 @@ public function __clone() * * @return $this * - * @throws ConstraintDefinitionException When trying to add the - * {@link Traverse} constraint + * @throws ConstraintDefinitionException When trying to add the {@link Cascade} + * or {@link Traverse} constraint */ public function addConstraint(Constraint $constraint) { - if ($constraint instanceof Traverse) { - throw new ConstraintDefinitionException(sprintf('The constraint "%s" can only be put on classes. Please use "Symfony\Component\Validator\Constraints\Valid" instead.', \get_class($constraint))); + if ($constraint instanceof Traverse || $constraint instanceof Cascade) { + throw new ConstraintDefinitionException(sprintf('The constraint "%s" can only be put on classes. Please use "Symfony\Component\Validator\Constraints\Valid" instead.', get_debug_type($constraint))); } if ($constraint instanceof Valid && null === $constraint->groups) { @@ -192,8 +191,6 @@ public function addConstraints(array $constraints) */ public function getConstraints() { - $this->configureLengthConstraints($this->constraints); - return $this->constraints; } @@ -212,12 +209,9 @@ public function hasConstraints() * * Aware of the global group (* group). */ - public function findConstraints($group) + public function findConstraints(string $group) { - $constraints = $this->constraintsByGroup[$group] ?? []; - $this->configureLengthConstraints($constraints); - - return $constraints; + return $this->constraintsByGroup[$group] ?? []; } /** @@ -243,26 +237,4 @@ public function getAutoMappingStrategy(): int { return $this->autoMappingStrategy; } - - private function configureLengthConstraints(array $constraints): void - { - $allowEmptyString = true; - - foreach ($constraints as $constraint) { - if ($constraint instanceof NotBlank) { - $allowEmptyString = false; - break; - } - } - - if ($allowEmptyString) { - return; - } - - foreach ($constraints as $constraint) { - if ($constraint instanceof Length && null === $constraint->allowEmptyString) { - $constraint->allowEmptyString = false; - } - } - } } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/GetterMetadata.php b/upload/system/storage/vendor/symfony/validator/Mapping/GetterMetadata.php index 0be33293..d9fa46e9 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/GetterMetadata.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/GetterMetadata.php @@ -39,7 +39,7 @@ class GetterMetadata extends MemberMetadata * * @throws ValidatorException */ - public function __construct(string $class, string $property, string $method = null) + public function __construct(string $class, string $property, ?string $method = null) { if (null === $method) { $getMethod = 'get'.ucfirst($property); diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php index f3173a48..9f6667f8 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php @@ -43,11 +43,8 @@ abstract class AbstractLoader implements LoaderInterface * $this->addNamespaceAlias('mynamespace', '\\Acme\\Package\\Constraints\\'); * * $constraint = $this->newConstraint('mynamespace:NotNull'); - * - * @param string $alias The alias - * @param string $namespace The PHP namespace */ - protected function addNamespaceAlias($alias, $namespace) + protected function addNamespaceAlias(string $alias, string $namespace) { $this->namespaces[$alias] = $namespace; } @@ -67,10 +64,10 @@ protected function addNamespaceAlias($alias, $namespace) * * @throws MappingException If the namespace prefix is undefined */ - protected function newConstraint($name, $options = null) + protected function newConstraint(string $name, $options = null) { if (str_contains($name, '\\') && class_exists($name)) { - $className = (string) $name; + $className = $name; } elseif (str_contains($name, ':')) { [$prefix, $className] = explode(':', $name, 2); diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php index 9f2f1597..2e4e8cb2 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php @@ -20,15 +20,16 @@ use Symfony\Component\Validator\Mapping\ClassMetadata; /** - * Loads validation metadata using a Doctrine annotation {@link Reader}. + * Loads validation metadata using a Doctrine annotation {@link Reader} or using PHP 8 attributes. * * @author Bernhard Schussek + * @author Alexander M. Turek */ class AnnotationLoader implements LoaderInterface { protected $reader; - public function __construct(Reader $reader) + public function __construct(?Reader $reader = null) { $this->reader = $reader; } @@ -42,7 +43,7 @@ public function loadClassMetadata(ClassMetadata $metadata) $className = $reflClass->name; $success = false; - foreach ($this->reader->getClassAnnotations($reflClass) as $constraint) { + foreach ($this->getAnnotations($reflClass) as $constraint) { if ($constraint instanceof GroupSequence) { $metadata->setGroupSequence($constraint->groups); } elseif ($constraint instanceof GroupSequenceProvider) { @@ -56,7 +57,7 @@ public function loadClassMetadata(ClassMetadata $metadata) foreach ($reflClass->getProperties() as $property) { if ($property->getDeclaringClass()->name === $className) { - foreach ($this->reader->getPropertyAnnotations($property) as $constraint) { + foreach ($this->getAnnotations($property) as $constraint) { if ($constraint instanceof Constraint) { $metadata->addPropertyConstraint($property->name, $constraint); } @@ -68,7 +69,7 @@ public function loadClassMetadata(ClassMetadata $metadata) foreach ($reflClass->getMethods() as $method) { if ($method->getDeclaringClass()->name === $className) { - foreach ($this->reader->getMethodAnnotations($method) as $constraint) { + foreach ($this->getAnnotations($method) as $constraint) { if ($constraint instanceof Callback) { $constraint->callback = $method->getName(); @@ -88,4 +89,57 @@ public function loadClassMetadata(ClassMetadata $metadata) return $success; } + + /** + * @param \ReflectionClass|\ReflectionMethod|\ReflectionProperty $reflection + */ + private function getAnnotations(object $reflection): iterable + { + $dedup = []; + + if (\PHP_VERSION_ID >= 80000) { + foreach ($reflection->getAttributes(GroupSequence::class) as $attribute) { + $dedup[] = $attribute->newInstance(); + yield $attribute->newInstance(); + } + foreach ($reflection->getAttributes(GroupSequenceProvider::class) as $attribute) { + $dedup[] = $attribute->newInstance(); + yield $attribute->newInstance(); + } + foreach ($reflection->getAttributes(Constraint::class, \ReflectionAttribute::IS_INSTANCEOF) as $attribute) { + $dedup[] = $attribute->newInstance(); + yield $attribute->newInstance(); + } + } + if (!$this->reader) { + return; + } + + $annotations = []; + + if ($reflection instanceof \ReflectionClass) { + $annotations = $this->reader->getClassAnnotations($reflection); + } + if ($reflection instanceof \ReflectionMethod) { + $annotations = $this->reader->getMethodAnnotations($reflection); + } + if ($reflection instanceof \ReflectionProperty) { + $annotations = $this->reader->getPropertyAnnotations($reflection); + } + + foreach ($dedup as $annotation) { + if ($annotation instanceof Constraint) { + $annotation->groups; // trigger initialization of the "groups" property + } + } + + foreach ($annotations as $annotation) { + if ($annotation instanceof Constraint) { + $annotation->groups; // trigger initialization of the "groups" property + } + if (!\in_array($annotation, $dedup, false)) { + yield $annotation; + } + } + } } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AutoMappingTrait.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AutoMappingTrait.php index f76442f0..4661ce65 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AutoMappingTrait.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/AutoMappingTrait.php @@ -21,7 +21,7 @@ */ trait AutoMappingTrait { - private function isAutoMappingEnabledForClass(ClassMetadata $metadata, string $classValidatorRegexp = null): bool + private function isAutoMappingEnabledForClass(ClassMetadata $metadata, ?string $classValidatorRegexp = null): bool { // Check if AutoMapping constraint is set first if (AutoMappingStrategy::NONE !== $strategy = $metadata->getAutoMappingStrategy()) { diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/FilesLoader.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/FilesLoader.php index 0882c393..f6574f46 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/FilesLoader.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/FilesLoader.php @@ -35,11 +35,9 @@ public function __construct(array $paths) /** * Returns an array of file loaders for the given file paths. * - * @param array $paths An array of file paths - * - * @return LoaderInterface[] The metadata loaders + * @return LoaderInterface[] */ - protected function getFileLoaders($paths) + protected function getFileLoaders(array $paths) { $loaders = []; @@ -53,9 +51,7 @@ protected function getFileLoaders($paths) /** * Creates a loader for the given file path. * - * @param string $path The file path - * - * @return LoaderInterface The created loader + * @return LoaderInterface */ - abstract protected function getFileLoaderInstance($path); + abstract protected function getFileLoaderInstance(string $path); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/LoaderChain.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/LoaderChain.php index 5eb17ee3..b3d61846 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/LoaderChain.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/LoaderChain.php @@ -36,7 +36,7 @@ public function __construct(array $loaders) { foreach ($loaders as $loader) { if (!$loader instanceof LoaderInterface) { - throw new MappingException(sprintf('Class "%s" is expected to implement LoaderInterface.', \get_class($loader))); + throw new MappingException(sprintf('Class "%s" is expected to implement LoaderInterface.', get_debug_type($loader))); } } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php index d988309f..974214c4 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php @@ -23,7 +23,7 @@ interface LoaderInterface /** * Loads validation metadata into a {@link ClassMetadata} instance. * - * @return bool Whether the loader succeeded + * @return bool */ public function loadClassMetadata(ClassMetadata $metadata); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/PropertyInfoLoader.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/PropertyInfoLoader.php index 530348c6..3895eb11 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/PropertyInfoLoader.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/PropertyInfoLoader.php @@ -36,7 +36,7 @@ final class PropertyInfoLoader implements LoaderInterface private $accessExtractor; private $classValidatorRegexp; - public function __construct(PropertyListExtractorInterface $listExtractor, PropertyTypeExtractorInterface $typeExtractor, PropertyAccessExtractorInterface $accessExtractor, string $classValidatorRegexp = null) + public function __construct(PropertyListExtractorInterface $listExtractor, PropertyTypeExtractorInterface $typeExtractor, PropertyAccessExtractorInterface $accessExtractor, ?string $classValidatorRegexp = null) { $this->listExtractor = $listExtractor; $this->typeExtractor = $typeExtractor; @@ -119,7 +119,8 @@ public function loadClassMetadata(ClassMetadata $metadata): bool } if (!$hasTypeConstraint) { if (1 === \count($builtinTypes)) { - if ($types[0]->isCollection() && (null !== $collectionValueType = $types[0]->getCollectionValueType())) { + if ($types[0]->isCollection() && \count($collectionValueType = $types[0]->getCollectionValueTypes()) > 0) { + [$collectionValueType] = $collectionValueType; $this->handleAllConstraint($property, $allConstraint, $collectionValueType, $metadata); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php index c25bdf09..66cfe8ff 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Mapping\Loader; use Symfony\Component\Config\Util\XmlUtils; +use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Exception\MappingException; use Symfony\Component\Validator\Mapping\ClassMetadata; @@ -52,7 +53,7 @@ public function loadClassMetadata(ClassMetadata $metadata) /** * Return the names of the classes mapped in this file. * - * @return string[] The classes names + * @return string[] */ public function getMappedClasses() { @@ -68,7 +69,7 @@ public function getMappedClasses() * * @param \SimpleXMLElement $nodes The XML nodes * - * @return array The Constraint instances + * @return Constraint[] */ protected function parseConstraints(\SimpleXMLElement $nodes) { @@ -102,7 +103,7 @@ protected function parseConstraints(\SimpleXMLElement $nodes) * * @param \SimpleXMLElement $nodes The XML nodes * - * @return array The values + * @return array */ protected function parseValues(\SimpleXMLElement $nodes) { @@ -136,7 +137,7 @@ protected function parseValues(\SimpleXMLElement $nodes) * * @param \SimpleXMLElement $nodes The XML nodes * - * @return array The options + * @return array */ protected function parseOptions(\SimpleXMLElement $nodes) { @@ -167,13 +168,11 @@ protected function parseOptions(\SimpleXMLElement $nodes) /** * Loads the XML class descriptions from the given file. * - * @param string $path The path of the XML file - * - * @return \SimpleXMLElement The class descriptions + * @return \SimpleXMLElement * * @throws MappingException If the file could not be loaded */ - protected function parseFile($path) + protected function parseFile(string $path) { try { $dom = XmlUtils::loadFile($path, __DIR__.'/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd'); diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php index 6017c3f4..5a242b02 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php @@ -24,7 +24,7 @@ class XmlFilesLoader extends FilesLoader /** * {@inheritdoc} */ - public function getFileLoaderInstance($file) + public function getFileLoaderInstance(string $file) { return new XmlFileLoader($file); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php index 313df88a..8d44ad60 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Mapping\Loader; +use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Yaml\Exception\ParseException; use Symfony\Component\Yaml\Parser as YamlParser; @@ -60,7 +61,7 @@ public function loadClassMetadata(ClassMetadata $metadata) /** * Return the names of the classes mapped in this file. * - * @return string[] The classes names + * @return string[] */ public function getMappedClasses() { @@ -76,7 +77,7 @@ public function getMappedClasses() * * @param array $nodes The YAML nodes * - * @return array An array of values or Constraint instances + * @return array */ protected function parseNodes(array $nodes) { diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php index 235856f5..f32c67c7 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php @@ -24,7 +24,7 @@ class YamlFilesLoader extends FilesLoader /** * {@inheritdoc} */ - public function getFileLoaderInstance($file) + public function getFileLoaderInstance(string $file) { return new YamlFileLoader($file); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/MemberMetadata.php b/upload/system/storage/vendor/symfony/validator/Mapping/MemberMetadata.php index 712e6751..33934c62 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/MemberMetadata.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/MemberMetadata.php @@ -158,7 +158,7 @@ public function isPrivate($objectOrClassName) * * @param object|string $objectOrClassName The object or the class name * - * @return \ReflectionMethod|\ReflectionProperty The reflection instance + * @return \ReflectionMethod|\ReflectionProperty */ public function getReflectionMember($objectOrClassName) { @@ -173,18 +173,16 @@ public function getReflectionMember($objectOrClassName) /** * Creates a new reflection instance for accessing the member's value. * - * Must be implemented by subclasses. - * * @param object|string $objectOrClassName The object or the class name * - * @return \ReflectionMethod|\ReflectionProperty The reflection instance + * @return \ReflectionMethod|\ReflectionProperty */ abstract protected function newReflectionMember($objectOrClassName); private function checkConstraint(Constraint $constraint) { if (!\in_array(Constraint::PROPERTY_CONSTRAINT, (array) $constraint->getTargets(), true)) { - throw new ConstraintDefinitionException(sprintf('The constraint "%s" cannot be put on properties or getters.', \get_class($constraint))); + throw new ConstraintDefinitionException(sprintf('The constraint "%s" cannot be put on properties or getters.', get_debug_type($constraint))); } if ($constraint instanceof Composite) { diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/MetadataInterface.php b/upload/system/storage/vendor/symfony/validator/Mapping/MetadataInterface.php index 514beb94..efb32ce7 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/MetadataInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/MetadataInterface.php @@ -33,7 +33,7 @@ interface MetadataInterface /** * Returns the strategy for cascading objects. * - * @return int The cascading strategy + * @return int * * @see CascadingStrategy */ @@ -42,7 +42,7 @@ public function getCascadingStrategy(); /** * Returns the strategy for traversing traversable objects. * - * @return int The traversal strategy + * @return int * * @see TraversalStrategy */ @@ -51,7 +51,7 @@ public function getTraversalStrategy(); /** * Returns all constraints of this element. * - * @return Constraint[] A list of Constraint instances + * @return Constraint[] */ public function getConstraints(); @@ -60,7 +60,7 @@ public function getConstraints(); * * @param string $group The validation group * - * @return Constraint[] A list of constraint instances + * @return Constraint[] */ - public function findConstraints($group); + public function findConstraints(string $group); } diff --git a/upload/system/storage/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php b/upload/system/storage/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php index 059b142e..f4bbbb90 100644 --- a/upload/system/storage/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php @@ -32,7 +32,7 @@ interface PropertyMetadataInterface extends MetadataInterface /** * Returns the name of the property. * - * @return string The property name + * @return string */ public function getPropertyName(); @@ -41,7 +41,7 @@ public function getPropertyName(); * * @param mixed $containingValue The container to extract the property value from * - * @return mixed The value of the property + * @return mixed */ public function getPropertyValue($containingValue); } diff --git a/upload/system/storage/vendor/symfony/validator/ObjectInitializerInterface.php b/upload/system/storage/vendor/symfony/validator/ObjectInitializerInterface.php index 1bd55f0c..6f3ac5e2 100644 --- a/upload/system/storage/vendor/symfony/validator/ObjectInitializerInterface.php +++ b/upload/system/storage/vendor/symfony/validator/ObjectInitializerInterface.php @@ -22,10 +22,5 @@ */ interface ObjectInitializerInterface { - /** - * Initializes an object just before validation. - * - * @param object $object The object to validate - */ - public function initialize($object); + public function initialize(object $object); } diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.af.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.af.xlf index d1dcf3ec..706f0ca4 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.af.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.af.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Hierdie lêer is nie 'n geldige beeld nie. - - This is not a valid IP address. - Hierdie is nie 'n geldige IP-adres nie. + + This value is not a valid IP address. + Hierdie waarde is nie 'n geldige IP-adres nie. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Geen lêer is opgelaai nie. - - No temporary folder was configured in php.ini. - Geen tydelike lêer is ingestel in php.ini nie. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Geen tydelike gids is in php.ini opgestel nie, of die opgestelde gids bestaan nie. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Nie-ondersteunde tipe kaart of ongeldige kredietkaart nommer. - - This is not a valid International Bank Account Number (IBAN). - Hierdie is nie 'n geldige Internationale Bank Rekening Nommer (IBAN) nie. + + This value is not a valid International Bank Account Number (IBAN). + Hierdie waarde is nie 'n geldige Internasionale Bankrekeningnommer (IBAN) nie. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Die waarde stem nie ooreen met die verwagte {{ charset }} karakterstel nie. - - This is not a valid Business Identifier Code (BIC). - Hierdie is nie 'n geldige Besigheids Identifikasie Kode (BIC) nie. + + This value is not a valid Business Identifier Code (BIC). + Hierdie waarde is nie 'n geldige Besigheid Identifiseerder Kode (BIC) nie. Error Fout - - This is not a valid UUID. - Hierdie is nie 'n geldige UUID nie. + + This value is not a valid UUID. + Hierdie waarde is nie 'n geldige UUID nie. This value should be a multiple of {{ compared_value }}. @@ -358,6 +358,10 @@ This value is not a valid timezone. Hierdie waarde is nie 'n geldige tydsone nie. + + This password has been leaked in a data breach, it must not be used. Please use another password. + Hierdie wagwoord is in 'n data-oortreding uitgelek, dit mag nie gebruik word nie. Gebruik asseblief 'n ander wagwoord. + This value should be between {{ min }} and {{ max }}. Hierdie waarde moet tussen {{ min }} en {{ max }} wees. @@ -398,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Die waarde van die netmasker moet tussen {{ min }} en {{ max }} wees. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Die lêernaam is te lank. Dit moet {{ filename_max_length }} karakter of minder hê.|Die lêernaam is te lank. Dit moet {{ filename_max_length }} karakters of minder hê. + + + The password strength is too low. Please use a stronger password. + Die wagwoordsterkte is te laag. Gebruik asseblief 'n sterker wagwoord. + + + This value contains characters that are not allowed by the current restriction-level. + Hierdie waarde bevat karakters wat nie toegelaat word deur die huidige beperkingsvlak nie. + + + Using invisible characters is not allowed. + Die gebruik van onsigbare karakters word nie toegelaat nie. + + + Mixing numbers from different scripts is not allowed. + Die meng van nommers van verskillende skrifte word nie toegelaat nie. + + + Using hidden overlay characters is not allowed. + Die gebruik van verborge oorvleuelende karakters word nie toegelaat nie. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Die uitbreiding van die lêer is ongeldig ({{ extension }}). Toegelate uitbreidings is {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Die opgespoorde karakterkodering is ongeldig ({{ detected }}). Toegelate koderings is {{ encodings }}. + + + This value is not a valid MAC address. + Hierdie waarde is nie 'n geldige MAC-adres nie. + + + This URL is missing a top-level domain. + Die URL mis 'n topvlakdomein. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ar.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ar.xlf index 6aa0d594..6c684d98 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ar.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ar.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. هذا الملف ليس صورة صحيحة. - - This is not a valid IP address. - هذه القيمة ليست عنوان رقمى صحيح. + + This value is not a valid IP address. + هذا ليس عنوان IP صحيح. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. لم يتم ارسال اى ملف. - - No temporary folder was configured in php.ini. - لم يتم تهيئة حافظة مؤقتة فى ملف php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + لم يتم تكوين مجلد مؤقت في ملف php.ini. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. نوع البطاقه غير مدعوم او الرقم غير صحيح. - - This is not a valid International Bank Account Number (IBAN). - الرقم IBAN (رقم الحساب المصرفي الدولي) الذي تم إدخاله غير صالح. + + This value is not a valid International Bank Account Number (IBAN). + هذه القيمة ليست رقم حساب بنكي دولي (IBAN) صالحًا. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. هذه القيمة غير متطابقة مع صيغة التحويل {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - هذه القيمة ليست رمز معرّف نشاط تجاري صالح (BIC). + + This value is not a valid Business Identifier Code (BIC). + هذه القيمة ليست رمز معرف أعمال (BIC) صالحًا. Error خطأ - - This is not a valid UUID. - هذا ليس UUID صالح. + + This value is not a valid UUID. + هذه القيمة ليست UUID صالحًا. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. يجب أن تكون قيمة netmask بين {{ min }} و {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + اسم الملف طويل جدا. يجب أن يحتوي على {{ filename_max_length }} حرف أو أقل.|اسم الملف طويل جدا. يجب أن يحتوي على {{ filename_max_length }} أحرف أو أقل. + + + The password strength is too low. Please use a stronger password. + قوة كلمة المرور منخفضة للغاية. يرجى استخدام كلمة مرور أقوى. + + + This value contains characters that are not allowed by the current restriction-level. + تحتوي هذه القيمة على أحرف غير مسموح بها بواسطة مستوى التقييد الحالي. + + + Using invisible characters is not allowed. + لا يسمح باستخدام أحرف غير مرئية. + + + Mixing numbers from different scripts is not allowed. + لا يسمح بخلط الأرقام من نصوص مختلفة. + + + Using hidden overlay characters is not allowed. + لا يسمح باستخدام أحرف التراكب المخفية. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + امتداد الملف غير صحيح ({{ extension }}). الامتدادات المسموح بها هي {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + تم اكتشاف ترميز أحرف غير صالح ({{ detected }}). الترميزات المسموح بها هي {{ encodings }}. + + + This value is not a valid MAC address. + هذه القيمة ليست عنوان MAC صالحًا. + + + This URL is missing a top-level domain. + هذا الرابط يفتقر إلى نطاق المستوى الأعلى. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.az.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.az.xlf index b3e09993..0b149024 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.az.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.az.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Bu fayl düzgün bir şəkil deyil. - - This is not a valid IP address. - Bu düzgün bir IP adresi deyil. + + This value is not a valid IP address. + Bu dəyər etibarlı bir IP ünvanı deyil. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Fayl yüklənmədi. - - No temporary folder was configured in php.ini. - php.ini'də müvəqqəti qovluq quraşdırılmayıb. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini-də müvəqqəti qovluq quraşdırılmayıb, və ya quraşdırılmış qovluq mövcud deyil. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Dəstəklənməyən kart tipi və ya yanlış kart nömrəsi. - - This is not a valid International Bank Account Number (IBAN). - Bu dəyər doğru bir Beynəlxalq Bank Hesap Nömrəsi (IBAN) deyil. + + This value is not a valid International Bank Account Number (IBAN). + Bu dəyər etibarlı bir Beynəlxalq Bank Hesab Nömrəsi (IBAN) deyil. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Bu dəyər gözlənilən {{ charset }} simvol cədvəli ilə uyğun gəlmir. - - This is not a valid Business Identifier Code (BIC). - Bu dəyər doğru bir Biznes Təyinedici Kodu (BIC) deyil. + + This value is not a valid Business Identifier Code (BIC). + Bu dəyər etibarlı bir Biznes Təyinat Kodu (BIC) deyil. Error Xəta - - This is not a valid UUID. - Bu dəyər doğru bir UUID deyil. + + This value is not a valid UUID. + Bu dəyər etibarlı bir UUID deyil. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Şəbəkə maskasının dəyəri {{ min }} və {{ max }} arasında olmalıdır. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Fayl adı çox uzundur. {{ filename_max_length }} və ya daha az simvol olmalıdır. + + + The password strength is too low. Please use a stronger password. + Parolun gücü çox zəifdir. Zəhmət olmasa, daha güclü bir parol istifadə edin. + + + This value contains characters that are not allowed by the current restriction-level. + Bu dəyərdə cari məhdudiyyət səviyyəsi tərəfindən icazə verilməyən simvollar var. + + + Using invisible characters is not allowed. + Görünməz simvolların istifadəsinə icazə verilmir. + + + Mixing numbers from different scripts is not allowed. + Fərqli skriptlərdən nömrələrin qarışdırılmasına icazə verilmir. + + + Using hidden overlay characters is not allowed. + Gizli örtülü simvolların istifadəsinə icazə verilmir. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Faylın uzantısı yanlışdır ({{ extension }}). İcazə verilən uzantılar {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Təsbit edilən simvol şifrləməsi yanlışdır. ({{ detected }}). İcazə verilən şifrləmələr bunlardır: {{ encodings }}. + + + This value is not a valid MAC address. + Bu dəyər etibarlı bir MAC ünvanı deyil. + + + This URL is missing a top-level domain. + Bu URL yuxarı səviyyəli domeni çatışmır. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.be.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.be.xlf index 64895568..3db0ddc2 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.be.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.be.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Гэты файл не з'яўляецца сапраўднай выявай. - - This is not a valid IP address. - Значэнне не з'яўляецца сапраўдным IP-адрасам. + + This value is not a valid IP address. + Гэта значэнне не з'яўляецца сапраўдным IP-адрасам. This value is not a valid language. @@ -190,8 +190,8 @@ No file was uploaded. Файл не быў запампаваны. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. У php.ini не была налажана часовая папка, або часовая папка не існуе. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Тып карты не падтрымліваецца або несапраўдны нумар карты. - - This is not a valid International Bank Account Number (IBAN). - Несапраўдны міжнародны нумар банкаўскага рахунку (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Гэта значэнне не з'яўляецца сапраўдным міжнародным нумарам банкаўскага рахунку (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Гэта значэнне не супадае з чаканай {{ charset }} кадыроўкай. - - This is not a valid Business Identifier Code (BIC). - Несапраўдны банкаўскі ідэнтыфікацыйны код (BIC). + + This value is not a valid Business Identifier Code (BIC). + Гэта значэнне не з'яўляецца сапраўдным кодам ідэнтыфікацыі бізнесу (BIC). Error Памылка - - This is not a valid UUID. - Гэта несапраўдны UUID. + + This value is not a valid UUID. + Гэта значэнне не з'яўляецца сапраўдным UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Значэнне сеткавай маскі павінна быць ад {{min}} да {{max}}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Назва файла занадта доўгая. Ён павінен мець {{ filename_max_length }} сімвал або менш.|Назва файла занадта доўгая. Ён павінен мець {{ filename_max_length }} сімвалы або менш.|Назва файла занадта доўгая. Ён павінен мець {{ filename_max_length }} сімвалаў або менш. + + + The password strength is too low. Please use a stronger password. + Надзейнасць пароля занадта нізкая. Выкарыстоўвайце больш надзейны пароль. + + + This value contains characters that are not allowed by the current restriction-level. + Гэта значэнне змяшчае сімвалы, якія не дазволены цяперашнім узроўнем абмежаванняў. + + + Using invisible characters is not allowed. + Выкарыстанне нябачных сімвалаў не дазваляецца. + + + Mixing numbers from different scripts is not allowed. + Змешванне лікаў з розных алфавітаў не дапускаецца. + + + Using hidden overlay characters is not allowed. + Выкарыстанне схаваных накладзеных сімвалаў не дазваляецца. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Пашырэнне файла няслушнае ({{ extension }}). Дазволеныя пашырэнні: {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Выяўленая кадыроўка знакаў няслушная ({{ detected }}). Дазволеныя кадыроўкі: {{ encodings }}. + + + This value is not a valid MAC address. + Гэта значэнне не з'яўляецца сапраўдным MAC-адрасам. + + + This URL is missing a top-level domain. + Гэтаму URL бракуе дамен верхняга ўзроўню. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.bg.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.bg.xlf index 455ff816..e0792e20 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.bg.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.bg.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -68,7 +68,7 @@ The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Mime типа на файла е невалиден ({{ type }}). Разрешени mime типове са {{ types }}. + Mime типът на файла е невалиден ({{ type }}). Разрешени mime типове са {{ types }}. This value should be {{ limit }} or less. @@ -134,9 +134,9 @@ This file is not a valid image. Файлът не е валидно изображение. - - This is not a valid IP address. - Това не е валиден IP адрес. + + This value is not a valid IP address. + Стойността не е валиден IP адрес. This value is not a valid language. @@ -156,7 +156,7 @@ The size of the image could not be detected. - Размера на изображението не може да бъде определен. + Размерът на изображението не може да бъде определен. The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. @@ -190,9 +190,9 @@ No file was uploaded. Файлът не беше качен. - - No temporary folder was configured in php.ini. - Не е посочена директория за временни файлове в php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + В php.ini не е конфигурирана временна директория или конфигурираната директория не съществува. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Неподдържан тип карта или невалиден номер на карта. - - This is not a valid International Bank Account Number (IBAN). - Това не е валиден Международен номер на банкова сметка (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Стойността не е валиден Международен номер на банкова сметка (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Стойността не съвпада с очакваната {{ charset }} кодировка. - - This is not a valid Business Identifier Code (BIC). - Това не е валиден Бизнес идентификационен код (BIC). + + This value is not a valid Business Identifier Code (BIC). + Стойността не е валиден Бизнес идентификационен код (BIC). Error Грешка - - This is not a valid UUID. - Това не е валиден UUID. + + This value is not a valid UUID. + Стойността не е валиден UUID. This value should be a multiple of {{ compared_value }}. @@ -328,7 +328,7 @@ This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Бизнес идентификационния код (BIC) не е свързан с IBAN {{ iban }}. + Бизнес идентификационният код (BIC) не е свързан с IBAN {{ iban }}. This value should be valid JSON. @@ -360,7 +360,7 @@ This password has been leaked in a data breach, it must not be used. Please use another password. - Тази парола е компрометирана, не трябва да бъде използвана. Моля използвайте друга парола. + Тази парола е компрометирана, не може да бъде използвана. Моля използвайте друга парола. This value should be between {{ min }} and {{ max }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Стойността на мрежовата маска трябва да бъде между {{ min }} и {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Името на файла е твърде дълго. Трябва да съдържа не повече от {{ filename_max_length }} символ.|Името на файла е твърде дълго. Трябва да съдържа не повече от {{ filename_max_length }} символа. + + + The password strength is too low. Please use a stronger password. + Сложността на паролата е твърде малка. Моля използвайте по-сложна парола. + + + This value contains characters that are not allowed by the current restriction-level. + Стойността съдържа символи, които не са позволени от текущото ниво на ограничение. + + + Using invisible characters is not allowed. + Използването на невидими символи не е позволено. + + + Mixing numbers from different scripts is not allowed. + Смесването на числа от различни скриптове не е позволено. + + + Using hidden overlay characters is not allowed. + Използването на скрити насложени символи не е позволено. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Разширението на файла е невалидно ({{ extension }}). Разрешените разширения са {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Откритото кодиране на знаците е невалидно ({{ detected }}). Разрешените кодирания са {{ encodings }}. + + + This value is not a valid MAC address. + Стойността не е валиден MAC адрес. + + + This URL is missing a top-level domain. + На този URL липсва домейн от най-високо ниво. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.bs.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.bs.xlf index 43102cca..150025d0 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.bs.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.bs.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Ova datoteka nije validna slika. - - This is not a valid IP address. - Ovo nije ispravna IP adresa. + + This value is not a valid IP address. + Ova vrijednost nije valjana IP adresa. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Nijedna datoteka nije prenijeta (uploaded). - - No temporary folder was configured in php.ini. - Privremeni direktorijum nije konfigurisan u datoteci php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Privremeni direktorij nije konfiguriran u php.ini, ili konfigurirani direktorij ne postoji. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tip kartice nije podržan ili je broj kartice neispravan. - - This is not a valid International Bank Account Number (IBAN). - Ova vrijednost nije ispravan međunarodni broj bankovnog računa (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ova vrijednost nije valjan Međunarodni broj bankovnog računa (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Ova vrijednost ne odgovara očekivanom {{ charset }} setu karaktera (charset). - - This is not a valid Business Identifier Code (BIC). - Ovo nije validan poslovni identifikacioni kod (BIC). + + This value is not a valid Business Identifier Code (BIC). + Ova vrijednost nije valjan Poslovni identifikacijski kod (BIC). Error Greška - - This is not a valid UUID. - Ovo nije validan UUID. + + This value is not a valid UUID. + Ova vrijednost nije valjan UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Vrijednost NetMask bi trebala biti između {{min}} i {{max}}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Ime datoteke je predugačko. Trebao bi imati {{ filename_max_length }} znak ili manje.|Naziv fajla je predugačak. Trebao bi imati {{ filename_max_length }} znakova ili manje. + + + The password strength is too low. Please use a stronger password. + Jačina lozinke je preniska. Molimo koristite jaču lozinku. + + + This value contains characters that are not allowed by the current restriction-level. + Ova vrijednost sadrži znakove koji nisu dozvoljeni trenutnim nivoom ograničenja. + + + Using invisible characters is not allowed. + Upotreba nevidljivih znakova nije dozvoljena. + + + Mixing numbers from different scripts is not allowed. + Nije dozvoljeno miješanje brojeva iz različitih pisama. + + + Using hidden overlay characters is not allowed. + Upotreba skrivenih preklapajućih znakova nije dozvoljena. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Ekstenzija datoteke je nevažeća ({{ extension }}). Dozvoljene ekstenzije su {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Otkriveno kodiranje karaktera je nevažeće ({{ detected }}). Dozvoljena kodiranja su {{ encodings }}. + + + This value is not a valid MAC address. + Ova vrijednost nije valjana MAC adresa. + + + This URL is missing a top-level domain. + Ovom URL-u nedostaje domena najvišeg nivoa. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ca.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ca.xlf index 04f3e9ab..cc3aa08d 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ca.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ca.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -108,7 +108,7 @@ This value is not a valid URL. - Aquest valor no és una URL vàlida. + Aquest valor no és un URL vàlid. The two values should be equal. @@ -116,7 +116,7 @@ The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - L'arxiu és massa gran. El tamany màxim permés és {{ limit }} {{ suffix }}. + L'arxiu és massa gran. La mida màxima permesa és {{ limit }} {{ suffix }}. The file is too large. @@ -134,9 +134,9 @@ This file is not a valid image. L'arxiu no és una imatge vàlida. - - This is not a valid IP address. - Això no és una adreça IP vàlida. + + This value is not a valid IP address. + Aquest valor no és una adreça IP vàlida. This value is not a valid language. @@ -160,19 +160,19 @@ The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - L'amplària de la imatge és massa gran ({{ width }}px). L'amplària màxima permesa són {{ max_width }}px. + L'amplària de la imatge és massa gran ({{ width }}px). L'amplària màxima permesa és {{ max_width }}px. The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - L'amplària de la imatge és massa petita ({{ width }}px). L'amplària mínima requerida són {{ min_width }}px. + L'amplària de la imatge és massa petita ({{ width }}px). L'amplària mínima requerida és {{ min_width }}px. The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - L'altura de la imatge és massa gran ({{ height }}px). L'altura màxima permesa són {{ max_height }}px. + L'altura de la imatge és massa gran ({{ height }}px). L'altura màxima permesa és {{ max_height }}px. The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - L'altura de la imatge és massa petita ({{ height }}px). L'altura mínima requerida són {{ min_height }}px. + L'altura de la imatge és massa petita ({{ height }}px). L'altura mínima requerida és {{ min_height }}px. This value should be the user's current password. @@ -190,9 +190,9 @@ No file was uploaded. Cap arxiu va ser pujat. - - No temporary folder was configured in php.ini. - Cap carpeta temporal va ser configurada en php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + No s'ha configurat cap carpeta temporal en php.ini, o la carpeta configurada no existeix. Cannot write temporary file to disk. @@ -200,7 +200,7 @@ A PHP extension caused the upload to fail. - Una extensió de PHP va fer que la pujada fallara. + Una extensió de PHP va fer que la pujada fallarà. This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tipus de targeta no suportada o número de targeta invàlid. - - This is not a valid International Bank Account Number (IBAN). - Això no és un nombre de compte bancari internacional (IBAN) vàlid. + + This value is not a valid International Bank Account Number (IBAN). + Aquest valor no és un Número de Compte Bancari Internacional (IBAN) vàlid. This value is not a valid ISBN-10. @@ -276,33 +276,33 @@ This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Aquest valor no hauria de idèntic a {{ compared_value_type }} {{ compared_value }}. + Aquest valor no hauria de ser idèntic a {{ compared_value_type }} {{ compared_value }}. The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - La proporció de l'imatge és massa gran ({{ ratio }}). La màxima proporció permesa és {{ max_ratio }}. + La proporció de la imatge és massa gran ({{ ratio }}). La màxima proporció permesa és {{ max_ratio }}. The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - La proporció de l'imatge és massa petita ({{ ratio }}). La mínima proporció permesa és {{ max_ratio }}. + La proporció de la imatge és massa petita ({{ ratio }}). La mínima proporció permesa és {{ min_ratio }}. The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - L'imatge és quadrada({{ width }}x{{ height }}px). Les imatges quadrades no estan permeses. + La imatge és quadrada({{ width }}x{{ height }}px). Les imatges quadrades no estan permeses. The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - L'imatge està orientada horitzontalment ({{ width }}x{{ height }}px). Les imatges orientades horitzontalment no estan permeses. + La imatge està orientada horitzontalment ({{ width }}x{{ height }}px). Les imatges orientades horitzontalment no estan permeses. The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - L'imatge està orientada verticalment ({{ width }}x{{ height }}px). Les imatges orientades verticalment no estan permeses. + La imatge està orientada verticalment ({{ width }}x{{ height }}px). Les imatges orientades verticalment no estan permeses. An empty file is not allowed. - No està permès un fixter buit. + No està permès un fitxer buit. - + The host could not be resolved. No s'ha pogut resoldre l'amfitrió. @@ -310,16 +310,16 @@ This value does not match the expected {{ charset }} charset. Aquest valor no coincideix amb l'esperat {{ charset }} joc de caràcters. - - This is not a valid Business Identifier Code (BIC). - Aquest no és un codi d'identificació bancari (BIC) vàlid. + + This value is not a valid Business Identifier Code (BIC). + Aquest valor no és un Codi d'identificació bancari (BIC) vàlid. Error Error - - This is not a valid UUID. + + This value is not a valid UUID. Aquest valor no és un UUID vàlid. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. El valor de la màscara de xarxa hauria d'estar entre {{ min }} i {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + El nom del fitxer és massa llarg. Ha de tenir {{ filename_max_length }} caràcter o menys.|El nom del fitxer és massa llarg. Ha de tenir {{ filename_max_length }} caràcters o menys. + + + The password strength is too low. Please use a stronger password. + La contrasenya és massa feble. Si us plau, feu servir una contrasenya més segura. + + + This value contains characters that are not allowed by the current restriction-level. + Aquest valor conté caràcters que no estan permisos segons el nivell de restricció actual. + + + Using invisible characters is not allowed. + No es permet l'ús de caràcters invisibles. + + + Mixing numbers from different scripts is not allowed. + No es permet barrejar números de diferents scripts. + + + Using hidden overlay characters is not allowed. + No es permet l'ús de caràcters superposats ocults. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + L'extensió del fitxer no és vàlida ({{ extension }}). Les extensions permeses són {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + S'ha detectat que la codificació de caràcters no és vàlida ({{ detected }}). Les codificacions permeses són {{ encodings }}. + + + This value is not a valid MAC address. + Aquest valor no és una adreça MAC vàlida. + + + This URL is missing a top-level domain. + Aquesta URL no conté un domini de primer nivell. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Aquest valor és massa curt. Ha de contenir almenys una paraula.|Aquest valor és massa curt. Ha de contenir almenys {{ min }} paraules. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Aquest valor és massa llarg. Ha de contenir una paraula.|Aquest valor és massa llarg. Ha de contenir {{ max }} paraules o menys. + + + This value does not represent a valid week in the ISO 8601 format. + Aquest valor no representa una setmana vàlida en el format ISO 8601. + + + This value is not a valid week. + Aquest valor no és una setmana vàlida. + + + This value should not be before week "{{ min }}". + Aquest valor no ha de ser anterior a la setmana "{{ min }}". + + + This value should not be after week "{{ max }}". + Aquest valor no ha de ser posterior a la setmana "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.cs.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.cs.xlf index 75410192..641ce854 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.cs.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.cs.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Tento soubor není obrázek. - - This is not a valid IP address. - Toto není platná IP adresa. + + This value is not a valid IP address. + Tato hodnota není platnou IP adresou. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Žádný soubor nebyl nahrán. - - No temporary folder was configured in php.ini. - V php.ini není nastavena cesta k adresáři pro dočasné soubory. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + V php.ini nebyla nastavena cesta k dočasnému adresáři, nebo nastavený adresář neexistuje. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Nepodporovaný typ karty nebo neplatné číslo karty. - - This is not a valid International Bank Account Number (IBAN). - Toto je neplatný IBAN. + + This value is not a valid International Bank Account Number (IBAN). + Tato hodnota není platným Mezinárodním bankovním číslem účtu (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Tato hodnota neodpovídá očekávané znakové sadě {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Tato hodnota není platný identifikační kód podniku (BIC). + + This value is not a valid Business Identifier Code (BIC). + Tato hodnota není platným Kódem obchodního identifikátoru (BIC). Error Chyba - - This is not a valid UUID. - Tato hodnota není platné UUID. + + This value is not a valid UUID. + Tato hodnota není platným UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Hodnota masky sítě musí být mezi {{ min }} a {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Název souboru je příliš dlouhý. Měl by obsahovat {{ filename_max_length }} znak nebo méně.|Název souboru je příliš dlouhý. Měl by obsahovat {{ filename_max_length }} znaky nebo méně.|Název souboru je příliš dlouhý. Měl by obsahovat {{ filename_max_length }} znaků nebo méně. + + + The password strength is too low. Please use a stronger password. + Síla hesla je příliš nízká. Použijte silnější heslo, prosím. + + + This value contains characters that are not allowed by the current restriction-level. + Tato hodnota obsahuje znaky, které nejsou povoleny aktuální úrovní omezení. + + + Using invisible characters is not allowed. + Používání neviditelných znaků není povoleno. + + + Mixing numbers from different scripts is not allowed. + Kombinování čísel z různých písem není povoleno. + + + Using hidden overlay characters is not allowed. + Použití skrytých překrývajících znaků není povoleno. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Přípona souboru je neplatná ({{ extension }}). Povolené přípony jsou {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Zjištěné kódování znaků je neplatné ({{ detected }}). Povolená kódování jsou {{ encodings }}. + + + This value is not a valid MAC address. + Tato hodnota není platnou MAC adresou. + + + This URL is missing a top-level domain. + Této URL není doména nejvyššího řádu. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Tato hodnota je příliš krátká, měla by obsahovat alespoň jedno slovo|Tato hodnota je příliš krátká, měla by obsahovat alespoň {{ min }} slova. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Tato hodnota je příliš dlouhá, měla obsahovat pouze jedno slovo.|Tato hodnota je příliš dlouhá, měla by obsahovat {{ max }} slova a nebo méně. + + + This value does not represent a valid week in the ISO 8601 format. + Tato hodnota není validní týden v ISO 8601 formatu. + + + This value is not a valid week. + Tato hodnota není validní týden. + + + This value should not be before week "{{ min }}". + Tato hodnota by neměla být týden před "{{ min }}". + + + This value should not be after week "{{ max }}". + Tato hodnota by neměla být týden za "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.cy.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.cy.xlf index 752b6c2a..667f4a6d 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.cy.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.cy.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Nid yw'r ffeil hon yn ddelwedd dilys. - - This is not a valid IP address. - Nid yw hwn yn gyfeiriad IP dilys. + + This value is not a valid IP address. + Nid yw'r gwerth hwn yn gyfeiriad IP dilys. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Ni uwchlwythwyd unrhyw ffeil. - - No temporary folder was configured in php.ini. - Nid oes ffolder dros-dro wedi'i gosod yn php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Nid oedd ffolder dros dro wedi'i ffurfweddu yn php.ini, neu nid yw'r ffolder a ffurfweddiwyd yn bodoli. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Unai ni dderbynir y math yna o gerdyn, neu nid yw rhif y cerdyn yn ddilys. - - This is not a valid International Bank Account Number (IBAN). - Nid yw hwn yn Rhif Cyfrif Banc Rhyngwladol (IBAN) dilys. + + This value is not a valid International Bank Account Number (IBAN). + Nid yw'r gwerth hwn yn Rhif Cyfrif Banc Rhyngwladol (IBAN) dilys. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Nid yw'r gwerth hwn yn cyfateb â'r {{ charset }} set nodau ddisgwyliedig. - - This is not a valid Business Identifier Code (BIC). - Nid yw hwn yn God Adnabod Busnes (BIC) dilys. + + This value is not a valid Business Identifier Code (BIC). + Nid yw'r gwerth hwn yn God Adnabod Busnes (BIC) dilys. Error Gwall - - This is not a valid UUID. - Nid yw hyn yn UUID dilys. + + This value is not a valid UUID. + Nid yw'r gwerth hwn yn UUID dilys. This value should be a multiple of {{ compared_value }}. @@ -330,6 +330,142 @@ This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. Nid yw'r Cod Adnabod Busnes (BIC) hwn yn gysylltiedig ag IBAN {{ iban }}. + + This value should be valid JSON. + Dylai'r gwerth hwn fod yn JSON dilys. + + + This collection should contain only unique elements. + Dylai'r casgliad hwn gynnwys elfennau unigryw yn unig. + + + This value should be positive. + Dylai'r gwerth hwn fod yn gadarnhaol. + + + This value should be either positive or zero. + Dylai'r gwerth hwn fod yn gadarnhaol neu sero. + + + This value should be negative. + Dylai'r gwerth hwn fod yn negyddol. + + + This value should be either negative or zero. + Dylai'r gwerth hwn fod yn negyddol neu sero. + + + This value is not a valid timezone. + Nid yw'r gwerth hwn yn gyfnod parth amser dilys. + + + This password has been leaked in a data breach, it must not be used. Please use another password. + Mae'r cyfrinair hwn wedi'i ddatgelu mewn toriad data, ni ddylid ei ddefnyddio. Defnyddiwch gyfrinair arall. + + + This value should be between {{ min }} and {{ max }}. + Dylai'r gwerth hwn fod rhwng {{ min }} a {{ max }}. + + + This value is not a valid hostname. + Nid yw'r gwerth hwn yn enw gwesteiwr dilys. + + + The number of elements in this collection should be a multiple of {{ compared_value }}. + Dylai nifer yr elfennau yn y casgliad hwn fod yn luosrif o {{ compared_value }}. + + + This value should satisfy at least one of the following constraints: + Dylai'r gwerth hwn fodloni o leiaf un o'r cyfyngiadau canlynol: + + + Each element of this collection should satisfy its own set of constraints. + Dylai pob elfen o'r casgliad hwn fodloni ei gyfres ei hun o gyfyngiadau. + + + This value is not a valid International Securities Identification Number (ISIN). + Nid yw'r gwerth hwn yn Rhif Adnabod Diogelwch Rhyngwladol (ISIN) dilys. + + + This value should be a valid expression. + Dylai'r gwerth hwn fod yn fynegiant dilys. + + + This value is not a valid CSS color. + Nid yw'r gwerth hwn yn lliw CSS dilys. + + + This value is not a valid CIDR notation. + Nid yw'r gwerth hwn yn nodiant CIDR dilys. + + + The value of the netmask should be between {{ min }} and {{ max }}. + Dylai gwerth y mwgwd rhwydwaith fod rhwng {{ min }} a {{ max }}. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Mae'r enw ffeil yn rhy hir. Dylai fod â {{ filename_max_length }} cymeriad neu lai.|Mae'r enw ffeil yn rhy hir. Dylai fod â {{ filename_max_length }} nodau neu lai. + + + The password strength is too low. Please use a stronger password. + Mae cryfder y cyfrinair yn rhy isel. Defnyddiwch gyfrinair cryfach os gwelwch yn dda. + + + This value contains characters that are not allowed by the current restriction-level. + Mae'r gwerth hwn yn cynnwys cymeriadau nad ydynt yn cael eu caniatáu gan y lefel cyfyngu presennol. + + + Using invisible characters is not allowed. + Ni chaniateir defnyddio cymeriadau anweledig. + + + Mixing numbers from different scripts is not allowed. + Ni chaniateir cymysgu rhifau o sgriptiau gwahanol. + + + Using hidden overlay characters is not allowed. + Ni chaniateir defnyddio cymeriadau goruwchlwytho cudd. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Mae estyniad y ffeil yn annilys ({{ extension }}). Mae'r estyniadau a ganiateir yn {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Mae'r codio cymeriadau a ganfuwyd yn annilys ({{ detected }}). Mae'r codiadau a ganiateir yn {{ encodings }}. + + + This value is not a valid MAC address. + Nid yw'r gwerth hwn yn gyfeiriad MAC dilys. + + + This URL is missing a top-level domain. + Mae'r URL hwn yn colli parth lefel uchaf. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.da.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.da.xlf index b76624e7..5d08a01d 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.da.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.da.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Filen er ikke gyldigt billede. - - This is not a valid IP address. - Dette er ikke en gyldig IP-adresse. + + This value is not a valid IP address. + Denne værdi er ikke en gyldig IP-adresse. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Ingen fil blev uploadet. - - No temporary folder was configured in php.ini. - Ingen midlertidig mappe er konfigureret i php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Der blev ikke konfigureret en midlertidig mappe i php.ini, eller den konfigurerede mappe eksisterer ikke. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Ikke-understøttet korttype eller ugyldigt kortnummer. - - This is not a valid International Bank Account Number (IBAN). - Det er ikke et gyldigt International Bank Account Number (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Denne værdi er ikke et gyldigt internationalt bankkontonummer (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Denne værdi stemmer ikke overens med den forventede {{ charset }} charset. - - This is not a valid Business Identifier Code (BIC). - Dette er ikke en gyldig Business Identifier Code (BIC).a + + This value is not a valid Business Identifier Code (BIC). + Denne værdi er ikke en gyldig forretningsidentifikationskode (BIC). Error Fejl - - This is not a valid UUID. - Dette er ikke en gyldig UUID. + + This value is not a valid UUID. + Denne værdi er ikke en gyldig UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Værdien af netmasken skal være mellem {{ min }} og {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Filnavnet er for langt. Det bør indeholde {{ filename_max_length }} tegn eller mindre.|Filnavnet er for langt. Det bør indeholde {{ filename_max_length }} tegn eller mindre. + + + The password strength is too low. Please use a stronger password. + Kodeordets styrke er for lav. Du bedes indtaste et stærkere kodeord. + + + This value contains characters that are not allowed by the current restriction-level. + Denne værdi indeholder tegn, som ikke er tilladt med det nuværende restriktionsniveau. + + + Using invisible characters is not allowed. + Brug af usynlige tegn er ikke tilladt. + + + Mixing numbers from different scripts is not allowed. + At blande numre fra forskellige scripts er ikke tilladt. + + + Using hidden overlay characters is not allowed. + At bruge skjulte overlejringstegn er ikke tilladt. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Udvidelsen til filen er ugyldig ({{ extension }}). De tilladte udvidelser er {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Det registrerede tegnsæt er ugyldigt ({{ detected }}). De tilladte tegnsæt er {{ encodings }}. + + + This value is not a valid MAC address. + Denne værdi er ikke en gyldig MAC-adresse. + + + This URL is missing a top-level domain. + Denne URL mangler et topdomæne. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.de.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.de.xlf index 1c6d0c6c..301ee496 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.de.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.de.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Diese Datei ist kein gültiges Bild. - - This is not a valid IP address. - Dies ist keine gültige IP-Adresse. + + This value is not a valid IP address. + Dieser Wert ist keine gültige IP-Adresse. This value is not a valid language. @@ -190,8 +190,8 @@ No file was uploaded. Es wurde keine Datei hochgeladen. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. Es wurde kein temporärer Ordner in der php.ini konfiguriert oder der temporäre Ordner existiert nicht. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Nicht unterstützter Kartentyp oder ungültige Kartennummer. - - This is not a valid International Bank Account Number (IBAN). - Dieser Wert ist keine gültige internationale Bankkontonummer (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Dieser Wert ist keine gültige Internationale Bankkontonummer (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Dieser Wert entspricht nicht dem erwarteten Zeichensatz {{ charset }}. - - This is not a valid Business Identifier Code (BIC). + + This value is not a valid Business Identifier Code (BIC). Dieser Wert ist keine gültige internationale Bankleitzahl (BIC). Error Fehler - - This is not a valid UUID. - Dies ist keine gültige UUID. + + This value is not a valid UUID. + Dieser Wert ist keine gültige UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Der Wert der Subnetzmaske sollte zwischen {{ min }} und {{ max }} liegen. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Der Dateiname ist zu lang. Er sollte nicht länger als {{ filename_max_length }} Zeichen sein.|Der Dateiname ist zu lang. Er sollte nicht länger als {{ filename_max_length }} Zeichen sein. + + + The password strength is too low. Please use a stronger password. + Das Passwort ist zu schwach. + + + This value contains characters that are not allowed by the current restriction-level. + Der Wert enthält Zeichen, die auf der aktuellen Einschränkungsstufe nicht erlaubt sind. + + + Using invisible characters is not allowed. + Unsichtbare Zeichen sind nicht erlaubt. + + + Mixing numbers from different scripts is not allowed. + Das Mischen von Zahlen aus verschiedenen Skripten ist nicht erlaubt. + + + Using hidden overlay characters is not allowed. + Verstecke Overlay-Zeichen sind nicht erlaubt. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Die Dateiendung ist ungültig ({{ extension }}). Gültige Dateiendungen sind {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Der erkannte Zeichensatz ist nicht gültig ({{ detected }}). Gültige Zeichensätze sind {{ encodings }}. + + + This value is not a valid MAC address. + Dieser Wert ist keine gültige MAC-Adresse. + + + This URL is missing a top-level domain. + Dieser URL fehlt eine Top-Level-Domain. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Dieser Wert ist zu kurz. Er muss aus mindestens einem Wort bestehen.|Dieser Wert ist zu kurz. Er muss mindestens {{ min }} Wörter enthalten. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Dieser Wert ist zu lang. Er darf maximal aus einem Wort bestehen.|Dieser Wert ist zu lang. Er darf maximal {{ max }} Wörter enthalten. + + + This value does not represent a valid week in the ISO 8601 format. + Dieser Wert ist keine Wochenangabe im ISO 8601-Format. + + + This value is not a valid week. + Dieser Wert ist keine gültige Woche. + + + This value should not be before week "{{ min }}". + Dieser Wert darf nicht vor der Woche "{{ min }}" sein. + + + This value should not be after week "{{ max }}". + Dieser Wert darf nicht nach der Woche "{{ max }}" sein. + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.el.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.el.xlf index 768986d5..e58dd3d7 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.el.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.el.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Το αρχείο δεν αποτελεί έγκυρη εικόνα. - - This is not a valid IP address. - Αυτό δεν είναι μια έγκυρη διεύθυνση IP. + + This value is not a valid IP address. + Αυτή η IP διεύθυνση δεν είναι έγκυρη. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Δεν ανέβηκε κανένα αρχείο. - - No temporary folder was configured in php.ini. - Κανένας προσωρινός φάκελος δεν έχει ρυθμιστεί στο php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Δεν έχει ρυθμιστεί προσωρινός φάκελος στο php.ini, ή ο ρυθμισμένος φάκελος δεν υπάρχει. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Μη υποστηριζόμενος τύπος κάρτας ή μη έγκυρος αριθμός κάρτας. - - This is not a valid International Bank Account Number (IBAN). - Αυτό δεν αντιστοιχεί σε έγκυρο διεθνή αριθμό τραπεζικού λογαριασμού (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Αυτός δεν είναι έγκυρος διεθνής αριθμός τραπεζικού λογαριασμού (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Αυτή η τιμή δεν ταιριάζει στο αναμενόμενο {{ charset }} σύνολο χαρακτήρων. - - This is not a valid Business Identifier Code (BIC). - Αυτός δεν είναι ένας έγκυρος κωδικός BIC. + + This value is not a valid Business Identifier Code (BIC). + Αυτός ο αριθμός δεν είναι έγκυρος Κωδικός Ταυτοποίησης Επιχείρησης (BIC). Error Σφάλμα - - This is not a valid UUID. - Αυτό δεν είναι ένα έγκυρο UUID. + + This value is not a valid UUID. + Αυτός ο αριθμός δεν είναι έγκυρη UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Η τιμή του netmask πρέπει να είναι ανάμεσα σε {{ min }} και {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Το όνομα αρχείου είναι πολύ μεγάλο. Θα πρέπει να έχει έως {{ filename_max_length }} χαρακτήρα.|Το όνομα αρχείου είναι πολύ μεγάλο. Θα πρέπει να έχει έως {{ filename_max_length }} χαρακτήρες. + + + The password strength is too low. Please use a stronger password. + Η ισχύς του κωδικού πρόσβασης είναι πολύ χαμηλή. Χρησιμοποιήστε έναν ισχυρότερο κωδικό πρόσβασης. + + + This value contains characters that are not allowed by the current restriction-level. + Αυτή η τιμή περιέχει χαρακτήρες που δεν επιτρέπονται από το τρέχον επίπεδο περιορισμού. + + + Using invisible characters is not allowed. + Δεν επιτρέπεται η χρήση αόρατων χαρακτήρων. + + + Mixing numbers from different scripts is not allowed. + Δεν επιτρέπεται η μίξη αριθμών από διαφορετικά γραφήματα. + + + Using hidden overlay characters is not allowed. + Δεν επιτρέπεται η χρήση κρυφών χαρακτήρων επικάλυψης. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Η επέκταση του αρχείου δεν είναι έγκυρη ({{ extension }}). Οι επιτρεπτόμενες επεκτάσεις είναι {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Η κωδικοποίηση χαρακτήρων που ανιχνεύτηκε δεν είναι έγκυρη ({{ detected }}). Οι επιτρεπόμενες κωδικοποιήσεις είναι {{ encodings }}. + + + This value is not a valid MAC address. + Αυτός ο αριθμός δεν είναι έγκυρη διεύθυνση MAC. + + + This URL is missing a top-level domain. + Αυτή η διεύθυνση URL λείπει ένας τομέας ανώτατου επιπέδου. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.en.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.en.xlf index 34c54212..faf549e4 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.en.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.en.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -136,7 +136,7 @@ This is not a valid IP address. - This is not a valid IP address. + This value is not a valid IP address. This value is not a valid language. @@ -224,7 +224,7 @@ This is not a valid International Bank Account Number (IBAN). - This is not a valid International Bank Account Number (IBAN). + This value is not a valid International Bank Account Number (IBAN). This value is not a valid ISBN-10. @@ -312,7 +312,7 @@ This is not a valid Business Identifier Code (BIC). - This is not a valid Business Identifier Code (BIC). + This value is not a valid Business Identifier Code (BIC). Error @@ -320,7 +320,7 @@ This is not a valid UUID. - This is not a valid UUID. + This value is not a valid UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. The value of the netmask should be between {{ min }} and {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + + + The password strength is too low. Please use a stronger password. + The password strength is too low. Please use a stronger password. + + + This value contains characters that are not allowed by the current restriction-level. + This value contains characters that are not allowed by the current restriction-level. + + + Using invisible characters is not allowed. + Using invisible characters is not allowed. + + + Mixing numbers from different scripts is not allowed. + Mixing numbers from different scripts is not allowed. + + + Using hidden overlay characters is not allowed. + Using hidden overlay characters is not allowed. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + + + This value is not a valid MAC address. + This value is not a valid MAC address. + + + This URL is missing a top-level domain. + This URL is missing a top-level domain. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.es.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.es.xlf index 897d0a45..4e1ec3a5 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.es.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.es.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -40,7 +40,7 @@ This field is missing. - Este campo está desaparecido. + Este campo falta. This value is not a valid date. @@ -48,7 +48,7 @@ This value is not a valid datetime. - Este valor no es una fecha y hora válidas. + Este valor no es una fecha y hora válida. This value is not a valid email address. @@ -134,9 +134,9 @@ This file is not a valid image. El archivo no es una imagen válida. - - This is not a valid IP address. - Esto no es una dirección IP válida. + + This value is not a valid IP address. + Este valor no es una dirección IP válida. This value is not a valid language. @@ -184,14 +184,14 @@ The file was only partially uploaded. - El archivo fue sólo subido parcialmente. + El archivo se cargó solo parcialmente. No file was uploaded. - Ningún archivo fue subido. + No se subió ningún archivo. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. Ninguna carpeta temporal fue configurada en php.ini o la carpeta configurada no existe. @@ -200,7 +200,7 @@ A PHP extension caused the upload to fail. - Una extensión de PHP hizo que la subida fallara. + Una extensión de PHP provocó que la carga fallara. This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tipo de tarjeta no soportado o número de tarjeta inválido. - - This is not a valid International Bank Account Number (IBAN). - Esto no es un International Bank Account Number (IBAN) válido. + + This value is not a valid International Bank Account Number (IBAN). + Este valor no es un Número de Cuenta Bancaria Internacional (IBAN) válido. This value is not a valid ISBN-10. @@ -300,7 +300,7 @@ An empty file is not allowed. - No está permitido un archivo vacío. + No se permite un archivo vacío. The host could not be resolved. @@ -310,16 +310,16 @@ This value does not match the expected {{ charset }} charset. La codificación de caracteres para este valor debería ser {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - No es un Código de Identificación Bancaria (BIC) válido. + + This value is not a valid Business Identifier Code (BIC). + Este valor no es un Código de Identificación de Negocios (BIC) válido. Error Error - - This is not a valid UUID. + + This value is not a valid UUID. Este valor no es un UUID válido. @@ -360,7 +360,7 @@ This password has been leaked in a data breach, it must not be used. Please use another password. - Esta contraseña no se puede utilizar porque está incluida en un listado de contraseñas públicas obtenido gracias a fallos de seguridad de otros sitios y aplicaciones. Por favor utilice otra contraseña. + Esta contraseña no se puede utilizar porque está incluida en un listado de contraseñas públicas obtenido gracias a fallos de seguridad de otros sitios y aplicaciones. Por favor, utilice otra contraseña. This value should be between {{ min }} and {{ max }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. El valor de la máscara de red debería estar entre {{ min }} y {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + El nombre del archivo es demasiado largo. Debe tener {{ filename_max_length }} carácter o menos.|El nombre del archivo es demasiado largo. Debe tener {{ filename_max_length }} caracteres o menos. + + + The password strength is too low. Please use a stronger password. + La seguridad de la contraseña es demasiado baja. Por favor, utilice una contraseña más segura. + + + This value contains characters that are not allowed by the current restriction-level. + Este valor contiene caracteres que no están permitidos según el nivel de restricción actual. + + + Using invisible characters is not allowed. + No se permite el uso de caracteres invisibles. + + + Mixing numbers from different scripts is not allowed. + No está permitido mezclar números de diferentes scripts. + + + Using hidden overlay characters is not allowed. + No está permitido el uso de caracteres superpuestos ocultos. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + La extensión del archivo no es válida ({{ extension }}). Las extensiones permitidas son {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + La codificación de los caracteres detectada es inválida ({{ detected }}). Las codificaciones permitidas son {{ encodings }}. + + + This value is not a valid MAC address. + Este valor no es una dirección MAC válida. + + + This URL is missing a top-level domain. + Esta URL no contiene una extensión de dominio (TLD). + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Este valor es demasiado corto. Debe contener al menos una palabra.|Este valor es demasiado corto. Debe contener al menos {{ min }} palabras. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Este valor es demasiado largo. Debe contener una palabra.|Este valor es demasiado largo. Debe contener {{ max }} palabras o menos. + + + This value does not represent a valid week in the ISO 8601 format. + Este valor no representa una semana válida en formato ISO 8601. + + + This value is not a valid week. + Este valor no es una semana válida. + + + This value should not be before week "{{ min }}". + Este valor no debe ser anterior a la semana "{{ min }}". + + + This value should not be after week "{{ max }}". + Este valor no debe ser posterior a la semana "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.et.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.et.xlf index b323dcd9..774445dd 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.et.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.et.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Fail ei ole korrektne pilt. - - This is not a valid IP address. - IP aadress pole korrektne. + + This value is not a valid IP address. + See väärtus ei ole kehtiv IP-aadress. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Ühtegi faili ei laetud üles. - - No temporary folder was configured in php.ini. - Ühtegi ajutist kausta polnud php.ini-s seadistatud. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Ajutine kaust php.ini-s ei olnud seadistatud või seadistatud kaust ei eksisteeri. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Kaardi tüüpi ei toetata või kaardi number on vigane. - - This is not a valid International Bank Account Number (IBAN). - Väärtus pole korrektne IBAN-number. + + This value is not a valid International Bank Account Number (IBAN). + See väärtus ei ole kehtiv Rahvusvaheline Kontonumber (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. See väärtus ei ühti eeldatava tähemärgiga {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - See ei ole kehtiv ettevõtte identifitseerimiskood (BIC). + + This value is not a valid Business Identifier Code (BIC). + See väärtus ei ole kehtiv BIC-kood. Error Viga - - This is not a valid UUID. - See pole kehtiv UUID. + + This value is not a valid UUID. + See väärtus ei ole kehtiv UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Võrgumaski väärtus peaks olema vahemikus {{ min }} kuni {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Failinimi on liiga pikk. See peaks olema {{ filename_max_length }} tähemärk või vähem.|Failinimi on liiga pikk. See peaks olema {{ filename_max_length }} tähemärki või vähem. + + + The password strength is too low. Please use a stronger password. + Parooli tugevus on liiga madal. Palun kasuta tugevamat parooli. + + + This value contains characters that are not allowed by the current restriction-level. + See väärtus sisaldab tähemärke, mida praegune piirangu tase ei luba. + + + Using invisible characters is not allowed. + Mittenähtavate tähemärkide kasutamine ei ole lubatud. + + + Mixing numbers from different scripts is not allowed. + Eri kirjasüsteemidest pärit numbrite koos kasutamine pole lubatud. + + + Using hidden overlay characters is not allowed. + Peidetud tähemärkide kasutamine pole lubatud. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Faili laiend on vigane ({{ extension }}). Lubatud laiendid on {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Tuvastatud teksti kodeering on vigane ({{ detected }}). Lubatud kodeeringud on {{ encodings }}. + + + This value is not a valid MAC address. + See väärtus ei ole kehtiv MAC-aadress. + + + This URL is missing a top-level domain. + Sellel URL-il puudub ülataseme domeen. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.eu.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.eu.xlf index ece2da0d..3e1a544c 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.eu.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.eu.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -105,7 +105,7 @@ This value is not a valid time. Balio hau ez da ordu egoki bat. - + This value is not a valid URL. Balio hau ez da baliabideen kokatzaile uniforme (URL) egoki bat. @@ -134,9 +134,9 @@ This file is not a valid image. Fitxategi hau ez da irudi egoki bat. - - This is not a valid IP address. - Honako hau ez da IP helbide egoki bat. + + This value is not a valid IP address. + Balio hau ez da IP helbide baliozko bat. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Ez da fitxategirik igo. - - No temporary folder was configured in php.ini. - Ez da aldi baterako karpetarik konfiguratu php.ini fitxategian. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Ez da aldi baterako karpetarik konfiguratu php.ini-n, edo konfiguratutako karpeta ez da existitzen. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Txartel mota onartezina edo txartel zenbaki baliogabea. - - This is not a valid International Bank Account Number (IBAN). - Hau ez da baliozko banku internazionaleko kontu zenbaki (IBAN) bat. + + This value is not a valid International Bank Account Number (IBAN). + Balio hau ez da Nazioarteko Banku Kontu Zenbaki (IBAN) baliozko bat. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Balio honen karaktere kodea ez da esperotakoa {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Ez da balizko Banku Identifikazioko Kodea (BIC). + + This value is not a valid Business Identifier Code (BIC). + Balio hau ez da Negozioaren Identifikazio Kode (BIC) baliozko bat. Error Errore - - This is not a valid UUID. - Balio hau ez da onartutako UUID bat. + + This value is not a valid UUID. + Balio hau ez da UUID baliozko bat. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Maskararen balioa {{ min }} eta {{ max }} artekoa izan beharko litzateke. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Fitxategiaren izena luzeegia da. Karaktere {{ filename_max_length }} edo gutxiago izan beharko lituzke.|Fitxategiaren izena luzeegia da. {{ filename_max_length }} karaktere edo gutxiago izan beharko lituzke. + + + The password strength is too low. Please use a stronger password. + Pasahitzaren sendotasuna baxuegia da. Mesedez, erabili pasahitz seguruagoa. + + + This value contains characters that are not allowed by the current restriction-level. + Egungo murrizte-mailak ez du balio honek dituen karaktereak onartzen. + + + Using invisible characters is not allowed. + Ez da onartzen karaktere ikusezinak erabiltzea. + + + Mixing numbers from different scripts is not allowed. + Ez da onartzen script ezberdinetako zenbakiak nahastea + + + Using hidden overlay characters is not allowed. + Ez da onartzen karaktere gainjarri ezkutuen erabilera. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Fitxategiaren luzapena ez da zuzena ({{ extension }}). Baimendutako luzapenak hauek dira: {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Detektatutako karaktere-kodetzea ez da zuzena ({{ detected }}). Baimendutako kodetzeak hauek dira: {{ encodings }}. + + + This value is not a valid MAC address. + Balio hau ez da MAC helbide baliozko bat. + + + This URL is missing a top-level domain. + URL honek ez du goi-mailako domeinurik. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fa.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fa.xlf index b72bc6e0..3977f374 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fa.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fa.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -35,12 +35,12 @@ یک یا چند مقدار داده شده نامعتبر است. - The fields {{ fields }} were not expected. - فیلدهای {{ fields }} مورد انتظار نبود. + This field was not expected. + این ورودی مورد انتظار نبود. - The fields {{ fields }} are missing. - فیلدهای {{ fields }} مفقود شده اند. + This field is missing. + این فیلد وارد نشده است. This value is not a valid date. @@ -134,9 +134,9 @@ This file is not a valid image. این فایل یک تصویر معتبر نمی‌باشد. - - This is not a valid IP address. - این آدرس IP معتبر نیست. + + This value is not a valid IP address. + این مقدار یه آدرس آی‌پی معتبر نمی‌باشد. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. هیچ فایلی بارگذاری نشد. - - No temporary folder was configured in php.ini. - پوشه موقتی در php.ini پیکربندی نگردیده است. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + هیچ پوشه موقتی در php.ini پیکربندی نشده است، یا پوشه پیکربندی شده وجود ندارد. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. نوع کارت پشتیبانی نمی‌شود و یا شماره کارت نامعتبر می‌باشد. - - This is not a valid International Bank Account Number (IBAN). - این یک شماره حساب بانک بین المللی معتبر نمی‌باشد(IBAN). + + This value is not a valid International Bank Account Number (IBAN). + این مقدار یک شماره شبای معتبر نمی‌باشد. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. این مقدار مطابق charset مورد انتظار {{ charset }} نمی باشد. - - This is not a valid Business Identifier Code (BIC). - این مقدار یک کد شناسایی کسب‌و‌کار معتبر (BIC) نیست. + + This value is not a valid Business Identifier Code (BIC). + این مقدار یک کد شناسه کسب‌وکار (BIC) معتبر نیست. Error خطا - - This is not a valid UUID. - این مقدار یک UUID معتبر نمی‌باشد. + + This value is not a valid UUID. + این مقدار یک UUID معتبر نیست. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. مقدار ماسک شبکه (NetMask) باید بین {{ min }} و {{ max }} باشد. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + نام فایل طولانی است. نام فایل باید {{ filename_max_length }} کاراکتر یا کمتر باشد.|نام فایل طولانی است. نام فایل باید {{ filename_max_length }} کاراکتر یا کمتر باشد. + + + The password strength is too low. Please use a stronger password. + رمز عبور ضعیف است. لطفا از رمز عبور قوی‌تری استفاده کنید. + + + This value contains characters that are not allowed by the current restriction-level. + این مقدار حاوی کاراکترهایی است که در سطح محدودیت فعلی مجاز نیستند. + + + Using invisible characters is not allowed. + استفاده از کاراکترهای نامرئی مجاز نمی‌باشد. + + + Mixing numbers from different scripts is not allowed. + مخلوط کردن اعداد از اسکریپت های مختلف مجاز نیست. + + + Using hidden overlay characters is not allowed. + استفاده از کاراکترهای همپوشانی پنهان (hidden overlay characters) مجاز نیست. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + پسوند فایل ({{ extension }}) نامعتبر است. پسوندهای مجاز {{ extensions }} هستند. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + رمزگذاری کاراکتر تشخیص داده شده ({{ detected }}) نامعتبر است. رمزگذاری‌های مجاز {{ encodings }} هستند. + + + This value is not a valid MAC address. + این مقدار یک آدرس MAC معتبر نیست. + + + This URL is missing a top-level domain. + این آدرس دارای دامنه نمی‌باشد. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fi.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fi.xlf index 9a6bfe4b..2dac5b5b 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fi.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fi.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -24,11 +24,11 @@ You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Sinun tulee valita vähintään {{ limit }} vaihtoehtoa. + Sinun tulee valita vähintään yksi vaihtoehto.|Sinun tulee valita vähintään {{ limit }} vaihtoehtoa. You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Sinun tulee valitan enintään {{ limit }} vaihtoehtoa. + Sinun tulee valita enintään yksi vaihtoehto.|Sinun tulee valita enintään {{ limit }} vaihtoehtoa. One or more of the given values is invalid. @@ -36,7 +36,7 @@ This field was not expected. - Tässä kentässä ei odotettu. + Tätä kenttää ei odotettu. This field is missing. @@ -60,7 +60,7 @@ The file is not readable. - Tiedostoa ei voida lukea. + Tiedostoa ei voi lukea. The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. @@ -76,7 +76,7 @@ This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Liian pitkä syöte. Syöte saa olla enintään {{ limit }} merkkiä. + Liian pitkä syöte. Syöte saa olla enintään yhden merkin.|Liian pitkä syöte. Syöte saa olla enintään {{ limit }} merkkiä. This value should be {{ limit }} or more. @@ -84,7 +84,7 @@ This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Liian lyhyt syöte. Syötteen tulee olla vähintään {{ limit }} merkkiä. + Liian lyhyt syöte. Syötteen tulee olla vähintään yhden merkin.|Liian lyhyt syöte. Syötteen tulee olla vähintään {{ limit }} merkkiä. This value should not be blank. @@ -92,11 +92,11 @@ This value should not be null. - Syöte ei voi olla null. + Annettu arvo ei voi olla null. This value should be null. - Syötteen tulee olla null. + Annetun arvon tulee olla null. This value is not valid. @@ -128,59 +128,59 @@ This value should be a valid number. - Tämän arvon tulee olla numero. + Arvon tulee olla numero. This file is not a valid image. - Tämä tiedosto ei ole kelvollinen kuva. + Tiedosto ei ole kelvollinen kuva. - - This is not a valid IP address. - Tämä ei ole kelvollinen IP-osoite. + + This value is not a valid IP address. + Tämä arvo ei ole kelvollinen IP-osoite. This value is not a valid language. - Tämä arvo ei ole kelvollinen kieli. + Arvo ei ole kelvollinen kieli. This value is not a valid locale. - Tämä arvo ei ole kelvollinen kieli- ja alueasetus (locale). + Arvo ei ole kelvollinen kieli- ja alueasetus (locale). This value is not a valid country. - Tämä arvo ei ole kelvollinen maa. + Arvo ei ole kelvollinen maa. This value is already used. - Tämä arvo on jo käytetty. + Arvo on jo käytetty. The size of the image could not be detected. - Kuvan kokoa ei voitu tunnistaa. + Kuvan kokoa ei tunnistettu. The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Kuva on liian leveä ({{ width }}px). Sallittu maksimileveys on {{ max_width }}px. + Kuva on liian leveä ({{ width }} px). Leveyden tulee olla enintään {{ max_width }} px. The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Kuva on liian kapea ({{ width }}px). Leveyden tulisi olla vähintään {{ min_width }}px. + Kuva on liian kapea ({{ width }} px). Leveyden tulee olla vähintään {{ min_width }} px. The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Kuva on liian korkea ({{ width }}px). Sallittu maksimikorkeus on {{ max_width }}px. + Kuva on liian korkea ({{ width }} px). Korkeuden tulee olla enintään {{ max_width }} px. The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Kuva on liian matala ({{ height }}px). Korkeuden tulisi olla vähintään {{ min_height }}px. + Kuva on liian matala ({{ height }} px). Korkeuden tulee olla vähintään {{ min_height }} px. This value should be the user's current password. - Tämän arvon tulisi olla käyttäjän tämänhetkinen salasana. + Arvon tulee olla käyttäjän tämänhetkinen salasana. This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Tämän arvon tulisi olla tasan yhden merkin pituinen.|Tämän arvon tulisi olla tasan {{ limit }} merkkiä pitkä. + Arvon tulee olla tasan yhden merkin pituinen.|Arvon tulee olla tasan {{ limit }} merkin pituinen. The file was only partially uploaded. @@ -190,9 +190,9 @@ No file was uploaded. Tiedostoa ei ladattu. - - No temporary folder was configured in php.ini. - Väliaikaishakemistoa ei ole asetettu php.ini -tiedostoon. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Väliaikaista kansiota ei ole määritetty php.ini:ssä, tai määritetty kansio ei ole olemassa. Cannot write temporary file to disk. @@ -204,15 +204,15 @@ This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Tässä ryhmässä tulisi olla yksi tai useampi elementti.|Tässä ryhmässä tulisi olla vähintään {{ limit }} elementtiä. + Tässä ryhmässä tulee olla vähintään yksi elementti.|Tässä ryhmässä tulee olla vähintään {{ limit }} elementtiä. This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Tässä ryhmässä tulisi olla enintään yksi elementti.|Tässä ryhmässä tulisi olla enintään {{ limit }} elementtiä. + Tässä ryhmässä tulee olla enintään yksi elementti.|Tässä ryhmässä tulee olla enintään {{ limit }} elementtiä. This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Tässä ryhmässä tulisi olla tasan yksi elementti.|Tässä ryhmässä tulisi olla enintään {{ limit }} elementtiä. + Tässä ryhmässä tulee olla tasan yksi elementti.|Tässä ryhmässä tulee olla tasan {{ limit }} elementtiä. Invalid card number. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tätä korttityyppiä ei tueta tai korttinumero on virheellinen. - - This is not a valid International Bank Account Number (IBAN). - Arvo ei ole kelvollinen kansainvälinen pankkitilinumero (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Tämä arvo ei ole kelvollinen kansainvälinen pankkitilinumero (IBAN). This value is not a valid ISBN-10. @@ -236,7 +236,7 @@ This value is neither a valid ISBN-10 nor a valid ISBN-13. - Arvo ei ole kelvollinen ISBN-10 tai kelvollinen ISBN-13. + Arvo ei ole kelvollinen ISBN-10 eikä ISBN-13. This value is not a valid ISSN. @@ -260,7 +260,7 @@ This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Tämä arvo tulee olla sama kuin {{ compared_value_type }} {{ compared_value }}. + Arvon tulee olla sama kuin {{ compared_value_type }} {{ compared_value }}. This value should be less than {{ compared_value }}. @@ -268,7 +268,7 @@ This value should be less than or equal to {{ compared_value }}. - Arvon tulee olla pienempi tai yhtä suuri {{ compared_value }}. + Arvon tulee olla pienempi tai yhtä suuri kuin {{ compared_value }}. This value should not be equal to {{ compared_value }}. @@ -276,7 +276,7 @@ This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Tämä arvo ei tule olla sama kuin {{ compared_value_type }} {{ compared_value }}. + Arvon ei tule olla sama kuin {{ compared_value_type }} {{ compared_value }}. The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. @@ -284,23 +284,23 @@ The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Kuvasuhde on liian pieni ({{ ratio }}). Pienin sallittu arvo on {{ min_ratio }}. + Kuvasuhde on liian pieni ({{ ratio }}). Pienin sallittu suhde on {{ min_ratio }}. The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Kuva on neliä ({{ width }}x{{ height }}px). Neliöt kuvat eivät ole sallittuja. + Kuva on neliö ({{ width }}x{{ height }} px). Neliönmuotoiset kuvat eivät ole sallittuja. The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Kuva on vaakasuuntainen ({{ width }}x{{ height }}px). Vaakasuuntaiset kuvat eivät ole sallittuja. + Kuva on vaakasuuntainen ({{ width }}x{{ height }} px). Vaakasuuntaiset kuvat eivät ole sallittuja. The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Kuva on pystysuuntainen ({{ width }}x{{ height }}px). Pystysuuntaiset kuvat eivät ole sallittuja. + Kuva on pystysuuntainen ({{ width }}x{{ height }} px). Pystysuuntaiset kuvat eivät ole sallittuja. An empty file is not allowed. - Tyhjä tiedosto ei ole sallittu. + Tiedosto ei saa olla tyhjä. The host could not be resolved. @@ -310,25 +310,25 @@ This value does not match the expected {{ charset }} charset. Arvo ei vastaa odotettua merkistöä {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Arvo ei ole kelvollinen yritystunnus (BIC). + + This value is not a valid Business Identifier Code (BIC). + Tämä arvo ei ole kelvollinen liiketoiminnan tunnistekoodi (BIC). Error Virhe - - This is not a valid UUID. - Arvo ei ole kelvollinen UUID. + + This value is not a valid UUID. + Tämä arvo ei ole kelvollinen UUID. This value should be a multiple of {{ compared_value }}. - Tämän arvon tulisi olla kerrannainen {{ compared_value }}. + Tämän arvon tulee olla luvun {{ compared_value }} kerrannainen. This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Tämä yritystunnus (BIC) ei ole liitetty IBAN {{ iban }}. + Tätä yritystunnusta (BIC) ei ole liitetty IBAN-tilinumeroon {{ iban }}. This value should be valid JSON. @@ -336,23 +336,23 @@ This collection should contain only unique elements. - Tämän ryhmän tulisi sisältää vain yksilöllisiä arvoja. + Ryhmän tulee sisältää vain yksilöllisiä arvoja. This value should be positive. - Arvon tulisi olla positiivinen. + Arvon tulee olla positiivinen. This value should be either positive or zero. - Arvon tulisi olla joko positiivinen tai nolla. + Arvon tulee olla joko positiivinen tai nolla. This value should be negative. - Arvon tulisi olla negatiivinen. + Arvon tulee olla negatiivinen. This value should be either negative or zero. - Arvon tulisi olla joko negatiivinen tai nolla. + Arvon tulee olla joko negatiivinen tai nolla. This value is not a valid timezone. @@ -360,11 +360,11 @@ This password has been leaked in a data breach, it must not be used. Please use another password. - Tämä salasana on vuotanut tietomurrossa, sitä ei saa käyttää. Käytä toista salasanaa. + Tämä salasana on vuotanut tietomurrossa, eikä sitä saa käyttää. Käytä toista salasanaa. This value should be between {{ min }} and {{ max }}. - Arvon tulisi olla välillä {{ min }} - {{ max }}. + Arvon tulee olla {{ min }} - {{ max }}. This value is not a valid hostname. @@ -372,11 +372,11 @@ The number of elements in this collection should be a multiple of {{ compared_value }}. - Ryhmässä olevien elementtien määrän pitää olla monikerta luvulle {{ compared_value }}. + Ryhmässä olevien elementtien määrän pitää olla luvun {{ compared_value }} kerrannainen. This value should satisfy at least one of the following constraints: - Tämän arvon tulee läpäistä vähintään yksi seuraavista tarkistuksista: + Arvon tulee läpäistä vähintään yksi seuraavista tarkistuksista: Each element of this collection should satisfy its own set of constraints. @@ -400,7 +400,71 @@ The value of the netmask should be between {{ min }} and {{ max }}. - Verkkomaskille annetun arvon tulisi olla {{ min }} ja {{ max }} välillä. + Verkkomaskille annetun arvon tulee olla {{ min }} - {{ max }}. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Tiedostonimi on liian pitkä. Nimi saa olla enintään yhden merkin pituinen.|Tiedostonimi on liian pitkä. Nimi saa olla enintään {{ filename_max_length }} merkin pituinen. + + + The password strength is too low. Please use a stronger password. + Salasana on liian heikko. Valitse vahvempi salasana. + + + This value contains characters that are not allowed by the current restriction-level. + Arvo sisältää merkkejä, joita nykyinen rajoitustaso ei salli. + + + Using invisible characters is not allowed. + Näkymättömiä merkkejä ei saa käyttää. + + + Mixing numbers from different scripts is not allowed. + Eri kirjaimistojen numeroita ei saa sekoittaa. + + + Using hidden overlay characters is not allowed. + Piilotettuja tarkemerkkejä ei saa käyttää. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Tiedostopääte ({{ extension }}) on virheellinen. Sallitut tiedostopäätteet ovat: {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Havaittu merkistö on virheellinen ({{ detected }}). Sallitut merkistöt ovat {{ encodings }}. + + + This value is not a valid MAC address. + Tämä arvo ei ole kelvollinen MAC-osoite. + + + This URL is missing a top-level domain. + Tästä URL-osoitteesta puuttuu ylätason verkkotunnus. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fr.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fr.xlf index 92127773..2fb4eeac 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fr.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.fr.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Ce fichier n'est pas une image valide. - - This is not a valid IP address. - Cette adresse IP n'est pas valide. + + This value is not a valid IP address. + Cette valeur n'est pas une adresse IP valide. This value is not a valid language. @@ -190,8 +190,8 @@ No file was uploaded. Aucun fichier n'a été transféré. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. Aucun répertoire temporaire n'a été configuré dans le php.ini, ou le répertoire configuré n'existe pas. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Type de carte non supporté ou numéro invalide. - - This is not a valid International Bank Account Number (IBAN). - Le numéro IBAN (International Bank Account Number) saisi n'est pas valide. + + This value is not a valid International Bank Account Number (IBAN). + Cette valeur n'est pas un Numéro de Compte Bancaire International (IBAN) valide. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Cette valeur ne correspond pas au jeu de caractères {{ charset }} attendu. - - This is not a valid Business Identifier Code (BIC). - Ce n'est pas un code universel d'identification des banques (BIC) valide. + + This value is not a valid Business Identifier Code (BIC). + Cette valeur n'est pas un Code Identifiant de Business (BIC) valide. Error Erreur - - This is not a valid UUID. - Ceci n'est pas un UUID valide. + + This value is not a valid UUID. + Cette valeur n'est pas un UUID valide. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. La valeur du masque de réseau doit être comprise entre {{ min }} et {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Le nom du fichier est trop long. Il doit contenir au maximum {{ filename_max_length }} caractère.|Le nom de fichier est trop long. Il doit contenir au maximum {{ filename_max_length }} caractères. + + + The password strength is too low. Please use a stronger password. + La force du mot de passe est trop faible. Veuillez utiliser un mot de passe plus fort. + + + This value contains characters that are not allowed by the current restriction-level. + Cette valeur contient des caractères qui ne sont pas autorisés par le niveau de restriction actuel. + + + Using invisible characters is not allowed. + Utiliser des caractères invisibles n'est pas autorisé. + + + Mixing numbers from different scripts is not allowed. + Mélanger des chiffres provenant de différents scripts n'est pas autorisé. + + + Using hidden overlay characters is not allowed. + Utiliser des caractères de superposition cachés n'est pas autorisé. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + L'extension du fichier est invalide ({{ extension }}). Les extensions autorisées sont {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + L'encodage de caractères détecté est invalide ({{ detected }}). Les encodages autorisés sont {{ encodings }}. + + + This value is not a valid MAC address. + Cette valeur n'est pas une adresse MAC valide. + + + This URL is missing a top-level domain. + Cette URL doit contenir un domaine de premier niveau. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Cette valeur est trop courte. Elle doit contenir au moins un mot.|Cette valeur est trop courte. Elle doit contenir au moins {{ min }} mots. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Cette valeur est trop longue. Elle doit contenir au maximum un mot.|Cette valeur est trop longue. Elle doit contenir au maximum {{ max }} mots. + + + This value does not represent a valid week in the ISO 8601 format. + Cette valeur ne représente pas une semaine valide au format ISO 8601. + + + This value is not a valid week. + Cette valeur n'est pas une semaine valide. + + + This value should not be before week "{{ min }}". + Cette valeur ne doit pas être antérieure à la semaine "{{ min }}". + + + This value should not be after week "{{ max }}". + Cette valeur ne doit pas être postérieure à la semaine "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.gl.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.gl.xlf index f8c5c049..1a48093d 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.gl.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.gl.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. O arquivo non é unha imaxe válida. - - This is not a valid IP address. - Isto non é unha dirección IP válida. + + This value is not a valid IP address. + Este valor non é un enderezo IP válido. This value is not a valid language. @@ -190,8 +190,8 @@ No file was uploaded. Non se subiu ningún arquivo. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. Ningunha carpeta temporal foi configurada en php.ini, ou a carpeta non existe. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tipo de tarxeta non soportado ou número de tarxeta non válido. - - This is not a valid International Bank Account Number (IBAN). - Este valor non é un International Bank Account Number (IBAN) válido. + + This value is not a valid International Bank Account Number (IBAN). + Este valor non é un Número de Conta Bancaria Internacional (IBAN) válido. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. A codificación de caracteres para este valor debería ser {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Non é un Código de Identificación Bancaria (BIC) válido. + + This value is not a valid Business Identifier Code (BIC). + Este valor non é un Código de Identificación de Negocios (BIC) válido. Error Erro - - This is not a valid UUID. - Isto non é un UUID válido. + + This value is not a valid UUID. + Este valor non é un UUID válido. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. O valor da máscara de rede debería estar entre {{ min }} e {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + O nome do ficheiro é demasiado longo. Debe ter {{ filename_max_length }} caracteres ou menos. + + + The password strength is too low. Please use a stronger password. + A forza do contrasinal é demasiado baixa. Utilice un contrasinal máis forte. + + + This value contains characters that are not allowed by the current restriction-level. + Este valor contén caracteres que non están permitidos polo nivel de restrición actual. + + + Using invisible characters is not allowed. + Non se permite usar caracteres invisibles. + + + Mixing numbers from different scripts is not allowed. + Non se permite mesturar números de diferentes scripts. + + + Using hidden overlay characters is not allowed. + Non se permite usar caracteres de superposición ocultos. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + A extensión do ficheiro non é válida ({{ extension }}). As extensións permitidas son {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + A codificación de caracteres detectada non é válida ({{ detected }}). As codificacións permitidas son {{ encodings }}. + + + This value is not a valid MAC address. + Este valor non é un enderezo MAC válido. + + + This URL is missing a top-level domain. + Esta URL non contén un dominio de nivel superior. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.he.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.he.xlf index af82426f..73ccca53 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.he.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.he.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. הקובץ הזה אינו תמונה תקינה. - - This is not a valid IP address. - זו אינה כתובת IP חוקית. + + This value is not a valid IP address. + ערך זה אינו כתובת IP תקפה. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. הקובץ לא הועלה. - - No temporary folder was configured in php.ini. - לא הוגדרה תיקייה זמנית ב php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + לא הוגדרה תיקייה זמנית ב-php.ini, או שהתיקייה המוגדרת אינה קיימת. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. סוג הכרטיס אינו נתמך או לא חוקי. - - This is not a valid International Bank Account Number (IBAN). - מספר חשבון בנק בינלאומי אינו חוקי (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + ערך זה אינו מספר חשבון בנק בינלאומי (IBAN) תקף. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. הערך אינו תואם למערך התווים {{ charset }} הצפוי. - - This is not a valid Business Identifier Code (BIC). - קוד זיהוי עסקי אינו חוקי (BIC). + + This value is not a valid Business Identifier Code (BIC). + ערך זה אינו קוד מזהה עסקי (BIC) תקף. Error שגיאה - - This is not a valid UUID. - הערך אינו ערך UUID חוקי. + + This value is not a valid UUID. + ערך זה אינו UUID תקף. This value should be a multiple of {{ compared_value }}. @@ -386,7 +386,7 @@ This value is not a valid International Securities Identification Number (ISIN). ערך זה אינו מספר זיהוי ניירות ערך בינלאומי תקף (ISIN). - + This value should be a valid expression. ערך זה חייב להיות ביטוי חוקי. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. הערך של מסכת הרשת חייב להיות בין {{ min }} ו {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + שם הקובץ ארוך מדי. עליו להכיל {{ filename_max_length }} תווים או פחות. + + + The password strength is too low. Please use a stronger password. + חוזק הסיסמה נמוך מדי. אנא השתמש בסיסמה חזקה יותר. + + + This value contains characters that are not allowed by the current restriction-level. + הערך כולל תווים שאינם מותרים על פי רמת ההגבלה הנוכחית. + + + Using invisible characters is not allowed. + אסור להשתמש בתווים בלתי נראים. + + + Mixing numbers from different scripts is not allowed. + אסור לערבב מספרים מתסריטים שונים. + + + Using hidden overlay characters is not allowed. + אסור להשתמש בתווים מוסתרים של חפיפה. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + סיומת הקובץ אינה תקינה ({{ extension }}). הסיומות המותרות הן {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + קידוד התווים שזוהה אינו חוקי ({{ detected }}). הקידודים המותרים הם {{ encodings }}. + + + This value is not a valid MAC address. + ערך זה אינו כתובת MAC תקפה. + + + This URL is missing a top-level domain. + לכתובת URL זו חסר דומיין רמה עליונה. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hr.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hr.xlf index 34384b40..147f4313 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hr.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hr.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Ova datoteka nije ispravna slika. - - This is not a valid IP address. - Ovo nije ispravna IP adresa. + + This value is not a valid IP address. + Ova vrijednost nije valjana IP adresa. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Niti jedna datoteka nije prenesena. - - No temporary folder was configured in php.ini. - U php.ini datoteci nije konfiguriran privremeni direktorij. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Privremena mapa nije konfigurirana u php.ini-u, ili konfigurirana mapa ne postoji. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tip kartice nije podržan ili je broj kartice neispravan. - - This is not a valid International Bank Account Number (IBAN). - Ova vrijednost nije ispravan međunarodni broj bankovnog računa (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ova vrijednost nije valjani međunarodni bankovni broj računa (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Ova vrijednost ne odgovara očekivanom {{ charset }} znakovnom skupu. - - This is not a valid Business Identifier Code (BIC). - Ovo nije validan poslovni identifikacijski broj (BIC). + + This value is not a valid Business Identifier Code (BIC). + Ova vrijednost nije valjani poslovni identifikacijski kod (BIC). Error Greška - - This is not a valid UUID. - Ovo nije validan UUID. + + This value is not a valid UUID. + Ova vrijednost nije valjani UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Vrijednost mrežne maske trebala bi biti između {{ min }} i {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Naziv datoteke je predug. Treba imati {{ filename_max_length }} znak ili manje.|Naziv datoteke je predug. Treba imati {{ filename_max_length }} znaka ili manje.|Naziv datoteke je predug. Treba imati {{ filename_max_length }} znakova ili manje. + + + The password strength is too low. Please use a stronger password. + Jačina lozinke je preniska. Molim koristite jaču lozinku. + + + This value contains characters that are not allowed by the current restriction-level. + Ova vrijednost sadrži znakove koji nisu dopušteni prema trenutnoj razini ograničenja. + + + Using invisible characters is not allowed. + Korištenje nevidljivih znakova nije dopušteno. + + + Mixing numbers from different scripts is not allowed. + Miješanje brojeva iz različitih pisama nije dopušteno. + + + Using hidden overlay characters is not allowed. + Korištenje skrivenih preklapajućih znakova nije dopušteno. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Ekstenzija datoteke nije valjana ({{ extension }}). Dozvoljene ekstenzije su {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Otkriveno kodiranje znakova je nevažeće ({{ detected }}). Dopuštena kodiranja su {{ encodings }}. + + + This value is not a valid MAC address. + Ova vrijednost nije valjana MAC adresa. + + + This URL is missing a top-level domain. + Ovom URL-u nedostaje vršna domena. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hu.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hu.xlf index 30b0dbed..185ebf02 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hu.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hu.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Ez a fájl nem egy érvényes kép. - - This is not a valid IP address. - Ez az érték nem egy érvényes IP cím. + + This value is not a valid IP address. + Ez az érték nem érvényes IP-cím. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Nem lett fájl feltöltve. - - No temporary folder was configured in php.ini. - Nincs ideiglenes könyvtár beállítva a php.ini-ben. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Nem lett ideiglenes mappa beállítva a php.ini-ben, vagy a beállított mappa nem létezik. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Nem támogatott kártyatípus vagy érvénytelen kártyaszám. - - This is not a valid International Bank Account Number (IBAN). - Érvénytelen nemzetközi bankszámlaszám (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ez az érték nem érvényes Nemzetközi Bankszámlaszám (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Ez az érték nem az elvárt {{ charset }} karakterkódolást használja. - - This is not a valid Business Identifier Code (BIC). - Érvénytelen nemzetközi bankazonosító kód (BIC/SWIFT). + + This value is not a valid Business Identifier Code (BIC). + Ez az érték nem érvényes Üzleti Azonosító Kód (BIC). Error Hiba - - This is not a valid UUID. - Érvénytelen egyedi azonosító (UUID). + + This value is not a valid UUID. + Ez az érték nem érvényes UUID. This value should be a multiple of {{ compared_value }}. @@ -335,25 +335,25 @@ Ez az érték érvényes JSON kell, hogy legyen. + This collection should contain only unique elements. + Ez a gyűjtemény csak egyedi elemeket tartalmazhat. + + This value should be positive. Ennek az értéknek pozitívnak kell lennie. - + This value should be either positive or zero. Ennek az értéknek pozitívnak vagy nullának kell lennie. - + This value should be negative. Ennek az értéknek negatívnak kell lennie. - + This value should be either negative or zero. Ennek az értéknek negatívnak vagy nullának kell lennie. - - This collection should contain only unique elements. - Ez a gyűjtemény csak egyedi elemeket tartalmazhat. - This value is not a valid timezone. Ez az érték nem egy érvényes időzóna. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Ennek a netmask értéknek {{ min }} és {{ max }} között kell lennie. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + A fájlnév túl hosszú. {{ filename_max_length }} karakter vagy kevesebb legyen.|A fájlnév túl hosszú. {{ filename_max_length }} karakter vagy kevesebb legyen. + + + The password strength is too low. Please use a stronger password. + A jelszó túl egyszerű. Kérjük, használjon egy bonyolultabb jelszót. + + + This value contains characters that are not allowed by the current restriction-level. + Ez az érték olyan karaktereket tartalmaz, amik nem megengedettek. + + + Using invisible characters is not allowed. + Láthatatlan karaktert használata nem megengedett. + + + Mixing numbers from different scripts is not allowed. + Különböző szám írásmódok használata nem megengedett. + + + Using hidden overlay characters is not allowed. + Rejtett módosító karakterek használata nem megengedett. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + A fájl kiterjesztése érvénytelen ({{ extension }}). Engedélyezett kiterjesztések: {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Az érzékelt karakterkódolás érvénytelen ({{ detected }}). Engedélyezett karakterkódolások: {{ encodings }}. + + + This value is not a valid MAC address. + Ez az érték nem érvényes MAC-cím. + + + This URL is missing a top-level domain. + Az URL-ből hiányzik a legfelső szintű tartomány (top-level domain). + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hy.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hy.xlf index f53df123..24423b08 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hy.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.hy.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Նիշքը նկարի վավեր ֆորմատ չէ։ - - This is not a valid IP address. - Արժեքը վավեր IP հասցե չէ։ + + This value is not a valid IP address. + Այս արժեքը վավեր IP հասցե չէ։ This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Նիշքը չի բեռնվել։ - - No temporary folder was configured in php.ini. - php.ini նիշքում ժամանակավոր պանակ նշված չէ։ + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini-ում չի կարգավորվել ժամանակավոր թղթապանակ, կամ կարգավորված թղթապանակը չկա։ Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Չսպասարկվող կամ սխալ քարտի համար: - - This is not a valid International Bank Account Number (IBAN). - Արժեքը վավեր միջազային բանկային հաշվի համար չէ (IBAN)։ + + This value is not a valid International Bank Account Number (IBAN). + Այս արժեքը վավեր միջազգային բանկային հաշվի համար (IBAN) չէ։ This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Արժեքը չի համընկնում {{ charset }} կոդավորման հետ։ - - This is not a valid Business Identifier Code (BIC). - Սա վավեր Business Identifier Code (BIC) չէ։ + + This value is not a valid Business Identifier Code (BIC). + Այս արժեքը վավեր բիզնեսի նորմատիվ կոդ (BIC) չէ։ Error Սխալ - - This is not a valid UUID. - Սա վավեր UUID չէ։ + + This value is not a valid UUID. + Այս արժեքը վավեր UUID չէ։ This value should be a multiple of {{ compared_value }}. @@ -371,7 +371,7 @@ Այս հոստի անունը վավեր չէ։ - The number of elements in this collection should be a multiple of {{ compared_value }}․ + The number of elements in this collection should be a multiple of {{ compared_value }}. Այս համախմբի տարրերի քանակը պետք է հավասար լինի {{ compared_value }}-ի բազմապատիկներին։ @@ -390,6 +390,82 @@ This value should be a valid expression. Այս արժեքը պետք է լինի վավեր արտահայտություն: + + This value is not a valid CSS color. + Այս արժեքը վավեր CSS գույն չէ։ + + + This value is not a valid CIDR notation. + Այս արժեքը վավեր CIDR նշում չէ։ + + + The value of the netmask should be between {{ min }} and {{ max }}. + Ցանցային դիմակի արժեքը պետք է լինի {{ min }}-ի և {{ max }}-ի միջև։ + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Ֆայլի անունը շատ երկար է։ Այն պետք է ունենա {{ filename_max_length }} նիշ կամ պակաս։ + + + The password strength is too low. Please use a stronger password. + Գաղտնաբառի անվտանգությունը շատ ցածր է։ Խնդրում ենք գործածել ավելի ամրագույն գաղտնաբառ։ + + + This value contains characters that are not allowed by the current restriction-level. + Այս արժեքը պարունակում է այն նիշերը, որոնք չեն թույլատրվում ըստ ընթացիկ սահմանումների։ + + + Using invisible characters is not allowed. + Անտեսանելի նիշերի օգտագործումը չի թույլատրվում։ + + + Mixing numbers from different scripts is not allowed. + Թվերի խառնուրդը տարբեր սցենարներից չի թույլատրվում։ + + + Using hidden overlay characters is not allowed. + Թաքնված ծածկանիշերի օգտագործումը չի թույլատրվում։ + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Ֆայլի ընդլայնումը անվավեր է ({{ extension }})։ Թույլատրվող ընդլայնումներն են՝ {{ extensions }}։ + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Հայտնաբերված նիշագրության կոդը անվավեր է ({{ detected }})։ Թույլատրվող կոդերն են՝ {{ encodings }}։ + + + This value is not a valid MAC address. + Այս արժեքը վավեր MAC հասցե չէ։ + + + This URL is missing a top-level domain. + Այս URL-ը չունի վերին մակարդակի դոմեյն: + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.id.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.id.xlf index 1687f330..3bffae84 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.id.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.id.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Berkas ini tidak termasuk citra. - - This is not a valid IP address. - Ini bukan alamat IP yang sah. + + This value is not a valid IP address. + Nilai ini bukan alamat IP yang valid. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Tidak ada berkas terunggah. - - No temporary folder was configured in php.ini. - Direktori sementara tidak dikonfiguasi pada php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Tidak ada folder sementara yang dikonfigurasi di php.ini, atau folder yang dikonfigurasi tidak ada. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Jenis kartu tidak didukung atau nomor kartu tidak sah. - - This is not a valid International Bank Account Number (IBAN). - Ini bukan Nomor Rekening Bank Internasional (IBAN) yang sah. + + This value is not a valid International Bank Account Number (IBAN). + Nilai ini bukan Nomor Rekening Bank Internasional (IBAN) yang valid. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Nilai ini tidak memenuhi set karakter {{ charset }} yang diharapkan. - - This is not a valid Business Identifier Code (BIC). - Ini bukan Business Identifier Code (BIC) yang sah. + + This value is not a valid Business Identifier Code (BIC). + Nilai ini bukan Kode Identifikasi Bisnis (BIC) yang valid. Error Galat - - This is not a valid UUID. - Ini bukan UUID yang sah. + + This value is not a valid UUID. + Nilai ini bukan UUID yang valid. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Nilai dari netmask harus berada diantara {{ min }} dan {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Nama file terlalu panjang. Harusnya {{ filename_max_length }} karakter atau kurang. + + + The password strength is too low. Please use a stronger password. + Kata sandi terlalu lemah. Harap gunakan kata sandi yang lebih kuat. + + + This value contains characters that are not allowed by the current restriction-level. + Nilai ini mengandung karakter yang tidak diizinkan oleh tingkat pembatasan saat ini. + + + Using invisible characters is not allowed. + Penggunaan karakter tak terlihat tidak diperbolehkan. + + + Mixing numbers from different scripts is not allowed. + Menggabungkan angka-angka dari skrip yang berbeda tidak diperbolehkan. + + + Using hidden overlay characters is not allowed. + Penggunaan karakter overlay yang tersembunyi tidak diperbolehkan. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Ekstensi file tidak valid ({{ extension }}). Ekstensi yang diperbolehkan adalah {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Pengkodean karakter yang terdeteksi tidak valid ({{ detected }}). Pengkodean yang diperbolehkan adalah {{ encodings }}. + + + This value is not a valid MAC address. + Nilai ini bukan alamat MAC yang valid. + + + This URL is missing a top-level domain. + URL ini tidak memiliki domain tingkat atas. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.it.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.it.xlf index c7cd4378..1e77aba1 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.it.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.it.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,8 +134,8 @@ This file is not a valid image. Questo file non è una immagine valida. - - This is not a valid IP address. + + This value is not a valid IP address. Questo valore non è un indirizzo IP valido. @@ -190,9 +190,9 @@ No file was uploaded. Nessun file è stato caricato. - - No temporary folder was configured in php.ini. - Nessuna cartella temporanea è stata configurata nel php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Non è stata configurata una cartella temporanea in php.ini, o la cartella configurata non esiste. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tipo di carta non supportato o numero non valido. - - This is not a valid International Bank Account Number (IBAN). - Questo valore non è un IBAN (International Bank Account Number) valido. + + This value is not a valid International Bank Account Number (IBAN). + Questo valore non è un IBAN valido. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Questo valore non corrisponde al charset {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Questo valore non è un codice BIC valido. + + This value is not a valid Business Identifier Code (BIC). + Questo valore non è un codice identificativo bancario (BIC) valido. Error Errore - - This is not a valid UUID. - Questo non è un UUID valido. + + This value is not a valid UUID. + Questo valore non è un UUID valido. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Il valore della netmask dovrebbe essere compreso tra {{ min }} e {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Il nome del file è troppo lungo. Dovrebbe avere {{ filename_max_length }} carattere o meno.|Il nome del file è troppo lungo. Dovrebbe avere {{ filename_max_length }} caratteri o meno. + + + The password strength is too low. Please use a stronger password. + La password non è abbastanza sicura. Per favore, utilizza una password più robusta. + + + This value contains characters that are not allowed by the current restriction-level. + Questo valore contiene caratteri che non sono consentiti dal livello di restrizione attuale. + + + Using invisible characters is not allowed. + Utilizzare caratteri invisibili non è consentito. + + + Mixing numbers from different scripts is not allowed. + Non è consentito mescolare numeri provenienti da diversi script. + + + Using hidden overlay characters is not allowed. + Non è consentito utilizzare caratteri sovrapposti nascosti. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + L'estensione del file non è valida ({{ extension }}). Le estensioni consentite sono {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + La codifica dei caratteri rilevata non è valida ({{ detected }}). Le codifiche ammesse sono {{ encodings }}. + + + This value is not a valid MAC address. + Questo valore non è un indirizzo MAC valido. + + + This URL is missing a top-level domain. + Questo URL è privo di un dominio di primo livello. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ja.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ja.xlf index 9feed48d..26cb6e59 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ja.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ja.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,8 +134,8 @@ This file is not a valid image. ファイルが画像ではありません。 - - This is not a valid IP address. + + This value is not a valid IP address. 有効なIPアドレスではありません。 @@ -190,9 +190,9 @@ No file was uploaded. ファイルがアップロードされていません。 - - No temporary folder was configured in php.ini. - php.iniで一時フォルダが設定されていません。 + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.iniに一時フォルダが設定されていないか、設定されたフォルダが存在しません。 Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. 未対応のカード種類又は無効なカード番号です。 - - This is not a valid International Bank Account Number (IBAN). - 有効なIBANコードではありません。 + + This value is not a valid International Bank Account Number (IBAN). + 有効な国際銀行勘定番号(IBAN)ではありません。 This value is not a valid ISBN-10. @@ -310,16 +310,16 @@ This value does not match the expected {{ charset }} charset. この値は予期される文字コード({{ charset }})と異なります。 - - This is not a valid Business Identifier Code (BIC). + + This value is not a valid Business Identifier Code (BIC). 有効なSWIFTコードではありません。 Error エラー - - This is not a valid UUID. + + This value is not a valid UUID. 有効なUUIDではありません。 @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. ネットマスクの値は、{{ min }}から{{ max }}の間にある必要があります。 + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + ファイル名が長すぎます。ファイル名の長さは{{ filename_max_length }}文字以下でなければなりません。 + + + The password strength is too low. Please use a stronger password. + パスワードの強度が弱すぎます。より強いパスワードを使用してください。 + + + This value contains characters that are not allowed by the current restriction-level. + この値は現在の制限レベルで許可されていない文字を含んでいます。 + + + Using invisible characters is not allowed. + 不可視文字は使用できません。 + + + Mixing numbers from different scripts is not allowed. + 異なる種類の数字を使うことはできません。 + + + Using hidden overlay characters is not allowed. + 隠れたオーバレイ文字は使用できません。 + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + ファイルの拡張子が無効です({{ extension }})。有効な拡張子は{{ extensions }}です。 + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + 検出された文字コードは無効です({{ detected }})。有効な文字コードは{{ encodings }}です。 + + + This value is not a valid MAC address. + 有効なMACアドレスではありません。 + + + This URL is missing a top-level domain. + このURLはトップレベルドメインがありません。 + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lb.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lb.xlf index f27bbd4b..8b0b6a24 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lb.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lb.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Dëse Fichier ass kee gëltegt Bild. - - This is not a valid IP address. - Dëst ass keng gëlteg IP-Adress. + + This value is not a valid IP address. + Dëse Wäert ass keng gülteg IP-Adress. This value is not a valid language. @@ -190,8 +190,8 @@ No file was uploaded. Et gouf kee Fichier eropgelueden. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. Et gouf keen temporären Dossier an der php.ini konfiguréiert oder den temporären Dossier existéiert net. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Net ënnerstëtzte Kaartentyp oder ongëlteg Kaartennummer. - - This is not a valid International Bank Account Number (IBAN). - Dëst ass keng gëlteg IBAN-Kontonummer. + + This value is not a valid International Bank Account Number (IBAN). + Dëse Wäert ass keng gülteg International Bankkontonummer (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Dëse Wäert entsprécht net dem erwaarten Zeechesaz {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Dëst ass kee gëltege "Business Identifier Code" (BIC). + + This value is not a valid Business Identifier Code (BIC). + Dëse Wäert ass kee gültege Business Identifier Code (BIC). Error Feeler - - This is not a valid UUID. - Dëst ass keng gëlteg UUID. + + This value is not a valid UUID. + Dëse Wäert ass keng gülteg UUID. This value should be a multiple of {{ compared_value }}. @@ -386,6 +386,86 @@ This value is not a valid International Securities Identification Number (ISIN). Dëse Wäert ass keng gëlteg International Wäertpabeiererkennnummer (ISIN). + + This value should be a valid expression. + Dëse Wäert soll eng gëlteg Expression sinn. + + + This value is not a valid CSS color. + Dëse Wäert ass keng gëlteg CSS Faarf. + + + This value is not a valid CIDR notation. + Dëse Wäert ass keng gëlteg CIDR Notatioun. + + + The value of the netmask should be between {{ min }} and {{ max }}. + De Wäert vum Netmask soll tëscht {{ min }} a {{ max }} sinn. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + De Dateinimm ass ze laang. Et sollt {{ filename_max_length }} Zeechen oder manner hunn.|De Dateinimm ass ze laang. Et sollt {{ filename_max_length }} Zeechen oder manner hunn. + + + The password strength is too low. Please use a stronger password. + D'Staarf vum Passwuert ass ze schwaach. Benotzt w. e. g. e stäerker Passwuert. + + + This value contains characters that are not allowed by the current restriction-level. + Dëse Wäert enthält Zeechen, déi net erlaabt sinn no der aktueller Beschränkungsstuf. + + + Using invisible characters is not allowed. + D'Benotzen vu onsiichtbaren Zeechen ass net erlaabt. + + + Mixing numbers from different scripts is not allowed. + D'Mësche vu Nummeren aus verschiddenen Skripten ass net erlaabt. + + + Using hidden overlay characters is not allowed. + D'Benotzen vu verstoppten Iwwerlagungszeechen ass net erlaabt. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + D'Extensioun vum Fichier ass net valabel ({{ extension }}). Valabel Extensioune sinn {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Den Encodage vun de Schrëftzeechen ass net valabel ({{ detected }}). Valabel Encodage sinn {{ encodings }}. + + + This value is not a valid MAC address. + Dëse Wäert ass keng gülteg MAC-Adress. + + + This URL is missing a top-level domain. + Dësen URL feelt eng Top-Level-Domain. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lt.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lt.xlf index 7a2c4c52..e30f8a6a 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lt.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lt.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -36,11 +36,11 @@ This field was not expected. - Nebuvo tikimasi Šis laukas. + Nebuvo tikimasi šio laukelio. This field is missing. - Šiame lauke yra dingęs. + Trūkstamas laukelis. This value is not a valid date. @@ -134,8 +134,8 @@ This file is not a valid image. Byla nėra paveikslėlis. - - This is not a valid IP address. + + This value is not a valid IP address. Ši reikšmė nėra tinkamas IP adresas. @@ -190,9 +190,9 @@ No file was uploaded. Nebuvo įkelta jokių failų. - - No temporary folder was configured in php.ini. - Nėra sukonfiguruoto jokio laikino katalogo php.ini faile. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini nesukonfigūruotas laikinas aplankas arba sukonfigūruotas aplankas neegzistuoja. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Kortelės tipas nepalaikomas arba klaidingas kortelės numeris. - - This is not a valid International Bank Account Number (IBAN). - Ši reišmė neatitinka tarptautinio banko sąskaitos numerio formato (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ši reikšmė nėra tinkamas Tarptautinis Banko Sąskaitos Numeris (IBAN). This value is not a valid ISBN-10. @@ -310,16 +310,16 @@ This value does not match the expected {{ charset }} charset. Ši reikšmė neatitinka {{ charset }} koduotės. - - This is not a valid Business Identifier Code (BIC). - Bendrovės Identifikavimo Kodas (BIC) nėra tinkamas. + + This value is not a valid Business Identifier Code (BIC). + Ši reikšmė nėra tinkamas Verslo Identifikavimo Kodas (BIC). Error Klaida - - This is not a valid UUID. + + This value is not a valid UUID. Ši reikšmė nėra tinkamas UUID. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Tinklo kaukės reikšmė turi būti nuo {{ min }} iki {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Failo pavadinimas per ilgas. Jame turėtų būti {{ filename_max_length }} simbolis arba mažiau.|Failo pavadinimas per ilgas. Jame turėtų būti {{ filename_max_length }} simbolių arba mažiau. + + + The password strength is too low. Please use a stronger password. + Slaptažodis per silpnas. Naudokite stipresnį slaptažodį. + + + This value contains characters that are not allowed by the current restriction-level. + Šioje reikšmėje yra simbolių, kurių neleidžia dabartinis apribojimo lygis. + + + Using invisible characters is not allowed. + Naudoti nematomus simbolius draudžiama. + + + Mixing numbers from different scripts is not allowed. + Draudžiama maišyti skaičius iš skirtingų scenarijų. + + + Using hidden overlay characters is not allowed. + Draudžiama naudoti paslėptus perdangos simbolius. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Failo plėtinys netinkamas ({{ extension }}). Leidžiami plėtiniai yra {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Aptikta simbolių koduotė yra netinkama ({{ detected }}). Leidžiamos koduotės yra {{ encodings }}. + + + This value is not a valid MAC address. + Ši reikšmė nėra tinkamas MAC adresas. + + + This URL is missing a top-level domain. + Šiam URL trūksta aukščiausio lygio domeno. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Per mažas žodžių skaičius. Turi susidaryti bent iš 1 žodžio.|Per mažas žodžių skaičius. Turi susidaryti iš {{ min }} arba daugiau žodžių. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Per didelis žodžių skaičius. Turi susidaryti iš 1 žodžio.|Per didelis žodžių skaičius. Turi susidaryti iš {{ max }} arba mažiau žodžių. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lv.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lv.xlf index fc71d5f9..fef1c366 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lv.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.lv.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -20,7 +20,7 @@ The value you selected is not a valid choice. - Vērtība, kuru jūs izvēlējāties nav derīga izvēle. + Vērtība, kuru jūs izvēlējāties, nav derīga izvēle. You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. @@ -48,7 +48,7 @@ This value is not a valid datetime. - Šī vērtība ir nederīgs datums un laiks + Šī vērtība ir nederīgs datums un laiks. This value is not a valid email address. @@ -76,7 +76,7 @@ This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Šīs vērtības garums ir 0 rakstzīmju.|Šī vērtība ir pārāk gara. Tai būtu jābūt ne vairāk kā {{ limit }} rakstzīmei.|Šī vērtība ir pārāk gara. Tai būtu jābūt ne vairāk kā {{ limit }} rakstzīmēm. + Šīs vērtības garums ir 0 rakstzīmes.|Šī vērtība ir pārāk gara. Tai būtu jābūt ne vairāk kā {{ limit }} rakstzīmi garai.|Šī vērtība ir pārāk gara. Tai būtu jābūt ne vairāk kā {{ limit }} rakstzīmes garai. This value should be {{ limit }} or more. @@ -84,7 +84,7 @@ This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Šīs vērtības garums ir 0 rakstzīmju.|Šī vērtība ir pārāk īsa. Tai būtu jābūt ne mazāk kā {{ limit }} rakstzīmei.|Šī vērtība ir pārāk īsa. Tai būtu jābūt ne mazāk kā {{ limit }} rakstzīmēm. + Šīs vērtības garums ir 0 rakstzīmes.|Šī vērtība ir pārāk īsa. Tai būtu jābūt ne mazāk kā {{ limit }} rakstzīmi garai.|Šī vērtība ir pārāk īsa. Tai būtu jābūt ne mazāk kā {{ limit }} rakstzīmes garai. This value should not be blank. @@ -112,7 +112,7 @@ The two values should be equal. - Abām vērtībām jābūt vienādam. + Abām vērtībām jābūt vienādām. The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. @@ -134,9 +134,9 @@ This file is not a valid image. Šis fails nav derīgs attēls. - - This is not a valid IP address. - Šī nav derīga IP adrese. + + This value is not a valid IP address. + Šī vērtība nav derīga IP adrese. This value is not a valid language. @@ -180,7 +180,7 @@ This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Šīs vērtības garums ir 0 rakstzīmju.|Šai vērtībai ir jābūt tieši {{ limit }} rakstzīmei.|Šai vērtībai ir jābūt tieši {{ limit }} rakstzīmēm. + Šīs vērtības garums ir 0 rakstzīmes.|Šai vērtībai ir jābūt tieši {{ limit }} rakstzīmi garai.|Šai vērtībai ir jābūt tieši {{ limit }} rakstzīmes garai. The file was only partially uploaded. @@ -190,13 +190,13 @@ No file was uploaded. Fails netika augšupielādēts. - - No temporary folder was configured in php.ini. - Pagaidu mape php.ini failā nav nokonfigurēta. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini nav konfigurēta pagaidu mape vai arī konfigurētā mape neeksistē. Cannot write temporary file to disk. - Nevar ierakstīt pagaidu failu uz diska. + Nevar ierakstīt pagaidu failu diskā. A PHP extension caused the upload to fail. @@ -204,15 +204,15 @@ This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Šis krājums satur 0 elementu.|Šim krājumam jāsatur vismaz {{ limit }} elementu.|Šim krājumam jāsatur vismaz {{ limit }} elementus. + Šis krājums satur 0 elementu.|Šim krājumam jāsatur vismaz {{ limit }} elements.|Šim krājumam jāsatur vismaz {{ limit }} elementi. This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Šis krājums satur 0 elementu.|Šim krājumam jāsatur ne vairāk kā {{ limit }} elementu.|Šim krājumam jāsatur ne vairāk kā {{ limit }} elementus. + Šis krājums satur 0 elementu.|Šim krājumam jāsatur ne vairāk kā {{ limit }} elements.|Šim krājumam jāsatur ne vairāk kā {{ limit }} elementi. This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Šis krājums satur 0 elementu.|Šim krājumam jāsatur tieši {{ limit }} elementu.|Šim krājumam jāsatur tieši {{ limit }} elementus. + Šis krājums satur 0 elementu.|Šim krājumam jāsatur tieši {{ limit }} elements.|Šim krājumam jāsatur tieši {{ limit }} elementi. Invalid card number. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Neatbalstīts kartes tips vai nederīgs kartes numurs. - - This is not a valid International Bank Account Number (IBAN). - Šis nav derīgs starptautisks banku konta numurs (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Šī vērtība nav derīgs Starptautiskais Bankas Konta Numurs (IBAN). This value is not a valid ISBN-10. @@ -232,7 +232,7 @@ This value is not a valid ISBN-13. - Šī vērtība nav derīgs ISBN-13 numurs + Šī vērtība nav derīgs ISBN-13 numurs. This value is neither a valid ISBN-10 nor a valid ISBN-13. @@ -240,11 +240,11 @@ This value is not a valid ISSN. - Šī vērtība nav derīgs ISSN numurs + Šī vērtība nav derīgs ISSN numurs. This value is not a valid currency. - Šī vērtība nav derīga valūta + Šī vērtība nav derīga valūta. This value should be equal to {{ compared_value }}. @@ -292,11 +292,11 @@ The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Attēls ir orientēts kā ainava ({{ width }}x{{ height }}px). Attēli, kas ir orientēti kā ainavas nav atļauti. + Attēls ir orientēts kā ainava ({{ width }}x{{ height }}px). Attēli, kas ir orientēti kā ainavas, nav atļauti. The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Attēls ir orientēts kā portrets ({{ width }}x{{ height }}px). Attēli, kas ir orientēti kā portreti nav atļauti. + Attēls ir orientēts kā portrets ({{ width }}x{{ height }}px). Attēli, kas ir orientēti kā portreti, nav atļauti. An empty file is not allowed. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Šī vērtība neatbilst sagaidāmajai rakstzīmju kopai {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Šī vērtība nav derīgs Biznesa Identifikācijas Kods (BIC). + + This value is not a valid Business Identifier Code (BIC). + Šī vērtība nav derīgs Uzņēmuma Identifikācijas Kods (BIC). Error Kļūda - - This is not a valid UUID. - Šis nav derīgs UUID. + + This value is not a valid UUID. + Šī vērtība nav derīgs UUID. This value should be a multiple of {{ compared_value }}. @@ -360,7 +360,7 @@ This password has been leaked in a data breach, it must not be used. Please use another password. - Šī parole tika publicēta datu noplūdē, viņu nedrīkst izmantot. Lūdzu, izvēlieties citu paroli. + Šī parole tika publicēta datu noplūdē, to nedrīkst izmantot. Lūdzu, izvēlieties citu paroli. This value should be between {{ min }} and {{ max }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Tīkla maskas (netmask) vērtībai jābūt starp {{ min }} un {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Faila nosaukums ir pārāk garš. Tas var būt {{ filename_max_length }} rakstzīmi garš vai īsāks.|Faila nosaukums ir pārāk garš. Tas var būt {{ filename_max_length }} rakstzīmes garš vai īsāks. + + + The password strength is too low. Please use a stronger password. + Paroles stiprums ir pārāk zems. Lūdzu, izmantojiet spēcīgāku paroli. + + + This value contains characters that are not allowed by the current restriction-level. + Šī vērtība satur rakstzīmes, kuras nav atļautas pašreizējā ierobežojuma līmenī. + + + Using invisible characters is not allowed. + Neredzamu rakstzīmju izmantošana nav atļauta. + + + Mixing numbers from different scripts is not allowed. + Nav atļauts sajaukt numurus no dažādiem skriptiem. + + + Using hidden overlay characters is not allowed. + Slēptu pārklājuma rakstzīmju izmantošana nav atļauta. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Faila paplašinājums nav derīgs ({{ extension }}). Atļautie paplašinājumi ir {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Noteiktais rakstzīmju kodējums nav derīgs ({{ detected }}). Atļautie kodējumi ir {{ encodings }}. + + + This value is not a valid MAC address. + Šī vērtība nav derīga MAC adrese. + + + This URL is missing a top-level domain. + Šim URL trūkst augšējā līmeņa domēna. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Šī vērtība ir pārāk īsa. Tai būtu jābūt vismaz vienu vārdu garai.|Šī vērtība ir pārāk īsa. Tai būtu jābūt ne mazāk kā {{ min }} vārdus garai. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Šī vērtība ir pārāk gara. Tai būtu jābūt vienam vārdam.|Šī vērtība ir pārāk gara. Tai būtu jābūt ne vairāk kā {{ max }} vārdus garai. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.mk.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.mk.xlf new file mode 100644 index 00000000..722c9a78 --- /dev/null +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.mk.xlf @@ -0,0 +1,471 @@ + + + + + + This value should be false. + Оваа вредност треба да биде лажна. + + + This value should be true. + Оваа вредност треба да биде вистинита. + + + This value should be of type {{ type }}. + Оваа вредност треба да биде од типот {{ type }}. + + + This value should be blank. + Оваа вредност треба да биде празна. + + + The value you selected is not a valid choice. + Вредноста што ја одбравте не е валиден избор. + + + You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. + Мора да одберете најмалку {{ limit }} избор.|Мора да одберете најмалку {{ limit }} изброи. + + + You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. + Може да одберете најмногу {{ limit }} избор.|Мора да одберете најмногу {{ limit }} избори. + + + One or more of the given values is invalid. + Една или повеќе од дадените вредности не се валидни. + + + This field was not expected. + Ова поле не беше очекувано. + + + This field is missing. + Ова поле недостига. + + + This value is not a valid date. + Оваа вредност не е валиден датум. + + + This value is not a valid datetime. + Оваа вредност не е валиден датум и време. + + + This value is not a valid email address. + Оваа вредност не е валидна адреса за е-пошта. + + + The file could not be found. + Датотеката не е најдена. + + + The file is not readable. + Датотеката не може да биде прочитана. + + + The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. + Датотеката е премногу голема ({{ size }} {{ suffix }}). Максималната дозволена големина е {{ limit }} {{ suffix }}. + + + The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. + Миме типот на датотеката не е валиден ({{ type }}). Дозволените миме типови се {{ types }}. + + + This value should be {{ limit }} or less. + Оваа вредност треба да биде {{ limit }} или помалку. + + + This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. + Оваа вредност е предолга. Треба да содржи {{ limit }} карактер или помалку.|Оваа вредност е предолга. Треба да содржи {{ limit }} карактери или помалку. + + + This value should be {{ limit }} or more. + Оваа вредност треба да е {{ limit }} или повеќе. + + + This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. + Оваа вредност е прекратка. Треба да содржи {{ limit }} карактер или повеќе.|Оваа вредност е прекратка. Треба да содржи {{ limit }} карактери или повеќе. + + + This value should not be blank. + Ова поле не може да биде празно. + + + This value should not be null. + Оваа вредност не може да биде ништо (null). + + + This value should be null. + Оваа вредност треба да е ништо (null). + + + This value is not valid. + Оваа вредност не е валидна. + + + This value is not a valid time. + Оваа вредност не е валидно време. + + + This value is not a valid URL. + Оваа вредност не е валиден URL. + + + The two values should be equal. + Двете вредности треба да се еднакви. + + + The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. + Датотеката е премногу голема. Максималната дозволена големина е {{ limit }} {{ suffix }}. + + + The file is too large. + Датотеката е премногу голема. + + + The file could not be uploaded. + Датотеката не може да биде подигната. + + + This value should be a valid number. + Оваа вредност треба да е валиден број. + + + This file is not a valid image. + Оваа датотека не е валидна слика. + + + This value is not a valid IP address. + Оваа вредност не е валидна IP адреса. + + + This value is not a valid language. + Оваа вредност не е валиден јазик. + + + This value is not a valid locale. + Оваа вредност не е валидна локализација. + + + This value is not a valid country. + Оваа вредност не е валидна земја. + + + This value is already used. + Оваа вредност веќе се користи. + + + The size of the image could not be detected. + Големината на сликата не може да се детектира. + + + The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. + Ширината на сликата е преголема ({{ width }}px). Максималната дозволена ширина е {{ max_width }}px. + + + The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. + Ширината на сликата е премала ({{ width }}px). Минималната дозволена ширина е {{ min_width }}px. + + + The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. + Висината на сликата е преголема ({{ height }}px). Максималната дозволена висина е {{ max_height }}px. + + + The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. + Висината на сликата е премала ({{ height }}px). Минималната дозволена висина е {{ min_height }}px. + + + This value should be the user's current password. + Оваа вредност треба да биде сегашната лозинка на корисникот. + + + This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. + Оваа вредност треба да има точно {{ limit }} карактер.|Оваа вредност треба да има точно {{ limit }} карактери. + + + The file was only partially uploaded. + Датотеката е само делумно подигната. + + + No file was uploaded. + Датотеката не е подигната. + + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Не е конфигурирана привремена папка во php.ini, или конфигурираната папка не постои. + + + Cannot write temporary file to disk. + Не може да се напише привремена датотека на дискот. + + + A PHP extension caused the upload to fail. + PHP екстензијата предизвика подигнувањето да биде неуспешно. + + + This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. + Оваа колекција треба да содржи {{ limit }} елемент или повеќе.|Оваа колекција треба да содржи {{ limit }} елементи или повеќе. + + + This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. + Оваа колекција треба да содржи {{ limit }} елемент или помалку.|Оваа колекција треба да содржи {{ limit }} елементи или помалку. + + + This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. + Оваа колекција треба да содржи точно {{ limit }} елемент.|Оваа колекција треба да содржи точно {{ limit }} елементи. + + + Invalid card number. + Бројот на картичката не е валиден. + + + Unsupported card type or invalid card number. + Неподдржан тип на картичка или бројот на картичката не е валиден. + + + This value is not a valid International Bank Account Number (IBAN). + Оваа вредност не е валиден Меѓународен Банкарски Сметка Број (IBAN). + + + This value is not a valid ISBN-10. + Оваа вредност не е валиден ISBN-10. + + + This value is not a valid ISBN-13. + Оваа вредност не е валиден ISBN-13. + + + This value is neither a valid ISBN-10 nor a valid ISBN-13. + Оваа вредност не е ниту валиден ISBN-10 ниту валиден ISBN-13. + + + This value is not a valid ISSN. + Оваа вредност не е валиден ISSN. + + + This value is not a valid currency. + Оваа вредност не е валидна валута. + + + This value should be equal to {{ compared_value }}. + Оваа вредност треба да биде еднаква на {{ compared_value }}. + + + This value should be greater than {{ compared_value }}. + Оваа вредност треба да е поголема од {{ compared_value }}. + + + This value should be greater than or equal to {{ compared_value }}. + Оваа вредност треба да е поголема или еднаква на {{ compared_value }}. + + + This value should be identical to {{ compared_value_type }} {{ compared_value }}. + Оваа вредност треба да е идентична на {{ compared_value_type }} {{ compared_value }}. + + + This value should be less than {{ compared_value }}. + Оваа вредност треба да е помала од {{ compared_value }}. + + + This value should be less than or equal to {{ compared_value }}. + Оваа вредност треба да е помала или еднаква на {{ compared_value }}. + + + This value should not be equal to {{ compared_value }}. + Оваа вредност треба да не биде еднаква на {{ compared_value }}. + + + This value should not be identical to {{ compared_value_type }} {{ compared_value }}. + Оваа вредност треба да не биде идентична со {{ compared_value_type }} {{ compared_value }}. + + + The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. + Соодносот на сликата е преголем ({{ ratio }}).Максималниот дозволен сооднос е {{ max_ratio }}. + + + The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. + Соодносот на сликата е премал ({{ ratio }}). Минималниот дозволен сооднос е {{ min_ratio }}. + + + The image is square ({{ width }}x{{ height }}px). Square images are not allowed. + Сликата е квадратна ({{ width }}x{{ height }}px). Квадратни слики не се дозволени. + + + The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. + Сликата е ориентирана кон пејзаж ({{ width }}x{{ height }}px). Сликите ориентирани кон пејзаж не се дозволени. + + + The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. + Сликата е ориентирана кон портрет ({{ width }}x{{ height }}px). Сликите ориентирани кон портрет не се дозволени. + + + An empty file is not allowed. + Празна датотека не е дозволена. + + + The host could not be resolved. + Хостот е недостапен. + + + This value does not match the expected {{ charset }} charset. + Оваа вредност не се совпаѓа со очекуваниот {{ charset }} сет на карактери (charset). + + + This value is not a valid Business Identifier Code (BIC). + Оваа вредност не е валиден Бизнис Идентификациски Код (BIC). + + + Error + Грешка + + + This value is not a valid UUID. + Оваа вредност не е валиден UUID. + + + This value should be a multiple of {{ compared_value }}. + Оваа вредност треба да биде повеќекратна од {{ compared_value }}. + + + This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. + Овој бизнис идентификациски код (BIC) не е поврзан со IBAN {{ iban }}. + + + This value should be valid JSON. + Оваа вредност треба да биде валиден JSON. + + + This collection should contain only unique elements. + Оваа колекција треба да содржи само уникатни елементи. + + + This value should be positive. + Оваа вредност треба да биде позитивна. + + + This value should be either positive or zero. + Оваа вредност треба да биде или позитивна или нула. + + + This value should be negative. + Оваа вредност треба да биде негативна. + + + This value should be either negative or zero. + Оваа вредност треба да биде или негативна или нула. + + + This value is not a valid timezone. + Оваа вредност не е валидна временска зона. + + + This password has been leaked in a data breach, it must not be used. Please use another password. + Оваа лозинка е компромитирана и не смее да биде користена. Ве молиме употребете друга лозинка. + + + This value should be between {{ min }} and {{ max }}. + Оваа вредност треба да е помеѓу {{ min }} и {{ max }}. + + + This value is not a valid hostname. + Оваа вредност не е валидно име за мрежниот сметач (hostname). + + + The number of elements in this collection should be a multiple of {{ compared_value }}. + Бројот на елементи во оваа колекција треба да биде повеќекратен од {{ compared_value }}. + + + This value should satisfy at least one of the following constraints: + Оваа вредност треба да задоволува најмалку едно од следните ограничувања: + + + Each element of this collection should satisfy its own set of constraints. + Секој елемент од оваа колекција треба да задоволува сопствен сет на ограничувања. + + + This value is not a valid International Securities Identification Number (ISIN). + Оваа вредност не е важечки меѓународен идентификациски број за хартии од вредност (ISIN). + + + This value should be a valid expression. + Оваа вредност треба да биде валиден израз. + + + This value is not a valid CSS color. + Оваа вредност не е валидна CSS боја. + + + This value is not a valid CIDR notation. + Оваа вредност не е валидна CIDR ознака. + + + The value of the netmask should be between {{ min }} and {{ max }}. + Вредноста на мрежната маска (netmask) треба да биде помеѓу {{ min }} и {{ max }}. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Името на датотеката е предолго. Треба да има {{ filename_max_length }} карактер има помалку.|Името на датотеката е предолго. Треба да има {{ filename_max_length }} карактери или помалку. + + + The password strength is too low. Please use a stronger password. + Оваа лозинка е премногу едноставна. Ве молиме користете посилна лозинка. + + + This value contains characters that are not allowed by the current restriction-level. + Оваа вредност содржи карактери кои не се дозволени од тековното ниво на ограничување. + + + Using invisible characters is not allowed. + Користењето на невидливи знаци не е дозволено. + + + Mixing numbers from different scripts is not allowed. + Не е дозволено мешање на броеви од различни скрипти. + + + Using hidden overlay characters is not allowed. + Не е дозволено користење на скриени знаци за преклопување. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Зголемувања на датотеката е неважечка ({{ extension }}). Дозволени зголемувања се ({{ extensions }}). + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Откриеното кодирање на знаци е неважечко ({{ detected }}). Дозволените шифрирања се {{ encodings }}. + + + This value is not a valid MAC address. + Оваа вредност не е валидна MAC адреса. + + + This URL is missing a top-level domain. + На овој URL недостасува домен од највисоко ниво. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + + + + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.mn.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.mn.xlf index b767dc87..0c9f8c84 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.mn.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.mn.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Файл зураг биш байна. - - This is not a valid IP address. - IP хаяг зөв биш байна. + + This value is not a valid IP address. + Энэ утга хүчинтэй IP хаяг биш юм. This value is not a valid language. @@ -190,8 +190,8 @@ No file was uploaded. Ямар ч файл upload хийгдсэнгүй. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. php.ini дээр түр зуурын хавтсыг тохируулаагүй байна, эсвэл тохируулсан хавтас байхгүй байна. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Дэмжигдээгүй картын төрөл эсвэл картын дугаар буруу байна. - - This is not a valid International Bank Account Number (IBAN). - Энэ утга үнэн зөв Олон Улсын Банкны Дансны Дугаар (IBAN) биш байна. + + This value is not a valid International Bank Account Number (IBAN). + Энэ утга хүчинтэй Олон улсын Банкны Дансны Дугаар (IBAN) биш юм. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Энэ утга тооцоолсон {{ charset }} тэмдэгттэй таарахгүй байна. - - This is not a valid Business Identifier Code (BIC). - Энэ утга үнэн зөв Business Identifier Code (BIC) биш байна. + + This value is not a valid Business Identifier Code (BIC). + Энэ утга хүчинтэй Бизнес Таних Код (BIC) биш юм. Error Алдаа - - This is not a valid UUID. - Энэ утга үнэн зөв UUID биш байна. + + This value is not a valid UUID. + Энэ утга хүчинтэй UUID биш юм. This value should be a multiple of {{ compared_value }}. @@ -386,6 +386,86 @@ This value is not a valid International Securities Identification Number (ISIN). Энэ утга зөв International Securities Identification Number (ISIN) биш байна. + + This value should be a valid expression. + Энэ утга нь зөв илэрхийлэл байх ёстой. + + + This value is not a valid CSS color. + Энэ утга нь хүчинтэй CSS өнгө биш байна. + + + This value is not a valid CIDR notation. + Энэ утга нь хүчинтэй CIDR тэмдэглэгээ биш байна. + + + The value of the netmask should be between {{ min }} and {{ max }}. + Сүлжээний маскны утга нь {{ min }} ба {{ max }}-ийн хооронд байх ёстой. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Файлын нэр хэт урт байна. Энэ нь {{ filename_max_length }} тэмдэгт эсвэл түүнээс бага байх ёстой.|Файлын нэр хэт урт байна. Энэ нь {{ filename_max_length }} тэмдэгт эсвэл түүнээс бага байх ёстой. + + + The password strength is too low. Please use a stronger password. + Нууц үгийн хүч нь хэт бага байна. Хүчтэй нууц үгийг ашиглана уу. + + + This value contains characters that are not allowed by the current restriction-level. + Энэ утга нь одоогийн хязгаарлалтын түвшинд зөвшөөрөгдөөгүй тэмдэгтүүд агуулж байна. + + + Using invisible characters is not allowed. + Харагдахгүй тэмдэгтүүдийг ашиглахыг зөвшөөрөхгүй. + + + Mixing numbers from different scripts is not allowed. + Янз бүрийн скриптүүдээс тоог хольж хэрэглэхийг зөвшөөрөхгүй. + + + Using hidden overlay characters is not allowed. + Нууцлагдсан давхаргын тэмдэгтүүдийг ашиглахыг зөвшөөрөхгүй. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Файлын өргөтгөл буруу байна ({{ extension }}). Зөвшөөрөгдсөн өргөтгөлүүд нь {{ extensions }} юм. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Илрүүлсэн тэмдэгтийн кодчилол буруу байна ({{ detected }}). Зөвшөөрөгдсөн кодчилолууд нь {{ encodings }} юм. + + + This value is not a valid MAC address. + Энэ утга хүчинтэй MAC хаяг биш юм. + + + This URL is missing a top-level domain. + Энэ URL дээд түвшингийн домейн дутуу байна. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.my.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.my.xlf index 7f45aaed..89bb0906 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.my.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.my.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. ဤဖိုင်သည်မှန်ကန်သော ဓါတ်ပုံမဟုတ်ပါ။ - - This is not a valid IP address. - ၎င်းသည်တရားဝင် IP လိပ်စာမဟုတ်ပါ။ + + This value is not a valid IP address. + ဤတန်ဖိုးသည် မှန်ကန်သော IP လိပ်စာ မဟုတ်ပါ။ This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. မည်သည့် ဖိုင်မျှ upload မလုပ်ခဲ့ပါ။ - - No temporary folder was configured in php.ini. - php.ini တွင်ယာယီဖိုင်တွဲကိုပြင်ဆင်ထားခြင်းမရှိပါ၊ + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini တွင်ယာယီဖိုင်တွဲကိုပြင်ဆင်ထားခြင်းမရှိပါ၊ သို့မဟုတ် ပြင်ဆင်ထားသောဖိုင်တွဲမရှိပါ။ Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. ကဒ်အမျိုးအစားမမှန်ပါ (သို့မဟုတ်) ကဒ်နံပါတ်မမှန်ပါ။ - - This is not a valid International Bank Account Number (IBAN). - ဤတန်ဖိုးသည် တရား၀င်နိုင်ငံတကာဘဏ်အကောင့်နံပါတ် (International Bank Account Number, IBAN) မဟုတ်ပါ။ + + This value is not a valid International Bank Account Number (IBAN). + ဤတန်ဖိုးသည် မှန်ကန်သော နိုင်ငံတကာ ဘဏ်စာရင်းနံပါတ် (IBAN) မဟုတ်ပါ။ This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. ဤတန်ဖိုးသည် မျှော်မှန်းထားသော {{ charset }} စားလုံးနှင့် ကိုက်ညီမှုမရှိပါ။ - - This is not a valid Business Identifier Code (BIC). - ၎င်းသည်မှန်ကန်သော Business Identifier Code (BIC) မဟုတ်ပါ။ + + This value is not a valid Business Identifier Code (BIC). + ဤတန်ဖိုးသည် မှန်ကန်သော စီးပွားရေး မှတ်ပုံတင်ကုဒ် (BIC) မဟုတ်ပါ။ Error အမှား - - This is not a valid UUID. - ဤတန်ဖိုးသည် သင့်လျှော်သော် UUID မဟုတ်ပါ။ + + This value is not a valid UUID. + ဤတန်ဖိုးသည် မှန်ကန်သော UUID မဟုတ်ပါ။ This value should be a multiple of {{ compared_value }}. @@ -390,6 +390,82 @@ This value should be a valid expression. ဤတန်ဖိုးသည်မှန်ကန်သောစကားရပ်ဖြစ်သင့်သည်။ + + This value is not a valid CSS color. + ဤတန်ဖိုးသည် CSS အရောင်မှန်ကန်မှုမရှိပါ။ + + + This value is not a valid CIDR notation. + ဤတန်ဖိုးသည် CIDR မှတ်စုံမှန်ကန်မှုမရှိပါ။ + + + The value of the netmask should be between {{ min }} and {{ max }}. + ကွန်ယက်မျက်နှာဖုံး၏ တန်ဖိုးသည် {{ min }} နှင့် {{ max }} ကြားရှိရမည်။ + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + ဖိုင်နာမည်သည် အရှည်လွန်းသည်။ သင်္ကေတ {{ filename_max_length }} သို့မဟုတ် နည်းသည့်အရေအတွက်ရှိရမည်။|ဖိုင်နာမည်သည် အရှည်လွန်းသည်။ သင်္ကေတ {{ filename_max_length }} သို့မဟုတ် နည်းသည့်အရေအတွက်ရှိရမည်။ + + + The password strength is too low. Please use a stronger password. + စကားဝှက်ခိုင်မာမှုနည်းပါးသည်။ ပိုခိုင်မာသော စကားဝှက်ကို သုံးပါ။ + + + This value contains characters that are not allowed by the current restriction-level. + ဤတန်ဖိုးတွင် လက်ရှိကန့်သတ်မှုအဆင့်မှ ခွင့်မပြုထားသော ဇာတ်ကောင်များပါဝင်သည်။ + + + Using invisible characters is not allowed. + မမြင်ရသော ဇာတ်ကောင်များကို သုံးခြင်းကို ခွင့်မပြုပါ။ + + + Mixing numbers from different scripts is not allowed. + မတူညီသော ဇာတ်ကောင်များမှ နံပါတ်များကို ရောနှောစပ်ခြင်းကို ခွင့်မပြုပါ။ + + + Using hidden overlay characters is not allowed. + ပုန်းထားသော အထပ်ကောင်းဇာတ်ကောင်များကို သုံးခြင်းကို ခွင့်မပြုပါ။ + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + ဖိုင်တွင်းတိုးခြင်းသည် မမှန်ကန်ပါ ({{ extension }})။ ခွင့်ပြုထားသော တိုးခြင်းများမှာ {{ extensions }} ဖြစ်သည်။ + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + တွေ့ရှိထားသော စာလုံးကုဒ်စံနစ်သည် မမှန်ကန်ပါ ({{ detected }})။ ခွင့်ပြုထားသော ကုဒ်စံနစ်များမှာ {{ encodings }} ဖြစ်သည်။ + + + This value is not a valid MAC address. + ဤတန်ဖိုးသည် မှန်ကန်သော MAC လိပ်စာ မဟုတ်ပါ။ + + + This URL is missing a top-level domain. + ဤ URL တွင် အမြင့်ဆုံးအဆင့်ဒိုမိန်း ပါဝင်မရှိပါ။ + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nb.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nb.xlf index 5e1ebc18..d0a0e650 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nb.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nb.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Denne filen er ikke et gyldig bilde. - - This is not a valid IP address. - Dette er ikke en gyldig IP adresse. + + This value is not a valid IP address. + Denne verdien er ikke en gyldig IP-adresse. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Ingen fil var lastet opp. - - No temporary folder was configured in php.ini. - Den midlertidige mappen (tmp) er ikke konfigurert i php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Ingen midlertidig mappe ble konfigurert i php.ini, eller den konfigurerte mappen eksisterer ikke. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Korttypen er ikke støttet eller kortnummeret er ugyldig. - - This is not a valid International Bank Account Number (IBAN). - Dette er ikke et gyldig IBAN-nummer. + + This value is not a valid International Bank Account Number (IBAN). + Denne verdien er ikke et gyldig internasjonalt bankkontonummer (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Verdien samsvarer ikke med forventet tegnsett {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Dette er ikke en gyldig BIC. + + This value is not a valid Business Identifier Code (BIC). + Denne verdien er ikke en gyldig forretningsidentifikasjonskode (BIC). Error Feil - - This is not a valid UUID. - Dette er ikke en gyldig UUID. + + This value is not a valid UUID. + Denne verdien er ikke en gyldig UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Verdien på nettmasken skal være mellom {{ min }} og {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Filnavnet er for langt. Det bør ha {{ filename_max_length }} tegn eller mindre.|Filnavnet er for langt. Det bør ha {{ filename_max_length }} tegn eller mindre. + + + The password strength is too low. Please use a stronger password. + Passordstyrken er for lav. Vennligst bruk et sterkere passord. + + + This value contains characters that are not allowed by the current restriction-level. + Denne verdien inneholder tegn som ikke er tillatt av gjeldende restriksjonsnivå. + + + Using invisible characters is not allowed. + Det er ikke tillatt å bruke usynlige tegn. + + + Mixing numbers from different scripts is not allowed. + Det er ikke tillatt å blande tall fra forskjellige skript. + + + Using hidden overlay characters is not allowed. + Det er ikke tillatt å bruke skjulte overleggskarakterer. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Filutvidelsen er ugyldig ({{ extension }}). Tillatte utvidelser er {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Den oppdagede tegnkodingen er ugyldig ({{ detected }}). Tillatte kodinger er {{ encodings }}. + + + This value is not a valid MAC address. + Denne verdien er ikke en gyldig MAC-adresse. + + + This URL is missing a top-level domain. + Denne URL-en mangler et toppnivådomene. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nl.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nl.xlf index 97d1da00..fdea10f0 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nl.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nl.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -64,11 +64,11 @@ The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - Het bestand is te groot ({{ size }} {{ suffix }}). Toegestane maximum grootte is {{ limit }} {{ suffix }}. + Het bestand is te groot ({{ size }} {{ suffix }}). De maximale grootte is {{ limit }} {{ suffix }}. The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Het mime type van het bestand is ongeldig ({{ type }}). Toegestane mime types zijn {{ types }}. + Het mediatype van het bestand is ongeldig ({{ type }}). De toegestane mediatypes zijn {{ types }}. This value should be {{ limit }} or less. @@ -116,7 +116,7 @@ The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Het bestand is te groot. Toegestane maximum grootte is {{ limit }} {{ suffix }}. + Het bestand is te groot. De maximale grootte is {{ limit }} {{ suffix }}. The file is too large. @@ -134,9 +134,9 @@ This file is not a valid image. Dit bestand is geen geldige afbeelding. - - This is not a valid IP address. - Dit is geen geldig IP-adres. + + This value is not a valid IP address. + Deze waarde is geen geldig IP-adres. This value is not a valid language. @@ -144,7 +144,7 @@ This value is not a valid locale. - Deze waarde is geen geldige locale. + Deze waarde is geen geldige landinstelling. This value is not a valid country. @@ -160,7 +160,7 @@ The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - De afbeelding is te breed ({{ width }}px). De maximaal toegestane breedte is {{ max_width }}px. + De afbeelding is te breed ({{ width }}px). De maximaal breedte is {{ max_width }}px. The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. @@ -168,7 +168,7 @@ The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - De afbeelding is te hoog ({{ height }}px). De maximaal toegestane hoogte is {{ max_height }}px. + De afbeelding is te hoog ({{ height }}px). De maximaal hoogte is {{ max_height }}px. The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. @@ -190,8 +190,8 @@ No file was uploaded. Er is geen bestand geüpload. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. Er is geen tijdelijke map geconfigureerd in php.ini, of de gespecificeerde map bestaat niet. @@ -222,11 +222,11 @@ Unsupported card type or invalid card number. Niet-ondersteund type creditcard of ongeldig nummer. - - This is not a valid International Bank Account Number (IBAN). - Dit is geen geldig internationaal bankrekeningnummer (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Deze waarde is geen geldig internationaal bankrekeningnummer (IBAN). - + This value is not a valid ISBN-10. Deze waarde is geen geldige ISBN-10. @@ -280,11 +280,11 @@ The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - De afbeeldingsverhouding is te groot ({{ ratio }}). Maximale verhouding is {{ max_ratio }}. + De afbeeldingsverhouding is te groot ({{ ratio }}). De maximale verhouding is {{ max_ratio }}. The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - De afbeeldingsverhouding is te klein ({{ ratio }}). Minimale verhouding is {{ min_ratio }}. + De afbeeldingsverhouding is te klein ({{ ratio }}). De minimale verhouding is {{ min_ratio }}. The image is square ({{ width }}x{{ height }}px). Square images are not allowed. @@ -310,21 +310,21 @@ This value does not match the expected {{ charset }} charset. Deze waarde is niet in de verwachte tekencodering {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Dit is geen geldige bedrijfsidentificatiecode (BIC/SWIFT). + + This value is not a valid Business Identifier Code (BIC). + Deze waarde is geen geldige zakelijke identificatiecode (BIC). Error Fout - - This is not a valid UUID. - Dit is geen geldige UUID. + + This value is not a valid UUID. + Deze waarde is geen geldige UUID. This value should be a multiple of {{ compared_value }}. - Deze waarde zou een meervoud van {{ compared_value }} moeten zijn. + Deze waarde moet een meervoud van {{ compared_value }} zijn. This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. @@ -336,7 +336,7 @@ This collection should contain only unique elements. - Deze collectie moet alleen unieke elementen bevatten. + Deze collectie mag alleen unieke elementen bevatten. This value should be positive. @@ -396,12 +396,76 @@ This value is not a valid CIDR notation. - Deze waarde is geen geldige CIDR notatie. + Deze waarde is geen geldige CIDR-notatie. The value of the netmask should be between {{ min }} and {{ max }}. De waarde van de netmask moet zich tussen {{ min }} en {{ max }} bevinden. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + De bestandsnaam is te lang. Het moet {{ filename_max_length }} karakter of minder zijn.|De bestandsnaam is te lang. Het moet {{ filename_max_length }} karakters of minder zijn. + + + The password strength is too low. Please use a stronger password. + Het wachtwoord is niet sterk genoeg. Probeer een sterker wachtwoord. + + + This value contains characters that are not allowed by the current restriction-level. + Deze waarde bevat tekens die niet zijn toegestaan volgens het huidige beperkingsniveau. + + + Using invisible characters is not allowed. + Het gebruik van onzichtbare tekens is niet toegestaan. + + + Mixing numbers from different scripts is not allowed. + Het mengen van cijfers uit verschillende schriften is niet toegestaan. + + + Using hidden overlay characters is not allowed. + Het gebruik van verborgen overlay-tekens is niet toegestaan. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + De bestandsextensie is ongeldig ({{ extension }}). De toegestane extensies zijn {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + De gedetecteerde karaktercodering is ongeldig ({{ detected }}). De toegestane coderingen zijn {{ encodings }}. + + + This value is not a valid MAC address. + Deze waarde is geen geldig MAC-adres. + + + This URL is missing a top-level domain. + Deze URL mist een top-level domein. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Deze waarde is te kort. Het moet ten minste één woord bevatten.|Deze waarde is te kort. Het moet ten minste {{ min }} woorden bevatten. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Deze waarde is te lang. Het moet één woord zijn.|Deze waarde is te lang. Het mag maximaal {{ max }} woorden bevatten. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nn.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nn.xlf index fa472b5c..8ff78c5a 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nn.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.nn.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Fila er ikkje eit gyldig bilete. - - This is not a valid IP address. - Dette er ikkje ei gyldig IP-adresse. + + This value is not a valid IP address. + Denne verdien er ikkje ein gyldig IP-adresse. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Inga fil vart lasta opp. - - No temporary folder was configured in php.ini. - Førebels mappe (tmp) er ikkje konfigurert i php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Ingen midlertidig mappe var konfigurert i php.ini, eller den konfigurerte mappa eksisterer ikkje. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Korttypen er ikkje støtta, eller kortnummeret er ugyldig. - - This is not a valid International Bank Account Number (IBAN). - Dette er ikkje eit gyldig internasjonalt bankkontonummer (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Denne verdien er ikkje eit gyldig internasjonalt bankkontonummer (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Verdien stemmer ikkje med forventa {{ charset }} charset. - - This is not a valid Business Identifier Code (BIC). - Dette er ikkje ein gyldig Business Identifier Code (BIC). + + This value is not a valid Business Identifier Code (BIC). + Denne verdien er ikkje ein gyldig forretningsidentifikasjonskode (BIC). Error Feil - - This is not a valid UUID. - Dette er ikkje ein gyldig UUID. + + This value is not a valid UUID. + Denne verdien er ikkje ein gyldig UUID. This value should be a multiple of {{ compared_value }}. @@ -386,7 +386,7 @@ This value is not a valid International Securities Identification Number (ISIN). Verdien er ikkje eit gyldig International Securities Identification Number (ISIN). - + This value should be a valid expression. Denne verdien skal være et gyldig uttrykk. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Verdien av nettmasken skal være mellom {{ min }} og {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Filnamnet er for langt. Det bør ha {{ filename_max_length }} teikn eller færre.|Filnamnet er for langt. Det bør ha {{ filename_max_length }} teikn eller færre. + + + The password strength is too low. Please use a stronger password. + Passordstyrken er for låg. Vennligst bruk eit sterkare passord. + + + This value contains characters that are not allowed by the current restriction-level. + Denne verdien inneheld teikn som ikkje er tillatne av det gjeldande restriksjonsnivået. + + + Using invisible characters is not allowed. + Det er ikkje tillate å bruke usynlege teikn. + + + Mixing numbers from different scripts is not allowed. + Det er ikkje tillate å blande tal frå forskjellige skript. + + + Using hidden overlay characters is not allowed. + Det er ikkje tillate å bruke skjulte overleggsteikn. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Filutvidinga er ugyldig ({{ extension }}). Tillatne utvidingar er {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Den oppdaga teiknkodinga er ugyldig ({{ detected }}). Tillatne kodingar er {{ encodings }}. + + + This value is not a valid MAC address. + Denne verdien er ikkje ein gyldig MAC-adresse. + + + This URL is missing a top-level domain. + Denne URL-en manglar eit toppnivådomene. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.no.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.no.xlf index 5e1ebc18..d0a0e650 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.no.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.no.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Denne filen er ikke et gyldig bilde. - - This is not a valid IP address. - Dette er ikke en gyldig IP adresse. + + This value is not a valid IP address. + Denne verdien er ikke en gyldig IP-adresse. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Ingen fil var lastet opp. - - No temporary folder was configured in php.ini. - Den midlertidige mappen (tmp) er ikke konfigurert i php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Ingen midlertidig mappe ble konfigurert i php.ini, eller den konfigurerte mappen eksisterer ikke. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Korttypen er ikke støttet eller kortnummeret er ugyldig. - - This is not a valid International Bank Account Number (IBAN). - Dette er ikke et gyldig IBAN-nummer. + + This value is not a valid International Bank Account Number (IBAN). + Denne verdien er ikke et gyldig internasjonalt bankkontonummer (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Verdien samsvarer ikke med forventet tegnsett {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Dette er ikke en gyldig BIC. + + This value is not a valid Business Identifier Code (BIC). + Denne verdien er ikke en gyldig forretningsidentifikasjonskode (BIC). Error Feil - - This is not a valid UUID. - Dette er ikke en gyldig UUID. + + This value is not a valid UUID. + Denne verdien er ikke en gyldig UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Verdien på nettmasken skal være mellom {{ min }} og {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Filnavnet er for langt. Det bør ha {{ filename_max_length }} tegn eller mindre.|Filnavnet er for langt. Det bør ha {{ filename_max_length }} tegn eller mindre. + + + The password strength is too low. Please use a stronger password. + Passordstyrken er for lav. Vennligst bruk et sterkere passord. + + + This value contains characters that are not allowed by the current restriction-level. + Denne verdien inneholder tegn som ikke er tillatt av gjeldende restriksjonsnivå. + + + Using invisible characters is not allowed. + Det er ikke tillatt å bruke usynlige tegn. + + + Mixing numbers from different scripts is not allowed. + Det er ikke tillatt å blande tall fra forskjellige skript. + + + Using hidden overlay characters is not allowed. + Det er ikke tillatt å bruke skjulte overleggskarakterer. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Filutvidelsen er ugyldig ({{ extension }}). Tillatte utvidelser er {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Den oppdagede tegnkodingen er ugyldig ({{ detected }}). Tillatte kodinger er {{ encodings }}. + + + This value is not a valid MAC address. + Denne verdien er ikke en gyldig MAC-adresse. + + + This URL is missing a top-level domain. + Denne URL-en mangler et toppnivådomene. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pl.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pl.xlf index b983b2d6..541a35d7 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pl.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pl.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Ten plik nie jest obrazem. - - This is not a valid IP address. - To nie jest prawidłowy adres IP. + + This value is not a valid IP address. + Ta wartość nie jest prawidłowym adresem IP. This value is not a valid language. @@ -190,8 +190,8 @@ No file was uploaded. Żaden plik nie został wgrany. - - No temporary folder was configured in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. Nie skonfigurowano folderu tymczasowego w php.ini lub skonfigurowany folder nie istnieje. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Nieobsługiwany rodzaj karty lub nieprawidłowy numer karty. - - This is not a valid International Bank Account Number (IBAN). - Nieprawidłowy międzynarodowy numer rachunku bankowego (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ta wartość nie jest prawidłowym Międzynarodowym Numerem Rachunku Bankowego (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Ta wartość nie pasuje do oczekiwanego zestawu znaków {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Ta wartość nie jest poprawnym kodem BIC (Business Identifier Code). + + This value is not a valid Business Identifier Code (BIC). + Ta wartość nie jest prawidłowym Kodem Identyfikującym Bank (BIC). Error Błąd - - This is not a valid UUID. - To nie jest poprawne UUID. + + This value is not a valid UUID. + Ta wartość nie jest prawidłowym UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Wartość maski podsieci powinna być pomiędzy {{ min }} i {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Nazwa pliku jest za długa. Powinna mieć {{ filename_max_length }} znak lub mniej.|Nazwa pliku jest za długa. Powinna mieć {{ filename_max_length }} znaków lub mniej. + + + The password strength is too low. Please use a stronger password. + Siła hasła jest zbyt niska. Użyj mocniejszego hasła. + + + This value contains characters that are not allowed by the current restriction-level. + Ta wartość zawiera znaki, które nie są dozwolone przez aktualny poziom ograniczeń. + + + Using invisible characters is not allowed. + Używanie niewidzialnych znaków jest niedozwolone. + + + Mixing numbers from different scripts is not allowed. + Mieszanie liczb z różnych skryptów jest niedozwolone. + + + Using hidden overlay characters is not allowed. + Używanie ukrytych znaków nakładki jest niedozwolone. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Rozszerzenie pliku jest nieprawidłowe ({{ extension }}). Dozwolone rozszerzenia to {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Wykryte kodowanie znaków ({{ detected }}) jest nieprawidłowe. Dozwolone kodowania to {{ encodings }}. + + + This value is not a valid MAC address. + Ta wartość nie jest prawidłowym adresem MAC. + + + This URL is missing a top-level domain. + Podany URL nie zawiera domeny najwyższego poziomu. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Podana wartość jest zbyt krótka. Powinna zawierać co najmniej jedno słowo.|Podana wartość jest zbyt krótka. Powinna zawierać co najmniej {{ min }} słów. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Podana wartość jest zbyt długa. Powinna zawierać jedno słowo.|Podana wartość jest zbyt długa. Powinna zawierać {{ max }} słów lub mniej. + + + This value does not represent a valid week in the ISO 8601 format. + Podana wartość nie jest poprawnym oznaczeniem tygodnia w formacie ISO 8601. + + + This value is not a valid week. + Podana wartość nie jest poprawnym oznaczeniem tygodnia. + + + This value should not be before week "{{ min }}". + Podana wartość nie powinna być przed tygodniem "{{ min }}". + + + This value should not be after week "{{ max }}". + Podana wartość nie powinna być po tygodniu "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pt.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pt.xlf index 090add6b..bb3208cf 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pt.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pt.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -88,7 +88,7 @@ This value should not be blank. - Este valor não deveria ser branco/vazio. + Este valor não deveria ser vazio. This value should not be null. @@ -108,7 +108,7 @@ This value is not a valid URL. - Este valor não é um URL válido. + Este valor não é uma URL válida. The two values should be equal. @@ -120,11 +120,11 @@ The file is too large. - O ficheiro é muito grande. + O arquivo é muito grande. The file could not be uploaded. - Não foi possível carregar o ficheiro. + Não foi possível enviar o arquivo. This value should be a valid number. @@ -132,11 +132,11 @@ This file is not a valid image. - Este ficheiro não é uma imagem. + Este arquivo não é uma imagem. - - This is not a valid IP address. - Este endereço de IP não é válido. + + This value is not a valid IP address. + Este valor não é um endereço IP válido. This value is not a valid language. @@ -144,11 +144,11 @@ This value is not a valid locale. - Este valor não é um 'locale' válido. + Este valor não é uma localidade válida. This value is not a valid country. - Este valor não é um País válido. + Este valor não é um país válido. This value is already used. @@ -156,7 +156,7 @@ The size of the image could not be detected. - O tamanho da imagem não foi detetado. + O tamanho da imagem não foi detectado. The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. @@ -164,7 +164,7 @@ The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - A largura da imagem ({{ width }}px) é muito pequena. A largura miníma da imagem é de: {{ min_width }}px. + A largura da imagem ({{ width }}px) é muito pequena. A largura mínima da imagem é de: {{ min_width }}px. The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. @@ -172,7 +172,7 @@ The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - A altura da imagem ({{ height }}px) é muito pequena. A altura miníma da imagem é de: {{ min_height }}px. + A altura da imagem ({{ height }}px) é muito pequena. A altura mínima da imagem é de: {{ min_height }}px. This value should be the user's current password. @@ -180,7 +180,7 @@ This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Este valor deve possuir exatamente {{ limit }} caracteres. + Este valor deve possuir exatamente {{ limit }} caractere.|Este valor deve possuir exatamente {{ limit }} caracteres. The file was only partially uploaded. @@ -190,9 +190,9 @@ No file was uploaded. Nenhum arquivo foi enviado. - - No temporary folder was configured in php.ini. - Não existe uma pasta temporária configurada no arquivo php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Nenhuma pasta temporária foi configurada no php.ini, ou a pasta configurada não existe. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tipo de cartão não suportado ou número de cartão inválido. - - This is not a valid International Bank Account Number (IBAN). - Este não é um Número Internacional de Conta Bancária (IBAN) válido. + + This value is not a valid International Bank Account Number (IBAN). + Este valor não é um Número de Conta Bancária Internacional (IBAN) válido. This value is not a valid ISBN-10. @@ -308,18 +308,18 @@ This value does not match the expected {{ charset }} charset. - O valor não corresponde ao conjunto de caracteres {{ charset }} esperado. + Este valor não corresponde ao conjunto de caracteres {{ charset }} esperado. - - This is not a valid Business Identifier Code (BIC). - O Código de Identificação de Empresa (BIC) não é válido. + + This value is not a valid Business Identifier Code (BIC). + Este valor não é um Código de Identificação de Negócio (BIC) válido. Error Erro - - This is not a valid UUID. + + This value is not a valid UUID. Este valor não é um UUID válido. @@ -340,7 +340,7 @@ This value should be positive. - Este valor deve ser estritamente positivo. + Este valor deve ser positivo. This value should be either positive or zero. @@ -348,7 +348,7 @@ This value should be negative. - Este valor deve ser estritamente negativo. + Este valor deve ser negativo. This value should be either negative or zero. @@ -360,11 +360,11 @@ This password has been leaked in a data breach, it must not be used. Please use another password. - Esta senha foi divulgada durante uma fuga de dados, não deve ser usada de novamente. Por favor usar uma senha outra. + Esta senha foi divulgada durante um vazamento de dados, não deve ser usada de novamente. Por favor usar uma senha outra. This value should be between {{ min }} and {{ max }}. - Este valor deve situar-se entre {{ min }} e {{ max }}. + Este valor deve estar entre {{ min }} e {{ max }}. This value is not a valid hostname. @@ -376,7 +376,7 @@ This value should satisfy at least one of the following constraints: - Este valor deve satisfazer pelo menos uma das seguintes restrições : + Este valor deve satisfazer pelo menos uma das seguintes restrições: Each element of this collection should satisfy its own set of constraints. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. O valor da máscara de rede deve estar entre {{ min }} e {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + O nome do arquivo é muito grande. Deveria ter {{ filename_max_length }} caractere ou menos.|O nome do arquivo é muito grande. Deveria ter {{ filename_max_length }} caracteres ou menos. + + + The password strength is too low. Please use a stronger password. + A força da senha é muito baixa. Por favor utilize uma senha mais forte. + + + This value contains characters that are not allowed by the current restriction-level. + Este valor contém caracteres que não são permitidos pelo nível de restrição atual. + + + Using invisible characters is not allowed. + Não é permitido usar caracteres invisíveis. + + + Mixing numbers from different scripts is not allowed. + Não é permitido misturar números de scripts diferentes. + + + Using hidden overlay characters is not allowed. + Não é permitido usar caracteres de sobreposição ocultos. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + A extensão do arquivo é inválida ({{ extension }}). As extensões permitidas são {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + A codificação de carateres detectada é inválida ({{ detected }}). As codificações permitidas são {{ encodings }}. + + + This value is not a valid MAC address. + Este valor não é um endereço MAC válido. + + + This URL is missing a top-level domain. + Esta URL está faltando o domínio de nível superior. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf index e88b81f9..c427f95d 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Este arquivo não é uma imagem válida. - - This is not a valid IP address. - Este não é um endereço de IP válido. + + This value is not a valid IP address. + Este valor não é um endereço IP válido. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Nenhum arquivo foi enviado. - - No temporary folder was configured in php.ini. - Nenhum diretório temporário foi configurado no php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Nenhum diretório temporário foi configurado no php.ini, ou o diretório configurado não existe. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tipo de cartão não suportado ou número de cartão inválido. - - This is not a valid International Bank Account Number (IBAN). - Este não é um Número Internacional de Conta Bancária (IBAN) válido. + + This value is not a valid International Bank Account Number (IBAN). + Este valor não é um Número de Conta Bancária Internacional (IBAN) válido. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Este valor não corresponde ao charset {{ charset }} esperado. - - This is not a valid Business Identifier Code (BIC). - Este não é um Código Identificador Bancário (BIC) válido. + + This value is not a valid Business Identifier Code (BIC). + Este valor não é um Código de Identificação de Negócios (BIC) válido. Error Erro - - This is not a valid UUID. - Este não é um UUID válido. + + This value is not a valid UUID. + Este valor não é um UUID válido. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. O valor da máscara de rede deve estar entre {{ min }} e {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + O nome do arquivo é muito longo. Deve ter {{ filename_max_length }} caractere ou menos.|O nome do arquivo é muito longo. Deve ter {{ filename_max_length }} caracteres ou menos. + + + The password strength is too low. Please use a stronger password. + A força da senha é muito baixa. Por favor, use uma senha mais forte. + + + This value contains characters that are not allowed by the current restriction-level. + Este valor contém caracteres que não são permitidos pelo nível de restrição atual. + + + Using invisible characters is not allowed. + O uso de caracteres invisíveis não é permitido. + + + Mixing numbers from different scripts is not allowed. + Misturar números de scripts diferentes não é permitido. + + + Using hidden overlay characters is not allowed. + O uso de caracteres de sobreposição ocultos não é permitido. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + A extensão do arquivo é inválida ({{ extension }}). As extensões permitidas são {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + A codificação de caracteres detectada é inválida ({{ detected }}). As codificações permitidas são {{ encodings }}. + + + This value is not a valid MAC address. + Este valor não é um endereço MAC válido. + + + This URL is missing a top-level domain. + Esta URL está faltando o domínio de nível superior. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ro.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ro.xlf index 7fba2cd1..74136196 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ro.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ro.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Acest fișier nu este o imagine validă. - - This is not a valid IP address. - Această valoare nu este o adresă IP validă. + + This value is not a valid IP address. + Această valoare nu este o adresă de IP validă. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Nu a fost încărcat nici un fișier. - - No temporary folder was configured in php.ini. - Nu este configurat nici un director temporar in php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Nu a fost configurat niciun folder temporar în php.ini, sau folderul configurat nu există. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Tipul sau numărul cardului nu sunt valide. - - This is not a valid International Bank Account Number (IBAN). - Acesta nu este un cod IBAN (International Bank Account Number) valid. + + This value is not a valid International Bank Account Number (IBAN). + Această valoare nu este un Număr de Cont Bancar Internațional (IBAN) valid. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Această valoare nu corespunde setului de caractere {{ charset }} așteptat. - - This is not a valid Business Identifier Code (BIC). - Codul BIC (Business Identifier Code) nu este valid. + + This value is not a valid Business Identifier Code (BIC). + Această valoare nu este un Cod de Identificare a Afacerilor (BIC) valid. Error Eroare - - This is not a valid UUID. - Identificatorul universal unic (UUID) nu este valid. + + This value is not a valid UUID. + Această valoare nu este un UUID valid. This value should be a multiple of {{ compared_value }}. @@ -390,6 +390,10 @@ This value should be a valid expression. Această valoare ar trebui să fie o expresie validă. + + This value is not a valid CSS color. + Această valoare nu este o culoare CSS validă. + This value is not a valid CIDR notation. Această valoare nu este o notație CIDR validă. @@ -398,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Valoarea netmask-ului trebuie sa fie intre {{ min }} si {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Denumirea fișierului este prea lungă. Ea trebuie să conțină {{ filename_max_length }} caractere sau mai puține.|Denumirea fișierului este prea lungă. Ea trebuie să conțină {{ filename_max_length }} caractere sau mai puține. + + + The password strength is too low. Please use a stronger password. + Complexitatea parolei este prea mică. Vă rugăm să folosiți o parolă mai puternică. + + + This value contains characters that are not allowed by the current restriction-level. + Această valoare conține caractere care nu sunt premise de nivelul de restricționare curent. + + + Using invisible characters is not allowed. + Folosirea caracterelor invizibile nu este permisă. + + + Mixing numbers from different scripts is not allowed. + Combinarea numerelor din diferite script-uri nu este permisă. + + + Using hidden overlay characters is not allowed. + Folosirea caracterelor invizibile suprapuse nu este permisă. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Extensia fișierului este invalidă ({{ extension }}). Extensiile permise sunt {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Codificarea caracterelor detectate nu este valabilă ({{ detected }}). Codificările permise sunt {{ encodings }}. + + + This value is not a valid MAC address. + Această valoare nu este o adresă MAC validă. + + + This URL is missing a top-level domain. + Acestui URL îi lipsește un domeniu de nivel superior. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ru.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ru.xlf index 8705cbb5..e8dd0311 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ru.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ru.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Файл не является допустимым форматом изображения. - - This is not a valid IP address. - Значение не является допустимым IP адресом. + + This value is not a valid IP address. + Это значение не является действительным IP-адресом. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Файл не был загружен. - - No temporary folder was configured in php.ini. - Не настроена временная директория в php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + В php.ini не была настроена временная папка, или настроенная папка не существует. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Неподдерживаемый тип или неверный номер карты. - - This is not a valid International Bank Account Number (IBAN). - Значение не является допустимым международным номером банковского счета (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Это значение не является действительным Международным банковским счетом (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Значение не совпадает с ожидаемой {{ charset }} кодировкой. - - This is not a valid Business Identifier Code (BIC). - Значение не соответствует формату BIC. + + This value is not a valid Business Identifier Code (BIC). + Это значение не является действительным Бизнес-идентификатором (BIC). Error Ошибка - - This is not a valid UUID. - Значение не соответствует формату UUID. + + This value is not a valid UUID. + Это значение не является действительным UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Значение маски подсети должно быть от {{ min }} до {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Имя файла слишком длинное. Оно должно содержать {{ filename_max_length }} символ или меньше.|Имя файла слишком длинное. Оно должно содержать {{ filename_max_length }} символа или меньше.|Имя файла слишком длинное. Оно должно содержать {{ filename_max_length }} символов или меньше. + + + The password strength is too low. Please use a stronger password. + Слишком низкая надёжность пароля. Пожалуйста, используйте более надёжный пароль. + + + This value contains characters that are not allowed by the current restriction-level. + Значение содержит символы, запрещённые на текущем уровне ограничений. + + + Using invisible characters is not allowed. + Использование невидимых символов запрещено. + + + Mixing numbers from different scripts is not allowed. + Смешивание номеров из разных сценариев запрещено. + + + Using hidden overlay characters is not allowed. + Использование невидимых символов наложения запрещено. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Недопустимое расширение файла ({{ extension }}). Разрешенные расширения: {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Обнаруженная кодировка символов недопустима ({{ detected }}). Разрешенные кодировки: {{ encodings }}. + + + This value is not a valid MAC address. + Это значение не является действительным MAC-адресом. + + + This URL is missing a top-level domain. + В этом URL отсутствует домен верхнего уровня. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sk.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sk.xlf index 55a81113..aeda9c94 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sk.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sk.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Tento súbor nie je obrázok. - - This is not a valid IP address. - Toto nie je platná IP adresa. + + This value is not a valid IP address. + Táto hodnota nie je platná IP adresa. This value is not a valid language. @@ -168,7 +168,7 @@ The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - >Obrázok je príliš vysoký ({{ height }}px). Maximálna povolená výška obrázku je {{ max_height }}px. + Obrázok je príliš vysoký ({{ height }}px). Maximálna povolená výška obrázku je {{ max_height }}px.]]> The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. @@ -190,9 +190,9 @@ No file was uploaded. Žiadny súbor nebol nahraný. - - No temporary folder was configured in php.ini. - V php.ini nie je nastavená cesta k addressáru pre dočasné súbory. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + V php.ini nie je nastavený žiadny dočasný adresár, alebo nastavený adresár neexistuje. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Nepodporovaný typ karty alebo neplatné číslo karty. - - This is not a valid International Bank Account Number (IBAN). - Toto je neplatný IBAN. + + This value is not a valid International Bank Account Number (IBAN). + Táto hodnota nie je platným Medzinárodným bankovým číslom účtu (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Táto hodnota nezodpovedá očakávanej znakovej sade {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Táto hodnota nie je platný identifikačný kód podniku (BIC). + + This value is not a valid Business Identifier Code (BIC). + Táto hodnota nie je platným Obchodným identifikačným kódom (BIC). Error Chyba - - This is not a valid UUID. - Táto hodnota nie je platný UUID. + + This value is not a valid UUID. + Táto hodnota nie je platným UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Hodnota masky siete by mala byť medzi {{ min }} a {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Názov súboru je príliš dlhý. Mal by mať {{ filename_max_length }} znak alebo menej.|Názov súboru je príliš dlhý. Mal by mať {{ filename_max_length }} znaky alebo menej.|Názov súboru je príliš dlhý. Mal by mať {{ filename_max_length }} znakov alebo menej. + + + The password strength is too low. Please use a stronger password. + Sila hesla je príliš nízka. Použite silnejšie heslo. + + + This value contains characters that are not allowed by the current restriction-level. + Táto hodnota obsahuje znaky, ktoré nie sú povolené aktuálnou úrovňou obmedzenia. + + + Using invisible characters is not allowed. + Používanie neviditeľných znakov nie je povolené. + + + Mixing numbers from different scripts is not allowed. + Miešanie čísel z rôznych skriptov nie je povolené. + + + Using hidden overlay characters is not allowed. + Používanie skrytých prekryvných znakov nie je povolené. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Prípona súboru je neplatná ({{ extension }}). Povolené prípony sú {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Zistené kódovanie znakov je neplatné ({{ detected }}). Povolené kódovania sú {{ encodings }}. + + + This value is not a valid MAC address. + Táto hodnota nie je platnou MAC adresou. + + + This URL is missing a top-level domain. + Tomuto URL chýba doména najvyššej úrovne. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sl.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sl.xlf index b956911e..1a8cb8d5 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sl.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sl.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Ta datoteka ni veljavna slika. - - This is not a valid IP address. - To ni veljaven IP naslov. + + This value is not a valid IP address. + Ta vrednost ni veljaven IP naslov. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Nobena datoteka ni bila naložena. - - No temporary folder was configured in php.ini. - Začasna mapa ni nastavljena v php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + V php.ini ni bila nastavljena začasna mapa, ali pa nastavljena mapa ne obstaja. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Nepodprti tip kartice ali neveljavna številka kartice. - - This is not a valid International Bank Account Number (IBAN). - To ni veljavna mednarodna številka bančnega računa (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ta vrednost ni veljavna mednarodna številka bančnega računa (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Ta vrednost se ne ujema s pričakovanim naborom znakov {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - To ni veljavna identifikacijska koda podjetja (BIC). + + This value is not a valid Business Identifier Code (BIC). + Ta vrednost ni veljavna poslovna identifikacijska koda (BIC). Error Napaka - - This is not a valid UUID. - To ni veljaven UUID. + + This value is not a valid UUID. + Ta vrednost ni veljaven UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Vrednost omrežne maske mora biti med {{ min }} in {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Ime datoteke je predolgo. Imeti mora {{ filename_max_length }} znak ali manj.|Ime datoteke je predolgo. Imeti mora {{ filename_max_length }} znaka ali manj.|Ime datoteke je predolgo. Imeti mora {{ filename_max_length }} znake ali manj.|Ime datoteke je predolgo. Imeti mora {{ filename_max_length }} znakov ali manj. + + + The password strength is too low. Please use a stronger password. + Moč gesla je prenizka. Uporabite močnejše geslo. + + + This value contains characters that are not allowed by the current restriction-level. + Ta vrednost vsebuje znake, ki jih trenutna raven omejitve ne dovoljuje. + + + Using invisible characters is not allowed. + Uporaba nevidnih znakov ni dovoljena. + + + Mixing numbers from different scripts is not allowed. + Mešanje številk iz različnih skript ni dovoljeno. + + + Using hidden overlay characters is not allowed. + Uporaba skritih prekrivnih znakov ni dovoljena. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Končnica datoteke ni veljavna ({{ extension }}). Dovoljene so naslednje končnice: {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Zaznano kodiranje znakov ni veljavno ({{ detected }}). Dovoljene so naslednje vrste kodiranja {{ encodings }}. + + + This value is not a valid MAC address. + Ta vrednost ni veljaven MAC naslov. + + + This URL is missing a top-level domain. + Temu URL manjka domena najvišje ravni. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sq.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sq.xlf index 6c0acb9f..c8e96842 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sq.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sq.xlf @@ -1,6 +1,15 @@ - - - + + + +
+ + Për fjalët e huaja, të cilat nuk kanë përkthim të drejtpërdrejtë, ju lutemi të ndiqni rregullat e mëposhtme: + a) në rast se emri është akronim i përdorur gjerësisht si i përveçëm, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Gjinia gjykohet sipas rastit. Shembull: JSON (mashkullore) + b) në rast se emri është akronim i papërdorur gjerësisht si i përveçëm, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Gjinia është femërore. Shembull: URL (femërore) + c) në rast se emri duhet lakuar për shkak të rasës në fjali, atëherë, emri lakohet pa thonjëza dhe mbaresa shkruhet me vizë ndarëse. Shembull: host-i, prej host-it + d) në rast se emri nuk duhet lakuar për shkak të trajtës në fjali, atëherë, emri rrethote me thonjëzat “”. Shembull: “locale” + +
This value should be false. @@ -24,11 +33,11 @@ You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Duhet të zgjedhni së paku {{ limit }} alternativë.|Duhet të zgjedhni së paku {{ limit }} alternativa. + Duhet të zgjidhni së paku {{ limit }} alternativë.|Duhet të zgjidhni së paku {{ limit }} alternativa. You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Duhet të zgjedhni më së shumti {{ limit }} alternativë.|Duhet të zgjedhni më së shumti {{ limit }} alternativa. + Duhet të zgjidhni së shumti {{ limit }} alternativë.|Duhet të zgjidhni së shumti {{ limit }} alternativa. One or more of the given values is invalid. @@ -48,7 +57,7 @@ This value is not a valid datetime. - Kjo vlerë nuk është datë-kohë e vlefshme. + Kjo vlerë nuk është datë dhe orë e vlefshme. This value is not a valid email address. @@ -56,19 +65,19 @@ The file could not be found. - File nuk mund të gjindej. + Skeda nuk u gjet. The file is not readable. - File nuk është i lexueshëm. + Skeda nuk është e lexueshme. The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - File është shumë i madh ({{ size }} {{ suffix }}). Madhësia maksimale e lejuar është {{ limit }} {{ suffix }}. + Skeda është shumë e madhe ({{ size }} {{ suffix }}). Madhësia maksimale e lejuar është {{ limit }} {{ suffix }}. The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - Lloji mime i file-it është i pavlefshëm ({{ type }}). Llojet mime të lejuara janë {{ types }}. + Lloji “mime” i skedës është i pavlefshëm ({{ type }}). Llojet “mime” të lejuara janë {{ types }}. This value should be {{ limit }} or less. @@ -76,7 +85,7 @@ This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Kjo vlerë është shumë e gjatë. Duhet të përmbaj {{ limit }} karakter ose më pak.|Kjo vlerë është shumë e gjatë. Duhet të përmbaj {{ limit }} karaktere ose më pak. + Kjo vlerë është shumë e gjatë. Duhet të përmbajë {{ limit }} karakter ose më pak.|Kjo vlerë është shumë e gjatë. Duhet të përmbajë {{ limit }} karaktere ose më pak. This value should be {{ limit }} or more. @@ -84,7 +93,7 @@ This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Kjo vlerë është shumë e shkurtër. Duhet të përmbaj {{ limit }} karakter ose më shumë.|Kjo vlerë është shumë e shkurtër. Duhet të përmbaj {{ limit }} karaktere ose më shumë. + Kjo vlerë është shumë e shkurtër. Duhet të përmbajë {{ limit }} karakter ose më shumë.|Kjo vlerë është shumë e shkurtër. Duhet të përmbajë {{ limit }} karaktere ose më shumë. This value should not be blank. @@ -92,11 +101,11 @@ This value should not be null. - Kjo vlerë nuk duhet të jetë null. + Kjo vlerë nuk duhet të jetë “null”. This value should be null. - Kjo vlerë duhet të jetë null. + Kjo vlerë duhet të jetë “null”. This value is not valid. @@ -104,7 +113,7 @@ This value is not a valid time. - Kjo vlerë nuk është kohë e vlefshme. + Kjo vlerë nuk është një orë e vlefshme. This value is not a valid URL. @@ -116,39 +125,39 @@ The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - Ky file është shumë i madh. Madhësia maksimale e lejuar është {{ limit }} {{ suffix }}. + Kjo skedë është shumë e madhe. Madhësia maksimale e lejuar është {{ limit }} {{ suffix }}. The file is too large. - Ky file është shumë i madh. + Kjo skedë është shumë e madhe. The file could not be uploaded. - Ky file nuk mund të ngarkohet. + Kjo skedë nuk mund të ngarkohet. This value should be a valid number. - Kjo vlerë duhet të jetë numër i vlefshëm. + Kjo vlerë duhet të jetë një numër i vlefshëm. This file is not a valid image. - Ky file nuk është imazh i vlefshëm. + Kjo skedë nuk është një imazh i vlefshëm. - - This is not a valid IP address. - Kjo adresë IP nuk është e vlefshme. + + This value is not a valid IP address. + Kjo vlerë nuk është një adresë IP e vlefshme. This value is not a valid language. - Kjo vlerë nuk është gjuhë e vlefshme. + Kjo vlerë nuk është një gjuhë e vlefshme. This value is not a valid locale. - Kjo vlerë nuk është nje locale i vlefshëm. + Kjo vlerë nuk është nje “locale” e vlefshme. This value is not a valid country. - Kjo vlerë nuk është shtet i vlefshëm. + Kjo vlerë nuk është një shtet i vlefshëm. This value is already used. @@ -176,7 +185,7 @@ This value should be the user's current password. - Kjo vlerë duhet të jetë fjalëkalimi aktual i përdoruesit. + Kjo vlerë duhet të jetë fjalëkalimi i tanishëm i përdoruesit. This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. @@ -184,23 +193,23 @@ The file was only partially uploaded. - Ky file është ngarkuar pjesërisht. + Kjo skedë është ngarkuar pjesërisht. No file was uploaded. - Nuk është ngarkuar ndonjë file. + Nuk është ngarkuar ndonjë skedë. - - No temporary folder was configured in php.ini. - Asnjë folder i përkohshëm nuk është konfiguruar në php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Nuk është konfiguruar asnjë skedar i përkohshëm në php.ini, ose skedari i konfiguruar nuk ekziston. Cannot write temporary file to disk. - Nuk mund të shkruhet file i përkohshëm në disk. + Nuk mund të shkruhet skeda e përkohshme në disk. A PHP extension caused the upload to fail. - Një ekstension i PHP-së shkaktoi dështimin e ngarkimit. + Një shtojcë PHP shkaktoi dështimin e ngarkimit. This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. @@ -222,9 +231,9 @@ Unsupported card type or invalid card number. Lloj karte i papranuar ose numër karte i pavlefshëm. - - This is not a valid International Bank Account Number (IBAN). - Ky nuk është një numër i vlefshëm ndërkombëtar i llogarisë bankare (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Kjo vlerë nuk është një Numër Llogarie Bankare Ndërkombëtare (IBAN) i vlefshëm. This value is not a valid ISBN-10. @@ -244,7 +253,7 @@ This value is not a valid currency. - Kjo vlerë nuk është një monedhë e vlefshme. + Kjo vlerë nuk është një valutë e vlefshme. This value should be equal to {{ compared_value }}. @@ -300,7 +309,7 @@ An empty file is not allowed. - Një file i zbrazët nuk lejohet. + Një skedë e zbrazët nuk lejohet. The host could not be resolved. @@ -310,17 +319,17 @@ This value does not match the expected {{ charset }} charset. Kjo vlerë nuk përputhet me kodifikimin e karaktereve {{ charset }} që pritej. - - This is not a valid Business Identifier Code (BIC). - Ky nuk është një Kod Identifikues i Biznesit (BIC) i vleflshem. + + This value is not a valid Business Identifier Code (BIC). + Kjo vlerë nuk është një Kod Identifikues Biznesi (BIC) i vlefshëm. Error Gabim - - This is not a valid UUID. - Ky nuk është një UUID i vlefshëm. + + This value is not a valid UUID. + Kjo vlerë nuk është një UUID e vlefshme. This value should be a multiple of {{ compared_value }}. @@ -328,7 +337,7 @@ This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - Ky Kod Identifikues i Biznesit (BIC) nuk është i lidhur me IBAN {{ iban }}. + Ky Kod Identifikues Biznesi (BIC) nuk është i lidhur me IBAN {{ iban }}. This value should be valid JSON. @@ -368,7 +377,7 @@ This value is not a valid hostname. - Kjo vlerë nuk është një emër i vlefshëm hosti. + Kjo vlerë nuk është një emër i vlefshëm host-i. The number of elements in this collection should be a multiple of {{ compared_value }}. @@ -386,6 +395,86 @@ This value is not a valid International Securities Identification Number (ISIN). Kjo vlerë nuk është një numër i vlefshëm identifikues ndërkombëtar i sigurisë (ISIN). + + This value should be a valid expression. + Kjo vlerë duhet të jetë një shprehje e vlefshme. + + + This value is not a valid CSS color. + Kjo vlerë nuk është një ngjyrë e vlefshme CSS. + + + This value is not a valid CIDR notation. + Kjo vlerë nuk është një shënim i vlefshëm CIDR. + + + The value of the netmask should be between {{ min }} and {{ max }}. + Vlera e maskës së rrjetit duhet të jetë ndërmjet {{ min }} dhe {{ max }}. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Emri i skedës është shumë i gjatë. Duhet të ketë maksimumi {{ filename_max_length }} karakter ose më pak.|Emri i skedës është shumë i gjatë. Duhet të ketë maksimumi {{ filename_max_length }} karaktere ose më pak. + + + The password strength is too low. Please use a stronger password. + Fuqia e fjalëkalimit është shumë e ulët. Ju lutemi përdorni një fjalëkalim më të fortë. + + + This value contains characters that are not allowed by the current restriction-level. + Kjo vlerë përmban karaktere që nuk lejohen nga niveli aktual i kufizimit. + + + Using invisible characters is not allowed. + Përdorimi i karaktereve të padukshme nuk lejohet. + + + Mixing numbers from different scripts is not allowed. + Përzierja e numrave nga shkrimet e ndryshme nuk lejohet. + + + Using hidden overlay characters is not allowed. + Përdorimi i karaktereve të mbivendosura të fshehura nuk lejohet. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Shtesa e skedarit është e pavlefshme ({{ extension }}). Shtesat e lejuara janë {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Kodimi i karakterit të identifikuar është i pavlefshëm ({{ detected }}). Kodimet e lejuara janë {{ encodings }}. + + + This value is not a valid MAC address. + Kjo nuk është një adresë e vlefshme e Kontrollit të Qasjes në Media (MAC). + + + This URL is missing a top-level domain. + Kësaj URL i mungon një domain i nivelit të lartë. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Kjo vlerë është shumë e shkurtër. Duhet të përmbajë të paktën një fjalë.|Kjo vlerë është shumë e shkurtër. Duhet të përmbajë të paktën {{ min }} fjalë. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Kjo vlerë është shumë e gjatë. Duhet të përmbajë një fjalë.|Kjo vlerë është shumë e gjatë. Duhet të përmbajë {{ max }} fjalë ose më pak. + + + This value does not represent a valid week in the ISO 8601 format. + Kjo vlerë nuk përfaqëson një javë të vlefshme në formatin ISO 8601. + + + This value is not a valid week. + Kjo vlerë nuk është një javë e vlefshme. + + + This value should not be before week "{{ min }}". + Kjo vlerë nuk duhet të jetë para javës "{{ min }}". + + + This value should not be after week "{{ max }}". + Kjo vlerë nuk duhet të jetë pas javës "{{ max }}". +
diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf index 03ef7130..07e3ae94 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Ова датотека није валидна слика. - - This is not a valid IP address. - Ово није валидна ИП адреса. + + This value is not a valid IP address. + Ова вредност није валидна IP адреса. This value is not a valid language. @@ -144,11 +144,11 @@ This value is not a valid locale. - Вредност није валидан локал. + Вредност није валидна међународна ознака језика. This value is not a valid country. - Вредност није валидна земља. + Вредност није валидна држава. This value is already used. @@ -160,19 +160,19 @@ The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширина слике је превелика ({{ width }}px). Најећа дозвољена ширина је {{ max_width }}px. + Ширина слике је превелика ({{ width }} пиксела). Најећа дозвољена ширина је {{ max_width }} пиксела. The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширина слике је премала ({{ width }}px). Најмања дозвољена ширина је {{ min_width }}px. + Ширина слике је премала ({{ width }} пиксела). Најмања дозвољена ширина је {{ min_width }} пиксела. The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Висина слике је превелика ({{ height }}px). Најећа дозвољена висина је {{ max_height }}px. + Висина слике је превелика ({{ height }} пиксела). Најећа дозвољена висина је {{ max_height }} пиксела. The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Висина слике је премала ({{ height }}px). Најмања дозвољена висина је {{ min_height }}px. + Висина слике је премала ({{ height }} пиксела). Најмања дозвољена висина је {{ min_height }} пиксела. This value should be the user's current password. @@ -184,15 +184,15 @@ The file was only partially uploaded. - Датотека је само парцијално отпремљена. + Датотека је само делимично отпремљена. No file was uploaded. Датотека није отпремљена. - - No temporary folder was configured in php.ini. - Привремени директоријум није конфигурисан у php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Привремени директоријум није конфигурисан у php.ini, или конфигурисани директоријум не постоји. Cannot write temporary file to disk. @@ -222,29 +222,29 @@ Unsupported card type or invalid card number. Невалидан број картице или тип картице није подржан. - - This is not a valid International Bank Account Number (IBAN). - Ово није валидан међународни број банковног рачуна (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ова вредност није валидан Међународни број банковног рачуна (IBAN). This value is not a valid ISBN-10. - Ово није валидан ISBN-10. + Ова вредност није валидан ISBN-10. This value is not a valid ISBN-13. - Ово није валидан ISBN-13. + Ова вредност није валидан ISBN-13. This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ово није валидан ISBN-10 или ISBN-13. + Овa вредност није ни валидан ISBN-10 ни валидан ISBN-13. This value is not a valid ISSN. - Ово није валидан ISSN. + Ова вредност није валидан ISSN. This value is not a valid currency. - Ово није валидна валута. + Ово вредност није валидна валута. This value should be equal to {{ compared_value }}. @@ -288,15 +288,15 @@ The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - Слика је квадратна ({{ width }}x{{ height }}px). Квадратне слике нису дозвољене. + Слика је квадратна ({{ width }}x{{ height }} пиксела). Квадратне слике нису дозвољене. The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Слика је оријентације пејзажа ({{ width }}x{{ height }}px). Пејзажна оријентација слика није дозвољена. + Слика је оријентације пејзажа ({{ width }}x{{ height }} пиксела). Пејзажна оријентација слика није дозвољена. The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Слика је оријантације портрета ({{ width }}x{{ height }}px). Портретна оријентација слика није дозвољена. + Слика је оријантације портрета ({{ width }}x{{ height }} пиксела). Портретна оријентација слика није дозвољена. An empty file is not allowed. @@ -310,21 +310,21 @@ This value does not match the expected {{ charset }} charset. Вредност се не поклапа са очекиваним {{ charset }} сетом карактера. - - This is not a valid Business Identifier Code (BIC). - Ово није валидан међународни идентификацијски код банке (BIC). + + This value is not a valid Business Identifier Code (BIC). + Ова вредност није валидан Код за идентификацију бизниса (BIC). Error Грешка - - This is not a valid UUID. - Ово није валидан универзални уникатни идентификатор (UUID). + + This value is not a valid UUID. + Ова вредност није валидан UUID. This value should be a multiple of {{ compared_value }}. - Ова вредност би требало да буде дељива са {{ compared_value }}. + Ова вредност треба да буде дељива са {{ compared_value }}. This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. @@ -332,27 +332,27 @@ This value should be valid JSON. - Ова вредност би требало да буде валидан JSON. + Ова вредност треба да буде валидан JSON. This collection should contain only unique elements. - Ова колекција би требала да садржи само јединствене елементе. + Ова колекција треба да садржи само јединствене елементе. This value should be positive. - Ова вредност би требала бити позитивна. + Ова вредност треба да буде позитивна. This value should be either positive or zero. - Ова вредност би требала бити позитивна или нула. + Ова вредност треба да буде или позитивна или нула. This value should be negative. - Ова вредност би требала бити негативна. + Ова вредност треба да буде негативна. This value should be either negative or zero. - Ова вредност би требала бити позитивна или нула. + Ова вредност треба да буде или негативна или нула. This value is not a valid timezone. @@ -372,19 +372,19 @@ The number of elements in this collection should be a multiple of {{ compared_value }}. - Број елемената у овој колекцији би требало да буде дељив са {{ compared_value }}. + Број елемената у овој колекцији треба да буде дељив са {{ compared_value }}. This value should satisfy at least one of the following constraints: - Ова вредност би требало да задовољава најмање једно од наредних ограничења: + Ова вредност треба да задовољава најмање једно од наредних ограничења: Each element of this collection should satisfy its own set of constraints. - Сваки елемент ове колекције би требало да задовољи сопствени скуп ограничења. + Сваки елемент ове колекције треба да задовољи сопствени скуп ограничења. This value is not a valid International Securities Identification Number (ISIN). - Ова вредност није исправна међународна идентификациона ознака хартија од вредности (ISIN). + Ова вредност није валидна међународна идентификациона ознака хартија од вредности (ISIN). This value should be a valid expression. @@ -392,15 +392,79 @@ This value is not a valid CSS color. - Ова вредност није исправна CSS боја. + Ова вредност није валидна CSS боја. This value is not a valid CIDR notation. - Ова вредност није исправна CIDR нотација. + Ова вредност није валидна CIDR нотација. The value of the netmask should be between {{ min }} and {{ max }}. - Вредност мрежне маске треба бити између {{ min }} и {{ max }}. + Вредност мрежне маске треба да буде између {{ min }} и {{ max }}. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Назив датотеке је сувише дугачак. Треба да има {{ filename_max_length }} карактер или мање.|Назив датотеке је сувише дугачак. Треба да има {{ filename_max_length }} карактера или мање.|Назив датотеке је сувише дугачак. Треба да има {{ filename_max_length }} карактера или мање. + + + The password strength is too low. Please use a stronger password. + Лозинка није довољно јака. Молимо користите јачу лозинку. + + + This value contains characters that are not allowed by the current restriction-level. + Ова вредност садржи карактере који нису дозвољени од стране важећег нивоа рестрикције. + + + Using invisible characters is not allowed. + Коришћење невидљивих карактера није дозвољено. + + + Mixing numbers from different scripts is not allowed. + Мешање бројева из различитих скрипти није дозвољено. + + + Using hidden overlay characters is not allowed. + Коришћење скривених преклопних карактера није дозвољено. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Екстензија фајла није валидна ({{ extension }}). Дозвољене екстензије су {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Детектовано кодирање знакова није валидно ({{ detected }}). Дозвољена кодирања су {{ encodings }}. + + + This value is not a valid MAC address. + Ова вредност није валидна MAC адреса. + + + This URL is missing a top-level domain. + Овом URL-у недостаје домен највишег нивоа. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Ова вредност је прекратка. Треба да садржи макар једну реч.|Ова вредност је прекратка. Треба да садржи макар {{ min }} речи.|Ова вредност је прекратка. Треба да садржи макар {{ min }} речи. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Ова вредност је предугачка. Треба да садржи само једну реч.|Ова вредност је предугачка. Треба да садржи највише {{ max }} речи.|Ова вредност је предугачка. Треба да садржи највише {{ max }} речи. + + + This value does not represent a valid week in the ISO 8601 format. + Ова вредност не представља валидну недељу у ISO 8601 формату. + + + This value is not a valid week. + Ова вредност није валидна недеља. + + + This value should not be before week "{{ min }}". + Ова вредност не треба да буде пре недеље "{{ min }}". + + + This value should not be after week "{{ max }}". + Ова вредност не треба да буде после недеље "{{ max }}". diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf index 86453ada..8f1909c7 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf @@ -1,38 +1,38 @@ - - - + + + This value should be false. - Vrednost bi trebalo da bude netačna. + Vrednost treba da bude netačna. This value should be true. - Vrednost bi trebalo da bude tačna. + Vrednost treba da bude tačna. This value should be of type {{ type }}. - Vrednost bi trebalo da bude tipa {{ type }}. + Vrednost treba da bude tipa {{ type }}. This value should be blank. - Vrednost bi trebalo da bude prazna. + Vrednost treba da bude prazna. The value you selected is not a valid choice. - Odabrana vrednost nije validan izbor. + Vrednost treba da bude jedna od ponuđenih. You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Morate odabrati bar {{ limit }} mogućnost.|Morate odabrati bar {{ limit }} mogućnosti.|Morate odabrati bar {{ limit }} mogućnosti. + Izaberite bar {{ limit }} mogućnost.|Izaberite bar {{ limit }} mogućnosti.|Izaberite bar {{ limit }} mogućnosti. You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - Morate odabrati najviše {{ limit }} mogućnost.|Morate odabrati najviše {{ limit }} mogućnosti.|Morate odabrati najviše {{ limit }} mogućnosti. + Izaberite najviše {{ limit }} mogućnost.|Izaberite najviše {{ limit }} mogućnosti.|Izaberite najviše {{ limit }} mogućnosti. One or more of the given values is invalid. - Jedna ili više vrednosti nisu validne. + Jedna ili više vrednosti je nevalidna. This field was not expected. @@ -48,7 +48,7 @@ This value is not a valid datetime. - Vrednost nije validno vreme. + Vrednost nije validan datum-vreme. This value is not a valid email address. @@ -72,31 +72,31 @@ This value should be {{ limit }} or less. - Vrednost bi trebalo da bude {{ limit }} ili manje. + Vrednost treba da bude {{ limit }} ili manje. This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - Vrednost je predugačka. Trebalo bi da ima {{ limit }} karakter ili manje.|Vrednost je predugačka. Trebalo bi da ima {{ limit }} karaktera ili manje.|Vrednost je predugačka. Trebalo bi da ima {{ limit }} karaktera ili manje. + Vrednost je predugačka. Treba da ima {{ limit }} karakter ili manje.|Vrednost je predugačka. Treba da ima {{ limit }} karaktera ili manje.|Vrednost je predugačka. Treba da ima {{ limit }} karaktera ili manje. This value should be {{ limit }} or more. - Vrednost bi trebalo da bude {{ limit }} ili više. + Vrednost treba da bude {{ limit }} ili više. This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - Vrednost je prekratka. Trebalo bi da ima {{ limit }} karakter ili više.|Vrednost je prekratka. Trebalo bi da ima {{ limit }} karaktera ili više.|Vrednost je prekratka. Trebalo bi da ima {{ limit }} karaktera ili više. + Vrednost je prekratka. Treba da ima {{ limit }} karakter ili više.|Vrednost je prekratka. Treba da ima {{ limit }} karaktera ili više.|Vrednost je prekratka. Treba da ima {{ limit }} karaktera ili više. This value should not be blank. - Vrednost ne bi trebalo da bude prazna. + Vrednost ne treba da bude prazna. This value should not be null. - Vrednost ne bi trebalo da bude prazna. + Vrednost ne treba da bude null. This value should be null. - Vrednost bi trebalo da bude prazna. + Vrednost treba da bude null. This value is not valid. @@ -112,7 +112,7 @@ The two values should be equal. - Obe vrednosti bi trebalo da budu jednake. + Obe vrednosti treba da budu jednake. The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. @@ -120,7 +120,7 @@ The file is too large. - Datoteka je prevelika. + Datoteka je prevelikia. The file could not be uploaded. @@ -128,15 +128,15 @@ This value should be a valid number. - Vrednost bi trebalo da bude validan broj. + Vrednost treba da bude validan broj. This file is not a valid image. Ova datoteka nije validna slika. - - This is not a valid IP address. - Ovo nije validna IP adresa. + + This value is not a valid IP address. + Ova vrednost nije validna IP adresa. This value is not a valid language. @@ -172,27 +172,27 @@ The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Visina slike je premala ({{ height }} piksela). Najmanja dozvoljena visina je {{ min_height }} piksela. + Visina slike je preniska ({{ height }} piksela). Najmanja dozvoljena visina je {{ min_height }} piksela. This value should be the user's current password. - Vrednost bi trebalo da bude trenutna korisnička lozinka. + Vrednost treba da bude trenutna korisnička lozinka. This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - Vrednost bi trebalo da ima tačno {{ limit }} karakter.|Vrednost bi trebalo da ima tačno {{ limit }} karaktera.|Vrednost bi trebalo da ima tačno {{ limit }} karaktera. + Vrednost treba da ima tačno {{ limit }} karakter.|Vrednost treba da ima tačno {{ limit }} karaktera.|Vrednost treba da ima tačno {{ limit }} karaktera. The file was only partially uploaded. - Datoteka je samo parcijalno otpremljena. + Datoteka je samo delimično otpremljena. No file was uploaded. Datoteka nije otpremljena. - - No temporary folder was configured in php.ini. - Privremeni direktorijum nije konfigurisan u php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Privremeni direktorijum nije konfigurisan u php.ini, ili konfigurisani direktorijum ne postoji. Cannot write temporary file to disk. @@ -204,79 +204,79 @@ This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - Ova kolekcija bi trebalo da sadrži {{ limit }} ili više elemenata.|Ova kolekcija bi trebalo da sadrži {{ limit }} ili više elemenata.|Ova kolekcija bi trebalo da sadrži {{ limit }} ili više elemenata. + Ova kolekcija treba da sadrži {{ limit }} ili više elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili više elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili više elemenata. This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Ova kolekcija bi trebalo da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija bi trebalo da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija bi trebalo da sadrži {{ limit }} ili manje elemenata. + Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata. This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - Ova kolekcija bi trebalo da sadrži tačno {{ limit }} element.|Ova kolekcija bi trebalo da sadrži tačno {{ limit }} elementa.|Ova kolekcija bi trebalo da sadrži tačno {{ limit }} elemenata. + Ova kolekcija treba da sadrži tačno {{ limit }} element.|Ova kolekcija treba da sadrži tačno {{ limit }} elementa.|Ova kolekcija treba da sadrži tačno {{ limit }} elemenata. Invalid card number. - Broj kartice nije validan. + Nevalidan broj kartice. Unsupported card type or invalid card number. - Tip kartice nije podržan ili broj kartice nije validan. + Nevalidan broj kartice ili tip kartice nije podržan. - - This is not a valid International Bank Account Number (IBAN). - Ovo nije validan međunarodni broj bankovnog računa (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ova vrednost nije validan Međunarodni broj bankovnog računa (IBAN). This value is not a valid ISBN-10. - Ovo nije validan ISBN-10. + Ova vrednost nije validan ISBN-10. This value is not a valid ISBN-13. - Ovo nije validan ISBN-13. + Ova vrednost nije validan ISBN-13. This value is neither a valid ISBN-10 nor a valid ISBN-13. - Ovo nije validan ISBN-10 ili ISBN-13. + Ova vrednost nije ni validan ISBN-10 ni validan ISBN-13. This value is not a valid ISSN. - Ovo nije validan ISSN. + Ova vrednost nije validan ISSN. This value is not a valid currency. - Ovo nije validna valuta. + Ova vrednost nije validna valuta. This value should be equal to {{ compared_value }}. - Ova vrednost bi trebalo da bude jednaka {{ compared_value }}. + Ova vrednost treba da bude {{ compared_value }}. This value should be greater than {{ compared_value }}. - Ova vrednost bi trebalo da bude veća od {{ compared_value }}. + Ova vrednost treba da bude veća od {{ compared_value }}. This value should be greater than or equal to {{ compared_value }}. - Ova vrednost bi trebalo da bude veća ili jednaka {{ compared_value }}. + Ova vrednost treba da bude veća ili jednaka {{ compared_value }}. This value should be identical to {{ compared_value_type }} {{ compared_value }}. - Ova vrednost bi trebalo da bude identična sa {{ compared_value_type }} {{ compared_value }}. + Ova vrednost treba da bude identična sa {{ compared_value_type }} {{ compared_value }}. This value should be less than {{ compared_value }}. - Ova vrednost bi trebalo da bude manja od {{ compared_value }}. + Ova vrednost treba da bude manja od {{ compared_value }}. This value should be less than or equal to {{ compared_value }}. - Ova vrednost bi trebalo da bude manja ili jednaka {{ compared_value }}. + Ova vrednost treba da bude manja ili jednaka {{ compared_value }}. This value should not be equal to {{ compared_value }}. - Ova vrednost ne bi trebalo da bude jednaka {{ compared_value }}. + Ova vrednost ne treba da bude jednaka {{ compared_value }}. This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - Ova vrednost ne bi trebalo da bude identična sa {{ compared_value_type }} {{ compared_value }}. + Ova vrednost ne treba da bude identična sa {{ compared_value_type }} {{ compared_value }}. The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. @@ -292,11 +292,11 @@ The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - Slika je pejzažno orijentisana ({{ width }}x{{ height }} piksela). Pejzažna orijentisane slike nisu dozvoljene. + Slika je orijentacije pejzaža ({{ width }}x{{ height }} piksela). Pejzažna orijentacija slika nije dozvoljena. The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - Slika je portretno orijentisana ({{ width }}x{{ height }} piksela). Portretno orijentisane slike nisu dozvoljene. + Slika je orijentacije portreta ({{ width }}x{{ height }} piksela). Portretna orijentacija slika nije dozvoljena. An empty file is not allowed. @@ -310,21 +310,21 @@ This value does not match the expected {{ charset }} charset. Vrednost se ne poklapa sa očekivanim {{ charset }} setom karaktera. - - This is not a valid Business Identifier Code (BIC). - Ovo nije validan BIC. + + This value is not a valid Business Identifier Code (BIC). + Ova vrednost nije validan Kod za identifikaciju biznisa (BIC). Error Greška - - This is not a valid UUID. - Ovo nije validan univerzalni unikatni identifikator (UUID). + + This value is not a valid UUID. + Ova vrednost nije validan UUID. This value should be a multiple of {{ compared_value }}. - Ova vrednost bi trebalo da bude deljiva sa {{ compared_value }}. + Ova vrednost treba da bude deljiva sa {{ compared_value }}. This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. @@ -332,27 +332,27 @@ This value should be valid JSON. - Ova vrednost bi trebalo da bude validan JSON. + Ova vrednost treba da bude validan JSON. This collection should contain only unique elements. - Ova kolekcija bi trebala da sadrži samo jedinstvene elemente. + Ova kolekcija treba da sadrži samo jedinstvene elemente. This value should be positive. - Ova vrednost bi trebala biti pozitivna. + Ova vrednost treba da bude pozitivna. This value should be either positive or zero. - Ova vrednost bi trebala biti pozitivna ili nula. + Ova vrednost treba da bude ili pozitivna ili nula. This value should be negative. - Ova vrednost bi trebala biti negativna. + Ova vrednost treba da bude negativna. This value should be either negative or zero. - Ova vrednost bi trebala biti negativna ili nula. + Ova vrednost treba da bude ili negativna ili nula. This value is not a valid timezone. @@ -368,23 +368,23 @@ This value is not a valid hostname. - Ova vrednost nije ispravno ime poslužitelja (hostname). + Ova vrednost nije ispravno ime hosta. The number of elements in this collection should be a multiple of {{ compared_value }}. - Broj elemenata u ovoj kolekciji bi trebalo da bude deljiv sa {{ compared_value }}. + Broj elemenata u ovoj kolekciji treba da bude deljiv sa {{ compared_value }}. This value should satisfy at least one of the following constraints: - Ova vrednost bi trebalo da zadovoljava namjanje jedno od narednih ograničenja: + Ova vrednost treba da zadovoljava namjanje jedno od narednih ograničenja: Each element of this collection should satisfy its own set of constraints. - Svaki element ove kolekcije bi trebalo da zadovolji sopstveni skup ograničenja. + Svaki element ove kolekcije treba da zadovolji sopstveni skup ograničenja. This value is not a valid International Securities Identification Number (ISIN). - Ova vrednost nije ispravna međunarodna identifikaciona oznaka hartija od vrednosti (ISIN). + Ova vrednost nije validna međunarodna identifikaciona oznaka hartija od vrednosti (ISIN). This value should be a valid expression. @@ -392,15 +392,79 @@ This value is not a valid CSS color. - Ova vrednost nije ispravna CSS boja. + Ova vrednost nije validna CSS boja. This value is not a valid CIDR notation. - Ova vrednost nije ispravna CIDR notacija. + Ova vrednost nije validna CIDR notacija. The value of the netmask should be between {{ min }} and {{ max }}. - Vrednost mrežne maske treba biti između {{ min }} i {{ max }}. + Vrednost mrežne maske treba da bude između {{ min }} i {{ max }}. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Naziv datoteke je suviše dugačak. Treba da ima {{ filename_max_length }} karakter ili manje.|Naziv datoteke je suviše dugačak. Treba da ima {{ filename_max_length }} karaktera ili manje.|Naziv datoteke je suviše dugačak. Treba da ima {{ filename_max_length }} karaktera ili manje. + + + The password strength is too low. Please use a stronger password. + Lozinka nije dovoljno jaka. Molimo koristite jaču lozinku. + + + This value contains characters that are not allowed by the current restriction-level. + Ova vrednost sadrži karaktere koji nisu dozvoljeni od strane važećeg nivoa restrikcije. + + + Using invisible characters is not allowed. + Korišćenje nevidljivih karaktera nije dozvoljeno. + + + Mixing numbers from different scripts is not allowed. + Mešanje brojeva iz različitih skripti nije dozvoljeno. + + + Using hidden overlay characters is not allowed. + Korišćenje skrivenih preklopnih karaktera nije dozvoljeno. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Ekstenzija fajla nije validna ({{ extension }}). Dozvoljene ekstenzije su {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Detektovano kodiranje znakova nije validno ({{ detected }}). Dozvoljena kodiranja su {{ encodings }}. + + + This value is not a valid MAC address. + Ova vrednost nije validna MAC adresa. + + + This URL is missing a top-level domain. + Ovom URL nedostaje domen najvišeg nivoa. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Ova vrednost je prekratka. Treba da sadrži makar jednu reč.|Ova vrednost je prekratka. Treba da sadrži makar {{ min }} reči.|Ova vrednost je prekratka. Treba da sadrži makar {{ min }} reči. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Ova vrednost je predugačka. Treba da sadrži samo jednu reč.|Ova vrednost je predugačka. Treba da sadrži najviše {{ max }} reči.|Ova vrednost je predugačka. Treba da sadrži najviše {{ max }} reči. + + + This value does not represent a valid week in the ISO 8601 format. + Ova vrednost ne predstavlja validnu nedelju u ISO 8601 formatu. + + + This value is not a valid week. + Ova vrednost nije validna nedelja + + + This value should not be before week "{{ min }}". + Ova vrednost ne treba da bude pre nedelje "{{ min }}". + + + This value should not be after week "{{ max }}". + Ova vrednost ne treba da bude posle nedelje "{{ max }}". diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sv.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sv.xlf index fca7bdc0..ac08eff2 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sv.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.sv.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Filen är ingen giltig bild. - - This is not a valid IP address. - Det här är inte en giltig IP-adress. + + This value is not a valid IP address. + Värdet är inte en giltig IP-adress. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Ingen fil laddades upp. - - No temporary folder was configured in php.ini. - Det finns ingen temporär mapp konfigurerad i php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Ingen tillfällig mapp konfigurerades i php.ini, eller den konfigurerade mappen finns inte. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Okänd korttyp eller ogiltigt kortnummer. - - This is not a valid International Bank Account Number (IBAN). - Det här är inte en giltig International Bank Account Number (IBANK). + + This value is not a valid International Bank Account Number (IBAN). + Värdet är inte ett giltigt internationellt bankkontonummer (IBAN). This value is not a valid ISBN-10. @@ -308,23 +308,23 @@ This value does not match the expected {{ charset }} charset. - Detta värde har inte den förväntade teckenkodningen {{ charset }}. + Värdet har inte den förväntade teckenkodningen {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Detta är inte en giltig BIC-kod. + + This value is not a valid Business Identifier Code (BIC). + Värdet är inte en giltig BIC-kod. Error Fel - - This is not a valid UUID. - Detta är inte ett giltigt UUID. + + This value is not a valid UUID. + Värdet är inte en giltig UUID. This value should be a multiple of {{ compared_value }}. - Detta värde ska vara en multipel av {{ compared_value }}. + Värdet ska vara en multipel av {{ compared_value }}. This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. @@ -332,7 +332,7 @@ This value should be valid JSON. - Detta värde ska vara giltig JSON. + Värdet ska vara giltig JSON. This collection should contain only unique elements. @@ -340,23 +340,23 @@ This value should be positive. - Detta värde bör vara positivt. + Värdet ska vara positivt. This value should be either positive or zero. - Detta värde bör vara antingen positivt eller noll. + Värdet ska vara antingen positivt eller noll. This value should be negative. - Detta värde bör vara negativt. + Värdet ska vara negativt. This value should be either negative or zero. - Detta värde bör vara antingen negativt eller noll. + Värdet ska vara antingen negativt eller noll. This value is not a valid timezone. - Detta värde är inte en giltig tidszon. + Värdet är inte en giltig tidszon. This password has been leaked in a data breach, it must not be used. Please use another password. @@ -364,7 +364,7 @@ This value should be between {{ min }} and {{ max }}. - Detta värde bör ligga mellan {{ min }} och {{ max }}. + Värdet bör ligga mellan {{ min }} och {{ max }}. This value is not a valid hostname. @@ -376,7 +376,7 @@ This value should satisfy at least one of the following constraints: - Det här värdet skall uppfylla minst ett av följande krav: + Värdet ska uppfylla minst ett av följande krav: Each element of this collection should satisfy its own set of constraints. @@ -384,24 +384,88 @@ This value is not a valid International Securities Identification Number (ISIN). - Det här värdet är inte ett giltigt "International Securities Identification Number" (ISIN). + Värdet är inte ett giltigt "International Securities Identification Number" (ISIN). This value should be a valid expression. - Det här värdet bör vara ett giltigt uttryck. + Värdet ska vara ett giltigt uttryck. - + This value is not a valid CSS color. - Det här värdet är inte en giltig CSS-färg. + Värdet är inte en giltig CSS-färg. This value is not a valid CIDR notation. - Det här värdet är inte en giltig CIDR-notation. + Värdet är inte en giltig CIDR-notation. The value of the netmask should be between {{ min }} and {{ max }}. Värdet på nätmasken bör vara mellan {{ min }} och {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Filnamnet är för långt. Det måste vara {{ filename_max_length }} tecken eller färre.|Filnamnet är för långt. Det måste vara {{ filename_max_length }} tecken eller färre. + + + The password strength is too low. Please use a stronger password. + Detta lösenord är för svagt. Använd ett starkare lösenord. + + + This value contains characters that are not allowed by the current restriction-level. + Värdet innehåller tecken som inte är tillåtna. + + + Using invisible characters is not allowed. + Användning av osynliga tecken är inte tillåtet. + + + Mixing numbers from different scripts is not allowed. + Blandning av siffror från olika skript är inte tillåtet. + + + Using hidden overlay characters is not allowed. + Användning av dolda överlagringstecken är inte tillåtet. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Filtillägget är ogiltigt ({{ extension }}). Tillåtna filtillägg är {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Den upptäckta teckenkodningen är ogiltig ({{ detected }}). Tillåtna kodningar är {{ encodings }}. + + + This value is not a valid MAC address. + Värdet är inte en giltig MAC-adress. + + + This URL is missing a top-level domain. + Denna URL saknar en toppdomän. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.th.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.th.xlf index 26affc5a..ded3a008 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.th.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.th.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. ไฟล์นี้ไม่ใช่ไฟล์รูปภาพ - - This is not a valid IP address. - ค่าของ IP ไม่ถูกต้อง + + This value is not a valid IP address. + ค่านี้ไม่ใช่ที่อยู่ IP ที่ถูกต้อง This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. ไม่มีไฟล์ใดถูกอัปโหลด - - No temporary folder was configured in php.ini. - ไม่พบการตั้งค่าโฟลเดอร์ชั่วคราว (temporary folder) ใน php.ini + + No temporary folder was configured in php.ini, or the configured folder does not exist. + ไม่มีการกำหนดโฟลเดอร์ชั่วคราวใน php.ini หรือโฟลเดอร์ที่กำหนดไม่มีอยู่จริง Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. ไม่รู้จักประเภทของบัตร หรือหมายเลขบัตรไม่ถูกต้อง - - This is not a valid International Bank Account Number (IBAN). - ค่านี้ไม่ใช่ International Bank Account Number (IBAN) ที่ถูกต้อง + + This value is not a valid International Bank Account Number (IBAN). + ค่านี้ไม่ใช่หมายเลขบัญชีธนาคารระหว่างประเทศ (IBAN) ที่ถูกต้อง This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. ค่านี้ไม่ตรงกับการเข้ารหัส {{ charset }} - - This is not a valid Business Identifier Code (BIC). - นี่ไม่ถูกต้องตามรหัสสำหรับระบุธุรกิจนี้ (BIC) + + This value is not a valid Business Identifier Code (BIC). + ค่านี้ไม่ใช่รหัสประจำตัวธุรกิจ (BIC) ที่ถูกต้อง Error เกิดข้อผิดพลาด - - This is not a valid UUID. - นี่ไม่ใช่ UUID ที่ถูกต้อง + + This value is not a valid UUID. + ค่านี้ไม่ใช่ UUID ที่ถูกต้อง This value should be a multiple of {{ compared_value }}. @@ -390,7 +390,7 @@ This value should be a valid expression. ค่านี้ควรเป็นนิพจน์ที่ถูกต้อง - + This value is not a valid CSS color. ค่านี้ไม่ใช่สี CSS ที่ถูกต้อง @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. ค่าของ netmask ควรมีค่าระหว่าง {{ min }} ถึง {{ max }} + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + ชื่อไฟล์ยาวเกินไป ควรจะมีแค่ {{ filename_max_length }} ตัวอักษรหรือน้อยกว่านั้น + + + The password strength is too low. Please use a stronger password. + รหัสผ่านมีความปลอดภัยต่ำ กรุณาใช้รหัสผ่านที่มีความปลอดภัยสูง + + + This value contains characters that are not allowed by the current restriction-level. + ค่านี้ประกอบด้วยตัวอักษรที่ไม่รับอนุญาตจากระดับข้อบังคับปัจจุบัน + + + Using invisible characters is not allowed. + ไม่อนุญาตให้ใช้ตัวอักษรที่มองไม่เห็น + + + Mixing numbers from different scripts is not allowed. + ไม่อนุญาตให้ผสมตัวเลขจากสคริปต์ที่แตกต่างกัน + + + Using hidden overlay characters is not allowed. + ไม่อนุญาตให้ใช้ตัวอักษรซ้อนทับที่ซ่อนอยู่ + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + นามสกุลไฟล์ไม่ถูกต้อง ({{ extension }}). นามสกุลที่อนุญาตคือ {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + การเข้ารหัสอักขระที่ตรวจพบไม่ถูกต้อง ({{ detected }}). การเข้ารหัสที่อนุญาตคือ {{ encodings }}. + + + This value is not a valid MAC address. + ค่านี้ไม่ใช่ที่อยู่ MAC ที่ถูกต้อง + + + This URL is missing a top-level domain. + URL นี้ขาดโดเมนระดับสูงสุด. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.tl.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.tl.xlf index 74d5ed5c..4ac6bb45 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.tl.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.tl.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Ang file na ito ay hindi wastong imahe. - - This is not a valid IP address. - Ito ay hindi wastong IP address. + + This value is not a valid IP address. + Ang halagang ito ay hindi isang wastong IP address. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Walang na upload na file. - - No temporary folder was configured in php.ini. - Walang temporaryong folder ang naayos sa php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Walang pansamantalang folder na na-configure sa php.ini, o ang naka-configure na folder ay hindi umiiral. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Hindi supportadong uri ng kard o hindi wastong numero ng kard. - - This is not a valid International Bank Account Number (IBAN). - Ito ay hindi isang balidong International Bank Account Number (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Ang halagang ito ay hindi isang wastong International Bank Account Number (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Ang halaga ay hindi kapareha sa inaasahang {{ charset }} set ng karater. - - This is not a valid Business Identifier Code (BIC). - Ito ay hindi isang balidong Business Identifier Code (BIC). + + This value is not a valid Business Identifier Code (BIC). + Ang halagang ito ay hindi isang wastong Business Identifier Code (BIC). Error Error - - This is not a valid UUID. - Ito ay hindi wastong UUID. + + This value is not a valid UUID. + Ang halagang ito ay hindi isang wastong UUID. This value should be a multiple of {{ compared_value }}. @@ -394,6 +394,78 @@ This value is not a valid CSS color. Ang halagang ito ay hindi wastong kulay ng CSS. + + This value is not a valid CIDR notation. + Ang halagang ito ay hindi wastong notasyong CIDR. + + + The value of the netmask should be between {{ min }} and {{ max }}. + Ang halaga ng netmask ay dapat nasa pagitan ng {{ min }} at {{ max }}. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Ang pangalan ng file ay masyadong mahaba. Dapat itong magkaroon ng {{ filename_max_length }} karakter o mas kaunti.|Ang pangalan ng file ay masyadong mahaba. Dapat itong magkaroon ng {{ filename_max_length }} mga karakter o mas kaunti. + + + The password strength is too low. Please use a stronger password. + Ang lakas ng password ay masyadong mababa. Mangyaring gumamit ng mas malakas na password. + + + This value contains characters that are not allowed by the current restriction-level. + Ang halagang ito ay naglalaman ng mga karakter na hindi pinapayagan ng kasalukuyang antas ng paghihigpit. + + + Using invisible characters is not allowed. + Hindi pinapayagan ang paggamit ng mga hindi nakikitang karakter. + + + Mixing numbers from different scripts is not allowed. + Hindi pinapayagan ang paghahalo ng mga numero mula sa iba't ibang script. + + + Using hidden overlay characters is not allowed. + Hindi pinapayagan ang paggamit ng mga nakatagong overlay na karakter. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Ang extension ng file ay hindi wasto ({{ extension }}). Ang mga pinapayagang extension ay {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Ang nakitang encoding ng karakter ay hindi wasto ({{ detected }}). Ang mga pinapayagang encoding ay {{ encodings }}. + + + This value is not a valid MAC address. + Ang halagang ito ay hindi isang wastong MAC address. + + + This URL is missing a top-level domain. + Kulang ang URL na ito sa top-level domain. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + - + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.tr.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.tr.xlf index 715137d5..93848e94 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.tr.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.tr.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -20,7 +20,7 @@ The value you selected is not a valid choice. - Seçtiğiniz değer geçerli bir seçenek değil. + Seçtiğiniz değer geçerli bir seçenek değildir. You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. @@ -40,7 +40,7 @@ This field is missing. - Bu alan, eksik + Bu alan, eksiktir This value is not a valid date. @@ -60,7 +60,7 @@ The file is not readable. - Dosya okunabilir değil. + Dosya okunabilir değildir. The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. @@ -100,15 +100,15 @@ This value is not valid. - Bu değer geçerli değil. + Bu değer geçerli değildir. This value is not a valid time. - Bu değer doğru bir saat değil. + Bu değer doğru bir saat değildir. This value is not a valid URL. - Bu değer doğru bir URL değil. + Bu değer doğru bir URL değildir. The two values should be equal. @@ -134,13 +134,13 @@ This file is not a valid image. Bu dosya geçerli bir resim değildir. - - This is not a valid IP address. - Bu geçerli bir IP adresi değildir. + + This value is not a valid IP address. + Bu değer geçerli bir IP adresi değildir. This value is not a valid language. - Bu değer geçerli bir lisan değil. + Bu değer geçerli bir lisan değildir. This value is not a valid locale. @@ -190,9 +190,9 @@ No file was uploaded. Hiçbir dosya yüklenmedi. - - No temporary folder was configured in php.ini. - php.ini içerisinde geçici dizin tanımlanmadı. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini'de geçici bir klasör yapılandırılmadı, veya yapılandırılan klasör mevcut değildir. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Desteklenmeyen kart tipi veya geçersiz kart numarası. - - This is not a valid International Bank Account Number (IBAN). - Bu geçerli bir Uluslararası Banka Hesap Numarası (IBAN) değildir. + + This value is not a valid International Bank Account Number (IBAN). + Bu değer geçerli bir Uluslararası Banka Hesap Numarası (IBAN) değildir. This value is not a valid ISBN-10. @@ -244,7 +244,7 @@ This value is not a valid currency. - Bu değer geçerli bir para birimi değil. + Bu değer geçerli bir para birimi değildir. This value should be equal to {{ compared_value }}. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Bu değer beklenen {{ charset }} karakter kümesiyle eşleşmiyor. - - This is not a valid Business Identifier Code (BIC). - Bu geçerli bir İşletme Tanımlayıcı Kodu (BIC) değildir. + + This value is not a valid Business Identifier Code (BIC). + Bu değer geçerli bir İşletme Tanımlama Kodu (BIC) değildir. Error Hata - - This is not a valid UUID. - Bu geçerli bir UUID değildir. + + This value is not a valid UUID. + Bu değer geçerli bir UUID değildir. This value should be a multiple of {{ compared_value }}. @@ -340,7 +340,7 @@ This value should be positive. - Bu değer pozitif olmalı. + Bu değer pozitif olmalıdır. This value should be either positive or zero. @@ -356,7 +356,7 @@ This value is not a valid timezone. - Bu değer, geçerli bir saat dilimi değil. + Bu değer, geçerli bir saat dilimi değildir. This password has been leaked in a data breach, it must not be used. Please use another password. @@ -364,11 +364,11 @@ This value should be between {{ min }} and {{ max }}. - Bu değer arasında olmalıdır {{ min }} ve {{ max }}. + Bu değer {{ min }} ve {{ max }} arasında olmalıdır. This value is not a valid hostname. - Bu değer, geçerli bir ana bilgisayar adı değil. + Bu değer, geçerli bir ana bilgisayar adı değildir. The number of elements in this collection should be a multiple of {{ compared_value }}. @@ -384,7 +384,7 @@ This value is not a valid International Securities Identification Number (ISIN). - Bu değer geçerli bir Uluslararası Menkul Kıymetler Kimlik Numarası değil (ISIN). + Bu değer geçerli bir Uluslararası Menkul Kıymetler Kimlik Numarası (ISIN) değildir. This value should be a valid expression. @@ -392,16 +392,80 @@ This value is not a valid CSS color. - Bu değer geçerli bir CSS rengi değil. + Bu değer geçerli bir CSS rengi değildir. This value is not a valid CIDR notation. - Bu değer geçerli bir CIDR yazımı değil. + Bu değer geçerli bir CIDR yazımı değildir. The value of the netmask should be between {{ min }} and {{ max }}. Netmask'in değeri {{ min }} ve {{ max }} arasında olmaldır. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Dosya adı çok uzun. {{ filename_max_length }} karakter veya daha az olmalıdır. + + + The password strength is too low. Please use a stronger password. + Şifre gücü çok düşük. Lütfen daha güçlü bir şifre kullanın. + + + This value contains characters that are not allowed by the current restriction-level. + Bu değer, mevcut kısıtlama seviyesi tarafından izin verilmeyen karakterler içeriyor. + + + Using invisible characters is not allowed. + Görünmez karakterlerin kullanılması izin verilmez. + + + Mixing numbers from different scripts is not allowed. + Farklı yazı türlerinden sayıların karıştırılması izin verilmez. + + + Using hidden overlay characters is not allowed. + Gizli üstü kaplama karakterlerinin kullanılması izin verilmez. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Dosya uzantısı geçersiz ({{ extension }}). İzin verilen uzantılar {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Tespit edilen karakter kodlaması geçersiz ({{ detected }}). İzin verilen kodlamalar: {{ encodings }}. + + + This value is not a valid MAC address. + Bu değer geçerli bir MAC adresi değildir. + + + This URL is missing a top-level domain. + Bu URL bir üst seviye alan adı eksik. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + Bu değer çok kısa. En az bir kelime içermelidir.|Bu değer çok kısa. En az {{ min }} kelime içermelidir. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + Bu değer çok uzun. Tek bir kelime içermelidir.|Bu değer çok uzun. {{ max }} veya daha az kelime içermelidir. + + + This value does not represent a valid week in the ISO 8601 format. + Bu değer ISO 8601 formatında geçerli bir haftayı temsil etmezdir. + + + This value is not a valid week. + Bu değer geçerli hafta değildir. + + + This value should not be before week "{{ min }}". + Bu değer “{{ min }}” haftasından önce olmamalıdır. + + + This value should not be after week "{{ max }}". + Bu değer “{{ max }}” haftasından sonra olmamalıdır + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.uk.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.uk.xlf index c11f851f..4775d04f 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.uk.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.uk.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Цей файл не є допустимим форматом зображення. - - This is not a valid IP address. - Це некоректна IP адреса. + + This value is not a valid IP address. + Це значення не є дійсною IP-адресою. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Файл не був завантажений. - - No temporary folder was configured in php.ini. - Не налаштована тимчасова директорія в php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + У php.ini не було налаштовано тимчасової теки, або налаштована тека не існує. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Непідтримуваний тип карти або невірний номер карти. - - This is not a valid International Bank Account Number (IBAN). - Це не дійсний міжнародний номер банківського рахунку (IBAN). + + This value is not a valid International Bank Account Number (IBAN). + Це значення не є дійсним міжнародним номером банківського рахунку (IBAN). This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Значення не збігається з очікуваним {{ charset }} кодуванням. - - This is not a valid Business Identifier Code (BIC). - Це не дійсний банківський код (BIC). + + This value is not a valid Business Identifier Code (BIC). + Це значення не є дійсним банківським кодом (BIC). Error Помилка - - This is not a valid UUID. - Це не валідне значення UUID. + + This value is not a valid UUID. + Це значення не є дійсним UUID. This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Значення в мережевій масці має бути між {{ min }} та {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Назва файлу занадто довга. Вона має містити {{ filename_max_length }} символів або менше.|Назва файлу занадто довга. Вона має містити {{ filename_max_length }} символів або менше. + + + The password strength is too low. Please use a stronger password. + Надійність пароля занадто низька. Будь ласка, створіть складніший пароль. + + + This value contains characters that are not allowed by the current restriction-level. + Це значення містить символи, які не дозволяються поточним рівнем обмежень. + + + Using invisible characters is not allowed. + Використання невидимих ​​символів не допускається. + + + Mixing numbers from different scripts is not allowed. + Змішувати числа з різних скриптів не допускається. + + + Using hidden overlay characters is not allowed. + Використання прихованих накладених символів не допускається. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Розширення файлу недопустиме ({{ extension }}). Дозволені розширення {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Недопустиме кодування символів ({{ detected }}). Допустимі кодування: {{ encodings }}. + + + This value is not a valid MAC address. + Це значення не є дійсною MAC-адресою. + + + This URL is missing a top-level domain. + Цьому URL не вистачає домену верхнього рівня. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ur.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ur.xlf index c2b11494..a1669de0 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ur.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.ur.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. یہ فائل درست تصویر نہیں ہے - - This is not a valid IP address. - ایڈریس نہیں ہے IP یہ ایک درست + + This value is not a valid IP address. + یہ قیمت کوئی درست IP پتہ نہیں ہے۔ This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. کوئی فائل اپ لوڈ نہیں کی گئی - - No temporary folder was configured in php.ini. - میں کوئی عارضی فولڈر کنفیگر نہیں کیا گیا، یا کنفیگرڈ فولڈر موجود نہیں ہے php.ini + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini میں کوئی عارضی فولڈر ترتیب نہیں دیا گیا تھا، یا ترتیب دیا گیا فولڈر موجود نہیں ہے۔ Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. غیر تعاون یافتہ کارڈ کی قسم یا غلط کارڈ نمبر - - This is not a valid International Bank Account Number (IBAN). - (IBAN)یہ ایک درست بین الاقوامی بینک اکاؤنٹ نمبر نہیں ہے + + This value is not a valid International Bank Account Number (IBAN). + یہ قیمت کوئی درست بین الاقوامی بینک اکاؤنٹ نمبر (IBAN) نہیں ہے۔ This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. کے جيسي نہیں ہے charset {{ charset }} یہ ويليو متوقع - - This is not a valid Business Identifier Code (BIC). - (BIC)یہ ایک درست کاروباری شناخت کنندہ کوڈ نہیں ہے + + This value is not a valid Business Identifier Code (BIC). + یہ قیمت کوئی درست بزنس شناختی کوڈ (BIC) نہیں ہے۔ Error خرابی - - This is not a valid UUID. - نہیں ہے UUID یہ درست + + This value is not a valid UUID. + یہ قیمت کوئی درست UUID نہیں ہے۔ This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. کے درمیان ہونی چاہیے {{ max }} اور {{ min }} نیٹ ماسک کی ويليو + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + فائل کا نام بہت لمبا ہے۔ اس میں {{ filename_max_length }} حرف یا اس سے کم ہونے چاہئیں۔|فائل کا نام بہت لمبا ہے۔ اس میں {{ filename_max_length }} حروف یا اس سے کم ہونے چاہئیں۔ + + + The password strength is too low. Please use a stronger password. + پاس ورڈ کی طاقت بہت کم ہے۔ براہ کرم مضبوط پاس ورڈ استعمال کریں۔ + + + This value contains characters that are not allowed by the current restriction-level. + اس قدر میں ایسے حروف موجود ہیں جو موجودہ پابندی کی سطح کی طرف سے اجازت نہیں ہیں۔ + + + Using invisible characters is not allowed. + نادیدہ حروف استعمال کرنے کی اجازت نہیں ہے۔ + + + Mixing numbers from different scripts is not allowed. + مختلف اسکرپٹس سے نمبروں کو ملا کر استعمال کرنے کی اجازت نہیں ہے۔ + + + Using hidden overlay characters is not allowed. + چھپے ہوئے اوورلے کریکٹرز کا استعمال کرنے کی اجازت نہیں ہے۔ + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + فائل کی توسیع نامناسب ہے ({{ extension }})۔ اجازت شدہ توسیعات {{ extensions }} ہیں۔ + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + پتہ چلنے والی کریکٹر انکوڈنگ نامناسب ہے ({{ detected }})۔ اجازت شدہ انکوڈنگز {{ encodings }} ہیں۔ + + + This value is not a valid MAC address. + یہ قیمت کوئی درست MAC پتہ نہیں ہے۔ + + + This URL is missing a top-level domain. + اس URL میں ٹاپ لیول ڈومین موجود نہیں ہے۔ + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.uz.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.uz.xlf index d1ecaf1b..d3012c64 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.uz.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.uz.xlf @@ -1,14 +1,14 @@ - - - + + + This value should be false. - Qiymat noto'g'ri bo'lishi kerak. + Qiymat false bo'lishi kerak. This value should be true. - Qiymat to'g'ri bo'lishi kerak. + Qiymat true bo'lishi kerak. This value should be of type {{ type }}. @@ -20,7 +20,7 @@ The value you selected is not a valid choice. - Tanlangan qiymat to'g'ri emas. + Tanlangan qiymat yaroqli emas. You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. @@ -32,7 +32,7 @@ One or more of the given values is invalid. - Belgilangan qiymatlarning bir yoki bir nechtasi noto'g'ri. + Belgilangan qiymatlarning bir yoki bir nechtasi yaroqsiz. This field was not expected. @@ -134,18 +134,18 @@ This file is not a valid image. Fayl yaroqli rasm formati emas. - - This is not a valid IP address. - Ip manzil noto'g'ri. + + This value is not a valid IP address. + Bu qiymat haqiqiy IP manzil emas. This value is not a valid language. Noto'g'ri til. - This value is not a valid locale. - Ushbu qiymat mahalliy qiymat emas. - + This value is not a valid locale. + Ushbu qiymat mahalliy qiymat emas. + This value is not a valid country. Mamlakat qiymati noto'g'ri. @@ -190,9 +190,9 @@ No file was uploaded. Fayl yuklanmagan. - - No temporary folder was configured in php.ini. - php.ini da vaqtinchalik katalog sozlanmagan. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini da vaqtinchalik katalog sozlanmagan, yoki sozlangan katalog mavjud emas. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Qo'llab-quvvatlanmaydigan karta turi yoki yaroqsiz karta raqami. - - This is not a valid International Bank Account Number (IBAN). - Qiymat haqiqiy xalqaro hisob raqamining raqami (IBAN) emas. + + This value is not a valid International Bank Account Number (IBAN). + Bu qiymat haqiqiy Xalqaro Bank Hisob Raqami (IBAN) emas. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Qiymat kutilgan {{ charset }} kodlashiga mos kelmaydi. - - This is not a valid Business Identifier Code (BIC). - Qiymat BIC formatida emas. + + This value is not a valid Business Identifier Code (BIC). + Bu qiymat haqiqiy Biznes Identifikatsiya Kodi (BIC) emas. Error Xatolik - - This is not a valid UUID. - Qiymat UUID formatida emas. + + This value is not a valid UUID. + Bu qiymat haqiqiy UUID emas. This value should be a multiple of {{ compared_value }}. @@ -390,7 +390,7 @@ This value should be a valid expression. Ushbu qiymat to'g'ri ifoda bo'lishi kerak. - + This value is not a valid CSS color. Bu qiymat haqiqiy CSS rangi emas. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Tarmoq niqobining qiymati {{ min }} va {{ max }} oralig'ida bo'lishi kerak. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Fayl nomi juda uzun. U {{ filename_max_length }} belgidan iborat boʻlishi kerak.|Fayl nomi juda uzun. U {{ filename_max_length }} ta belgidan iborat boʻlishi kerak. + + + The password strength is too low. Please use a stronger password. + Parol kuchi juda past. Iltimos, kuchliroq paroldan foydalaning. + + + This value contains characters that are not allowed by the current restriction-level. + Bu qiymat joriy cheklov darajasida ruxsat etilmagan belgilarni o'z ichiga oladi. + + + Using invisible characters is not allowed. + Ko'rinmas belgilardan foydalanish taqiqlangan. + + + Mixing numbers from different scripts is not allowed. + Turli skriptlardagi raqamlarni aralashtirish taqiqlangan. + + + Using hidden overlay characters is not allowed. + Yashirin qoplamali belgilardan foydalanish taqiqlangan. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Fayl kengaytmasi yaroqsiz ({{ extension }}). Ruxsat berilgan kengaytmalar {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Aniqlangan belgi kodlamasi yaroqsiz ({{ detected }}). Ruxsat etilgan kodlamalar {{ encodings }}. + + + This value is not a valid MAC address. + Bu qiymat haqiqiy MAC manzil emas. + + + This URL is missing a top-level domain. + Bu URL yuqori darajali domenni o'z ichiga olmaydi. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.vi.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.vi.xlf index 00201792..70a7eedc 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.vi.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.vi.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,9 +134,9 @@ This file is not a valid image. Tập tin không phải là hình ảnh hợp lệ. - - This is not a valid IP address. - Địa chỉ IP không hợp lệ. + + This value is not a valid IP address. + Giá trị này không phải là địa chỉ IP hợp lệ. This value is not a valid language. @@ -190,9 +190,9 @@ No file was uploaded. Tập tin không được tải lên. - - No temporary folder was configured in php.ini. - Thư mục tạm không được định nghĩa trong php.ini. + + No temporary folder was configured in php.ini, or the configured folder does not exist. + Không có thư mục tạm được cấu hình trong php.ini, hoặc thư mục đã cấu hình không tồn tại. Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. Thẻ không được hỗ trợ hoặc số thẻ không hợp lệ. - - This is not a valid International Bank Account Number (IBAN). - Giá trị không phải là International Bank Account Number (IBAN) hợp lệ. + + This value is not a valid International Bank Account Number (IBAN). + Giá trị này không phải là Số Tài Khoản Ngân Hàng Quốc Tế (IBAN) hợp lệ. This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. Giá trị này không đúng định dạng bộ ký tự mong muốn {{ charset }}. - - This is not a valid Business Identifier Code (BIC). - Giá trị này không đúng định dạng mã định danh doanh nghiệp (BIC). + + This value is not a valid Business Identifier Code (BIC). + Giá trị này không phải là Mã Định Danh Doanh Nghiệp (BIC) hợp lệ. Error Lỗi - - This is not a valid UUID. - Giá trị này không đúng định dạng UUID. + + This value is not a valid UUID. + Giá trị này không phải là UUID hợp lệ. This value should be a multiple of {{ compared_value }}. @@ -361,19 +361,19 @@ This password has been leaked in a data breach, it must not be used. Please use another password. Mật khẩu này đã bị rò rỉ dữ liệu, không được sử dụng nữa. Xin vui lòng sử dụng mật khẩu khác. - - - This value should be between {{ min }} and {{ max }}. - Giá trị này nên thuộc giữa {{ min }} và {{ max }}. - - - This value is not a valid hostname. - Giá trị này không phải là tên máy chủ hợp lệ. - - - The number of elements in this collection should be a multiple of {{ compared_value }}. - Số lượng các phần tử trong bộ sưu tập này nên là bội số của {{ compared_value }}. - + + + This value should be between {{ min }} and {{ max }}. + Giá trị này nên thuộc giữa {{ min }} và {{ max }}. + + + This value is not a valid hostname. + Giá trị này không phải là tên máy chủ hợp lệ. + + + The number of elements in this collection should be a multiple of {{ compared_value }}. + Số lượng các phần tử trong bộ sưu tập này nên là bội số của {{ compared_value }}. + This value should satisfy at least one of the following constraints: Giá trị này nên thỏa mãn ít nhất một trong những ràng buộc sau: @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. Giá trị của mặt nạ mạng phải nằm trong khoảng từ {{ min }} đến {{ max }}. + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + Tên tệp quá dài. Phải bằng {{ filename_max_length }} ký tự hoặc ít hơn.|Tên tệp quá dài. Phải bằng {{ filename_max_length }} ký tự hoặc ít hơn. + + + The password strength is too low. Please use a stronger password. + Sức mạnh mật khẩu quá thấp. Vui lòng sử dụng mật khẩu mạnh hơn. + + + This value contains characters that are not allowed by the current restriction-level. + Giá trị này chứa các ký tự không được phép bởi mức độ hạn chế hiện tại. + + + Using invisible characters is not allowed. + Sử dụng ký tự vô hình không được phép. + + + Mixing numbers from different scripts is not allowed. + Không được phép trộn các số từ các tập lệnh khác nhau. + + + Using hidden overlay characters is not allowed. + Sử dụng các ký tự lớp phủ ẩn không được phép. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + Phần mở rộng của tệp không hợp lệ ({{ extension }}). Phần mở rộng cho phép là {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + Mã hóa ký tự được phát hiện là không hợp lệ ({{ detected }}). Các mã hóa được phép là {{ encodings }}. + + + This value is not a valid MAC address. + Giá trị này không phải là địa chỉ MAC hợp lệ. + + + This URL is missing a top-level domain. + URL này thiếu miền cấp cao. + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf index a7d49ba9..3c078d3f 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf @@ -1,6 +1,6 @@ - - - + + + This value should be false. @@ -134,14 +134,14 @@ This file is not a valid image. 该文件不是有效的图片。 - - This is not a valid IP address. - 该值不是有效的IP地址。 - - - This value is not a valid language. - 该值不是有效的语言名。 - + + This value is not a valid IP address. + 该值不是有效的IP地址。 + + + This value is not a valid language. + 该值不是有效的语言名。 + This value is not a valid locale. 该值不是有效的区域值(locale)。 @@ -190,9 +190,9 @@ No file was uploaded. 没有上传任何文件。 - - No temporary folder was configured in php.ini. - php.ini 里没有配置临时文件目录。 + + No temporary folder was configured in php.ini, or the configured folder does not exist. + php.ini 中没有配置临时文件夹,或配置的文件夹不存在。 Cannot write temporary file to disk. @@ -222,9 +222,9 @@ Unsupported card type or invalid card number. 不支持的信用卡类型或无效的信用卡号。 - - This is not a valid International Bank Account Number (IBAN). - 该值不是有效的国际银行帐号(IBAN)。 + + This value is not a valid International Bank Account Number (IBAN). + 该值不是有效的国际银行账号(IBAN)。 This value is not a valid ISBN-10. @@ -310,17 +310,17 @@ This value does not match the expected {{ charset }} charset. 该值不符合 {{ charset }} 编码。 - - This is not a valid Business Identifier Code (BIC). - 这不是有效的业务标识符代码(BIC)。 + + This value is not a valid Business Identifier Code (BIC). + 该值不是有效的业务标识符代码(BIC)。 Error 错误 - - This is not a valid UUID. - 这不是有效的UUID。 + + This value is not a valid UUID. + 该值不是有效的UUID。 This value should be a multiple of {{ compared_value }}. @@ -402,6 +402,70 @@ The value of the netmask should be between {{ min }} and {{ max }}. 网络掩码的值应当在 {{ min }} 和 {{ max }} 之间。 + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + 该文件名过长,最长不应超过{{ filename_max_length }} 个字符。 + + + The password strength is too low. Please use a stronger password. + 该密码强度太低。请使用更复杂的密码。 + + + This value contains characters that are not allowed by the current restriction-level. + 该值包含了当前限制级别不允许的字符。 + + + Using invisible characters is not allowed. + 不允许使用隐藏字符。 + + + Mixing numbers from different scripts is not allowed. + 不可混合使用不同语系的数字。 + + + Using hidden overlay characters is not allowed. + 不允许使用隐藏的覆盖字符。 + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + 文件的扩展名无效 ({{ extension }})。允许的扩展名为 {{ extensions }}。 + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + 检测到的字符编码无效 ({{ detected }})。允许的编码为 {{ encodings }}。 + + + This value is not a valid MAC address. + 该值不是有效的MAC地址。 + + + This URL is missing a top-level domain. + 此URL缺少顶级域名。 + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + + + This value does not represent a valid week in the ISO 8601 format. + This value does not represent a valid week in the ISO 8601 format. + + + This value is not a valid week. + This value is not a valid week. + + + This value should not be before week "{{ min }}". + This value should not be before week "{{ min }}". + + + This value should not be after week "{{ max }}". + This value should not be after week "{{ max }}". + diff --git a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf index b1f7fb4a..d9410063 100644 --- a/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf +++ b/upload/system/storage/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf @@ -1,406 +1,470 @@ - - - + + + This value should be false. - 該變數的值應為 false 。 + 這個數值應為 false。 This value should be true. - 該變數的值應為 true 。 + 這個數值應為 true。 This value should be of type {{ type }}. - 該變數的類型應為 {{ type }} 。 + 這個數值的類型應為 {{ type }}。 This value should be blank. - 該變數應為空。 + 這個數值應該留白。 The value you selected is not a valid choice. - 選定變數的值不是有效的選項。 + 選取的值不是有效的選項。 You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - 您至少要選擇 {{ limit }} 個選項。 + 至少需要選 {{ limit }} 項。|至少需要選 {{ limit }} 項。 You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. - 您最多能選擇 {{ limit }} 個選項。 + 至多只能選 {{ limit }} 項。|至多只能選 {{ limit }} 項。 One or more of the given values is invalid. - 一個或者多個給定的值無效。 + 一或多個填入的數值無效。 This field was not expected. - 此字段是沒有預料到。 + 這個欄位不在預期之內。 This field is missing. - 此字段缺失。 + 缺少這個欄位。 This value is not a valid date. - 該值不是一個有效的日期(date)。 + 這個數值不是有效的日期。 This value is not a valid datetime. - 該值不是一個有效的日期時間(datetime)。 + 這個數值不是有效的日期時間組合。 This value is not a valid email address. - 該值不是一個有效的郵件地址。 + 這個數值不是有效的電子郵件格式。 The file could not be found. - 找不到檔案。 + 找不到這個檔案。 The file is not readable. - 無法讀取檔案。 + 無法讀取這個檔案。 The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. - 檔案太大 ({{ size }} {{ suffix }})。檔案大小不可以超過 {{ limit }} {{ suffix }} 。 + 這個檔案過大({{ size }} {{ suffix }})。允許的大小上限是 {{ limit }} {{ suffix }}。 The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. - 無效的檔案類型 ({{ type }}) 。允許的檔案類型有 {{ types }} 。 + 這個檔案的 MIME 類型無效({{ type }})。允許的 MIME 類型有 {{ types }}。 This value should be {{ limit }} or less. - 這個變數的值應該小於或等於 {{ limit }}。 + 這個數值必須小於等於 {{ limit }}。 This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. - 字串太長,長度不可超過 {{ limit }} 個字元。 + 這個數值過長。最多只能有 {{ limit }} 個字元。|這個數值過長。最多只能有 {{ limit }} 個字元。 This value should be {{ limit }} or more. - 該變數的值應該大於或等於 {{ limit }}。 + 這個數值必須大於等於 {{ limit }}。 This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. - 字串太短,長度不可少於 {{ limit }} 個字元。 + 這個數值過短。最少要有 {{ limit }} 個字元。|這個數值過短。最少要有 {{ limit }} 個字元。 This value should not be blank. - 該變數不應為空白。 + 這個數值不允許留白。 This value should not be null. - 該值不應為 null 。 + 這個數值不能為空值(null)。 This value should be null. - 該值應為 null 。 + 這個數值應為空值(null)。 This value is not valid. - 無效的數值 。 + 這個數值無效。 This value is not a valid time. - 該值不是一個有效的時間。 + 這個數值不是有效的時間。 This value is not a valid URL. - 該值不是一個有效的 URL 。 + 這個數值不是 URL 格式。 The two values should be equal. - 這兩個變數的值應該相等。 + 這兩個數值應該相同。 The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. - 檔案太大,檔案大小不可以超過 {{ limit }} {{ suffix }}。 + 這個檔案過大。允許的大小上限為 {{ limit }} {{ suffix }}。 The file is too large. - 檔案太大。 + 這個檔案過大。 The file could not be uploaded. - 無法上傳此檔案。 + 無法上傳檔案。 This value should be a valid number. - 該值應該為有效的數字。 + 這個數值不是有效的數字。 This file is not a valid image. - 該檔案不是有效的圖片。 + 這個檔案不是有效的影像。 - - This is not a valid IP address. - 該值不是有效的IP地址。 + + This value is not a valid IP address. + 這個數值不是有效的 IP 地址。 This value is not a valid language. - 該值不是有效的語言名。 + 這個數值不是有效的語言。 This value is not a valid locale. - 該值不是有效的區域值(locale)。 + 這個數值不是有效的地區。 This value is not a valid country. - 該值不是有效的國家名。 + 這個數值不是有效的國家。 This value is already used. - 該值已經被使用。 + 已經用過這個數值。 The size of the image could not be detected. - 不能解析圖片大小。 + 無法偵測這個影像的大小。 The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - 圖片太寬 ({{ width }}px),最大寬度為 {{ max_width }}px 。 + 影像過寬({{ width }}px)。允許的寬度上限是 {{ max_width }}px。 The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - 圖片寬度不夠 ({{ width }}px),最小寬度為 {{ min_width }}px 。 + 影像過窄({{ width }}px)。允許的寬度下限是 {{ max_width }}px。 The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - 圖片太高 ({{ height }}px),最大高度為 {{ max_height }}px 。 + 影像過長({{ height }}px)。允許的長度上限是 {{ max_height }}px。 The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - 圖片高度不夠 ({{ height }}px),最小高度為 {{ min_height }}px 。 + 影像過短({{ height }}px)。允許的長度下限是 {{ max_height }}px。 This value should be the user's current password. - 該變數的值應為用戶目前的密碼。 + 這個數值應為使用者目前使用的密碼。 This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. - 該變數應為 {{ limit }} 個字元。 + 這個數值應剛好為 {{ limit }} 個字元長。|這個數值應剛好為 {{ limit }} 個字元長。 The file was only partially uploaded. - 該檔案的上傳不完整。 + 檔案只上傳了一部分。 No file was uploaded. - 沒有上傳任何檔案。 + 未上傳檔案。 - - No temporary folder was configured in php.ini. - php.ini 裡沒有配置臨時目錄。 + + No temporary folder was configured in php.ini, or the configured folder does not exist. + 未在 php.ini 設定暫存資料夾,或者是暫存資料夾不存在。 Cannot write temporary file to disk. - 暫存檔寫入磁碟失敗。 + 無法將暫存檔寫入磁碟。 A PHP extension caused the upload to fail. - 某個 PHP 擴展造成上傳失敗。 + 有個 PHP 擴充套件導致上傳失敗。 This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. - 該集合最少應包含 {{ limit }} 個元素。 + 這個集合應該至少有 {{ limit }} 個元素。|這個集合應該至少有 {{ limit }} 個元素。 This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - 該集合最多包含 {{ limit }} 個元素。 + 這個集合最多只能有 {{ limit }} 個元素。|這個集合最多只能有 {{ limit }} 個元素。 This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. - 該集合應包含 {{ limit }} 個元素 element 。 + 這個集合只能有剛好 {{ limit }} 個元素。|這個集合只能有剛好 {{ limit }} 個元素。 Invalid card number. - 無效的信用卡號。 + 卡號無效。 Unsupported card type or invalid card number. - 不支援的信用卡類型或無效的信用卡號。 + 不支援這個卡片類型,或卡號不正確。 - - This is not a valid International Bank Account Number (IBAN). - 該值不是有效的國際銀行帳號(IBAN)。 + + This value is not a valid International Bank Account Number (IBAN). + 這個數值的格式不是國際銀行帳戶號碼(IBAN)。 This value is not a valid ISBN-10. - 該值不是有效的10位國際標準書號(ISBN-10)。 + 這個數值的格式不是 ISBN-10。 This value is not a valid ISBN-13. - 該值不是有效的13位國際標準書號(ISBN-13)。 + 這個數值的格式不是 ISBN-13。 This value is neither a valid ISBN-10 nor a valid ISBN-13. - 該值不是有效的國際標準書號(ISBN-10 或 ISBN-13)。 + 這個數值的格式不是 ISBN-10 或 ISBN-13。 This value is not a valid ISSN. - 該值不是有效的國際標準期刊號(ISSN)。 + 這個數值的格式不是 ISSN。 This value is not a valid currency. - 該值不是有效的貨幣名(currency)。 + 這個數值不是有效的貨幣。 This value should be equal to {{ compared_value }}. - 該值應等於 {{ compared_value }} 。 + 這個數值應等於 {{ compared_value }}。 This value should be greater than {{ compared_value }}. - 該值應大於 {{ compared_value }} 。 + 這個數值應大於 {{ compared_value }}。 This value should be greater than or equal to {{ compared_value }}. - 該值應大於或等於 {{ compared_value }} 。 + 這個數值應大於等於 {{ compared_value }}。 This value should be identical to {{ compared_value_type }} {{ compared_value }}. - 該值應與 {{ compared_value_type }} {{ compared_value }} 相同。 + 這個數值應等於 {{ compared_value_type }} {{ compared_value }}。 This value should be less than {{ compared_value }}. - 該值應小於 {{ compared_value }} 。 + 這個數值應小於 {{ compared_value }}。 This value should be less than or equal to {{ compared_value }}. - 該值應小於或等於 {{ compared_value }} 。 + 這個數值應小於等於 {{ compared_value }}。 This value should not be equal to {{ compared_value }}. - 該值應不等於 {{ compared_value }} 。 + 這個數值不應等於 {{ compared_value }}。 This value should not be identical to {{ compared_value_type }} {{ compared_value }}. - 該值不應與 {{ compared_value_type }} {{ compared_value }} 相同。 + 這個數值不應等於 {{ compared_value_type }} {{ compared_value }}。 The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - 圖像格式過大 ({{ ratio }})。 最大允許尺寸 {{ max_ratio }}。 + 影像的比例過大({{ ratio }})。允許的最大比例是 {{ max_ratio }}。 The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - 圖像格式過小 ({{ ratio }})。最小尺寸 {{ min_ratio }}。 + 影像的比例過小({{ ratio }})。允許的最小比例是 {{ min_ratio }}。 The image is square ({{ width }}x{{ height }}px). Square images are not allowed. - 方形圖像 ({{ width }}x{{ height }}px)。不接受方形圖像。 + 影像為正方形({{ width }}x{{ height }}px)。不允許使用正方形影像。 The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. - 紀念冊布局圖像 ({{ width }}x{{ height }}px)。 不接受紀念冊布局圖像。 + 影像為橫向({{ width }}x{{ height }}px)。不允許使用橫向影像。 The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. - 書籍布局圖像 ({{ width }}x{{ height }}px)。不接受圖像書籍布局。 + 影像為縱向({{ width }}x{{ height }}px)。不允許使用縱向影像。 An empty file is not allowed. - 不接受空白文件。 + 不允許空白檔案。 The host could not be resolved. - 未找到服務器。 + 無法解析主機。 This value does not match the expected {{ charset }} charset. - 該數值不符合預期 {{ charset }} 符號編碼。 + 這個數值不符合預期的 {{ charset }} 字元集。 - - This is not a valid Business Identifier Code (BIC). - 無效企業識別碼 (BIC)。 + + This value is not a valid Business Identifier Code (BIC). + 這個數值不是有效的商業識別碼(BIC)。 - Error. - 錯誤。 + Error + 錯誤 - - This is not a valid UUID. - 無效的通用唯壹標識符 (UUID)。 + + This value is not a valid UUID. + 這個數值不是有效的 UUID。 This value should be a multiple of {{ compared_value }}. - 該值必須是倍數 {{ compared_value }}。 + 這個數值應為 {{ compared_value }} 的倍數。 This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. - 該企業識別碼 (BIC) 與銀行賬戶國際編號不壹致 (IBAN) {{ iban }}。 + 這個商業識別碼(BIC)與 IBAN {{ iban }} 沒有關聯。 This value should be valid JSON. - 該數值必須序列化為JSON格式。 + 這個數值應為有效的 JSON。 This collection should contain only unique elements. - 該集合應僅包含唯壹元素。 + 這個集合不允許有重複元素。 This value should be positive. - 數值應為正數。 + 這個數值應為正數。 This value should be either positive or zero. - 數值應是正數,或為零。 + 這個數值應為正數或 0。 This value should be negative. - 數值應為負數。 + 這個數值應為負數。 This value should be either negative or zero. - 數值應是負數,或為零。 + 這個數值應為負數或 0。 This value is not a valid timezone. - 無效時區。 + 這個數值不是有效的時區。 This password has been leaked in a data breach, it must not be used. Please use another password. - 此密碼已被泄露,切勿使用。請更換密碼。 + 這個密碼已在資料洩露中曝光,不應再使用。請使用其他密碼。 This value should be between {{ min }} and {{ max }}. - 該數值應在 {{ min }} 和 {{ max }} 之間。 + 這個數值應介於 {{ min }} 和 {{ max }} 之間。 This value is not a valid hostname. - 該數值不是有效的主機名稱。 + 這個數值不是有效的主機名稱。 The number of elements in this collection should be a multiple of {{ compared_value }}. - 該集合內的元素數量得是 {{ compared_value }} 的倍數。 + 這個集合中的元素數量應為 {{ compared_value }} 的倍數。 This value should satisfy at least one of the following constraints: - 該數值需符合以下其中一個約束: + 這個數值應滿足以下至少一項限制: Each element of this collection should satisfy its own set of constraints. - 該集合內的每個元素需符合元素本身規定的約束。 + 這個集合中的每個元素應滿足其自身的約束條件。 This value is not a valid International Securities Identification Number (ISIN). - 該數值不是有效的國際證券識別碼 (ISIN)。 + 這個數值不是有效的國際證券識別號碼(ISIN)。 This value should be a valid expression. - 該值需為一個有效的表達式。 + 這個數值應為有效的表達式。 This value is not a valid CSS color. - 該值不是有效的CSS顏色。 + 這個數值不是有效的 CSS 顏色。 This value is not a valid CIDR notation. - 該值不是一個有效的CIDR表示。 + 這個數值不是有效的 CIDR 表示法。 The value of the netmask should be between {{ min }} and {{ max }}. - 網絡掩碼的值應當在 {{ min }} 和 {{ max }} 之間。 + 網路遮罩的值應介於 {{ min }} 和 {{ max }} 之間。 + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + 檔案名稱過長。應最多有 {{ filename_max_length }} 個字元。|檔案名稱過長。應最多有 {{ filename_max_length }} 個字元。 + + + The password strength is too low. Please use a stronger password. + 密碼強度太低。請使用更強的密碼。 + + + This value contains characters that are not allowed by the current restriction-level. + 這個數值包含目前限制級別不允許的字元。 + + + Using invisible characters is not allowed. + 不允許使用隱形字元。 + + + Mixing numbers from different scripts is not allowed. + 不允許混合來自不同文字的數字。 + + + Using hidden overlay characters is not allowed. + 不允許使用隱藏的覆蓋字元。 + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + 檔案的副檔名無效({{ extension }})。允許的副檔名有 {{ extensions }}。 + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + 偵測到的字元編碼無效({{ detected }})。允許的編碼有 {{ encodings }}。 + + + This value is not a valid MAC address. + 這個數值不是有效的 MAC 位址。 + + + This URL is missing a top-level domain. + 這個 URL 缺少頂級域名。 + + + This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words. + 這個數值過短。應至少包含 1 個單字。|這個數值過短。應至少包含 {{ min }} 個單字。 + + + This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. + 這個數值過長。應包含 1 個單字。|這個數值過長。應最多包含 {{ max }} 個單字。 + + + This value does not represent a valid week in the ISO 8601 format. + 這個數值不符合 ISO 8601 格式的有效週。 + + + This value is not a valid week. + 這個數值不是有效的週。 + + + This value should not be before week "{{ min }}". + 這個數值不應早於第「{{ min }}」週。 + + + This value should not be after week "{{ max }}". + 這個數值不應晚於第「{{ max }}」週。 diff --git a/upload/system/storage/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php b/upload/system/storage/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php index 1d75a6bb..5e7124f3 100644 --- a/upload/system/storage/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php +++ b/upload/system/storage/vendor/symfony/validator/Test/ConstraintValidatorTestCase.php @@ -23,6 +23,9 @@ use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\ConstraintValidatorInterface; use Symfony\Component\Validator\ConstraintViolation; +use Symfony\Component\Validator\ConstraintViolationInterface; +use Symfony\Component\Validator\ConstraintViolationList; +use Symfony\Component\Validator\ConstraintViolationListInterface; use Symfony\Component\Validator\Context\ExecutionContext; use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Mapping\ClassMetadata; @@ -38,8 +41,6 @@ */ abstract class ConstraintValidatorTestCase extends TestCase { - use ForwardCompatTestTrait; - /** * @var ExecutionContextInterface */ @@ -59,8 +60,10 @@ abstract class ConstraintValidatorTestCase extends TestCase protected $constraint; protected $defaultTimezone; private $defaultLocale; + private $expectedViolations; + private $call; - private function doSetUp() + protected function setUp(): void { $this->group = 'MyGroup'; $this->metadata = null; @@ -77,22 +80,29 @@ private function doSetUp() $this->validator = $this->createValidator(); $this->validator->initialize($this->context); - $this->defaultLocale = \Locale::getDefault(); - \Locale::setDefault('en'); + if (class_exists(\Locale::class)) { + $this->defaultLocale = \Locale::getDefault(); + \Locale::setDefault('en'); + } + + $this->expectedViolations = []; + $this->call = 0; $this->setDefaultTimezone('UTC'); } - private function doTearDown() + protected function tearDown(): void { $this->restoreDefaultTimezone(); - \Locale::setDefault($this->defaultLocale); + if (class_exists(\Locale::class)) { + \Locale::setDefault($this->defaultLocale); + } } - protected function setDefaultTimezone($defaultTimezone) + protected function setDefaultTimezone(?string $defaultTimezone) { - // Make sure this method can not be called twice before calling + // Make sure this method cannot be called twice before calling // also restoreDefaultTimezone() if (null === $this->defaultTimezone) { $this->defaultTimezone = date_default_timezone_get(); @@ -113,21 +123,29 @@ protected function createContext() $translator = $this->createMock(TranslatorInterface::class); $translator->expects($this->any())->method('trans')->willReturnArgument(0); $validator = $this->createMock(ValidatorInterface::class); + $validator->expects($this->any()) + ->method('validate') + ->willReturnCallback(function () { + return $this->expectedViolations[$this->call++] ?? new ConstraintViolationList(); + }); $context = new ExecutionContext($validator, $this->root, $translator); $context->setGroup($this->group); $context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); $context->setConstraint($this->constraint); - $contextualValidator = $this->getMockBuilder(AssertingContextualValidator::class) - ->setMethods([ - 'atPath', - 'validate', - 'validateProperty', - 'validatePropertyValue', - 'getViolations', - ]) - ->getMock(); + $contextualValidatorMockBuilder = $this->getMockBuilder(AssertingContextualValidator::class) + ->setConstructorArgs([$context]); + $contextualValidatorMethods = [ + 'atPath', + 'validate', + 'validateProperty', + 'validatePropertyValue', + 'getViolations', + ]; + + $contextualValidatorMockBuilder->onlyMethods($contextualValidatorMethods); + $contextualValidator = $contextualValidatorMockBuilder->getMock(); $contextualValidator->expects($this->any()) ->method('atPath') ->willReturnCallback(function ($path) use ($contextualValidator) { @@ -161,7 +179,7 @@ protected function createContext() return $context; } - protected function setGroup($group) + protected function setGroup(?string $group) { $this->group = $group; $this->context->setGroup($group); @@ -200,7 +218,7 @@ protected function setRoot($root) $this->validator->initialize($this->context); } - protected function setPropertyPath($propertyPath) + protected function setPropertyPath(string $propertyPath) { $this->propertyPath = $propertyPath; $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); @@ -212,18 +230,41 @@ protected function expectNoValidate() $validator->expectNoValidate(); } - protected function expectValidateAt($i, $propertyPath, $value, $group) + protected function expectValidateAt(int $i, string $propertyPath, $value, $group) { $validator = $this->context->getValidator()->inContext($this->context); $validator->expectValidation($i, $propertyPath, $value, $group, function ($passedConstraints) { - $expectedConstraints = new LogicalOr(); - $expectedConstraints->setConstraints([new IsNull(), new IsIdentical([]), new IsInstanceOf(Valid::class)]); + $expectedConstraints = LogicalOr::fromConstraints(new IsNull(), new IsIdentical([]), new IsInstanceOf(Valid::class)); Assert::assertThat($passedConstraints, $expectedConstraints); }); } - protected function expectValidateValueAt($i, $propertyPath, $value, $constraints, $group = null) + protected function expectValidateValue(int $i, $value, array $constraints = [], $group = null) + { + $contextualValidator = $this->context->getValidator()->inContext($this->context); + $contextualValidator->expectValidation($i, null, $value, $group, function ($passedConstraints) use ($constraints) { + if (\is_array($constraints) && !\is_array($passedConstraints)) { + $passedConstraints = [$passedConstraints]; + } + + Assert::assertEquals($constraints, $passedConstraints); + }); + } + + protected function expectFailingValueValidation(int $i, $value, array $constraints, $group, ConstraintViolationInterface $violation) + { + $contextualValidator = $this->context->getValidator()->inContext($this->context); + $contextualValidator->expectValidation($i, null, $value, $group, function ($passedConstraints) use ($constraints) { + if (\is_array($constraints) && !\is_array($passedConstraints)) { + $passedConstraints = [$passedConstraints]; + } + + Assert::assertEquals($constraints, $passedConstraints); + }, $violation); + } + + protected function expectValidateValueAt(int $i, string $propertyPath, $value, $constraints, $group = null) { $contextualValidator = $this->context->getValidator()->inContext($this->context); $contextualValidator->expectValidation($i, $propertyPath, $value, $group, function ($passedConstraints) use ($constraints) { @@ -231,6 +272,21 @@ protected function expectValidateValueAt($i, $propertyPath, $value, $constraints }); } + protected function expectViolationsAt($i, $value, Constraint $constraint) + { + $context = $this->createContext(); + + $validatorClassname = $constraint->validatedBy(); + + $validator = new $validatorClassname(); + $validator->initialize($context); + $validator->validate($value, $constraint); + + $this->expectedViolations[] = $context->getViolations(); + + return $context->getViolations(); + } + protected function assertNoViolation() { $this->assertSame(0, $violationsCount = \count($this->context->getViolations()), sprintf('0 violation expected. Got %u.', $violationsCount)); @@ -247,10 +303,7 @@ protected function buildViolation($message) abstract protected function createValidator(); } -/** - * @internal - */ -class ConstraintViolationAssertion +final class ConstraintViolationAssertion { /** * @var ExecutionContextInterface @@ -271,7 +324,10 @@ class ConstraintViolationAssertion private $constraint; private $cause; - public function __construct(ExecutionContextInterface $context, string $message, Constraint $constraint = null, array $assertions = []) + /** + * @internal + */ + public function __construct(ExecutionContextInterface $context, string $message, ?Constraint $constraint = null, array $assertions = []) { $this->context = $context; $this->message = $message; @@ -279,6 +335,9 @@ public function __construct(ExecutionContextInterface $context, string $message, $this->assertions = $assertions; } + /** + * @return $this + */ public function atPath(string $path) { $this->propertyPath = $path; @@ -286,13 +345,19 @@ public function atPath(string $path) return $this; } - public function setParameter(string $key, $value) + /** + * @return $this + */ + public function setParameter(string $key, string $value) { $this->parameters[$key] = $value; return $this; } + /** + * @return $this + */ public function setParameters(array $parameters) { $this->parameters = $parameters; @@ -300,6 +365,9 @@ public function setParameters(array $parameters) return $this; } + /** + * @return $this + */ public function setTranslationDomain($translationDomain) { // no-op for BC @@ -307,6 +375,9 @@ public function setTranslationDomain($translationDomain) return $this; } + /** + * @return $this + */ public function setInvalidValue($invalidValue) { $this->invalidValue = $invalidValue; @@ -314,6 +385,9 @@ public function setInvalidValue($invalidValue) return $this; } + /** + * @return $this + */ public function setPlural(int $number) { $this->plural = $number; @@ -321,6 +395,9 @@ public function setPlural(int $number) return $this; } + /** + * @return $this + */ public function setCode(string $code) { $this->code = $code; @@ -328,6 +405,9 @@ public function setCode(string $code) return $this; } + /** + * @return $this + */ public function setCause($cause) { $this->cause = $cause; @@ -385,12 +465,18 @@ private function getViolation(): ConstraintViolation */ class AssertingContextualValidator implements ContextualValidatorInterface { + private $context; private $expectNoValidate = false; private $atPathCalls = -1; private $expectedAtPath = []; private $validateCalls = -1; private $expectedValidate = []; + public function __construct(ExecutionContextInterface $context) + { + $this->context = $context; + } + public function __destruct() { if ($this->expectedAtPath) { @@ -402,11 +488,14 @@ public function __destruct() } } - public function atPath($path) + public function atPath(string $path) { } - public function doAtPath($path) + /** + * @return $this + */ + public function doAtPath(string $path) { Assert::assertFalse($this->expectNoValidate, 'No validation calls have been expected.'); @@ -426,44 +515,62 @@ public function validate($value, $constraints = null, $groups = null) { } + /** + * @return $this + */ public function doValidate($value, $constraints = null, $groups = null) { Assert::assertFalse($this->expectNoValidate, 'No validation calls have been expected.'); - [$expectedValue, $expectedGroup, $expectedConstraints] = $this->expectedValidate[++$this->validateCalls]; + if (!isset($this->expectedValidate[++$this->validateCalls])) { + return $this; + } + + [$expectedValue, $expectedGroup, $expectedConstraints, $violation] = $this->expectedValidate[$this->validateCalls]; unset($this->expectedValidate[$this->validateCalls]); Assert::assertSame($expectedValue, $value); $expectedConstraints($constraints); Assert::assertSame($expectedGroup, $groups); + if (null !== $violation) { + $this->context->addViolation($violation->getMessage(), $violation->getParameters()); + } + return $this; } - public function validateProperty($object, $propertyName, $groups = null) + public function validateProperty(object $object, string $propertyName, $groups = null) { } - public function doValidateProperty($object, $propertyName, $groups = null) + /** + * @return $this + */ + public function doValidateProperty(object $object, string $propertyName, $groups = null) { return $this; } - public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null) + public function validatePropertyValue($objectOrClass, string $propertyName, $value, $groups = null) { } - public function doValidatePropertyValue($objectOrClass, $propertyName, $value, $groups = null) + /** + * @return $this + */ + public function doValidatePropertyValue($objectOrClass, string $propertyName, $value, $groups = null) { return $this; } - public function getViolations() + public function getViolations(): ConstraintViolationListInterface { } public function doGetViolations() { + return $this->context->getViolations(); } public function expectNoValidate() @@ -471,9 +578,12 @@ public function expectNoValidate() $this->expectNoValidate = true; } - public function expectValidation($call, $propertyPath, $value, $group, $constraints) + public function expectValidation(string $call, ?string $propertyPath, $value, $group, callable $constraints, ?ConstraintViolationInterface $violation = null) { - $this->expectedAtPath[$call] = $propertyPath; - $this->expectedValidate[$call] = [$value, $group, $constraints]; + if (null !== $propertyPath) { + $this->expectedAtPath[$call] = $propertyPath; + } + + $this->expectedValidate[$call] = [$value, $group, $constraints, $violation]; } } diff --git a/upload/system/storage/vendor/symfony/validator/Util/PropertyPath.php b/upload/system/storage/vendor/symfony/validator/Util/PropertyPath.php index 5d062356..973b6f2c 100644 --- a/upload/system/storage/vendor/symfony/validator/Util/PropertyPath.php +++ b/upload/system/storage/vendor/symfony/validator/Util/PropertyPath.php @@ -29,14 +29,10 @@ class PropertyPath * returned. Otherwise, the concatenation of the two paths is returned, * separated by a dot ("."). * - * @param string $basePath The base path - * @param string $subPath The path to append - * - * @return string The concatenation of the two property paths + * @return string */ - public static function append($basePath, $subPath) + public static function append(string $basePath, string $subPath) { - $subPath = (string) $subPath; if ('' !== $subPath) { if ('[' === $subPath[0]) { return $basePath.$subPath; diff --git a/upload/system/storage/vendor/symfony/validator/Validation.php b/upload/system/storage/vendor/symfony/validator/Validation.php index dbf1dbc0..4d080727 100644 --- a/upload/system/storage/vendor/symfony/validator/Validation.php +++ b/upload/system/storage/vendor/symfony/validator/Validation.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator; +use Symfony\Component\Validator\Exception\ValidationFailedException; use Symfony\Component\Validator\Validator\ValidatorInterface; /** @@ -20,6 +21,53 @@ */ final class Validation { + /** + * Creates a callable chain of constraints. + * + * @param Constraint|ValidatorInterface|null $constraintOrValidator + * + * @return callable($value) + */ + public static function createCallable($constraintOrValidator = null, Constraint ...$constraints): callable + { + $validator = self::createIsValidCallable($constraintOrValidator, ...$constraints); + + return static function ($value) use ($validator) { + if (!$validator($value, $violations)) { + throw new ValidationFailedException($value, $violations); + } + + return $value; + }; + } + + /** + * Creates a callable that returns true/false instead of throwing validation exceptions. + * + * @param Constraint|ValidatorInterface|null $constraintOrValidator + * + * @return callable($value, &$violations = null): bool + */ + public static function createIsValidCallable($constraintOrValidator = null, Constraint ...$constraints): callable + { + $validator = $constraintOrValidator; + + if ($constraintOrValidator instanceof Constraint) { + $constraints = \func_get_args(); + $validator = null; + } elseif (null !== $constraintOrValidator && !$constraintOrValidator instanceof ValidatorInterface) { + throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be a "%s" or a "%s" object, "%s" given.', __METHOD__, Constraint::class, ValidatorInterface::class, get_debug_type($constraintOrValidator))); + } + + $validator = $validator ?? self::createValidator(); + + return static function ($value, &$violations = null) use ($constraints, $validator) { + $violations = $validator->validate($value, $constraints); + + return 0 === $violations->count(); + }; + } + /** * Creates a new validator. * diff --git a/upload/system/storage/vendor/symfony/validator/Validator/ContextualValidatorInterface.php b/upload/system/storage/vendor/symfony/validator/Validator/ContextualValidatorInterface.php index f15dfd1b..1063a532 100644 --- a/upload/system/storage/vendor/symfony/validator/Validator/ContextualValidatorInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Validator/ContextualValidatorInterface.php @@ -28,11 +28,9 @@ interface ContextualValidatorInterface * If called multiple times, the path will always be reset to the context's * original path with the given path appended to it. * - * @param string $path The path to append - * * @return $this */ - public function atPath($path); + public function atPath(string $path); /** * Validates a value against a constraint or a list of constraints. @@ -41,7 +39,7 @@ public function atPath($path); * {@link \Symfony\Component\Validator\Constraints\Valid} is assumed. * * @param mixed $value The value to validate - * @param Constraint|Constraint[] $constraints The constraint(s) to validate against + * @param Constraint|Constraint[]|null $constraints The constraint(s) to validate against * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed * * @return $this @@ -52,13 +50,12 @@ public function validate($value, $constraints = null, $groups = null); * Validates a property of an object against the constraints specified * for this property. * - * @param object $object The object * @param string $propertyName The name of the validated property * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed * * @return $this */ - public function validateProperty($object, $propertyName, $groups = null); + public function validateProperty(object $object, string $propertyName, $groups = null); /** * Validates a value against the constraints specified for an object's @@ -71,13 +68,13 @@ public function validateProperty($object, $propertyName, $groups = null); * * @return $this */ - public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null); + public function validatePropertyValue($objectOrClass, string $propertyName, $value, $groups = null); /** * Returns the violations that have been generated so far in the context * of the validator. * - * @return ConstraintViolationListInterface The constraint violations + * @return ConstraintViolationListInterface */ public function getViolations(); } diff --git a/upload/system/storage/vendor/symfony/validator/Validator/RecursiveContextualValidator.php b/upload/system/storage/vendor/symfony/validator/Validator/RecursiveContextualValidator.php index 1042e4f8..04c76e82 100644 --- a/upload/system/storage/vendor/symfony/validator/Validator/RecursiveContextualValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Validator/RecursiveContextualValidator.php @@ -68,7 +68,7 @@ public function __construct(ExecutionContextInterface $context, MetadataFactoryI /** * {@inheritdoc} */ - public function atPath($path) + public function atPath(string $path) { $this->defaultPropertyPath = $this->context->getPropertyPath($path); @@ -160,18 +160,18 @@ public function validate($value, $constraints = null, $groups = null) return $this; } - throw new RuntimeException(sprintf('Cannot validate values of type "%s" automatically. Please provide a constraint.', \gettype($value))); + throw new RuntimeException(sprintf('Cannot validate values of type "%s" automatically. Please provide a constraint.', get_debug_type($value))); } /** * {@inheritdoc} */ - public function validateProperty($object, $propertyName, $groups = null) + public function validateProperty(object $object, string $propertyName, $groups = null) { $classMetadata = $this->metadataFactory->getMetadataFor($object); if (!$classMetadata instanceof ClassMetadataInterface) { - throw new ValidatorException(sprintf('The metadata factory should return instances of "\Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', \is_object($classMetadata) ? \get_class($classMetadata) : \gettype($classMetadata))); + throw new ValidatorException(sprintf('The metadata factory should return instances of "\Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', get_debug_type($classMetadata))); } $propertyMetadatas = $classMetadata->getPropertyMetadata($propertyName); @@ -210,12 +210,12 @@ public function validateProperty($object, $propertyName, $groups = null) /** * {@inheritdoc} */ - public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null) + public function validatePropertyValue($objectOrClass, string $propertyName, $value, $groups = null) { $classMetadata = $this->metadataFactory->getMetadataFor($objectOrClass); if (!$classMetadata instanceof ClassMetadataInterface) { - throw new ValidatorException(sprintf('The metadata factory should return instances of "\Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', \is_object($classMetadata) ? \get_class($classMetadata) : \gettype($classMetadata))); + throw new ValidatorException(sprintf('The metadata factory should return instances of "\Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', get_debug_type($classMetadata))); } $propertyMetadatas = $classMetadata->getPropertyMetadata($propertyName); @@ -273,7 +273,7 @@ public function getViolations() * * @param string|GroupSequence|array $groups The groups to normalize * - * @return array A group array + * @return array */ protected function normalizeGroups($groups) { @@ -292,8 +292,6 @@ protected function normalizeGroups($groups) * traversal, the object will be iterated and each nested object will be * validated instead. * - * @param object $object The object to cascade - * * @throws NoSuchMetadataException If the object has no associated metadata * and does not implement {@link \Traversable} * or if traversal is disabled via the @@ -302,13 +300,13 @@ protected function normalizeGroups($groups) * metadata factory does not implement * {@link ClassMetadataInterface} */ - private function validateObject($object, string $propertyPath, array $groups, int $traversalStrategy, ExecutionContextInterface $context) + private function validateObject(object $object, string $propertyPath, array $groups, int $traversalStrategy, ExecutionContextInterface $context) { try { $classMetadata = $this->metadataFactory->getMetadataFor($object); if (!$classMetadata instanceof ClassMetadataInterface) { - throw new UnsupportedMetadataException(sprintf('The metadata factory should return instances of "Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', \is_object($classMetadata) ? \get_class($classMetadata) : \gettype($classMetadata))); + throw new UnsupportedMetadataException(sprintf('The metadata factory should return instances of "Symfony\Component\Validator\Mapping\ClassMetadataInterface", got: "%s".', get_debug_type($classMetadata))); } $this->validateClassNode( @@ -379,7 +377,7 @@ private function validateEachObjectIn(iterable $collection, string $propertyPath * Validates a class node. * * A class node is a combination of an object with a {@link ClassMetadataInterface} - * instance. Each class node (conceptionally) has zero or more succeeding + * instance. Each class node (conceptually) has zero or more succeeding * property nodes: * * (Article:class node) @@ -400,8 +398,6 @@ private function validateEachObjectIn(iterable $collection, string $propertyPath * in the class metadata. If this is the case, the group sequence is * validated instead. * - * @param object $object The validated object - * * @throws UnsupportedMetadataException If a property metadata does not * implement {@link PropertyMetadataInterface} * @throws ConstraintDefinitionException If traversal was enabled but the @@ -410,7 +406,7 @@ private function validateEachObjectIn(iterable $collection, string $propertyPath * * @see TraversalStrategy */ - private function validateClassNode($object, ?string $cacheKey, ClassMetadataInterface $metadata, string $propertyPath, array $groups, ?array $cascadedGroups, int $traversalStrategy, ExecutionContextInterface $context) + private function validateClassNode(object $object, ?string $cacheKey, ClassMetadataInterface $metadata, string $propertyPath, array $groups, ?array $cascadedGroups, int $traversalStrategy, ExecutionContextInterface $context) { $context->setNode($object, $object, $metadata, $propertyPath); @@ -505,7 +501,7 @@ private function validateClassNode($object, ?string $cacheKey, ClassMetadataInte // returns two metadata objects, not just one foreach ($metadata->getPropertyMetadata($propertyName) as $propertyMetadata) { if (!$propertyMetadata instanceof PropertyMetadataInterface) { - throw new UnsupportedMetadataException(sprintf('The property metadata instances should implement "Symfony\Component\Validator\Mapping\PropertyMetadataInterface", got: "%s".', \is_object($propertyMetadata) ? \get_class($propertyMetadata) : \gettype($propertyMetadata))); + throw new UnsupportedMetadataException(sprintf('The property metadata instances should implement "Symfony\Component\Validator\Mapping\PropertyMetadataInterface", got: "%s".', get_debug_type($propertyMetadata))); } if ($propertyMetadata instanceof GetterMetadata) { @@ -548,7 +544,7 @@ private function validateClassNode($object, ?string $cacheKey, ClassMetadataInte // If TRAVERSE, fail if we have no Traversable if (!$object instanceof \Traversable) { - throw new ConstraintDefinitionException(sprintf('Traversal was enabled for "%s", but this class does not implement "\Traversable".', \get_class($object))); + throw new ConstraintDefinitionException(sprintf('Traversal was enabled for "%s", but this class does not implement "\Traversable".', get_debug_type($object))); } $this->validateEachObjectIn( @@ -576,12 +572,9 @@ private function validateClassNode($object, ?string $cacheKey, ClassMetadataInte * constraints. If the value is an array, it is traversed regardless of * the given strategy. * - * @param mixed $value The validated value - * @param object|null $object The current object - * * @see TraversalStrategy */ - private function validateGenericNode($value, $object, ?string $cacheKey, ?MetadataInterface $metadata, string $propertyPath, array $groups, ?array $cascadedGroups, int $traversalStrategy, ExecutionContextInterface $context) + private function validateGenericNode($value, ?object $object, ?string $cacheKey, ?MetadataInterface $metadata, string $propertyPath, array $groups, ?array $cascadedGroups, int $traversalStrategy, ExecutionContextInterface $context) { $context->setNode($value, $object, $metadata, $propertyPath); @@ -681,11 +674,8 @@ private function validateGenericNode($value, $object, ?string $cacheKey, ?Metada * * If any of the constraints generates a violation, subsequent groups in the * group sequence are skipped. - * - * @param mixed $value The validated value - * @param object|null $object The current object */ - private function stepThroughGroupSequence($value, $object, ?string $cacheKey, ?MetadataInterface $metadata, string $propertyPath, int $traversalStrategy, GroupSequence $groupSequence, ?string $cascadedGroup, ExecutionContextInterface $context) + private function stepThroughGroupSequence($value, ?object $object, ?string $cacheKey, ?MetadataInterface $metadata, string $propertyPath, int $traversalStrategy, GroupSequence $groupSequence, ?string $cascadedGroup, ExecutionContextInterface $context) { $violationCount = \count($context->getViolations()); $cascadedGroups = $cascadedGroup ? [$cascadedGroup] : null; @@ -775,10 +765,7 @@ private function validateInGroup($value, ?string $cacheKey, MetadataInterface $m } } - /** - * @param object $object - */ - private function generateCacheKey($object, bool $dependsOnPropertyPath = false): string + private function generateCacheKey(object $object, bool $dependsOnPropertyPath = false): string { if ($this->context instanceof ExecutionContext) { $cacheKey = $this->context->generateCacheKey($object); diff --git a/upload/system/storage/vendor/symfony/validator/Validator/RecursiveValidator.php b/upload/system/storage/vendor/symfony/validator/Validator/RecursiveValidator.php index 01a41e17..d57c9084 100644 --- a/upload/system/storage/vendor/symfony/validator/Validator/RecursiveValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Validator/RecursiveValidator.php @@ -97,7 +97,7 @@ public function validate($value, $constraints = null, $groups = null) /** * {@inheritdoc} */ - public function validateProperty($object, $propertyName, $groups = null) + public function validateProperty(object $object, string $propertyName, $groups = null) { return $this->startContext($object) ->validateProperty($object, $propertyName, $groups) @@ -107,7 +107,7 @@ public function validateProperty($object, $propertyName, $groups = null) /** * {@inheritdoc} */ - public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null) + public function validatePropertyValue($objectOrClass, string $propertyName, $value, $groups = null) { // If a class name is passed, take $value as root return $this->startContext(\is_object($objectOrClass) ? $objectOrClass : $value) diff --git a/upload/system/storage/vendor/symfony/validator/Validator/TraceableValidator.php b/upload/system/storage/vendor/symfony/validator/Validator/TraceableValidator.php index 6732c776..8c1d966f 100644 --- a/upload/system/storage/vendor/symfony/validator/Validator/TraceableValidator.php +++ b/upload/system/storage/vendor/symfony/validator/Validator/TraceableValidator.php @@ -105,7 +105,7 @@ public function validate($value, $constraints = null, $groups = null) /** * {@inheritdoc} */ - public function validateProperty($object, $propertyName, $groups = null) + public function validateProperty(object $object, string $propertyName, $groups = null) { return $this->validator->validateProperty($object, $propertyName, $groups); } @@ -113,7 +113,7 @@ public function validateProperty($object, $propertyName, $groups = null) /** * {@inheritdoc} */ - public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null) + public function validatePropertyValue($objectOrClass, string $propertyName, $value, $groups = null) { return $this->validator->validatePropertyValue($objectOrClass, $propertyName, $value, $groups); } diff --git a/upload/system/storage/vendor/symfony/validator/Validator/ValidatorInterface.php b/upload/system/storage/vendor/symfony/validator/Validator/ValidatorInterface.php index 4112b2c4..e6aa7d7f 100644 --- a/upload/system/storage/vendor/symfony/validator/Validator/ValidatorInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Validator/ValidatorInterface.php @@ -44,7 +44,6 @@ public function validate($value, $constraints = null, $groups = null); * Validates a property of an object against the constraints specified * for this property. * - * @param object $object The object * @param string $propertyName The name of the validated property * @param string|GroupSequence|array|null $groups The validation groups to validate. If none is given, "Default" is assumed * @@ -52,7 +51,7 @@ public function validate($value, $constraints = null, $groups = null); * If the list is empty, validation * succeeded */ - public function validateProperty($object, $propertyName, $groups = null); + public function validateProperty(object $object, string $propertyName, $groups = null); /** * Validates a value against the constraints specified for an object's @@ -67,7 +66,7 @@ public function validateProperty($object, $propertyName, $groups = null); * If the list is empty, validation * succeeded */ - public function validatePropertyValue($objectOrClass, $propertyName, $value, $groups = null); + public function validatePropertyValue($objectOrClass, string $propertyName, $value, $groups = null); /** * Starts a new validation context and returns a validator for that context. @@ -76,7 +75,7 @@ public function validatePropertyValue($objectOrClass, $propertyName, $value, $gr * context. You can access these violations with the * {@link ContextualValidatorInterface::getViolations()} method. * - * @return ContextualValidatorInterface The validator for the new context + * @return ContextualValidatorInterface */ public function startContext(); @@ -86,7 +85,7 @@ public function startContext(); * The returned validator adds all generated violations to the given * context. * - * @return ContextualValidatorInterface The validator for that context + * @return ContextualValidatorInterface */ public function inContext(ExecutionContextInterface $context); } diff --git a/upload/system/storage/vendor/symfony/validator/ValidatorBuilder.php b/upload/system/storage/vendor/symfony/validator/ValidatorBuilder.php index e3fe807f..8df048bd 100644 --- a/upload/system/storage/vendor/symfony/validator/ValidatorBuilder.php +++ b/upload/system/storage/vendor/symfony/validator/ValidatorBuilder.php @@ -16,15 +16,11 @@ use Doctrine\Common\Annotations\PsrCachedReader; use Doctrine\Common\Annotations\Reader; use Doctrine\Common\Cache\ArrayCache; -use Doctrine\Common\Cache\Psr6\DoctrineProvider; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\ArrayAdapter; -use Symfony\Component\Cache\DoctrineProvider as SymfonyDoctrineProvider; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; use Symfony\Component\Validator\Context\ExecutionContextFactory; use Symfony\Component\Validator\Exception\LogicException; use Symfony\Component\Validator\Exception\ValidatorException; -use Symfony\Component\Validator\Mapping\Cache\CacheInterface; use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory; use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface; use Symfony\Component\Validator\Mapping\Loader\AnnotationLoader; @@ -33,8 +29,8 @@ use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader; use Symfony\Component\Validator\Mapping\Loader\XmlFileLoader; use Symfony\Component\Validator\Mapping\Loader\YamlFileLoader; -use Symfony\Component\Validator\Util\LegacyTranslatorProxy; use Symfony\Component\Validator\Validator\RecursiveValidator; +use Symfony\Component\Validator\Validator\ValidatorInterface; use Symfony\Contracts\Translation\LocaleAwareInterface; use Symfony\Contracts\Translation\TranslatorInterface; use Symfony\Contracts\Translation\TranslatorTrait; @@ -45,11 +41,9 @@ class_exists(LocaleAwareInterface::class); class_exists(TranslatorTrait::class); /** - * The default implementation of {@link ValidatorBuilderInterface}. - * * @author Bernhard Schussek */ -class ValidatorBuilder implements ValidatorBuilderInterface +class ValidatorBuilder { private $initializers = []; private $loaders = []; @@ -61,6 +55,7 @@ class ValidatorBuilder implements ValidatorBuilderInterface * @var Reader|null */ private $annotationReader; + private $enableAnnotationMapping = false; /** * @var MetadataFactoryInterface|null @@ -88,7 +83,9 @@ class ValidatorBuilder implements ValidatorBuilderInterface private $translationDomain; /** - * {@inheritdoc} + * Adds an object initializer to the validator. + * + * @return $this */ public function addObjectInitializer(ObjectInitializerInterface $initializer) { @@ -98,7 +95,11 @@ public function addObjectInitializer(ObjectInitializerInterface $initializer) } /** - * {@inheritdoc} + * Adds a list of object initializers to the validator. + * + * @param ObjectInitializerInterface[] $initializers + * + * @return $this */ public function addObjectInitializers(array $initializers) { @@ -108,9 +109,11 @@ public function addObjectInitializers(array $initializers) } /** - * {@inheritdoc} + * Adds an XML constraint mapping file to the validator. + * + * @return $this */ - public function addXmlMapping($path) + public function addXmlMapping(string $path) { if (null !== $this->metadataFactory) { throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); @@ -122,7 +125,11 @@ public function addXmlMapping($path) } /** - * {@inheritdoc} + * Adds a list of XML constraint mapping files to the validator. + * + * @param string[] $paths The paths to the mapping files + * + * @return $this */ public function addXmlMappings(array $paths) { @@ -136,9 +143,13 @@ public function addXmlMappings(array $paths) } /** - * {@inheritdoc} + * Adds a YAML constraint mapping file to the validator. + * + * @param string $path The path to the mapping file + * + * @return $this */ - public function addYamlMapping($path) + public function addYamlMapping(string $path) { if (null !== $this->metadataFactory) { throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); @@ -150,7 +161,11 @@ public function addYamlMapping($path) } /** - * {@inheritdoc} + * Adds a list of YAML constraint mappings file to the validator. + * + * @param string[] $paths The paths to the mapping files + * + * @return $this */ public function addYamlMappings(array $paths) { @@ -164,9 +179,11 @@ public function addYamlMappings(array $paths) } /** - * {@inheritdoc} + * Enables constraint mapping using the given static method. + * + * @return $this */ - public function addMethodMapping($methodName) + public function addMethodMapping(string $methodName) { if (null !== $this->metadataFactory) { throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); @@ -178,7 +195,11 @@ public function addMethodMapping($methodName) } /** - * {@inheritdoc} + * Enables constraint mapping using the given static methods. + * + * @param string[] $methodNames The names of the methods + * + * @return $this */ public function addMethodMappings(array $methodNames) { @@ -192,59 +213,79 @@ public function addMethodMappings(array $methodNames) } /** - * {@inheritdoc} + * Enables annotation based constraint mapping. + * + * @param bool $skipDoctrineAnnotations + * + * @return $this */ - public function enableAnnotationMapping(Reader $annotationReader = null) + public function enableAnnotationMapping(/* bool $skipDoctrineAnnotations = true */) { if (null !== $this->metadataFactory) { throw new ValidatorException('You cannot enable annotation mapping after setting a custom metadata factory. Configure your metadata factory instead.'); } - $this->annotationReader = $annotationReader ?? $this->createAnnotationReader(); + $skipDoctrineAnnotations = 1 > \func_num_args() ? false : func_get_arg(0); + if (false === $skipDoctrineAnnotations || null === $skipDoctrineAnnotations) { + trigger_deprecation('symfony/validator', '5.2', 'Not passing true as first argument to "%s" is deprecated. Pass true and call "addDefaultDoctrineAnnotationReader()" if you want to enable annotation mapping with Doctrine Annotations.', __METHOD__); + $this->addDefaultDoctrineAnnotationReader(); + } elseif ($skipDoctrineAnnotations instanceof Reader) { + trigger_deprecation('symfony/validator', '5.2', 'Passing an instance of "%s" as first argument to "%s" is deprecated. Pass true instead and call setDoctrineAnnotationReader() if you want to enable annotation mapping with Doctrine Annotations.', get_debug_type($skipDoctrineAnnotations), __METHOD__); + $this->setDoctrineAnnotationReader($skipDoctrineAnnotations); + } elseif (true !== $skipDoctrineAnnotations) { + throw new \TypeError(sprintf('"%s": Argument 1 is expected to be a boolean, "%s" given.', __METHOD__, get_debug_type($skipDoctrineAnnotations))); + } + + $this->enableAnnotationMapping = true; return $this; } /** - * {@inheritdoc} + * Disables annotation based constraint mapping. + * + * @return $this */ public function disableAnnotationMapping() { + $this->enableAnnotationMapping = false; $this->annotationReader = null; return $this; } /** - * {@inheritdoc} + * @return $this */ - public function setMetadataFactory(MetadataFactoryInterface $metadataFactory) + public function setDoctrineAnnotationReader(?Reader $reader): self { - if (\count($this->xmlMappings) > 0 || \count($this->yamlMappings) > 0 || \count($this->methodMappings) > 0 || null !== $this->annotationReader) { - throw new ValidatorException('You cannot set a custom metadata factory after adding custom mappings. You should do either of both.'); - } + $this->annotationReader = $reader; - $this->metadataFactory = $metadataFactory; + return $this; + } + + /** + * @return $this + */ + public function addDefaultDoctrineAnnotationReader(): self + { + $this->annotationReader = $this->createAnnotationReader(); return $this; } /** - * Sets the cache for caching class metadata. + * Sets the class metadata factory used by the validator. * * @return $this - * - * @deprecated since Symfony 4.4. */ - public function setMetadataCache(CacheInterface $cache) + public function setMetadataFactory(MetadataFactoryInterface $metadataFactory) { - @trigger_error(sprintf('%s is deprecated since Symfony 4.4. Use setMappingCache() instead.', __METHOD__), \E_USER_DEPRECATED); - - if (null !== $this->metadataFactory) { - throw new ValidatorException('You cannot set a custom metadata cache after setting a custom metadata factory. Configure your metadata factory instead.'); + if (\count($this->xmlMappings) > 0 || \count($this->yamlMappings) > 0 || \count($this->methodMappings) > 0 || $this->enableAnnotationMapping) { + throw new ValidatorException('You cannot set a custom metadata factory after adding custom mappings. You should do either of both.'); } - $this->mappingCache = $cache; + $this->metadataFactory = $metadataFactory; return $this; } @@ -266,7 +307,9 @@ public function setMappingCache(CacheItemPoolInterface $cache) } /** - * {@inheritdoc} + * Sets the constraint validator factory used by the validator. + * + * @return $this */ public function setConstraintValidatorFactory(ConstraintValidatorFactoryInterface $validatorFactory) { @@ -276,25 +319,27 @@ public function setConstraintValidatorFactory(ConstraintValidatorFactoryInterfac } /** - * {@inheritdoc} + * Sets the translator used for translating violation messages. * - * @final since Symfony 4.2 + * @return $this */ - public function setTranslator(LegacyTranslatorInterface $translator) + public function setTranslator(TranslatorInterface $translator) { $this->translator = $translator; - while ($this->translator instanceof LegacyTranslatorProxy) { - $this->translator = $this->translator->getTranslator(); - } - return $this; } /** - * {@inheritdoc} + * Sets the default translation domain of violation messages. + * + * The same message can have different translations in different domains. + * Pass the domain that is used for violation messages by default to this + * method. + * + * @return $this */ - public function setTranslationDomain($translationDomain) + public function setTranslationDomain(?string $translationDomain) { $this->translationDomain = $translationDomain; @@ -330,7 +375,7 @@ public function getLoaders() $loaders[] = new StaticMethodLoader($methodName); } - if ($this->annotationReader) { + if ($this->enableAnnotationMapping) { $loaders[] = new AnnotationLoader($this->annotationReader); } @@ -338,7 +383,9 @@ public function getLoaders() } /** - * {@inheritdoc} + * Builds and returns a new validator object. + * + * @return ValidatorInterface */ public function getValidator() { @@ -382,32 +429,16 @@ private function createAnnotationReader(): Reader throw new LogicException('Enabling annotation based constraint mapping requires the packages doctrine/annotations and symfony/cache to be installed.'); } - // Doctrine Annotation >= 1.13, Symfony Cache - if (class_exists(PsrCachedReader::class) && class_exists(ArrayAdapter::class)) { + if (class_exists(ArrayAdapter::class)) { return new PsrCachedReader(new AnnotationReader(), new ArrayAdapter()); } - // Doctrine Annotations < 1.13, Doctrine Cache >= 1.11, Symfony Cache - if (class_exists(CachedReader::class) && class_exists(DoctrineProvider::class) && class_exists(ArrayAdapter::class)) { - return new CachedReader(new AnnotationReader(), DoctrineProvider::wrap(new ArrayAdapter())); - } - - // Doctrine Annotations < 1.13, Doctrine Cache < 1.11, Symfony Cache - if (class_exists(CachedReader::class) && !class_exists(DoctrineProvider::class) && class_exists(ArrayAdapter::class)) { - return new CachedReader(new AnnotationReader(), new SymfonyDoctrineProvider(new ArrayAdapter())); - } - - // Doctrine Annotations < 1.13, Doctrine Cache < 1.11 if (class_exists(CachedReader::class) && class_exists(ArrayCache::class)) { - return new CachedReader(new AnnotationReader(), new ArrayCache()); - } + trigger_deprecation('symfony/validator', '5.4', 'Enabling annotation based constraint mapping without having symfony/cache installed is deprecated.'); - // Doctrine Annotation >= 1.13, Doctrine Cache >= 2, no Symfony Cache - if (class_exists(PsrCachedReader::class)) { - throw new LogicException('Enabling annotation based constraint mapping requires the package symfony/cache to be installed.'); + return new CachedReader(new AnnotationReader(), new ArrayCache()); } - // Doctrine Annotation (<1.13 || >2), no Doctrine Cache, no Symfony Cache - throw new LogicException('Enabling annotation based constraint mapping requires the packages doctrine/annotations (>=1.13) and symfony/cache to be installed.'); + throw new LogicException('Enabling annotation based constraint mapping requires the packages doctrine/annotations and symfony/cache to be installed.'); } } diff --git a/upload/system/storage/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php b/upload/system/storage/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php index 35640e18..9e198c6d 100644 --- a/upload/system/storage/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php +++ b/upload/system/storage/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php @@ -11,7 +11,6 @@ namespace Symfony\Component\Validator\Violation; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintViolation; use Symfony\Component\Validator\ConstraintViolationList; @@ -45,18 +44,10 @@ class ConstraintViolationBuilder implements ConstraintViolationBuilderInterface private $cause; /** - * @param string|object $message The error message as a string or a stringable object - * @param TranslatorInterface $translator + * @param string $message The error message as a string or a stringable object */ - public function __construct(ConstraintViolationList $violations, Constraint $constraint, $message, array $parameters, $root, string $propertyPath, $invalidValue, $translator, string $translationDomain = null) + public function __construct(ConstraintViolationList $violations, ?Constraint $constraint, $message, array $parameters, $root, $propertyPath, $invalidValue, TranslatorInterface $translator, $translationDomain = null) { - if (null === $message) { - @trigger_error(sprintf('Passing a null message when instantiating a "%s" is deprecated since Symfony 4.4.', __CLASS__), \E_USER_DEPRECATED); - $message = ''; - } - if (!$translator instanceof LegacyTranslatorInterface && !$translator instanceof TranslatorInterface) { - throw new \TypeError(sprintf('Argument 8 passed to "%s()" must be an instance of "%s", "%s" given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); - } $this->violations = $violations; $this->message = $message; $this->parameters = $parameters; @@ -71,7 +62,7 @@ public function __construct(ConstraintViolationList $violations, Constraint $con /** * {@inheritdoc} */ - public function atPath($path) + public function atPath(string $path) { $this->propertyPath = PropertyPath::append($this->propertyPath, $path); @@ -81,7 +72,7 @@ public function atPath($path) /** * {@inheritdoc} */ - public function setParameter($key, $value) + public function setParameter(string $key, string $value) { $this->parameters[$key] = $value; @@ -101,7 +92,7 @@ public function setParameters(array $parameters) /** * {@inheritdoc} */ - public function setTranslationDomain($translationDomain) + public function setTranslationDomain(string $translationDomain) { $this->translationDomain = $translationDomain; @@ -121,7 +112,7 @@ public function setInvalidValue($invalidValue) /** * {@inheritdoc} */ - public function setPlural($number) + public function setPlural(int $number) { $this->plural = $number; @@ -131,12 +122,8 @@ public function setPlural($number) /** * {@inheritdoc} */ - public function setCode($code) + public function setCode(?string $code) { - if (null !== $code && !\is_string($code)) { - @trigger_error(sprintf('Not using a string as the error code in %s() is deprecated since Symfony 4.4. A type-hint will be added in 5.0.', __METHOD__), \E_USER_DEPRECATED); - } - $this->code = $code; return $this; @@ -163,27 +150,12 @@ public function addViolation() $this->parameters, $this->translationDomain ); - } elseif ($this->translator instanceof TranslatorInterface) { + } else { $translatedMessage = $this->translator->trans( $this->message, ['%count%' => $this->plural] + $this->parameters, $this->translationDomain ); - } else { - try { - $translatedMessage = $this->translator->transChoice( - $this->message, - $this->plural, - $this->parameters, - $this->translationDomain - ); - } catch (\InvalidArgumentException $e) { - $translatedMessage = $this->translator->trans( - $this->message, - $this->parameters, - $this->translationDomain - ); - } } $this->violations->add(new ConstraintViolation( diff --git a/upload/system/storage/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php b/upload/system/storage/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php index d25b3a10..9ac1b8b4 100644 --- a/upload/system/storage/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php +++ b/upload/system/storage/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php @@ -33,7 +33,7 @@ interface ConstraintViolationBuilderInterface * * @return $this */ - public function atPath($path); + public function atPath(string $path); /** * Sets a parameter to be inserted into the violation message. @@ -43,7 +43,7 @@ public function atPath($path); * * @return $this */ - public function setParameter($key, $value); + public function setParameter(string $key, string $value); /** * Sets all parameters to be inserted into the violation message. @@ -66,7 +66,7 @@ public function setParameters(array $parameters); * * @see \Symfony\Contracts\Translation\TranslatorInterface */ - public function setTranslationDomain($translationDomain); + public function setTranslationDomain(string $translationDomain); /** * Sets the invalid value that caused this violation. @@ -85,9 +85,9 @@ public function setInvalidValue($invalidValue); * * @return $this * - * @see \Symfony\Contracts\Translation\TranslatorInterface::transChoice() + * @see \Symfony\Contracts\Translation\TranslatorInterface::trans() */ - public function setPlural($number); + public function setPlural(int $number); /** * Sets the violation code. @@ -96,7 +96,7 @@ public function setPlural($number); * * @return $this */ - public function setCode($code); + public function setCode(?string $code); /** * Sets the cause of the violation. diff --git a/upload/system/storage/vendor/symfony/validator/composer.json b/upload/system/storage/vendor/symfony/validator/composer.json index 72617c39..9d1fc800 100644 --- a/upload/system/storage/vendor/symfony/validator/composer.json +++ b/upload/system/storage/vendor/symfony/validator/composer.json @@ -16,43 +16,49 @@ } ], "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "~1.0", "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^1.1|^2" + "symfony/polyfill-php81": "^1.22", + "symfony/translation-contracts": "^1.1|^2|^3" }, "require-dev": { - "symfony/http-client": "^4.3|^5.0", - "symfony/http-foundation": "^4.1|^5.0", - "symfony/http-kernel": "^4.4", - "symfony/intl": "^4.3|^5.0", - "symfony/yaml": "^3.4|^4.0|^5.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/cache": "^3.4|^4.0|^5.0", - "symfony/mime": "^4.4|^5.0", - "symfony/property-access": "^3.4|^4.0|^5.0", - "symfony/property-info": "^3.4|^4.0|^5.0", - "symfony/translation": "^4.2", - "doctrine/annotations": "^1.10.4", - "doctrine/cache": "^1.0|^2.0", - "egulias/email-validator": "^2.1.10|^3" + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^5.1|^6.0", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/property-access": "^5.4|^6.0", + "symfony/property-info": "^5.3|^6.0", + "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", + "doctrine/annotations": "^1.13|^2", + "doctrine/cache": "^1.11|^2.0", + "egulias/email-validator": "^2.1.10|^3|^4" }, "conflict": { + "doctrine/annotations": "<1.13", + "doctrine/cache": "<1.11", "doctrine/lexer": "<1.1", - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/dependency-injection": "<3.4", + "symfony/dependency-injection": "<4.4", + "symfony/expression-language": "<5.1", "symfony/http-kernel": "<4.4", - "symfony/intl": "<4.3", - "symfony/translation": ">=5.0", - "symfony/yaml": "<3.4" + "symfony/intl": "<4.4", + "symfony/property-info": "<5.3", + "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3", + "symfony/yaml": "<4.4" }, "suggest": { "psr/cache-implementation": "For using the mapping cache.", - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader.", "symfony/http-foundation": "", "symfony/intl": "", "symfony/translation": "For translating validation errors.", @@ -61,12 +67,13 @@ "egulias/email-validator": "Strict (RFC compliant) email validation", "symfony/property-access": "For accessing properties within comparison constraints", "symfony/property-info": "To automatically add NotNull and Type constraints", - "symfony/expression-language": "For using the Expression validator" + "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints" }, "autoload": { "psr-4": { "Symfony\\Component\\Validator\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Tests/", + "/Resources/bin/" ] }, "minimum-stability": "dev"