diff --git a/Command/DebugCommand.php b/Command/DebugCommand.php index c2adfc028..22ccb12ee 100644 --- a/Command/DebugCommand.php +++ b/Command/DebugCommand.php @@ -56,10 +56,10 @@ protected function configure() ->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') ->setHelp(<<<'EOF' -The %command.name% 'App\Entity\Dummy' command dumps the validators for the dummy class. + 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 + The %command.name% src/ command dumps the validators for the `src` directory. + EOF ) ; } diff --git a/Constraints/DateTimeValidator.php b/Constraints/DateTimeValidator.php index c88732d4d..37e82bff9 100644 --- a/Constraints/DateTimeValidator.php +++ b/Constraints/DateTimeValidator.php @@ -54,7 +54,7 @@ public function validate(mixed $value, Constraint $constraint) } if (str_ends_with($constraint->format, '+')) { - $errors['warnings'] = array_filter($errors['warnings'], fn ($warning) => 'Trailing data' !== $warning); + $errors['warnings'] = array_filter($errors['warnings'], static fn ($warning) => 'Trailing data' !== $warning); } foreach ($errors['warnings'] as $warning) { diff --git a/Constraints/ExpressionLanguageProvider.php b/Constraints/ExpressionLanguageProvider.php index 0a3727503..8e232facb 100644 --- a/Constraints/ExpressionLanguageProvider.php +++ b/Constraints/ExpressionLanguageProvider.php @@ -19,14 +19,10 @@ class ExpressionLanguageProvider implements ExpressionFunctionProviderInterface public function getFunctions(): array { return [ - new ExpressionFunction('is_valid', function (...$arguments) { - return \sprintf( - '0 === $context->getValidator()->inContext($context)->validate(%s)->getViolations()->count()', - implode(', ', $arguments) - ); - }, function (array $variables, ...$arguments): bool { - return 0 === $variables['context']->getValidator()->inContext($variables['context'])->validate(...$arguments)->getViolations()->count(); - }), + new ExpressionFunction('is_valid', static fn (...$arguments) => \sprintf( + '0 === $context->getValidator()->inContext($context)->validate(%s)->getViolations()->count()', + implode(', ', $arguments) + ), static fn (array $variables, ...$arguments) => 0 === $variables['context']->getValidator()->inContext($variables['context'])->validate(...$arguments)->getViolations()->count()), ]; } } diff --git a/DataCollector/ValidatorDataCollector.php b/DataCollector/ValidatorDataCollector.php index a50b16687..decf90928 100644 --- a/DataCollector/ValidatorDataCollector.php +++ b/DataCollector/ValidatorDataCollector.php @@ -54,7 +54,7 @@ public function lateCollect(): void { $collected = $this->validator->getCollectedData(); $this->data['calls'] = $this->cloneVar($collected); - $this->data['violations_count'] = array_reduce($collected, fn ($previous, $item) => $previous + \count($item['violations']), 0); + $this->data['violations_count'] = array_reduce($collected, static fn ($previous, $item) => $previous + \count($item['violations']), 0); } public function getCalls(): Data @@ -75,7 +75,7 @@ public function getName(): string protected function getCasters(): array { return parent::getCasters() + [ - \Exception::class => function (\Exception $e, array $a, Stub $s) { + \Exception::class => static function (\Exception $e, array $a, Stub $s) { foreach (["\0Exception\0previous", "\0Exception\0trace"] as $k) { if (isset($a[$k])) { unset($a[$k]); @@ -85,7 +85,7 @@ protected function getCasters(): array return $a; }, - FormInterface::class => fn (FormInterface $f, array $a) => [ + FormInterface::class => static fn (FormInterface $f, array $a) => [ Caster::PREFIX_VIRTUAL.'name' => $f->getName(), Caster::PREFIX_VIRTUAL.'type_class' => new ClassStub($f->getConfig()->getType()->getInnerType()::class), Caster::PREFIX_VIRTUAL.'data' => $f->getData(), diff --git a/Mapping/PropertyMetadata.php b/Mapping/PropertyMetadata.php index 89a25a5ef..8c93e3767 100644 --- a/Mapping/PropertyMetadata.php +++ b/Mapping/PropertyMetadata.php @@ -51,9 +51,9 @@ public function getPropertyValue(mixed $object): mixed // There is no way to check if a property has been unset or if it is uninitialized. // When trying to access an uninitialized property, __get method is triggered. - // If __get method is not present, no fallback is possible + // If there is neither __get method nor get hook, no fallback is possible // Otherwise we need to catch an Error in case we are trying to access an uninitialized but set property. - if (!method_exists($object, '__get')) { + if (!method_exists($object, '__get') && (\PHP_VERSION_ID < 80400 || !$reflProperty->hasHook(\PropertyHookType::Get))) { return null; } diff --git a/Resources/translations/validators.af.xlf b/Resources/translations/validators.af.xlf index 61a8b3724..d16f21ecb 100644 --- a/Resources/translations/validators.af.xlf +++ b/Resources/translations/validators.af.xlf @@ -24,7 +24,7 @@ You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. - Jy moet ten minste {{ limit }} kies.|Jy moet ten minste {{ limit }} keuses kies. + Jy moet ten minste {{ limit }} keuse kies.|Jy moet ten minste {{ limit }} keuses kies. You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. @@ -136,7 +136,7 @@ This value is not a valid IP address. - Hierdie waarde is nie 'n geldige IP-adres nie. + Hierdie waarde is nie 'n geldige IP-adres nie. This value is not a valid language. @@ -192,7 +192,7 @@ 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. + Geen tydelike vouer is in php.ini gekonfigureer nie, of die gekonfigureerde vouer bestaan ​​nie. Cannot write temporary file to disk. @@ -208,7 +208,7 @@ This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. - Hierdie versameling moet {{ limit }} element of minder bevat.|Hierdie versameling moet {{ limit }} elemente of meer bevat. + Hierdie versameling moet {{ limit }} element of minder bevat.|Hierdie versameling moet {{ limit }} elemente of minder bevat. This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. @@ -224,7 +224,7 @@ This value is not a valid International Bank Account Number (IBAN). - Hierdie waarde is nie 'n geldige Internasionale Bankrekeningnommer (IBAN) nie. + Hierdie waarde is nie 'n geldige Internasionale Bankrekeningnommer (IBAN) nie. This value is not a valid ISBN-10. @@ -312,7 +312,7 @@ This value is not a valid Business Identifier Code (BIC). - Hierdie waarde is nie 'n geldige Besigheid Identifiseerder Kode (BIC) nie. + Hierdie waarde is nie 'n geldige Besigheid Identifiseerder Kode (BIC) nie. Error @@ -320,7 +320,7 @@ This value is not a valid UUID. - Hierdie waarde is nie 'n geldige UUID nie. + Hierdie waarde is nie 'n geldige UUID nie. 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. - Hierdie wagwoord is in 'n data-oortreding uitgelek, dit mag nie gebruik word nie. Gebruik asseblief 'n ander wagwoord. + 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 }}. @@ -404,155 +404,155 @@ 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ê. + Die lêernaam is te lank. Dit moet {{ filename_max_length }} karakters 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. + Die wachtwoord sterkte is te laag. Gebruik asseblief 'een sterker wachtwoord. 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. + 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. + 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. + 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. + Die gebruik van verborgen 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 }}. + Die uitbreiding van de lêer is ongeldig ({{ extension }}). Toegelaten uitbreidings is {{ extensions }}. The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Die opgespoorde karakterkodering is ongeldig ({{ detected }}). Toegelate koderings is {{ 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. + Hierdie waarde is nie 'n geldige MAC-adres nie. This URL is missing a top-level domain. - Die URL mis 'n topvlakdomein. + 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. - Hierdie waarde is te kort. Dit moet ten minste een woord bevat.|Hierdie waarde is te kort. Dit moet ten minste {{ min }} woorde bevat. + Hierdie waarde is te kort. Dit moet ten minste een woord bevat.|Hierdie waarde is te kort. Dit moet ten minste {{ min }} woorde bevat. This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Hierdie waarde is te lank. Dit moet een woord bevat.,Hierdie waarde is te lank. Dit moet {{ max }} woorde of minder bevat. + Hierdie waarde is te lank. Dit moet een woord bevat.,Hierdie waarde is te lank. Dit moet {{ max }} woorde of minder bevat. This value does not represent a valid week in the ISO 8601 format. - Hierdie waarde stel nie 'n geldige week in die ISO 8601-formaat voor nie. + Hierdie waarde stel nie 'n geldige week in die ISO 8601-formaat voor nie. This value is not a valid week. - Hierdie waarde is nie 'n geldige week nie. + Hierdie waarde is nie 'n geldige week nie. This value should not be before week "{{ min }}". - Hierdie waarde mag nie voor week "{{ min }}" wees nie. + Hierdie waarde mag niet voor week "{{ min }}" wees nie. This value should not be after week "{{ max }}". - Hierdie waarde mag nie na week "{{ max }}" kom nie. + Hierdie waarde mag nie na week "{{ max }}" kom nie. This value is not a valid Twig template. - Hierdie waarde is nie 'n geldige Twig-sjabloon nie. + Hierdie waarde is nie 'n geldige Twig-sjabloon nie. This file is not a valid video. - Hierdie lêer is nie 'n geldige video nie. + Hierdie lêer is nie 'n geldige video nie. The size of the video could not be detected. - Die grootte van die video kon nie bepaal word nie. + Die grootte van die video kon nie bepaal word nie. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Die videowydte is te groot ({{ width }}px). Toegelate maksimum wydte is {{ max_width }}px. + Die videowydte is te groot ({{ width }}px). Toegelate maksimum wydte is {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Die videobreedte is te klein ({{ width }}px). Minimum verwagte breedte is {{ min_width }}px. + Die videobreedte is te klein ({{ width }}px). Minimum verwagte breedte is {{ min_width }}px. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Die videohoogte is te groot ({{ height }}px). Toegelate maksimum hoogte is {{ max_height }}px. + Die videohoogte is te groot ({{ height }}px). Toegestane maximum hoogte is {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Die videohoogte is te klein ({{ height }}px). Minimum hoogte verwag is {{ min_height }}px. + Die videohoogte is te klein ({{ height }}px). Minimum hoogte verwag is {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Die video het te min pixels ({{ pixels }}). Minimum hoeveelheid verwag is {{ min_pixels }}. + Die video het te min pixels ({{ pixels }}). Minimum hoeveelheid verwag is {{ min_pixels }} pixels. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Die video het te veel pixels ({{ pixels }}). Maksimum verwagte hoeveelheid is {{ max_pixels }}. + Die video het te veel pixels ({{ pixels }}). Maksimum verwagte hoeveelheid is {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Die videoratio is te groot ({{ ratio }}). Toegelate maksimum ratio is {{ max_ratio }}. + Die videoratio is te groot ({{ ratio }}). Toegelate maksimum ratio is {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Die videoratio is te klein ({{ ratio }}). Minimum verwagte ratio is {{ min_ratio }}. + Die videoratio is te klein ({{ ratio }}). Minimum verwagte ratio is {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Die video is vierkantig ({{ width }}x{{ height }}px). Vierkantige video's word nie toegelaat nie. + Die video is vierkantig ({{ width }}x{{ height }}px). Vierkantige video's word nie toegelaat nie. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Die video is landskap georiënteer ({{ width }}x{{ height }} px). Landskapvideo's word nie toegelaat nie. + Die video is landskap georiënteer ({{ width }}x{{ height }} px). Landskapvideo's word nie toegelaat nie. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Die video is portretgeoriënteerd ({{ width }}x{{ height }}px). Portretgeoriënteerde video's word nie toegelaat nie. + Die video is portretgeoriënteerd ({{ width }}x{{ height }}px). Portretgeoriënteerde video's word nie toegelaat nie. The video file is corrupted. - Die videolêer is korrup. + Die videolêer is korrup. The video contains multiple streams. Only one stream is allowed. - Die video bevat veelvuldige strome. Slegs een stroom word toegelaat. + Die video bevat veelvuldige strome. Slegs een stroom word toegelaat. Unsupported video codec "{{ codec }}". - Nie-ondersteunde videokodek "{{ codec }}". + Nie-ondersteunde videokodek "{{ codec }}". Unsupported video container "{{ container }}". - Nie-ondersteunde videohouer "{{ container }}". + Nie-ondersteunde videohouer "{{ container }}". The image file is corrupted. - Die beeldlêer is beskadig. + Die beeldlêer is beskadig. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Die beeld het te min pixels ({{ pixels }}). Minimum hoeveelheid verwag is {{ min_pixels }}. + Die beeld het te min pixels ({{ pixels }}). Minimum hoeveelheid verwag is {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Die beeld het te veel pixels ({{ pixels }}). Maksimum verwagte aantal is {{ max_pixels }}. + Die beeld het te veel pixels ({{ pixels }}). Maksimum verwagte aantal is {{ max_pixels }} pixels. This filename does not match the expected charset. - Hierdie lêernaam stem nie ooreen met die verwagte karakterstel nie. + Hierdie lêernaam stem nie ooreen met die verwagte karakterstel nie. diff --git a/Resources/translations/validators.az.xlf b/Resources/translations/validators.az.xlf index a9d281384..2d7237288 100644 --- a/Resources/translations/validators.az.xlf +++ b/Resources/translations/validators.az.xlf @@ -136,7 +136,7 @@ This value is not a valid IP address. - Bu dəyər etibarlı bir IP ünvanı deyil. + Bu dəyər etibarlı bir IP ünvanı deyil. This value is not a valid language. @@ -192,7 +192,7 @@ 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. + 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. @@ -224,7 +224,7 @@ 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. + Bu dəyər etibarlı bir Beynəlxalq Bank Hesab Nömrəsi (IBAN) deyil. This value is not a valid ISBN-10. @@ -312,7 +312,7 @@ This value is not a valid Business Identifier Code (BIC). - Bu dəyər etibarlı bir Biznes Təyinat Kodu (BIC) deyil. + Bu dəyər etibarlı bir Biznes Təyinat Kodu (BIC) deyil. Error @@ -320,7 +320,7 @@ This value is not a valid UUID. - Bu dəyər etibarlı bir UUID deyil. + Bu dəyər etibarlı bir UUID deyil. This value should be a multiple of {{ compared_value }}. @@ -436,123 +436,123 @@ This value is not a valid MAC address. - Bu dəyər etibarlı bir MAC ünvanı deyil. + 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. + 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. - Bu dəyər çox qısadır. Heç olmasa bir söz daxil etməlisiniz.|Bu dəyər çox qısadır. Heç olmasa {{ min }} söz daxil etməlisiniz. + Bu dəyər çox qısadır. Heç olmasa bir söz daxil etməlisiniz.|Bu dəyər çox qısadır. Heç olmasa {{ min }} söz daxil etməlisiniz. This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Bu dəyər çox uzundur. Yalnız bir söz daxil etməlisiniz.|Bu dəyər çox uzundur. {{ max }} və ya daha az söz daxil etməlisiniz. + Bu dəyər çox uzundur. Yalnız bir söz daxil etməlisiniz.|Bu dəyər çox uzundur. {{ max }} və ya daha az söz daxil etməlisiniz. This value does not represent a valid week in the ISO 8601 format. - Bu dəyər ISO 8601 formatında etibarlı bir həftəni təmsil etmir. + Bu dəyər ISO 8601 formatında etibarlı bir həftəni təmsil etmir. This value is not a valid week. - Bu dəyər etibarlı bir həftə deyil. + Bu dəyər etibarlı bir həftə deyil. This value should not be before week "{{ min }}". - Bu dəyər "{{ min }}" həftəsindən əvvəl olmamalıdır. + Bu dəyər "{{ min }}" həftəsindən əvvəl olmamalıdır. This value should not be after week "{{ max }}". - Bu dəyər "{{ max }}" həftəsindən sonra olmamalıdır. + Bu dəyər "{{ max }}" həftəsindən sonra olmamalıdır. This value is not a valid Twig template. - Bu dəyər etibarlı Twig şablonu deyil. + Bu dəyər etibarlı Twig şablonu deyil. This file is not a valid video. - Bu fayl etibarlı video deyil. + Bu fayl etibarlı video deyil. The size of the video could not be detected. - Videonun ölçüsünü təyin etmək mümkün olmadı. + Videonun ölçüsünü təyin etmək mümkün olmadı. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video enliyi çox böyükdür ({{ width }}px). İcazə verilən maksimal enlik {{ max_width }}px-dir. + Video enliyi çox böyükdür ({{ width }}px). İcazə verilən maksimal enlik {{ max_width }}px-dir. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video eni çox kiçikdir ({{ width }}px). Gözlənilən minimum en {{ min_width }}px-dir. + Video eni çox kiçikdir ({{ width }}px). Gözlənilən minimum en {{ min_width }}px-dir. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video hündürlüyü çox böyükdür ({{ height }}px). İcazə verilən maksimum hündürlük {{ max_height }}px-dir. + Video hündürlüyü çox böyükdür ({{ height }}px). İcazə verilən maksimum hündürlük {{ max_height }}px-dir. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Videonun hündürlüyü çox kiçikdir ({{ height }}px). Gözlənilən minimum hündürlük {{ min_height }}px-dir. + Videonun hündürlüyü çox kiçikdir ({{ height }}px). Gözlənilən minimum hündürlük {{ min_height }}px-dir. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoda piksellərin sayı çox azdır ({{ pixels }}). Gözlənilən minimum miqdar {{ min_pixels }}-dir. + Videoda piksellərin sayı çox azdır ({{ pixels }}). Gözlənilən minimum miqdar {{ min_pixels }}-dir. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoda həddindən artıq piksel var ({{ pixels }}). Gözlənilən maksimum miqdar {{ max_pixels }}-dir. + Videoda həddindən artıq piksel var ({{ pixels }}). Gözlənilən maksimum miqdar {{ max_pixels }}-dir. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video nisbəti çox böyükdür ({{ ratio }}). İcazə verilən maksimal nisbət {{ max_ratio }}‑dir. + Video nisbəti çox böyükdür ({{ ratio }}). İcazə verilən maksimal nisbət {{ max_ratio }}‑dir. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Video nisbəti çox kiçikdir ({{ ratio }}). Gözlənilən minimal nisbət {{ min_ratio }}. + Video nisbəti çox kiçikdir ({{ ratio }}). Gözlənilən minimal nisbət {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video kvadratdır ({{ width }}x{{ height }}px). Kvadrat videolara icazə verilmir. + Video kvadratdır ({{ width }}x{{ height }}px). Kvadrat videolara icazə verilmir. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video üfiqi istiqamətdədir ({{ width }}x{{ height }} piksel). Üfiqi videolara icazə verilmir. + Video üfiqi istiqamətdədir ({{ width }}x{{ height }} piksel). Üfiqi videolara icazə verilmir. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video portret istiqamətindədir ({{ width }}x{{ height }} piksel). Portret istiqamətli videolara icazə verilmir. + Video portret istiqamətindədir ({{ width }}x{{ height }} piksel). Portret istiqamətli videolara icazə verilmir. The video file is corrupted. - Video faylı zədələnib. + Video faylı zədələnib. The video contains multiple streams. Only one stream is allowed. - Video bir neçə axın ehtiva edir. Yalnız bir axına icazə verilir. + Video bir neçə axın ehtiva edir. Yalnız bir axına icazə verilir. Unsupported video codec "{{ codec }}". - Dəstəklənməyən video kodeki "{{ codec }}". + Dəstəklənməyən video kodeki "{{ codec }}". Unsupported video container "{{ container }}". - Dəstəklənməyən video konteyneri "{{ container }}". + Dəstəklənməyən video konteyneri "{{ container }}". The image file is corrupted. - Şəkil faylı korlanıb. + Şəkil faylı korlanıb. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Şəkildə piksel sayı çox azdır ({{ pixels }}). Gözlənilən minimum miqdar {{ min_pixels }}. + Şəkildə piksel sayı çox azdır ({{ pixels }}). Gözlənilən minimum miqdar {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Şəkildə çox piksel var ({{ pixels }}). Gözlənilən maksimum say {{ max_pixels }}. + Şəkildə çox piksel var ({{ pixels }}). Gözlənilən maksimum say {{ max_pixels }}. This filename does not match the expected charset. - Bu fayl adı gözlənilən simvol dəstinə uyğun gəlmir. + Bu fayl adı gözlənilən simvol dəstinə uyğun gəlmir. diff --git a/Resources/translations/validators.bg.xlf b/Resources/translations/validators.bg.xlf index 79c06e5bc..4a58ab381 100644 --- a/Resources/translations/validators.bg.xlf +++ b/Resources/translations/validators.bg.xlf @@ -444,115 +444,115 @@ 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. + Тази стойност не представлява валидна седмица във формат ISO 8601. This value is not a valid week. - Тази стойност не е валидна седмица. + Тази стойност не е валидна седмица. This value should not be before week "{{ min }}". - Тази стойност не трябва да бъде преди седмица "{{ min }}". + Стойността не трябва да бъде преди седмица "{{ min }}". This value should not be after week "{{ max }}". - Тази стойност не трябва да бъде след седмица "{{ max }}". + Тази стойност не трябва да бъде след седмица "{{ max }}". This value is not a valid Twig template. - Тази стойност не е валиден Twig шаблон. + Тази стойност не е валиден Twig шаблон. This file is not a valid video. - Този файл не е валидно видео. + Този файл не е валидно видео. The size of the video could not be detected. - Размерът на видеото не може да бъде установен. + Размерът на видеото не може да бъде установен. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширината на видеото е твърде голяма ({{ width }}px). Допустимата максимална ширина е {{ max_width }}px. + Ширината на видеото е твърде голяма ({{ width }}px). Допустимата максимална ширина е {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширината на видеото е твърде малка ({{ width }}px). Минималната изисквана ширина е {{ min_width }}px. + Ширината на видеото е твърде малка ({{ width }}px). Минималната изисквана ширина е {{ min_width }}px. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Височината на видеото е твърде голяма ({{ height }}px). Максимално допустимата височина е {{ max_height }}px. + Височината на видеото е твърде голяма ({{ height }}px). Максимално допустимата височина е {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Височината на видеото е твърде малка ({{ height }}px). Очакваната минимална височина е {{ min_height }}px. + Височината на видеото е твърде малка ({{ height }}px). Очакваната минимална височина е {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Видеото има твърде малко пиксели ({{ pixels }}). Минимално изискуемото количество е {{ min_pixels }}. + Видеото има твърде малко пиксели ({{ pixels }}). Минимално изискуемото количество е {{ min_pixels }}. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Видеото има твърде много пиксели ({{ pixels }}). Очакваният максимум е {{ max_pixels }}. + Видеото има твърде много пиксели ({{ pixels }}). Максималният допустим брой е {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Съотношението на видеото е твърде голямо ({{ ratio }}). Позволеното максимално съотношение е {{ max_ratio }}. + Съотношението на видеото е твърде голямо ({{ ratio }}). Позволеното максимално съотношение е {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Съотношението на видеото е твърде малко ({{ ratio }}). Минималното очаквано съотношение е {{ min_ratio }}. + Съотношението на видеото е твърде малко ({{ ratio }}). Минималното очаквано съотношение е {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Видеото е квадратно ({{ width }}x{{ height }}px). Квадратни видеа не са позволени. + Видеото е квадратно ({{ width }}x{{ height }}px). Квадратни видеа не са позволени. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Видеото е в хоризонтална ориентация ({{ width }}x{{ height }} px). Хоризонтални видеа не са позволени. + Видеото е в хоризонтална ориентация ({{ width }}x{{ height }}px). Хоризонтални видеа не са позволени. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Видеото е с портретна ориентация ({{ width }}x{{ height }}px). Видеа с портретна ориентация не са позволени. + Видеото е с портретна ориентация ({{ width }}x{{ height }}px). Видеа с портретна ориентация не са позволени. The video file is corrupted. - Видеофайлът е повреден. + Видеофайлът е повреден. The video contains multiple streams. Only one stream is allowed. - Видеото съдържа множество потоци. Разрешен е само един поток. + Видеото съдържа множество потоци. Разрешен е само един поток. Unsupported video codec "{{ codec }}". - Неподдържан видео кодек „{{ codec }}“. + Неподдържан видео кодек „{{ codec }}“. Unsupported video container "{{ container }}". - Неподдържан видео контейнер "{{ container }}". + Неподдържан видео контейнер "{{ container }}". The image file is corrupted. - Файлът с изображение е повреден. + Файлът с изображение е повреден. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Изображението има твърде малко пиксели ({{ pixels }}). Очакваният минимален брой е {{ min_pixels }}. + Изображението има твърде малко пиксели ({{ pixels }}). Минималният изискуем брой е {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Изображението има твърде много пиксели ({{ pixels }}). Очакваният максимален брой е {{ max_pixels }}. + Изображението има твърде много пиксели ({{ pixels }}). Максималният допустим брой е {{ max_pixels }}. This filename does not match the expected charset. - Името на файла не съответства на очаквания набор от знаци. + Името на файла не съответства на очаквания набор от знаци. diff --git a/Resources/translations/validators.et.xlf b/Resources/translations/validators.et.xlf index 12a2671d9..cd53b1f20 100644 --- a/Resources/translations/validators.et.xlf +++ b/Resources/translations/validators.et.xlf @@ -440,119 +440,119 @@ This URL is missing a top-level domain. - Sellel URL-il puudub ülataseme domeen. + 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. - See väärtus on liiga lühike. See peaks sisaldama vähemalt ühte sõna.|See väärtus on liiga lühike. See peaks sisaldama vähemalt {{ min }} sõna. + See väärtus on liiga lühike. See peaks sisaldama vähemalt ühte sõna.|See väärtus on liiga lühike. See peaks sisaldama vähemalt {{ min }} sõna. This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - See väärtus on liiga pikk. See peaks sisaldama ainult ühte sõna.|See väärtus on liiga pikk. See peaks sisaldama {{ max }} sõna või vähem. + See väärtus on liiga pikk. See peaks sisaldama ainult ühte sõna.|See väärtus on liiga pikk. See peaks sisaldama {{ max }} sõna või vähem. This value does not represent a valid week in the ISO 8601 format. - See väärtus ei esinda kehtivat nädalat ISO 8601 formaadis. + See väärtus ei esinda kehtivat nädalat ISO 8601 formaadis. This value is not a valid week. - See väärtus ei ole kehtiv nädal. + See väärtus ei ole kehtiv nädal. This value should not be before week "{{ min }}". - See väärtus ei tohiks olla enne nädalat "{{ min }}". + See väärtus ei tohiks olla enne nädalat "{{ min }}". This value should not be after week "{{ max }}". - See väärtus ei tohiks olla pärast nädalat "{{ max }}". + See väärtus ei tohiks olla pärast nädalat "{{ max }}". This value is not a valid Twig template. - See väärtus ei ole kehtiv Twig'i mall. + See väärtus ei ole kehtiv Twig'i mall. This file is not a valid video. - See fail ei ole kehtiv video. + See fail ei ole kehtiv video. The size of the video could not be detected. - Video suurust ei õnnestunud tuvastada. + Video suurust ei õnnestunud tuvastada. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video laius on liiga suur ({{ width }}px). Lubatud maksimaalne laius on {{ max_width }}px. + Video laius on liiga suur ({{ width }}px). Lubatud maksimaalne laius on {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video laius on liiga väike ({{ width }}px). Oodatav minimaalne laius on {{ min_width }} px. + Video laius on liiga väike ({{ width }}px). Oodatav minimaalne laius on {{ min_width }} px. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video kõrgus on liiga suur ({{ height }}px). Lubatud maksimaalne kõrgus on {{ max_height }}px. + Video kõrgus on liiga suur ({{ height }}px). Lubatud maksimaalne kõrgus on {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Video kõrgus on liiga väike ({{ height }}px). Oodatav minimaalne kõrgus on {{ min_height }}px. + Video kõrgus on liiga väike ({{ height }}px). Oodatav minimaalne kõrgus on {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videol on liiga vähe piksleid ({{ pixels }}). Oodatav miinimum on {{ min_pixels }}. + Videol on liiga vähe piksleid ({{ pixels }}). Oodatav miinimum on {{ min_pixels }}. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videol on liiga palju piksleid ({{ pixels }}). Eeldatav maksimaalne kogus on {{ max_pixels }}. + Videol on liiga palju piksleid ({{ pixels }}). Eeldatav maksimaalne kogus on {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video suhe on liiga suur ({{ ratio }}). Lubatud maksimaalne suhe on {{ max_ratio }}. + Video suhe on liiga suur ({{ ratio }}). Lubatud maksimaalne suhe on {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Video kuvasuhe on liiga väike ({{ ratio }}). Eeldatav miinimumsuhe on {{ min_ratio }}. + Video kuvasuhe on liiga väike ({{ ratio }}). Eeldatav miinimumsuhe on {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video on ruudukujuline ({{ width }}x{{ height }}px). Ruutvideod pole lubatud. + Video on ruudukujuline ({{ width }}x{{ height }}px). Ruutvideod pole lubatud. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video on horisontaalses asendis ({{ width }}x{{ height }} px). Horisontaalseid videoid ei ole lubatud. + Video on horisontaalses asendis ({{ width }}x{{ height }} px). Horisontaalseid videoid ei ole lubatud. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video on püstsuunas ({{ width }}x{{ height }} px). Püstsuunalised videod pole lubatud. + Video on püstsuunas ({{ width }}x{{ height }} px). Püstsuunalised videod pole lubatud. The video file is corrupted. - Videofail on rikutud. + Videofail on rikutud. The video contains multiple streams. Only one stream is allowed. - Video sisaldab mitu voogu. Lubatud on ainult üks voog. + Video sisaldab mitu voogu. Lubatud on ainult üks voog. Unsupported video codec "{{ codec }}". - Toetamata videokoodek „{{ codec }}“. + Toetamata videokoodek „{{ codec }}“. Unsupported video container "{{ container }}". - Toetamata videokonteiner "{{ container }}". + Toetamata videokonteiner "{{ container }}". The image file is corrupted. - Pildifail on rikutud. + Pildifail on rikutud. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Pildil on liiga vähe piksleid ({{ pixels }}). Oodatav miinimum on {{ min_pixels }}. + Pildil on liiga vähe piksleid ({{ pixels }}). Oodatav miinimum on {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Pildil on liiga palju piksleid ({{ pixels }}). Oodatav maksimaalne hulk on {{ max_pixels }}. + Pildil on liiga palju piksleid ({{ pixels }}). Oodatav maksimaalne hulk on {{ max_pixels }}. This filename does not match the expected charset. - See failinimi ei vasta eeldatavale märgistikule. + See failinimi ei vasta eeldatavale märgistikule. diff --git a/Resources/translations/validators.he.xlf b/Resources/translations/validators.he.xlf index e19c438e4..d184a11a5 100644 --- a/Resources/translations/validators.he.xlf +++ b/Resources/translations/validators.he.xlf @@ -440,119 +440,119 @@ This URL is missing a top-level domain. - לכתובת URL זו חסר דומיין רמה עליונה. + לכתובת 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. + ערך זה אינו מייצג שבוע תקף בפורמט ISO 8601. This value is not a valid week. - ערך זה אינו שבוע חוקי. + ערך זה אינו שבוע חוקי. This value should not be before week "{{ min }}". - ערך זה לא אמור להיות לפני שבוע "{{ min }}". + ערך זה לא אמור להיות לפני שבוע "{{ min }}". This value should not be after week "{{ max }}". - ערך זה לא אמור להיות לאחר שבוע "{{ max }}". + ערך זה לא אמור להיות לאחר שבוע "{{ max }}". This value is not a valid Twig template. - ערך זה אינו תבנית Twig חוקית. + ערך זה אינו תבנית Twig חוקית. This file is not a valid video. - קובץ זה אינו וידאו תקין. + קובץ זה אינו וידאו תקין. The size of the video could not be detected. - לא ניתן היה לזהות את גודל הווידאו. + לא ניתן היה לזהות את גודל הווידאו. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - רוחב הווידאו גדול מדי ({{ width }}px). רוחב מרבי מותר הוא {{ max_width }}px. + רוחב הווידאו גדול מדי ({{ width }}px). רוחב מרבי מותר הוא {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - רוחב הווידאו קטן מדי ({{ width }}px). רוחב מינימלי צפוי הוא {{ min_width }} פיקסלים. + רוחב הווידאו קטן מדי ({{ width }}px). רוחב מינימלי צפוי הוא {{ min_width }} פיקסלים. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - גובה הווידאו גדול מדי ({{ height }}px). הגובה המקסימלי המותר הוא {{ max_height }}px. + גובה הווידאו גדול מדי ({{ height }}px). הגובה המקסימלי המותר הוא {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - גובה הווידאו קטן מדי ({{ height }}px). הגובה המינימלי הצפוי הוא {{ min_height }}px. + גובה הווידאו קטן מדי ({{ height }}px). הגובה המינימלי הצפוי הוא {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - לסרטון יש מעט מדי פיקסלים ({{ pixels }}). הכמות המינימלית הצפויה היא {{ min_pixels }}. + לסרטון יש מעט מדי פיקסלים ({{ pixels }}). הכמות המינימלית הצפויה היא {{ min_pixels }}. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - לסרטון יש יותר מדי פיקסלים ({{ pixels }}). הכמות המרבית הצפויה היא {{ max_pixels }}. + לסרטון יש יותר מדי פיקסלים ({{ pixels }}). הכמות המרבית הצפויה היא {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - יחס הווידאו גדול מדי ({{ ratio }}). יחס מקסימלי מותר הוא {{ max_ratio }}. + יחס הווידאו גדול מדי ({{ ratio }}). יחס מקסימלי מותר הוא {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - יחס הווידאו קטן מדי ({{ ratio }}). יחס מינימלי צפוי הוא {{ min_ratio }}. + יחס הווידאו קטן מדי ({{ ratio }}). יחס מינימלי צפוי הוא {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - הווידאו הוא מרובע ({{ width }}x{{ height }}px). סרטוני וידאו מרובעים אינם מותרים. + הווידאו הוא מרובע ({{ width }}x{{ height }}px). סרטוני וידאו מרובעים אינם מותרים. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - הווידאו במצב לרוחב ({{ width }}x{{ height }} פיקסלים). סרטוני לרוחב אינם מותרים. + הווידאו במצב לרוחב ({{ width }}x{{ height }} פיקסלים). סרטוני לרוחב אינם מותרים. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - הווידאו הוא בתצורת דיוקן ({{ width }}x{{ height }}px). סרטוני וידאו בתצורת דיוקן אינם מותרים. + הווידאו הוא בתצורת דיוקן ({{ width }}x{{ height }}px). סרטוני וידאו בתצורת דיוקן אינם מותרים. The video file is corrupted. - קובץ הווידאו פגום. + קובץ הווידאו פגום. The video contains multiple streams. Only one stream is allowed. - הווידאו מכיל מספר זרמים. מותר זרם אחד בלבד. + הווידאו מכיל מספר זרמים. מותר זרם אחד בלבד. Unsupported video codec "{{ codec }}". - מקודד וידאו שאינו נתמך "{{ codec }}". + מקודד וידאו שאינו נתמך "{{ codec }}". Unsupported video container "{{ container }}". - מיכל וידאו שאינו נתמך "{{ container }}". + מיכל וידאו שאינו נתמך "{{ container }}". The image file is corrupted. - קובץ התמונה פגום. + קובץ התמונה פגום. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - לתמונה יש מעט מדי פיקסלים ({{ pixels }}). הכמות המינימלית הצפויה היא {{ min_pixels }}. + לתמונה יש מעט מדי פיקסלים ({{ pixels }}). הכמות המינימלית הצפויה היא {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - לתמונה יש יותר מדי פיקסלים ({{ pixels }}). הכמות המרבית הצפויה היא {{ max_pixels }}. + לתמונה יש יותר מדי פיקסלים ({{ pixels }}). הכמות המרבית הצפויה היא {{ max_pixels }}. This filename does not match the expected charset. - שם הקובץ הזה אינו תואם את מערך התווים הצפוי. + שם הקובץ הזה אינו תואם את מערך התווים הצפוי. diff --git a/Resources/translations/validators.hy.xlf b/Resources/translations/validators.hy.xlf index e537733c7..bd59319d1 100644 --- a/Resources/translations/validators.hy.xlf +++ b/Resources/translations/validators.hy.xlf @@ -136,7 +136,7 @@ This value is not a valid IP address. - Այս արժեքը վավեր IP հասցե չէ։ + Այս արժեքը վավեր IP հասցե չէ։ This value is not a valid language. @@ -192,7 +192,7 @@ No temporary folder was configured in php.ini, or the configured folder does not exist. - php.ini-ում չի կարգավորվել ժամանակավոր թղթապանակ, կամ կարգավորված թղթապանակը չկա։ + php.ini-ում չի կարգավորվել ժամանակավոր թղթապանակ, կամ կարգավորված թղթապանակը չկա։ Cannot write temporary file to disk. @@ -224,7 +224,7 @@ This value is not a valid International Bank Account Number (IBAN). - Այս արժեքը վավեր միջազգային բանկային հաշվի համար (IBAN) չէ։ + Այս արժեքը վավեր միջազգային բանկային հաշվի համար (IBAN) չէ։ This value is not a valid ISBN-10. @@ -312,7 +312,7 @@ This value is not a valid Business Identifier Code (BIC). - Այս արժեքը վավեր բիզնեսի նորմատիվ կոդ (BIC) չէ։ + Այս արժեքը վավեր բիզնեսի նորմատիվ կոդ (BIC) չէ։ Error @@ -320,7 +320,7 @@ This value is not a valid UUID. - Այս արժեքը վավեր UUID չէ։ + Այս արժեքը վավեր UUID չէ։ This value should be a multiple of {{ compared_value }}. @@ -392,167 +392,167 @@ 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 }}։ + Ֆայլի ընդլայնումը անվավեր է ({{ extension }})։ Թույլատրվող ընդլայնումներն են՝ {{ extensions }}։ The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Հայտնաբերված նիշագրության կոդը անվավեր է ({{ detected }})։ Թույլատրվող կոդերն են՝ {{ encodings }}։ + Հայտնաբերված նիշագրության կոդը անվավեր է ({{ detected }})։ Թույլատրվող կոդերն են՝ {{ encodings }}։ This value is not a valid MAC address. - Այս արժեքը վավեր MAC հասցե չէ։ + Այս արժեքը վավեր MAC հասցե չէ։ This URL is missing a top-level domain. - Այս URL-ը չունի վերին մակարդակի դոմեյն: + Այս 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 ձևաչափով գործող շաբաթ։ + Այս արժեքը չի ներկայացնում ISO 8601 ձևաչափով գործող շաբաթ։ This value is not a valid week. - Այս արժեքը վավեր շաբաթ չէ: + Այս արժեքը վավեր շաբաթ չէ: This value should not be before week "{{ min }}". - Այս արժեքը չպետք է լինի «{{ min }}» շաբաթից առաջ։ + Այս արժեքը չպետք է լինի «{{ min }}» շաբաթից առաջ։ This value should not be after week "{{ max }}". - Այս արժեքը չպետք է լինի «{{ max }}» շաբաթից հետո։ + Այս արժեքը չպետք է լինի «{{ max }}» շաբաթից հետո։ This value is not a valid Twig template. - Այս արժեքը վավեր Twig ձևանմուշ չէ: + Այս արժեքը վավեր Twig ձևանմուշ չէ: This file is not a valid video. - Այս ֆայլը վավեր տեսանյութ չէ։ + Այս ֆայլը վավեր տեսանյութ չէ։ The size of the video could not be detected. - Չհաջողվեց հայտնաբերել տեսանյութի չափը. + Չհաջողվեց հայտնաբերել տեսանյութի չափը. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Տեսահոլովակի լայնությունը չափազանց մեծ է ({{ width }}px)։ Թույլատրելի առավելագույն լայնությունը {{ max_width }}px է։ + Տեսահոլովակի լայնությունը չափազանց մեծ է ({{ width }}px)։ Թույլատրելի առավելագույն լայնությունը {{ max_width }}px է։ The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Տեսանյութի լայնությունը չափազանց փոքր է ({{ width }}px). Սպասվող նվազագույն լայնքը {{ min_width }}px է. + Տեսանյութի լայնությունը չափազանց փոքր է ({{ width }}px). Սպասվող նվազագույն լայնքը {{ min_width }}px է. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Վիդեոյի բարձրությունը չափազանց մեծ է ({{ height }}px)։ Թույլատրելի առավելագույն բարձրությունը {{ max_height }}px է։ + Վիդեոյի բարձրությունը չափազանց մեծ է ({{ height }}px)։ Թույլատրելի առավելագույն բարձրությունը {{ max_height }}px է։ The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Վիդեոյի բարձրությունը շատ փոքր է ({{ height }}px)։ Սպասվող նվազագույն բարձրությունը {{ min_height }}px է։ + Վիդեոյի բարձրությունը շատ փոքր է ({{ height }}px)։ Սպասվող նվազագույն բարձրությունը {{ min_height }}px է։ The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Տեսանյութը ունի չափազանց քիչ պիքսելներ ({{ pixels }}). Սպասվող նվազագույն քանակը {{ min_pixels }} է։ + Տեսանյութը ունի չափազանց քիչ պիքսելներ ({{ pixels }}). Սպասվող նվազագույն քանակը {{ min_pixels }} է։ The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Տեսանյութը ունի չափազանց շատ պիքսելներ ({{ pixels }}). Սպասվող առավելագույն քանակը {{ max_pixels }} է։ + Տեսանյութը ունի չափազանց շատ պիքսելներ ({{ pixels }}). Սպասվող առավելագույն քանակը {{ max_pixels }} է։ The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Տեսանյութի հարաբերակցությունը չափազանց մեծ է ({{ ratio }}): Թույլատրելի առավելագույն հարաբերակցությունը {{ max_ratio }} է։ + Տեսանյութի հարաբերակցությունը չափազանց մեծ է ({{ ratio }}): Թույլատրելի առավելագույն հարաբերակցությունը {{ max_ratio }} է։ The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Վիդեոյի հարաբերակցությունը շատ փոքր է ({{ ratio }}). Ավելի փոքրագույն սպասվող հարաբերակցությունը {{ min_ratio }} է. + Վիդեոյի հարաբերակցությունը շատ փոքր է ({{ ratio }}). Ավելի փոքրագույն սպասվող հարաբերակցությունը {{ min_ratio }} է. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Տեսանյութը քառակուսի է ({{ width }}x{{ height }}px). Քառակուսի տեսանյութերը թույլատրելի չեն. + Տեսանյութը քառակուսի է ({{ width }}x{{ height }}px). Քառակուսի տեսանյութերը թույլատրելի չեն. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Տեսանյութը հորիզոնական կողմնորոշմամբ է ({{ width }}x{{ height }} px). Հորիզոնական տեսանյութերը թույլատրելի չեն. + Տեսանյութը հորիզոնական կողմնորոշմամբ է ({{ width }}x{{ height }} px). Հորիզոնական տեսանյութերը թույլատրելի չեն. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Վիդեոն ուղղահայաց կողմնորոշված է ({{ width }}x{{ height }}px)։ Ուղղահայաց կողմնորոշմամբ տեսանյութերը թույլատրելի չեն։ + Վիդեոն ուղղահայաց կողմնորոշված է ({{ width }}x{{ height }}px)։ Ուղղահայաց կողմնորոշմամբ տեսանյութերը թույլատրելի չեն։ The video file is corrupted. - Տեսանյութի ֆայլը վնասված է. + Տեսանյութի ֆայլը վնասված է. The video contains multiple streams. Only one stream is allowed. - Տեսանյութը պարունակում է բազմաթիվ հոսքեր։ Թույլատրվում է միայն մեկ հոսք։ + Տեսանյութը պարունակում է բազմաթիվ հոսքեր։ Թույլատրվում է միայն մեկ հոսք։ Unsupported video codec "{{ codec }}". - Չաջակցվող տեսանյութի կոդեկ «{{ codec }}»։ + Չաջակցվող տեսանյութի կոդեկ «{{ codec }}»։ Unsupported video container "{{ container }}". - Չաջակցվող վիդեո կոնտեյներ "{{ container }}". + Չաջակցվող վիդեո կոնտեյներ "{{ container }}". The image file is corrupted. - Պատկերի ֆայլը վնասված է։ + Պատկերի ֆայլը վնասված է։ The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Պատկերը ունի չափազանց քիչ պիքսելներ ({{ pixels }}). Սպասվող նվազագույնը {{ min_pixels }} է։ + Պատկերը ունի չափազանց քիչ պիքսելներ ({{ pixels }}). Սպասվող նվազագույնը {{ min_pixels }} է։ The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Պատկերը ունի չափազանց շատ պիքսել ({{ pixels }}). Սպասվող առավելագույն քանակը {{ max_pixels }} է. + Պատկերը ունի չափազանց շատ պիքսել ({{ pixels }}). Սպասվող առավելագույն քանակը {{ max_pixels }} է. This filename does not match the expected charset. - Այս ֆայլի անունը չի համապատասխանում սպասվող նիշքերի հավաքածուին. + Այս ֆայլի անունը չի համապատասխանում սպասվող նիշքերի հավաքածուին. diff --git a/Resources/translations/validators.lt.xlf b/Resources/translations/validators.lt.xlf index ab4bdc57e..0d03648c2 100644 --- a/Resources/translations/validators.lt.xlf +++ b/Resources/translations/validators.lt.xlf @@ -452,107 +452,107 @@ This value does not represent a valid week in the ISO 8601 format. - Ši reikšmė neatitinka galiojančios savaitės ISO 8601 formatu. + Ši reikšmė neatitinka galiojančios savaitės ISO 8601 formatu. This value is not a valid week. - Ši reikšmė nėra galiojanti savaitė. + Ši reikšmė nėra galiojanti savaitė. This value should not be before week "{{ min }}". - Ši reikšmė neturėtų būti prieš savaitę "{{ min }}". + Ši reikšmė neturėtų būti prieš savaitę "{{ min }}". This value should not be after week "{{ max }}". - Ši reikšmė neturėtų būti po savaitės "{{ max }}". + Ši reikšmė neturėtų būti po savaitės "{{ max }}". This value is not a valid Twig template. - Ši reikšmė nėra tinkamas „Twig“ šablonas. + Ši reikšmė nėra tinkamas „Twig“ šablonas. This file is not a valid video. - Šis failas nėra galiojantis vaizdo įrašas. + Šis failas nėra galiojantis vaizdo įrašas. The size of the video could not be detected. - Nepavyko nustatyti vaizdo įrašo dydžio. + Nepavyko nustatyti vaizdo įrašo dydžio. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Vaizdo įrašo plotis per didelis ({{ width }}px). Leidžiamas didžiausias plotis yra {{ max_width }}px. + Vaizdo įrašo plotis per didelis ({{ width }}px). Leidžiamas didžiausias plotis yra {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Vaizdo įrašo plotis per mažas ({{ width }}px). Tikėtinas mažiausias plotis yra {{ min_width }}px. + Vaizdo įrašo plotis per mažas ({{ width }}px). Tikėtinas mažiausias plotis yra {{ min_width }}px. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Vaizdo aukštis per didelis ({{ height }}px). Leidžiamas maksimalus aukštis yra {{ max_height }}px. + Vaizdo aukštis per didelis ({{ height }}px). Leidžiamas maksimalus aukštis yra {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Vaizdo aukštis per mažas ({{ height }}px). Tikėtinas minimalus aukštis yra {{ min_height }}px. + Vaizdo aukštis per mažas ({{ height }}px). Tikėtinas minimalus aukštis yra {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Vaizdo įraše per mažai pikselių ({{ pixels }}). Tikimasi mažiausiai {{ min_pixels }}. + Vaizdo įraše per mažai pikselių ({{ pixels }}). Tikimasi mažiausiai {{ min_pixels }}. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Vaizdo įraše per daug pikselių ({{ pixels }}). Tikimasi, kad didžiausias kiekis yra {{ max_pixels }}. + Vaizdo įraše per daug pikselių ({{ pixels }}). Tikimasi, kad didžiausias kiekis yra {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Vaizdo santykis per didelis ({{ ratio }}). Leidžiamas didžiausias santykis yra {{ max_ratio }}. + Vaizdo santykis per didelis ({{ ratio }}). Leidžiamas didžiausias santykis yra {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Vaizdo santykis per mažas ({{ ratio }}). Tikimasi mažiausias santykis yra {{ min_ratio }}. + Vaizdo santykis per mažas ({{ ratio }}). Tikimasi mažiausias santykis yra {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Vaizdo įrašas yra kvadratinis ({{ width }}x{{ height }}px). Kvadratiniai vaizdo įrašai neleidžiami. + Vaizdo įrašas yra kvadratinis ({{ width }}x{{ height }}px). Kvadratiniai vaizdo įrašai neleidžiami. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Vaizdo įrašas yra gulsčio formato ({{ width }}x{{ height }} px). Gulsčio formato vaizdo įrašai neleidžiami. + Vaizdo įrašas yra gulsčio formato ({{ width }}x{{ height }} px). Gulsčio formato vaizdo įrašai neleidžiami. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Vaizdo įrašas yra portreto orientacijos ({{ width }}x{{ height }}px). Portreto orientacijos vaizdo įrašai neleidžiami. + Vaizdo įrašas yra portreto orientacijos ({{ width }}x{{ height }}px). Portreto orientacijos vaizdo įrašai neleidžiami. The video file is corrupted. - Vaizdo failas sugadintas. + Vaizdo failas sugadintas. The video contains multiple streams. Only one stream is allowed. - Vaizdo įraše yra keli srautai. Leidžiamas tik vienas srautas. + Vaizdo įraše yra keli srautai. Leidžiamas tik vienas srautas. Unsupported video codec "{{ codec }}". - Nepalaikomas vaizdo kodekas „{{ codec }}“. + Nepalaikomas vaizdo kodekas „{{ codec }}“. Unsupported video container "{{ container }}". - Nepalaikomas vaizdo konteineris "{{ container }}". + Nepalaikomas vaizdo konteineris "{{ container }}". The image file is corrupted. - Paveikslėlio failas sugadintas. + Paveikslėlio failas sugadintas. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Paveikslėlyje per mažai pikselių ({{ pixels }}). Tikimasi mažiausiai {{ min_pixels }}. + Paveikslėlyje per mažai pikselių ({{ pixels }}). Tikimasi mažiausiai {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Paveikslėlis turi per daug pikselių ({{ pixels }}). Tikėtinas didžiausias kiekis yra {{ max_pixels }}. + Paveikslėlis turi per daug pikselių ({{ pixels }}). Tikėtinas didžiausias kiekis yra {{ max_pixels }}. This filename does not match the expected charset. - Šis failo pavadinimas neatitinka laukiamo ženklų rinkinio. + Šis failo pavadinimas neatitinka laukiamo ženklų rinkinio. diff --git a/Resources/translations/validators.sl.xlf b/Resources/translations/validators.sl.xlf index 515e5d0aa..14d1485c5 100644 --- a/Resources/translations/validators.sl.xlf +++ b/Resources/translations/validators.sl.xlf @@ -468,91 +468,91 @@ This value is not a valid Twig template. - Ta vrednost ni veljavna predloga Twig. + Ta vrednost ni veljavna predloga Twig. This file is not a valid video. - Ta datoteka ni veljaven video. + Ta datoteka ni veljavna videodatoteka. The size of the video could not be detected. - Velikosti videoposnetka ni bilo mogoče zaznati. + Velikosti videoposnetka ni bilo mogoče določiti. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Širina videoposnetka je prevelika ({{ width }}px). Dovoljena največja širina je {{ max_width }}px. + Širina videoposnetka je prevelika ({{ width }}px). Največja dovoljena širina je {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Širina videa je premajhna ({{ width }}px). Pričakovana minimalna širina je {{ min_width }} px. + Širina videoposnetka je premajhna ({{ width }}px). Najmanjša pričakovana širina je {{ min_width }}px. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Višina videa je prevelika ({{ height }}px). Dovoljena največja višina je {{ max_height }}px. + Višina videoposnetka je prevelika ({{ height }}px). Največja dovoljena višina je {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Višina videa je premajhna ({{ height }}px). Pričakovana najmanjša višina je {{ min_height }}px. + Višina videoposnetka je premajhna ({{ height }}px). Najmanjša pričakovana višina je {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Video ima premalo slikovnih pik ({{ pixels }}). Pričakovana minimalna količina je {{ min_pixels }}. + Videoposnetek ima premalo slikovnih pik ({{ pixels }}). Najmanjše pričakovano število je {{ min_pixels }}. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Video ima preveč slikovnih pik ({{ pixels }}). Pričakovano največje število je {{ max_pixels }}. + Videoposnetek ima preveč slikovnih pik ({{ pixels }}). Največje pričakovano število je {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Razmerje videa je preveliko ({{ ratio }}). Dovoljeno največje razmerje je {{ max_ratio }}. + Razmerje videoposnetka je preveliko ({{ ratio }}). Največje dovoljeno razmerje je {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Razmerje videa je premajhno ({{ ratio }}). Pričakovano minimalno razmerje je {{ min_ratio }}. + Razmerje videoposnetka je premajhno ({{ ratio }}). Najmanjše pričakovano razmerje je {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video je kvadratno ({{ width }}x{{ height }}px). Kvadratni videoposnetki niso dovoljeni. + Videoposnetek je kvadraten ({{ width }}x{{ height }}px). Kvadratni videoposnetki niso dovoljeni. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video je vodoravno orientiran ({{ width }}x{{ height }} px). Vodoravni videi niso dovoljeni. + Videoposnetek je ležeče usmerjen ({{ width }}x{{ height }}px). Ležeče usmerjeni videoposnetki niso dovoljeni. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video je usmerjeno pokonci ({{ width }}x{{ height }}px). Videi v pokončni usmeritvi niso dovoljeni. + Videoposnetek je pokončno usmerjen ({{ width }}x{{ height }}px). Pokončno usmerjeni videoposnetki niso dovoljeni. The video file is corrupted. - Videodatoteka je poškodovana. + Videodatoteka je poškodovana. The video contains multiple streams. Only one stream is allowed. - Video vsebuje več tokov. Dovoljen je le en tok. + Videoposnetek vsebuje več tokov. Dovoljen je le en tok. Unsupported video codec "{{ codec }}". - Nepodprti video kodek »{{ codec }}«. + Nepodprt videokodek "{{ codec }}". Unsupported video container "{{ container }}". - Nepodprt videokontejner "{{ container }}". + Nepodprt videovsebnik "{{ container }}". The image file is corrupted. - Slikovna datoteka je poškodovana. + Slikovna datoteka je poškodovana. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Slika ima premalo slikovnih točk ({{ pixels }}). Pričakovana minimalna količina je {{ min_pixels }}. + Slika ima premalo slikovnih pik ({{ pixels }}). Najmanjše pričakovano število je {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Slika ima preveč slikovnih pik ({{ pixels }}). Pričakovano največje število je {{ max_pixels }}. + Slika ima preveč slikovnih pik ({{ pixels }}). Največje pričakovano število je {{ max_pixels }}. This filename does not match the expected charset. - To ime datoteke ne ustreza pričakovanemu naboru znakov. + Ime datoteke ne ustreza pričakovanemu naboru znakov. diff --git a/Resources/translations/validators.sr_Cyrl.xlf b/Resources/translations/validators.sr_Cyrl.xlf index 987474063..4aeba68fd 100644 --- a/Resources/translations/validators.sr_Cyrl.xlf +++ b/Resources/translations/validators.sr_Cyrl.xlf @@ -468,91 +468,91 @@ This value is not a valid Twig template. - Ова вредност није важећи Twig шаблон. + Ова вредност није валидан Twig шаблон. This file is not a valid video. - Ова датотека није важећи видео. + Ова датотека није валидан видео. The size of the video could not be detected. - Није било могуће утврдити величину видео снимка. + Величина видеа не може бити одређена. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Ширина видеа је превелика ({{ width }}px). Дозвољена максимална ширина је {{ max_width }}px. + Ширина видеа је превелика ({{ width }}px). Дозвољена максимална ширина је {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Ширина видеа је превише мала ({{ width }}px). Очекивана минимална ширина је {{ min_width }}px. + Ширина видеа је премала ({{ width }}px). Очекивана минимална ширина је {{ min_width }}px. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Висина видеа је превелика ({{ height }}px). Дозвољена максимална висина је {{ max_height }}px. + Висина видеа је превелика ({{ height }}px). Дозвољена максимална висина је {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Висина видеа је превише мала ({{ height }}px). Очекивана минимална висина је {{ min_height }}px. + Висина видеа је премала ({{ height }}px). Очекивана минимална висина је {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Видео има премало пиксела ({{ pixels }}). Очекивана минимална количина је {{ min_pixels }}. + Видео има премало пиксела ({{ pixels }}). Очекивани минимум је {{ min_pixels }}. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Видео има превише пиксела ({{ pixels }}). Очекивана максимална количина је {{ max_pixels }}. + Видео има превише пиксела ({{ pixels }}). Очекивани максимум је {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Однос слике видеа је превелик ({{ ratio }}). Дозвољени максимални однос је {{ max_ratio }}. + Однос страница видеа је превелик ({{ ratio }}). Дозвољени максимални однос је {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Однос стране видеа је превише мали ({{ ratio }}). Очекивани минимални однос је {{ min_ratio }}. + Однос страница видеа је премали ({{ ratio }}). Очекивани минимални однос је {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Видео је квадратног облика ({{ width }}x{{ height }}px). Квадратни видео записи нису дозвољени. + Видео је квадратног облика ({{ width }}x{{ height }}px). Квадратни видео записи нису дозвољени. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Видео је у водоравној оријентацији ({{ width }}x{{ height }} px). Водоравни видео записи нису дозвољени. + Видео је у водоравној оријентацији ({{ width }}x{{ height }}px). Водоравно оријентисани видео записи нису дозвољени. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Видео је у портрет оријентацији ({{ width }}x{{ height }}px). Видео снимци у портрет оријентацији нису дозвољени. + Видео је у портрет оријентацији ({{ width }}x{{ height }}px). Портретно оријентисани видео записи нису дозвољени. The video file is corrupted. - Видео датотека је оштећена. + Видео датотека је оштећена. The video contains multiple streams. Only one stream is allowed. - Видео садржи више токова. Дозвољен је само један ток. + Видео садржи више токова. Дозвољен је само један ток. Unsupported video codec "{{ codec }}". - Неподржан видео кодек „{{ codec }}“. + Неподржан видео кодек „{{ codec }}“. Unsupported video container "{{ container }}". - Неподржан видео контејнер "{{ container }}". + Неподржан видео контејнер „{{ container }}“. The image file is corrupted. - Датотека слике је оштећена. + Датотека слике је оштећена. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Слика има премало пиксела ({{ pixels }}). Очекивани минимални број је {{ min_pixels }}. + Слика има премало пиксела ({{ pixels }}). Очекивани минимум је {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Слика има превише пиксела ({{ pixels }}). Очекивани максимални број је {{ max_pixels }}. + Слика има превише пиксела ({{ pixels }}). Очекивани максимум је {{ max_pixels }}. This filename does not match the expected charset. - Ово име датотеке не одговара очекиваном скупу знакова. + Ово име датотеке не одговара очекиваном скупу знакова. diff --git a/Resources/translations/validators.tl.xlf b/Resources/translations/validators.tl.xlf index 7a25e79ea..fa806ab02 100644 --- a/Resources/translations/validators.tl.xlf +++ b/Resources/translations/validators.tl.xlf @@ -192,7 +192,7 @@ 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 naroroon. + Walang pansamantalang folder na na-configure sa php.ini, o hindi umiiral ang na-configure na folder. Cannot write temporary file to disk. @@ -468,91 +468,91 @@ This value is not a valid Twig template. - Ang halagang ito ay hindi isang balidong Twig template. + Ang halagang ito ay hindi wastong Twig template. This file is not a valid video. - Ang file na ito ay hindi isang wastong video. + Ang file na ito ay hindi wastong video. The size of the video could not be detected. - Hindi matukoy ang laki ng video. + Hindi matukoy ang laki ng video. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Masyadong malaki ang lapad ng video ({{ width }}px). Ang pinahihintulutang pinakamaksimum na lapad ay {{ max_width }}px. + Masyadong malaki ang lapad ng video ({{ width }}px). Ang pinakamalaking pinapayagang lapad ay {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Masyadong maliit ang lapad ng video ({{ width }}px). Inaasahang minimum na lapad ay {{ min_width }}px. + Masyadong maliit ang lapad ng video ({{ width }}px). Ang inaasahang pinakamababang lapad ay {{ min_width }}px. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Sobrang taas ng video ({{ height }}px). Ang pinapahintulutang pinakamataas na taas ay {{ max_height }}px. + Masyadong malaki ang taas ng video ({{ height }}px). Ang pinakamalaking pinapayagang taas ay {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Masyadong maliit ang taas ng video ({{ height }}px). Inaasahang pinakamababang taas ay {{ min_height }}px. + Masyadong maliit ang taas ng video ({{ height }}px). Ang inaasahang pinakamababang taas ay {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Ang video ay may masyadong kaunting pixel ({{ pixels }}). Ang inaasahang pinakamababang dami ay {{ min_pixels }}. + Masyadong kakaunti ang mga pixel ng video ({{ pixels }}). Ang inaasahang pinakamababang bilang ay {{ min_pixels }}. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Ang video ay may masyadong maraming pixel ({{ pixels }}). Ang inaasahang pinakamataas na bilang ay {{ max_pixels }}. + Masyadong marami ang mga pixel ng video ({{ pixels }}). Ang inaasahang pinakamataas na bilang ay {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Masyadong malaki ang ratio ng video ({{ ratio }}). Ang pinahihintulutang pinakamataas na ratio ay {{ max_ratio }}. + Masyadong malaki ang ratio ng video ({{ ratio }}). Ang pinakamalaking pinapayagang ratio ay {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Masyadong maliit ang ratio ng video ({{ ratio }}). Ang inaasahang minimum na ratio ay {{ min_ratio }}. + Masyadong maliit ang ratio ng video ({{ ratio }}). Ang inaasahang pinakamababang ratio ay {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Ang video ay parisukat ({{ width }}x{{ height }}px). Hindi pinapayagan ang mga parisukat na video. + Parisukat ang video ({{ width }}x{{ height }}px). Hindi pinapayagan ang mga parisukat na video. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Ang video ay nasa landscape na oryentasyon ({{ width }}x{{ height }} px). Hindi pinapayagan ang mga landscape na video. + Naka-landscape ang video ({{ width }}x{{ height }}px). Hindi pinapayagan ang mga video na naka-landscape. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Ang video ay naka-portrait ({{ width }}x{{ height }}px). Hindi pinapayagan ang mga video na naka-portrait. + Naka-portrait ang video ({{ width }}x{{ height }}px). Hindi pinapayagan ang mga video na naka-portrait. The video file is corrupted. - Sira ang file ng video. + Sira ang video file. The video contains multiple streams. Only one stream is allowed. - May ilang stream ang video. Isa lamang na stream ang pinapayagan. + Maraming stream ang video. Iisang stream lamang ang pinapayagan. Unsupported video codec "{{ codec }}". - Hindi suportadong video codec "{{ codec }}". + Hindi suportadong video codec "{{ codec }}". Unsupported video container "{{ container }}". - Hindi suportadong lalagyan ng video "{{ container }}". + Hindi suportadong video container "{{ container }}". The image file is corrupted. - Ang file ng larawan ay sira. + Sira ang file ng larawan. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Masyadong kaunti ang pixel ng larawan ({{ pixels }}). Ang inaasahang pinakamababang dami ay {{ min_pixels }}. + Masyadong kakaunti ang mga pixel ng larawan ({{ pixels }}). Ang inaasahang pinakamababang bilang ay {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Ang larawan ay may sobrang daming pixel ({{ pixels }}). Ang inaasahang pinakamataas na dami ay {{ max_pixels }}. + Masyadong marami ang mga pixel ng larawan ({{ pixels }}). Ang inaasahang pinakamataas na bilang ay {{ max_pixels }}. This filename does not match the expected charset. - Ang pangalan ng file na ito ay hindi tumutugma sa inaasahang hanay ng mga character. + Ang pangalan ng file na ito ay hindi tumutugma sa inaasahang charset. diff --git a/Resources/translations/validators.uz.xlf b/Resources/translations/validators.uz.xlf index f86216abb..ff30d039b 100644 --- a/Resources/translations/validators.uz.xlf +++ b/Resources/translations/validators.uz.xlf @@ -136,7 +136,7 @@ This value is not a valid IP address. - Bu qiymat haqiqiy IP manzil emas. + Bu qiymat haqiqiy IP manzil emas. This value is not a valid language. @@ -192,7 +192,7 @@ 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. + php.ini da vaqtinchalik katalog sozlanmagan, yoki sozlangan katalog mavjud emas. Cannot write temporary file to disk. @@ -224,7 +224,7 @@ This value is not a valid International Bank Account Number (IBAN). - Bu qiymat haqiqiy Xalqaro Bank Hisob Raqami (IBAN) emas. + Bu qiymat haqiqiy Xalqaro Bank Hisob Raqami (IBAN) emas. This value is not a valid ISBN-10. @@ -312,7 +312,7 @@ This value is not a valid Business Identifier Code (BIC). - Bu qiymat haqiqiy Biznes Identifikatsiya Kodi (BIC) emas. + Bu qiymat haqiqiy Biznes Identifikatsiya Kodi (BIC) emas. Error @@ -320,7 +320,7 @@ This value is not a valid UUID. - Bu qiymat haqiqiy UUID emas. + Bu qiymat haqiqiy UUID emas. This value should be a multiple of {{ compared_value }}. @@ -432,127 +432,127 @@ The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. - Aniqlangan belgi kodlamasi yaroqsiz ({{ detected }}). Ruxsat etilgan kodlamalar {{ encodings }}. + Aniqlangan belgi kodlamasi yaroqsiz ({{ detected }}). Ruxsat etilgan kodlamalar {{ encodings }}. This value is not a valid MAC address. - Bu qiymat haqiqiy MAC manzil emas. + Bu qiymat haqiqiy MAC manzil emas. This URL is missing a top-level domain. - Bu URL yuqori darajali domenni o'z ichiga olmaydi. + 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. - Bu qiymat juda qisqa. U kamida bitta so'z bo'lishi kerak.|Bu qiymat juda qisqa. U kamida {{ min }} so'z bo'lishi kerak. + Bu qiymat juda qisqa. U kamida bitta so'z bo'lishi kerak.|Bu qiymat juda qisqa. U kamida {{ min }} so'z bo'lishi kerak. This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less. - Bu qiymat juda uzun. U faqat bitta so'z bo'lishi kerak.|Bu qiymat juda uzun. U {{ max }} so'z yoki undan kam bo'lishi kerak. + Bu qiymat juda uzun. U faqat bitta so'z bo'lishi kerak.|Bu qiymat juda uzun. U {{ max }} so'z yoki undan kam bo'lishi kerak. This value does not represent a valid week in the ISO 8601 format. - Bu qiymat ISO 8601 formatida haqiqiy haftaga mos kelmaydi. + Bu qiymat ISO 8601 formatida haqiqiy haftaga mos kelmaydi. This value is not a valid week. - Bu qiymat haqiqiy hafta emas. + Bu qiymat haqiqiy hafta emas. This value should not be before week "{{ min }}". - Bu qiymat "{{ min }}" haftadan oldin bo'lmasligi kerak. + Bu qiymat "{{ min }}" haftadan oldin bo'lmasligi kerak. This value should not be after week "{{ max }}". - Bu qiymat "{{ max }}" haftadan keyin bo'lmasligi kerak. + Bu qiymat "{{ max }}" haftadan keyin bo'lmasligi kerak. This value is not a valid Twig template. - Bu qiymat yaroqli Twig shabloni emas. + Bu qiymat yaroqli Twig shabloni emas. This file is not a valid video. - Ushbu fayl yaroqli video emas. + Ushbu fayl yaroqli video emas. The size of the video could not be detected. - Videoning hajmini aniqlab bo‘lmadi. + Videoning hajmini aniqlab bo‘lmadi. The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. - Video kengligi juda katta ({{ width }}px). Ruxsat etilgan maksimal kenglik {{ max_width }}px. + Video kengligi juda katta ({{ width }}px). Ruxsat etilgan maksimal kenglik {{ max_width }}px. The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. - Video kengligi juda kichik ({{ width }}px). Kutilayotgan minimal kenglik {{ min_width }}px. + Video kengligi juda kichik ({{ width }}px). Kutilayotgan minimal kenglik {{ min_width }}px. The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. - Video balandligi juda katta ({{ height }}px). Ruxsat etilgan maksimal balandlik {{ max_height }}px. + Video balandligi juda katta ({{ height }}px). Ruxsat etilgan maksimal balandlik {{ max_height }}px. The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. - Video balandligi juda kichik ({{ height }}px). Kutilayotgan minimal balandlik {{ min_height }}px. + Video balandligi juda kichik ({{ height }}px). Kutilayotgan minimal balandlik {{ min_height }}px. The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Videoda piksellar soni juda kam ({{ pixels }}). Kutilgan minimal miqdor {{ min_pixels }}. + Videoda piksellar soni juda kam ({{ pixels }}). Kutilgan minimal miqdor {{ min_pixels }}. The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Videoda juda ko‘p piksellar bor ({{ pixels }}). Kutilayotgan maksimal miqdor {{ max_pixels }}. + Videoda juda ko‘p piksellar bor ({{ pixels }}). Kutilayotgan maksimal miqdor {{ max_pixels }}. The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. - Video nisbati juda katta ({{ ratio }}). Ruxsat etilgan maksimal nisbat {{ max_ratio }}. + Video nisbati juda katta ({{ ratio }}). Ruxsat etilgan maksimal nisbat {{ max_ratio }}. The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. - Video nisbati juda kichik ({{ ratio }}). Kutilayotgan minimal nisbat {{ min_ratio }}. + Video nisbati juda kichik ({{ ratio }}). Kutilayotgan minimal nisbat {{ min_ratio }}. The video is square ({{ width }}x{{ height }}px). Square videos are not allowed. - Video kvadrat ({{ width }}x{{ height }}px). Kvadrat videolarga ruxsat berilmaydi. + Video kvadrat ({{ width }}x{{ height }}px). Kvadrat videolarga ruxsat berilmaydi. The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed. - Video gorizontal yo‘nalishda ({{ width }}x{{ height }} px). Gorizontal videolarga ruxsat berilmaydi. + Video gorizontal yo‘nalishda ({{ width }}x{{ height }} px). Gorizontal videolarga ruxsat berilmaydi. The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed. - Video portret yoʻnalishda ({{ width }}x{{ height }}px). Portret yoʻnalishidagi videolarga ruxsat berilmaydi. + Video portret yoʻnalishda ({{ width }}x{{ height }}px). Portret yoʻnalishidagi videolarga ruxsat berilmaydi. The video file is corrupted. - Video fayli buzilgan. + Video fayli buzilgan. The video contains multiple streams. Only one stream is allowed. - Videoda bir nechta oqim mavjud. Faqat bitta oqimga ruxsat beriladi. + Videoda bir nechta oqim mavjud. Faqat bitta oqimga ruxsat beriladi. Unsupported video codec "{{ codec }}". - Qo‘llab-quvvatlanmaydigan video kodek "{{ codec }}". + Qo‘llab-quvvatlanmaydigan video kodek "{{ codec }}". Unsupported video container "{{ container }}". - Qo'llab-quvvatlanmaydigan video konteyner "{{ container }}". + Qo'llab-quvvatlanmaydigan video konteyner "{{ container }}". The image file is corrupted. - Rasm fayli buzilgan. + Rasm fayli buzilgan. The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels. - Tasvirda piksellar juda kam ({{ pixels }}). Kutilayotgan minimal miqdor {{ min_pixels }}. + Tasvirda piksellar juda kam ({{ pixels }}). Kutilayotgan minimal miqdor {{ min_pixels }}. The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels. - Tasvirda juda ko‘p piksel bor ({{ pixels }}). Kutilayotgan maksimal miqdor {{ max_pixels }}. + Tasvirda juda ko‘p piksel bor ({{ pixels }}). Kutilayotgan maksimal miqdor {{ max_pixels }}. This filename does not match the expected charset. - Bu fayl nomi kutilgan belgi to‘plamiga mos kelmaydi. + Bu fayl nomi kutilgan belgi to‘plamiga mos kelmaydi. diff --git a/Test/ConstraintValidatorTestCase.php b/Test/ConstraintValidatorTestCase.php index 0b88525d5..301a58692 100644 --- a/Test/ConstraintValidatorTestCase.php +++ b/Test/ConstraintValidatorTestCase.php @@ -161,19 +161,19 @@ protected function createContext() $contextualValidator ->method('atPath') - ->willReturnCallback(fn ($path) => $contextualValidator->doAtPath($path)); + ->willReturnCallback(static fn ($path) => $contextualValidator->doAtPath($path)); $contextualValidator ->method('validate') - ->willReturnCallback(fn ($value, $constraints = null, $groups = null) => $contextualValidator->doValidate($value, $constraints, $groups)); + ->willReturnCallback(static fn ($value, $constraints = null, $groups = null) => $contextualValidator->doValidate($value, $constraints, $groups)); $contextualValidator ->method('validateProperty') - ->willReturnCallback(fn ($object, $propertyName, $groups = null) => $contextualValidator->validateProperty($object, $propertyName, $groups)); + ->willReturnCallback(static fn ($object, $propertyName, $groups = null) => $contextualValidator->validateProperty($object, $propertyName, $groups)); $contextualValidator ->method('validatePropertyValue') - ->willReturnCallback(fn ($objectOrClass, $propertyName, $value, $groups = null) => $contextualValidator->doValidatePropertyValue($objectOrClass, $propertyName, $value, $groups)); + ->willReturnCallback(static fn ($objectOrClass, $propertyName, $value, $groups = null) => $contextualValidator->doValidatePropertyValue($objectOrClass, $propertyName, $value, $groups)); $contextualValidator ->method('getViolations') - ->willReturnCallback(fn () => $contextualValidator->doGetViolations()); + ->willReturnCallback(static fn () => $contextualValidator->doGetViolations()); $validator ->method('inContext') ->willReturn($contextualValidator); @@ -235,7 +235,7 @@ protected function expectNoValidate() protected function expectValidateAt(int $i, string $propertyPath, mixed $value, string|GroupSequence|array|null $group) { $validator = $this->context->getValidator()->inContext($this->context); - $validator->expectValidation($i, $propertyPath, $value, $group, function ($passedConstraints) { + $validator->expectValidation($i, $propertyPath, $value, $group, static function ($passedConstraints) { $expectedConstraints = LogicalOr::fromConstraints(new IsNull(), new IsIdentical([]), new IsInstanceOf(Valid::class)); Assert::assertThat($passedConstraints, $expectedConstraints); @@ -245,7 +245,7 @@ protected function expectValidateAt(int $i, string $propertyPath, mixed $value, protected function expectValidateValue(int $i, mixed $value, array $constraints = [], string|GroupSequence|array|null $group = null) { $contextualValidator = $this->context->getValidator()->inContext($this->context); - $contextualValidator->expectValidation($i, null, $value, $group, function ($passedConstraints) use ($constraints) { + $contextualValidator->expectValidation($i, null, $value, $group, static function ($passedConstraints) use ($constraints) { if (\is_array($constraints) && !\is_array($passedConstraints)) { $passedConstraints = [$passedConstraints]; } @@ -257,7 +257,7 @@ protected function expectValidateValue(int $i, mixed $value, array $constraints protected function expectFailingValueValidation(int $i, mixed $value, array $constraints, string|GroupSequence|array|null $group, ConstraintViolationInterface $violation) { $contextualValidator = $this->context->getValidator()->inContext($this->context); - $contextualValidator->expectValidation($i, null, $value, $group, function ($passedConstraints) use ($constraints) { + $contextualValidator->expectValidation($i, null, $value, $group, static function ($passedConstraints) use ($constraints) { if (\is_array($constraints) && !\is_array($passedConstraints)) { $passedConstraints = [$passedConstraints]; } @@ -269,7 +269,7 @@ protected function expectFailingValueValidation(int $i, mixed $value, array $con protected function expectValidateValueAt(int $i, string $propertyPath, mixed $value, Constraint|array $constraints, string|GroupSequence|array|null $group = null) { $contextualValidator = $this->context->getValidator()->inContext($this->context); - $contextualValidator->expectValidation($i, $propertyPath, $value, $group, function ($passedConstraints) use ($constraints) { + $contextualValidator->expectValidation($i, $propertyPath, $value, $group, static function ($passedConstraints) use ($constraints) { Assert::assertEquals($constraints, $passedConstraints); }); } diff --git a/Tests/Command/DebugCommandTest.php b/Tests/Command/DebugCommandTest.php index 7cc436607..bcc4587dc 100644 --- a/Tests/Command/DebugCommandTest.php +++ b/Tests/Command/DebugCommandTest.php @@ -32,50 +32,50 @@ public function testOutputWithClassArgument() $this->assertSame(<< "1 + 1 = 2", | -| | | | "message" => "This value is not valid.", | -| | | | "negate" => true, | -| | | | "payload" => null, | -| | | | "values" => [] | -| | | | ] | -| code | property options | | [ | -| | | | "cascadeStrategy" => "None", | -| | | | "autoMappingStrategy" => "None", | -| | | | "traversalStrategy" => "None" | -| | | | ] | -| code | Symfony\Component\Validator\Constraints\NotBlank | Default, DummyClassOne | [ | -| | | | "allowNull" => false, | -| | | | "message" => "This value should not be blank.", | -| | | | "normalizer" => null, | -| | | | "payload" => null | -| | | | ] | -| email | property options | | [ | -| | | | "cascadeStrategy" => "None", | -| | | | "autoMappingStrategy" => "None", | -| | | | "traversalStrategy" => "None" | -| | | | ] | -| email | Symfony\Component\Validator\Constraints\Email | Default, DummyClassOne | [ | -| | | | "message" => "This value is not a valid email address.", | -| | | | "mode" => null, | -| | | | "normalizer" => null, | -| | | | "payload" => null | -| | | | ] | -| dummyClassTwo | property options | | [ | -| | | | "cascadeStrategy" => "Cascade", | -| | | | "autoMappingStrategy" => "None", | -| | | | "traversalStrategy" => "Implicit" | -| | | | ] | -+---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ - -TXT - , $tester->getDisplay(true) + Symfony\Component\Validator\Tests\Dummy\DummyClassOne + ----------------------------------------------------- + + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + | Property | Name | Groups | Options | + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + | - | Symfony\Component\Validator\Constraints\Expression | Default, DummyClassOne | [ | + | | | | "expression" => "1 + 1 = 2", | + | | | | "message" => "This value is not valid.", | + | | | | "negate" => true, | + | | | | "payload" => null, | + | | | | "values" => [] | + | | | | ] | + | code | property options | | [ | + | | | | "cascadeStrategy" => "None", | + | | | | "autoMappingStrategy" => "None", | + | | | | "traversalStrategy" => "None" | + | | | | ] | + | code | Symfony\Component\Validator\Constraints\NotBlank | Default, DummyClassOne | [ | + | | | | "allowNull" => false, | + | | | | "message" => "This value should not be blank.", | + | | | | "normalizer" => null, | + | | | | "payload" => null | + | | | | ] | + | email | property options | | [ | + | | | | "cascadeStrategy" => "None", | + | | | | "autoMappingStrategy" => "None", | + | | | | "traversalStrategy" => "None" | + | | | | ] | + | email | Symfony\Component\Validator\Constraints\Email | Default, DummyClassOne | [ | + | | | | "message" => "This value is not a valid email address.", | + | | | | "mode" => null, | + | | | | "normalizer" => null, | + | | | | "payload" => null | + | | | | ] | + | dummyClassTwo | property options | | [ | + | | | | "cascadeStrategy" => "Cascade", | + | | | | "autoMappingStrategy" => "None", | + | | | | "traversalStrategy" => "Implicit" | + | | | | ] | + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + + TXT, + $tester->getDisplay(true) ); } @@ -88,92 +88,92 @@ public function testOutputWithPathArgument() $this->assertSame(<< "1 + 1 = 2", | -| | | | "message" => "This value is not valid.", | -| | | | "negate" => true, | -| | | | "payload" => null, | -| | | | "values" => [] | -| | | | ] | -| code | property options | | [ | -| | | | "cascadeStrategy" => "None", | -| | | | "autoMappingStrategy" => "None", | -| | | | "traversalStrategy" => "None" | -| | | | ] | -| code | Symfony\Component\Validator\Constraints\NotBlank | Default, DummyClassOne | [ | -| | | | "allowNull" => false, | -| | | | "message" => "This value should not be blank.", | -| | | | "normalizer" => null, | -| | | | "payload" => null | -| | | | ] | -| email | property options | | [ | -| | | | "cascadeStrategy" => "None", | -| | | | "autoMappingStrategy" => "None", | -| | | | "traversalStrategy" => "None" | -| | | | ] | -| email | Symfony\Component\Validator\Constraints\Email | Default, DummyClassOne | [ | -| | | | "message" => "This value is not a valid email address.", | -| | | | "mode" => null, | -| | | | "normalizer" => null, | -| | | | "payload" => null | -| | | | ] | -| dummyClassTwo | property options | | [ | -| | | | "cascadeStrategy" => "Cascade", | -| | | | "autoMappingStrategy" => "None", | -| | | | "traversalStrategy" => "Implicit" | -| | | | ] | -+---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ - -Symfony\Component\Validator\Tests\Dummy\DummyClassTwo ------------------------------------------------------ - -+---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ -| Property | Name | Groups | Options | -+---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ -| - | Symfony\Component\Validator\Constraints\Expression | Default, DummyClassTwo | [ | -| | | | "expression" => "1 + 1 = 2", | -| | | | "message" => "This value is not valid.", | -| | | | "negate" => true, | -| | | | "payload" => null, | -| | | | "values" => [] | -| | | | ] | -| code | property options | | [ | -| | | | "cascadeStrategy" => "None", | -| | | | "autoMappingStrategy" => "None", | -| | | | "traversalStrategy" => "None" | -| | | | ] | -| code | Symfony\Component\Validator\Constraints\NotBlank | Default, DummyClassTwo | [ | -| | | | "allowNull" => false, | -| | | | "message" => "This value should not be blank.", | -| | | | "normalizer" => null, | -| | | | "payload" => null | -| | | | ] | -| email | property options | | [ | -| | | | "cascadeStrategy" => "None", | -| | | | "autoMappingStrategy" => "None", | -| | | | "traversalStrategy" => "None" | -| | | | ] | -| email | Symfony\Component\Validator\Constraints\Email | Default, DummyClassTwo | [ | -| | | | "message" => "This value is not a valid email address.", | -| | | | "mode" => null, | -| | | | "normalizer" => null, | -| | | | "payload" => null | -| | | | ] | -| dummyClassOne | property options | | [ | -| | | | "cascadeStrategy" => "None", | -| | | | "autoMappingStrategy" => "Disabled", | -| | | | "traversalStrategy" => "None" | -| | | | ] | -+---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ - -TXT - , $tester->getDisplay(true) + Symfony\Component\Validator\Tests\Dummy\DummyClassOne + ----------------------------------------------------- + + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + | Property | Name | Groups | Options | + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + | - | Symfony\Component\Validator\Constraints\Expression | Default, DummyClassOne | [ | + | | | | "expression" => "1 + 1 = 2", | + | | | | "message" => "This value is not valid.", | + | | | | "negate" => true, | + | | | | "payload" => null, | + | | | | "values" => [] | + | | | | ] | + | code | property options | | [ | + | | | | "cascadeStrategy" => "None", | + | | | | "autoMappingStrategy" => "None", | + | | | | "traversalStrategy" => "None" | + | | | | ] | + | code | Symfony\Component\Validator\Constraints\NotBlank | Default, DummyClassOne | [ | + | | | | "allowNull" => false, | + | | | | "message" => "This value should not be blank.", | + | | | | "normalizer" => null, | + | | | | "payload" => null | + | | | | ] | + | email | property options | | [ | + | | | | "cascadeStrategy" => "None", | + | | | | "autoMappingStrategy" => "None", | + | | | | "traversalStrategy" => "None" | + | | | | ] | + | email | Symfony\Component\Validator\Constraints\Email | Default, DummyClassOne | [ | + | | | | "message" => "This value is not a valid email address.", | + | | | | "mode" => null, | + | | | | "normalizer" => null, | + | | | | "payload" => null | + | | | | ] | + | dummyClassTwo | property options | | [ | + | | | | "cascadeStrategy" => "Cascade", | + | | | | "autoMappingStrategy" => "None", | + | | | | "traversalStrategy" => "Implicit" | + | | | | ] | + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + + Symfony\Component\Validator\Tests\Dummy\DummyClassTwo + ----------------------------------------------------- + + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + | Property | Name | Groups | Options | + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + | - | Symfony\Component\Validator\Constraints\Expression | Default, DummyClassTwo | [ | + | | | | "expression" => "1 + 1 = 2", | + | | | | "message" => "This value is not valid.", | + | | | | "negate" => true, | + | | | | "payload" => null, | + | | | | "values" => [] | + | | | | ] | + | code | property options | | [ | + | | | | "cascadeStrategy" => "None", | + | | | | "autoMappingStrategy" => "None", | + | | | | "traversalStrategy" => "None" | + | | | | ] | + | code | Symfony\Component\Validator\Constraints\NotBlank | Default, DummyClassTwo | [ | + | | | | "allowNull" => false, | + | | | | "message" => "This value should not be blank.", | + | | | | "normalizer" => null, | + | | | | "payload" => null | + | | | | ] | + | email | property options | | [ | + | | | | "cascadeStrategy" => "None", | + | | | | "autoMappingStrategy" => "None", | + | | | | "traversalStrategy" => "None" | + | | | | ] | + | email | Symfony\Component\Validator\Constraints\Email | Default, DummyClassTwo | [ | + | | | | "message" => "This value is not a valid email address.", | + | | | | "mode" => null, | + | | | | "normalizer" => null, | + | | | | "payload" => null | + | | | | ] | + | dummyClassOne | property options | | [ | + | | | | "cascadeStrategy" => "None", | + | | | | "autoMappingStrategy" => "Disabled", | + | | | | "traversalStrategy" => "None" | + | | | | ] | + +---------------+----------------------------------------------------+------------------------+------------------------------------------------------------+ + + TXT, + $tester->getDisplay(true) ); } @@ -185,9 +185,9 @@ public function testOutputWithInvalidClassArgument() $tester->execute(['class' => 'App\\NotFoundResource'], ['decorated' => false]); $this->assertStringContainsString(<<getDisplay(true) + Neither class nor path were found with "App\NotFoundResource" argument. + TXT, + $tester->getDisplay(true) ); } } diff --git a/Tests/ConstraintViolationListTest.php b/Tests/ConstraintViolationListTest.php index 0d22bd85e..09d4738d5 100644 --- a/Tests/ConstraintViolationListTest.php +++ b/Tests/ConstraintViolationListTest.php @@ -107,18 +107,18 @@ public function testToString() ]); $expected = <<<'EOF' -Root: - Error 1 -Root.foo.bar: - Error 2 -Root[baz]: - Error 3 -foo.bar: - Error 4 -[baz]: - Error 5 - -EOF; + Root: + Error 1 + Root.foo.bar: + Error 2 + Root[baz]: + Error 3 + foo.bar: + Error 4 + [baz]: + Error 5 + + EOF; $this->assertEquals($expected, (string) $this->list); } diff --git a/Tests/ConstraintViolationTest.php b/Tests/ConstraintViolationTest.php index dbac96a8a..2df314885 100644 --- a/Tests/ConstraintViolationTest.php +++ b/Tests/ConstraintViolationTest.php @@ -30,9 +30,9 @@ public function testToStringHandlesArrays() ); $expected = <<<'EOF' -Root.property.path: - Array -EOF; + Root.property.path: + Array + EOF; $this->assertSame($expected, (string) $violation); } @@ -49,9 +49,9 @@ public function testToStringHandlesArrayRoots() ); $expected = <<<'EOF' -Array.some_value: - 42 cannot be used here -EOF; + Array.some_value: + 42 cannot be used here + EOF; $this->assertSame($expected, (string) $violation); } @@ -70,9 +70,9 @@ public function testToStringHandlesCodes() ); $expected = <<<'EOF' -Array.some_value: - 42 cannot be used here (code 0) -EOF; + Array.some_value: + 42 cannot be used here (code 0) + EOF; $this->assertSame($expected, (string) $violation); } @@ -80,9 +80,9 @@ public function testToStringHandlesCodes() public function testToStringOmitsEmptyCodes() { $expected = <<<'EOF' -Array.some_value: - 42 cannot be used here -EOF; + Array.some_value: + 42 cannot be used here + EOF; $violation = new ConstraintViolation( '42 cannot be used here', @@ -124,9 +124,9 @@ public function testMessageCanBeStringableObject() ); $expected = <<<'EOF' -Root.property.path: - toString -EOF; + Root.property.path: + toString + EOF; $this->assertSame($expected, (string) $violation); $this->assertSame($message, $violation->getMessage()); } diff --git a/Tests/Constraints/CallbackValidatorTest.php b/Tests/Constraints/CallbackValidatorTest.php index 084b192b6..0b8e8e081 100644 --- a/Tests/Constraints/CallbackValidatorTest.php +++ b/Tests/Constraints/CallbackValidatorTest.php @@ -98,7 +98,7 @@ public function testSingleStaticMethod() public function testClosure() { $object = new CallbackValidatorTest_Object(); - $constraint = new Callback(function ($object, ExecutionContextInterface $context) { + $constraint = new Callback(static function ($object, ExecutionContextInterface $context) { $context->addViolation('My message', ['{{ value }}' => 'foobar']); return false; @@ -113,7 +113,7 @@ public function testClosure() public function testClosureNullObject() { - $constraint = new Callback(function ($object, ExecutionContextInterface $context) { + $constraint = new Callback(static function ($object, ExecutionContextInterface $context) { $context->addViolation('My message', ['{{ value }}' => 'foobar']); return false; @@ -130,7 +130,7 @@ public function testClosureExplicitName() { $object = new CallbackValidatorTest_Object(); $constraint = new Callback([ - 'callback' => function ($object, ExecutionContextInterface $context) { + 'callback' => static function ($object, ExecutionContextInterface $context) { $context->addViolation('My message', ['{{ value }}' => 'foobar']); return false; @@ -231,7 +231,7 @@ public function testPayloadIsPassedToCallback() { $object = new \stdClass(); $payloadCopy = 'Replace me!'; - $callback = function ($object, ExecutionContextInterface $constraint, $payload) use (&$payloadCopy) { + $callback = static function ($object, ExecutionContextInterface $constraint, $payload) use (&$payloadCopy) { $payloadCopy = $payload; }; diff --git a/Tests/Constraints/ChoiceValidatorTest.php b/Tests/Constraints/ChoiceValidatorTest.php index a78a2bfa5..0de3cd4d9 100644 --- a/Tests/Constraints/ChoiceValidatorTest.php +++ b/Tests/Constraints/ChoiceValidatorTest.php @@ -111,11 +111,11 @@ public static function provideConstraintsWithCallbackFunction(): iterable { yield 'doctrine style, namespaced function' => [new Choice(['callback' => __NAMESPACE__.'\choice_callback'])]; yield 'doctrine style, closure' => [new Choice([ - 'callback' => fn () => ['foo', 'bar'], + 'callback' => static fn () => ['foo', 'bar'], ])]; yield 'doctrine style, static method' => [new Choice(['callback' => [__CLASS__, 'staticCallback']])]; yield 'named arguments, namespaced function' => [new Choice(callback: __NAMESPACE__.'\choice_callback')]; - yield 'named arguments, closure' => [new Choice(callback: fn () => ['foo', 'bar'])]; + yield 'named arguments, closure' => [new Choice(callback: static fn () => ['foo', 'bar'])]; yield 'named arguments, static method' => [new Choice(callback: [__CLASS__, 'staticCallback'])]; } diff --git a/Tests/Constraints/ExpressionValidatorTest.php b/Tests/Constraints/ExpressionValidatorTest.php index a0e2bd6ac..4cc998e43 100644 --- a/Tests/Constraints/ExpressionValidatorTest.php +++ b/Tests/Constraints/ExpressionValidatorTest.php @@ -263,7 +263,7 @@ public function testExpressionLanguageUsage() $used = false; $expressionLanguage->method('evaluate') - ->willReturnCallback(function () use (&$used) { + ->willReturnCallback(static function () use (&$used) { $used = true; return true; diff --git a/Tests/Constraints/NotCompromisedPasswordValidatorTest.php b/Tests/Constraints/NotCompromisedPasswordValidatorTest.php index 4c34d1ec5..9a583e7c4 100644 --- a/Tests/Constraints/NotCompromisedPasswordValidatorTest.php +++ b/Tests/Constraints/NotCompromisedPasswordValidatorTest.php @@ -225,7 +225,7 @@ public static function provideErrorSkippingConstraints(): iterable private function createHttpClientStub(?string $returnValue = null): HttpClientInterface { - return new MockHttpClient(function ($method, $url) use ($returnValue) { + return new MockHttpClient(static function ($method, $url) use ($returnValue) { if (self::PASSWORD_TRIGGERING_AN_ERROR_RANGE_URL !== $url) { return new MockResponse($returnValue ?? implode("\r\n", self::RETURN)); } diff --git a/Tests/Constraints/TimezoneValidatorTest.php b/Tests/Constraints/TimezoneValidatorTest.php index c4127c920..8e74c2f0a 100644 --- a/Tests/Constraints/TimezoneValidatorTest.php +++ b/Tests/Constraints/TimezoneValidatorTest.php @@ -276,7 +276,7 @@ public function testDeprecatedTimezonesAreValidWithBC(string $timezone) { // Skip test if the timezone is not available in the current timezone database if (!\in_array($timezone, \DateTimeZone::listIdentifiers(\DateTimeZone::ALL_WITH_BC), true)) { - $this->markTestSkipped(sprintf('Timezone "%s" is not available in the current timezone database', $timezone)); + $this->markTestSkipped(\sprintf('Timezone "%s" is not available in the current timezone database', $timezone)); } $constraint = new Timezone(\DateTimeZone::ALL_WITH_BC); diff --git a/Tests/Fixtures/EntityWithHook.php b/Tests/Fixtures/EntityWithHook.php new file mode 100644 index 000000000..8fadce306 --- /dev/null +++ b/Tests/Fixtures/EntityWithHook.php @@ -0,0 +1,31 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Validator\Tests\Fixtures; + +class EntityWithHook +{ + public string $name; + + protected int $id = 1; + + protected string $withHook { + get { + $this->withHook ??= strtolower($this->name); + + return $this->withHook; + } + } + + protected string $withHookOnSelf { + get => strtolower($this->withHookOnSelf); + } +} diff --git a/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php b/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php index 6a7d02edf..4bf201d59 100644 --- a/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php +++ b/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php @@ -126,7 +126,7 @@ public function testMetadataCacheWithRuntimeConstraint() $factory = new LazyLoadingMetadataFactory(new TestLoader(), $cache); $metadata = $factory->getMetadataFor(self::PARENT_CLASS); - $metadata->addConstraint(new Callback(function () {})); + $metadata->addConstraint(new Callback(static function () {})); $this->assertCount(3, $metadata->getConstraints()); diff --git a/Tests/Mapping/PropertyMetadataTest.php b/Tests/Mapping/PropertyMetadataTest.php index bacd572c9..e0cd50c3c 100644 --- a/Tests/Mapping/PropertyMetadataTest.php +++ b/Tests/Mapping/PropertyMetadataTest.php @@ -16,6 +16,7 @@ use Symfony\Component\Validator\Mapping\PropertyMetadata; use Symfony\Component\Validator\Tests\Fixtures\Entity_74; use Symfony\Component\Validator\Tests\Fixtures\Entity_74_Proxy; +use Symfony\Component\Validator\Tests\Fixtures\EntityWithHook; use Symfony\Component\Validator\Tests\Fixtures\NestedAttribute\Entity; use Symfony\Component\Validator\Tests\Fixtures\NestedAttribute\EntityParent; @@ -77,4 +78,39 @@ public function testGetPropertyValueFromUninitializedPropertyShouldNotReturnNull $this->assertNull($notUnsetMetadata->getPropertyValue($entity)); $this->assertEquals(42, $metadata->getPropertyValue($entity)); } + + /** + * @requires PHP 8.4 + */ + public function testGetPropertyValueFromUninitializedPropertyShouldUseHookIfPresent() + { + $entity = new EntityWithHook(); + $entity->name = 'FOOBAR'; + $metadata = new PropertyMetadata(EntityWithHook::class, 'withHook'); + + $this->assertEquals('foobar', $metadata->getPropertyValue($entity)); + } + + /** + * @requires PHP 8.4 + */ + public function testGetPropertyValueFromUninitializedPropertyShouldReturnNullIfHookFails() + { + $entity = new EntityWithHook(); + // $withHook uses $entity->name but it's not initialized + $metadata = new PropertyMetadata(EntityWithHook::class, 'withHook'); + + $this->assertNull($metadata->getPropertyValue($entity)); + } + + /** + * @requires PHP 8.4 + */ + public function testGetPropertyValueFromUninitializedPropertyWithHookReferencingItself() + { + $entity = new EntityWithHook(); + $metadata = new PropertyMetadata(EntityWithHook::class, 'withHookOnSelf'); + + $this->assertNull($metadata->getPropertyValue($entity)); + } } diff --git a/Tests/Resources/TranslationFilesTest.php b/Tests/Resources/TranslationFilesTest.php index 326ed4fc4..46f0a398a 100644 --- a/Tests/Resources/TranslationFilesTest.php +++ b/Tests/Resources/TranslationFilesTest.php @@ -45,7 +45,7 @@ public function testTranslationFileIsValidWithoutEntityLoader($filePath) public static function provideTranslationFiles() { return array_map( - fn ($filePath) => (array) $filePath, + static fn ($filePath) => (array) $filePath, glob(\dirname(__DIR__, 2).'/Resources/translations/*.xlf') ); } diff --git a/Tests/Validator/RecursiveValidatorTest.php b/Tests/Validator/RecursiveValidatorTest.php index e02023ab9..7e2b74536 100644 --- a/Tests/Validator/RecursiveValidatorTest.php +++ b/Tests/Validator/RecursiveValidatorTest.php @@ -627,12 +627,12 @@ public function testOnlyCascadedArraysAreTraversed() $entity = new Entity(); $entity->reference = ['key' => new Reference()]; - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message %param%', ['%param%' => 'value']); }; $this->metadata->addPropertyConstraint('reference', new Callback([ - 'callback' => function () {}, + 'callback' => static function () {}, 'groups' => 'Group', ])); $this->referenceMetadata->addConstraint(new Callback([ @@ -654,7 +654,7 @@ public function testArrayTraversalCannotBeDisabled($constraintMethod) $entity = new Entity(); $entity->reference = ['key' => new Reference()]; - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message %param%', ['%param%' => 'value']); }; @@ -677,7 +677,7 @@ public function testRecursiveArrayTraversalCannotBeDisabled($constraintMethod) $entity = new Entity(); $entity->reference = [2 => ['key' => new Reference()]]; - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message %param%', ['%param%' => 'value']); }; @@ -768,7 +768,7 @@ public function testDisableTraversableTraversal() $entity = new Entity(); $entity->reference = new \ArrayIterator(['key' => new Reference()]); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message %param%', ['%param%' => 'value']); }; @@ -860,7 +860,7 @@ public function testValidateProperty() $context->addViolation('Message %param%', ['%param%' => 'value']); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Other violation'); }; @@ -918,7 +918,7 @@ public function testValidatePropertyValue() $context->addViolation('Message %param%', ['%param%' => 'value']); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Other violation'); }; @@ -967,7 +967,7 @@ public function testValidatePropertyValueWithClassName() $context->addViolation('Message %param%', ['%param%' => 'value']); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Other violation'); }; @@ -1016,7 +1016,7 @@ public function testValidateObjectOnlyOncePerGroup() $entity->reference = new Reference(); $entity->reference2 = $entity->reference; - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message'); }; @@ -1036,7 +1036,7 @@ public function testValidateDifferentObjectsSeparately() $entity->reference = new Reference(); $entity->reference2 = new Reference(); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message'); }; @@ -1054,7 +1054,7 @@ public function testValidateSingleGroup() { $entity = new Entity(); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message'); }; @@ -1077,7 +1077,7 @@ public function testValidateMultipleGroups() { $entity = new Entity(); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message'); }; @@ -1100,15 +1100,15 @@ public function testReplaceDefaultGroupByGroupSequenceObject() { $entity = new Entity(); - $callback1 = function ($value, ExecutionContextInterface $context) { + $callback1 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in Group 2'); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in Group 3'); }; $this->metadata->addConstraint(new Callback([ - 'callback' => function () {}, + 'callback' => static function () {}, 'groups' => 'Group 1', ])); $this->metadata->addConstraint(new Callback([ @@ -1134,15 +1134,15 @@ public function testReplaceDefaultGroupByGroupSequenceArray() { $entity = new Entity(); - $callback1 = function ($value, ExecutionContextInterface $context) { + $callback1 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in Group 2'); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in Group 3'); }; $this->metadata->addConstraint(new Callback([ - 'callback' => function () {}, + 'callback' => static function () {}, 'groups' => 'Group 1', ])); $this->metadata->addConstraint(new Callback([ @@ -1169,10 +1169,10 @@ public function testPropagateDefaultGroupToReferenceWhenReplacingDefaultGroup() $entity = new Entity(); $entity->reference = new Reference(); - $callback1 = function ($value, ExecutionContextInterface $context) { + $callback1 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in Default group'); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in group sequence'); }; @@ -1200,10 +1200,10 @@ public function testValidateCustomGroupWhenDefaultGroupWasReplaced() { $entity = new Entity(); - $callback1 = function ($value, ExecutionContextInterface $context) { + $callback1 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in other group'); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in group sequence'); }; @@ -1233,16 +1233,16 @@ public function testReplaceDefaultGroup($sequence, array $assertViolations) { $entity = new GroupSequenceProviderEntity($sequence); - $callback1 = function ($value, ExecutionContextInterface $context) { + $callback1 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in Group 2'); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Violation in Group 3'); }; $metadata = new ClassMetadata($entity::class); $metadata->addConstraint(new Callback([ - 'callback' => function () {}, + 'callback' => static function () {}, 'groups' => 'Group 1', ])); $metadata->addConstraint(new Callback([ @@ -1339,15 +1339,15 @@ public function testGroupSequenceAbortsAfterFailedGroup() { $entity = new Entity(); - $callback1 = function ($value, ExecutionContextInterface $context) { + $callback1 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message 1'); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message 2'); }; $this->metadata->addConstraint(new Callback([ - 'callback' => function () {}, + 'callback' => static function () {}, 'groups' => 'Group 1', ])); $this->metadata->addConstraint(new Callback([ @@ -1372,10 +1372,10 @@ public function testGroupSequenceIncludesReferences() $entity = new Entity(); $entity->reference = new Reference(); - $callback1 = function ($value, ExecutionContextInterface $context) { + $callback1 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Reference violation 1'); }; - $callback2 = function ($value, ExecutionContextInterface $context) { + $callback2 = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Reference violation 2'); }; @@ -1625,7 +1625,7 @@ public function testTraversalEnabledOnClass() $entity = new Entity(); $traversable = new \ArrayIterator(['key' => $entity]); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message'); }; @@ -1804,7 +1804,7 @@ public function testTypedReferenceCascadeEnabled() $entity = new CascadingEntity(); $entity->requiredChild = new CascadedChild(); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->buildViolation('Invalid child') ->atPath('name') ->addViolation() @@ -1834,7 +1834,7 @@ public function testAddCustomizedViolation() { $entity = new Entity(); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->buildViolation('Message %param%') ->setParameter('%param%', 'value') ->setInvalidValue('Invalid value') @@ -1863,7 +1863,7 @@ public function testNoDuplicateValidationIfClassConstraintInMultipleGroups() { $entity = new Entity(); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message'); }; @@ -1882,7 +1882,7 @@ public function testNoDuplicateValidationIfPropertyConstraintInMultipleGroups() { $entity = new Entity(); - $callback = function ($value, ExecutionContextInterface $context) { + $callback = static function ($value, ExecutionContextInterface $context) { $context->addViolation('Message'); }; @@ -1936,7 +1936,7 @@ public function testInitializeObjectsOnFirstValidation() $initializer1->expects($this->once()) ->method('initialize') ->with($entity) - ->willReturnCallback(function ($object) { + ->willReturnCallback(static function ($object) { $object->initialized = true; });