diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 146b9822ff..ec97d42d4b 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -20,12 +20,12 @@ Symfony is the result of the work of many people who made the code better
- Johannes S (johannes)
- Javier Eguiluz (javier.eguiluz)
- Kris Wallsmith (kriswallsmith)
- - Grégoire Pineau (lyrixx)
- Roland Franssen (ro0)
+ - Grégoire Pineau (lyrixx)
- Hugo Hamon (hhamon)
- Abdellatif Ait boudad (aitboudad)
- - Romain Neutron (romain)
- Samuel ROZE (sroze)
+ - Romain Neutron (romain)
- Pascal Borreli (pborreli)
- Wouter De Jong (wouterj)
- Joseph Bielawski (stloyd)
@@ -40,8 +40,8 @@ Symfony is the result of the work of many people who made the code better
- Igor Wiedler (igorw)
- Eriksen Costa (eriksencosta)
- Guilhem Niot (energetick)
- - Sarah Khalil (saro0h)
- Hamza Amrouche (simperfit)
+ - Sarah Khalil (saro0h)
- Jonathan Wage (jwage)
- Tobias Nyholm (tobias)
- Lynn van der Berg (kjarli)
@@ -68,10 +68,10 @@ Symfony is the result of the work of many people who made the code better
- Gábor Egyed (1ed)
- Bilal Amarni (bamarni)
- Titouan Galopin (tgalopin)
+ - Grégoire Paris (greg0ire)
- Mathieu Piot (mpiot)
- David Maicher (dmaicher)
- Florin Patan (florinpatan)
- - Grégoire Paris (greg0ire)
- Gabriel Ostrolucký (gadelat)
- Valentin Udaltsov (vudaltsov)
- Vladimir Reznichenko (kalessil)
@@ -93,6 +93,7 @@ Symfony is the result of the work of many people who made the code better
- Brandon Turner
- Luis Cordova (cordoval)
- Graham Campbell (graham)
+ - David Buchmann (dbu)
- Daniel Holmes (dholmes)
- Toni Uebernickel (havvg)
- Bart van den Burg (burgov)
@@ -101,7 +102,6 @@ Symfony is the result of the work of many people who made the code better
- John Wards (johnwards)
- Thomas Calvet (fancyweb)
- Fran Moreno (franmomu)
- - David Buchmann (dbu)
- Antoine Hérault (herzult)
- Paráda József (paradajozsef)
- Arnaud Le Blanc (arnaud-lb)
@@ -142,6 +142,7 @@ Symfony is the result of the work of many people who made the code better
- Alex Pott
- Vincent AUBERT (vincent)
- Juti Noppornpitak (shiroyuki)
+ - Teoh Han Hui (teohhanhui)
- Anthony MARTIN (xurudragon)
- Tigran Azatyan (tigranazatyan)
- Sebastian Hörl (blogsh)
@@ -151,7 +152,6 @@ Symfony is the result of the work of many people who made the code better
- Arnaud Kleinpeter (nanocom)
- Jannik Zschiesche (apfelbox)
- Guilherme Blanco (guilhermeblanco)
- - Teoh Han Hui (teohhanhui)
- SpacePossum
- Pablo Godel (pgodel)
- Jérémie Augustin (jaugustin)
@@ -181,6 +181,7 @@ Symfony is the result of the work of many people who made the code better
- Artur Kotyrba
- Tyson Andre
- GDIBass
+ - Jan Schädlich (jschaedl)
- jeremyFreeAgent (Jérémy Romey) (jeremyfreeagent)
- James Halsall (jaitsu)
- Matthieu Napoli (mnapoli)
@@ -192,6 +193,7 @@ Symfony is the result of the work of many people who made the code better
- Daniel Espendiller
- Possum
- Dorian Villet (gnutix)
+ - George Mponos (gmponos)
- Sergey Linnik (linniksa)
- Richard Miller (mr_r_miller)
- Albert Casademont (acasademont)
@@ -199,6 +201,7 @@ Symfony is the result of the work of many people who made the code better
- Dennis Benkert (denderello)
- DQNEO
- Samuel NELA (snela)
+ - Alexander Schranz (alexander-schranz)
- Gregor Harlan (gharlan)
- Gary PEGEOT (gary-p)
- Ruben Gonzalez (rubenrua)
@@ -213,7 +216,6 @@ Symfony is the result of the work of many people who made the code better
- bronze1man
- sun (sun)
- Larry Garfield (crell)
- - George Mponos (gmponos)
- Michaël Perrin (michael.perrin)
- Nikolay Labinskiy (e-moe)
- Martin Schuhfuß (usefulthink)
@@ -225,7 +227,6 @@ Symfony is the result of the work of many people who made the code better
- Dominique Bongiraud
- Jeremy Livingston (jeremylivingston)
- Vincent Touzet (vincenttouzet)
- - Jan Schädlich (jschaedl)
- Michael Lee (zerustech)
- Matthieu Auger (matthieuauger)
- Leszek Prabucki (l3l0)
@@ -237,7 +238,6 @@ Symfony is the result of the work of many people who made the code better
- Andreas Schempp (aschempp)
- Justin Hileman (bobthecow)
- Blanchon Vincent (blanchonvincent)
- - Alexander Schranz (alexander-schranz)
- Michele Orselli (orso)
- Sven Paulus (subsven)
- Maxime Veber (nek-)
@@ -303,12 +303,14 @@ Symfony is the result of the work of many people who made the code better
- Bob den Otter (bopp)
- Thomas Schulz (king2500)
- Frank de Jonge (frenkynet)
+ - Andre Rømcke (andrerom)
- Nikita Konstantinov
- Wodor Wodorski
- Thomas Lallement (raziel057)
- mcfedr (mcfedr)
- Colin O'Dell (colinodell)
- Giorgio Premi
+ - renanbr
- Alex Rock (pierstoval)
- Ben Davies (bendavies)
- Beau Simensen (simensen)
@@ -371,7 +373,6 @@ Symfony is the result of the work of many people who made the code better
- Ricard Clau (ricardclau)
- Mark Challoner (markchalloner)
- Gennady Telegin (gtelegin)
- - renanbr
- Erin Millard
- Artur Melo (restless)
- Matthew Lewinski (lewinski)
@@ -380,7 +381,6 @@ Symfony is the result of the work of many people who made the code better
- Nicolas LEFEVRE (nicoweb)
- alquerci
- Mateusz Sip (mateusz_sip)
- - Andre Rømcke (andrerom)
- Francesco Levorato
- Dmitrii Poddubnyi (karser)
- Vitaliy Zakharov (zakharovvi)
@@ -391,6 +391,7 @@ Symfony is the result of the work of many people who made the code better
- Tomasz Kowalczyk (thunderer)
- Artur Eshenbrener
- Andreas Braun
+ - Arjen van der Meijden
- Damien Alexandre (damienalexandre)
- Thomas Perez (scullwm)
- Felix Labrecque
@@ -411,6 +412,7 @@ Symfony is the result of the work of many people who made the code better
- Grzegorz (Greg) Zdanowski (kiler129)
- Iker Ibarguren (ikerib)
- Kirill chEbba Chebunin (chebba)
+ - Stadly
- Greg Thornton (xdissent)
- Quynh Xuan Nguyen (xuanquynh)
- Martin Hujer (martinhujer)
@@ -558,10 +560,10 @@ Symfony is the result of the work of many people who made the code better
- Jakub Škvára (jskvara)
- Andrew Udvare (audvare)
- alexpods
- - Arjen van der Meijden
- Adam Szaraniec (mimol)
- Dariusz Ruminski
- Erik Trapman (eriktrapman)
+ - Rokas Mikalkėnas (rokasm)
- De Cock Xavier (xdecock)
- Almog Baku (almogbaku)
- Scott Arciszewski
@@ -806,7 +808,6 @@ Symfony is the result of the work of many people who made the code better
- John Bohn (jbohn)
- Marc Morera (mmoreram)
- Saif Eddin Gmati (azjezz)
- - Stadly
- Andrew Hilobok (hilobok)
- Noah Heck (myesain)
- Christian Soronellas (theunic)
@@ -960,7 +961,6 @@ Symfony is the result of the work of many people who made the code better
- Benoît Merlet (trompette)
- Koen Kuipers
- datibbaw
- - Rokas Mikalkėnas (rokasm)
- Erik Saunier (snickers)
- Rootie
- Kyle
@@ -968,6 +968,7 @@ Symfony is the result of the work of many people who made the code better
- sensio
- Chris Tanaskoski
- Thomas Jarrand
+ - Antoine Bluchet (soyuka)
- Sebastien Morel (plopix)
- Patrick Kaufmann
- Anton Dyshkant
@@ -1009,6 +1010,7 @@ Symfony is the result of the work of many people who made the code better
- Joost van Driel
- Icode4Food (icode4food)
- Radosław Benkel
+ - EStyles (insidestyles)
- kevin.nadin
- jean pasqualini (darkilliant)
- Ross Motley (rossmotley)
@@ -1035,6 +1037,7 @@ Symfony is the result of the work of many people who made the code better
- Ashura
- Hryhorii Hrebiniuk
- johnstevenson
+ - Antonio Pauletich (x-coder264)
- hamza
- dantleech
- Bastien DURAND (deamon)
@@ -1054,6 +1057,7 @@ Symfony is the result of the work of many people who made the code better
- chispita
- Wojciech Sznapka
- Gavin Staniforth
+ - Ksaveras Šakys (xawiers)
- Ariel J. Birnbaum
- Danijel Obradović
- Pablo Borowicz
@@ -1078,6 +1082,7 @@ Symfony is the result of the work of many people who made the code better
- Mert Simsek (mrtsmsk0)
- Lin Clark
- Jeremy David (jeremy.david)
+ - Jordi Rejas
- Troy McCabe
- Ville Mattila
- ilyes kooli
@@ -1204,6 +1209,7 @@ Symfony is the result of the work of many people who made the code better
- antograssiot
- Ilya Vertakov
- Brooks Boyd
+ - johnillo
- Roger Webb
- Dmitriy Simushev
- Pawel Smolinski
@@ -1272,6 +1278,7 @@ Symfony is the result of the work of many people who made the code better
- Lars Ambrosius Wallenborn (larsborn)
- Oriol Mangas Abellan (oriolman)
- Sebastian Göttschkes (sgoettschkes)
+ - Toni Peric (tperic)
- Tatsuya Tsuruoka
- Ross Tuck
- Andreas Erhard
@@ -1407,6 +1414,7 @@ Symfony is the result of the work of many people who made the code better
- Jon Gotlin (jongotlin)
- Michael Dowling (mtdowling)
- Karlos Presumido (oneko)
+ - Tony Vermeiren (tony)
- Thomas Counsell
- BilgeXA
- r1pp3rj4ck
@@ -1519,6 +1527,7 @@ Symfony is the result of the work of many people who made the code better
- Francisco Facioni (fran6co)
- Iwan van Staveren (istaveren)
- Povilas S. (povilas)
+ - Laurent Negre (raulnet)
- Evrard Boulou
- pborreli
- Boris Betzholz
@@ -1716,6 +1725,7 @@ Symfony is the result of the work of many people who made the code better
- Dmitriy Fedorenko
- vlakoff
- bertillon
+ - thib92
- Rudolf Ratusiński
- Bertalan Attila
- AmsTaFF (amstaff)
@@ -1882,6 +1892,7 @@ Symfony is the result of the work of many people who made the code better
- Yorkie Chadwick (yorkie76)
- GuillaumeVerdon
- Philipp Keck
+ - Angel Fernando Quiroz Campos
- Ondrej Mirtes
- akimsko
- Youpie
@@ -2129,6 +2140,7 @@ Symfony is the result of the work of many people who made the code better
- samuel laulhau (lalop)
- Laurent Bachelier (laurentb)
- Luís Cobucci (lcobucci)
+ - Mehdi Achour (machour)
- Marcos Gómez Vilches (markitosgv)
- Matthieu Mota (matthieumota)
- Matthieu Moquet (mattketmo)
diff --git a/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php b/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php
index 35cf31fbf9..d1424b7811 100644
--- a/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php
+++ b/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php
@@ -282,7 +282,7 @@ class ProfilerController
$this->profiler->disable();
- $ip = preg_replace('/[^:\d\.]/', '', $request->query->get('ip'));
+ $ip = $request->query->get('ip');
$method = $request->query->get('method');
$statusCode = $request->query->get('status_code');
$url = $request->query->get('url');
diff --git a/src/Symfony/Component/Console/Helper/QuestionHelper.php b/src/Symfony/Component/Console/Helper/QuestionHelper.php
index b8b76833a6..09e2848607 100644
--- a/src/Symfony/Component/Console/Helper/QuestionHelper.php
+++ b/src/Symfony/Component/Console/Helper/QuestionHelper.php
@@ -200,6 +200,7 @@ class QuestionHelper extends Helper
*/
private function autocomplete(OutputInterface $output, Question $question, $inputStream, array $autocomplete): string
{
+ $fullChoice = '';
$ret = '';
$i = 0;
@@ -226,6 +227,7 @@ class QuestionHelper extends Helper
} elseif ("\177" === $c) { // Backspace Character
if (0 === $numMatches && 0 !== $i) {
--$i;
+ $fullChoice = substr($fullChoice, 0, -1);
// Move cursor backwards
$output->write("\033[1D");
}
@@ -262,8 +264,10 @@ class QuestionHelper extends Helper
if ($numMatches > 0 && -1 !== $ofs) {
$ret = $matches[$ofs];
// Echo out remaining chars for current match
- $output->write(substr($ret, $i));
- $i = \strlen($ret);
+ $remainingCharacters = substr($ret, \strlen(trim($this->mostRecentlyEnteredValue($fullChoice))));
+ $output->write($remainingCharacters);
+ $fullChoice .= $remainingCharacters;
+ $i = \strlen($fullChoice);
}
if ("\n" === $c) {
@@ -282,14 +286,21 @@ class QuestionHelper extends Helper
$output->write($c);
$ret .= $c;
+ $fullChoice .= $c;
++$i;
+ $tempRet = $ret;
+
+ if ($question instanceof ChoiceQuestion && $question->isMultiselect()) {
+ $tempRet = $this->mostRecentlyEnteredValue($fullChoice);
+ }
+
$numMatches = 0;
$ofs = 0;
foreach ($autocomplete as $value) {
// If typed characters match the beginning chunk of value (e.g. [AcmeDe]moBundle)
- if (0 === strpos($value, $ret)) {
+ if (0 === strpos($value, $tempRet)) {
$matches[$numMatches++] = $value;
}
}
@@ -301,8 +312,9 @@ class QuestionHelper extends Helper
if ($numMatches > 0 && -1 !== $ofs) {
// Save cursor position
$output->write("\0337");
- // Write highlighted text
- $output->write(''.OutputFormatter::escapeTrailingBackslash(substr($matches[$ofs], $i)).'');
+ // Write highlighted text, complete the partially entered response
+ $charactersEntered = \strlen(trim($this->mostRecentlyEnteredValue($fullChoice)));
+ $output->write(''.OutputFormatter::escapeTrailingBackslash(substr($matches[$ofs], $charactersEntered)).'');
// Restore cursor position
$output->write("\0338");
}
@@ -311,7 +323,24 @@ class QuestionHelper extends Helper
// Reset stty so it behaves normally again
shell_exec(sprintf('stty %s', $sttyMode));
- return $ret;
+ return $fullChoice;
+ }
+
+ private function mostRecentlyEnteredValue($entered)
+ {
+ $tempEntered = $entered;
+
+ // Determine the most recent value that the user entered
+ if (false !== strpos($entered, ',')) {
+ $choices = explode(',', $entered);
+ $lastChoice = trim($choices[\count($choices) - 1]);
+
+ if (\strlen($lastChoice) > 0) {
+ $tempEntered = $lastChoice;
+ }
+ }
+
+ return $tempEntered;
}
/**
diff --git a/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php b/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php
index 69d5470b8c..2acbad4785 100644
--- a/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php
@@ -667,6 +667,37 @@ class QuestionHelperTest extends AbstractQuestionHelperTest
$this->assertEquals('FooBundle', $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
}
+ public function testTraversableMultiselectAutocomplete()
+ {
+ //
+ // F
+ // A<3x UP ARROW>,F
+ // F00o,A,SecurityBundle
+ // Acme,As<29x BACKSPACE>S
+ // Ac,As<3x BACKSPACE>d
+ $inputStream = $this->getInputStream("\nF\t\nA\033[A\033[A\033[A\t,F\t\nF00\177\177o\t,A\033[B\t, SecurityBundle\nAcme\t, As\t\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177\177S\t\nAc\t,As\t\177\177\177d\t\n");
+
+ $dialog = new QuestionHelper();
+ $helperSet = new HelperSet([new FormatterHelper()]);
+ $dialog->setHelperSet($helperSet);
+
+ $question = new ChoiceQuestion(
+ 'Please select a bundle (defaults to AcmeDemoBundle and AsseticBundle)',
+ ['AcmeDemoBundle', 'AsseticBundle', 'SecurityBundle', 'FooBundle'],
+ '0,1'
+ );
+
+ // This tests that autocomplete works for all multiselect choices entered by the user
+ $question->setMultiselect(true);
+
+ $this->assertEquals(['AcmeDemoBundle', 'AsseticBundle'], $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
+ $this->assertEquals(['FooBundle'], $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
+ $this->assertEquals(['AsseticBundle', 'FooBundle'], $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
+ $this->assertEquals(['FooBundle', 'AsseticBundle', 'SecurityBundle'], $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
+ $this->assertEquals(['SecurityBundle'], $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
+ $this->assertEquals(['AcmeDemoBundle', 'AsseticBundle'], $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
+ }
+
protected function getInputStream($input)
{
$stream = fopen('php://memory', 'r+', false);
diff --git a/src/Symfony/Component/Form/Resources/translations/validators.be.xlf b/src/Symfony/Component/Form/Resources/translations/validators.be.xlf
new file mode 100644
index 0000000000..004ba594b3
--- /dev/null
+++ b/src/Symfony/Component/Form/Resources/translations/validators.be.xlf
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ Гэта форма не павінна мець дадатковых палей.
+
+
+
+ Запампаваны файл быў занадта вялікім. Калі ласка, паспрабуйце запампаваць файл меншага памеру.
+
+
+
+ CSRF-токен не сапраўдны. Калі ласка, паспрабуйце яшчэ раз адправіць форму.
+
+
+
+
diff --git a/src/Symfony/Component/Security/Core/Resources/translations/security.be.xlf b/src/Symfony/Component/Security/Core/Resources/translations/security.be.xlf
new file mode 100644
index 0000000000..c3cd7911e5
--- /dev/null
+++ b/src/Symfony/Component/Security/Core/Resources/translations/security.be.xlf
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+ Памылка аўтэнтыфікацыі.
+
+
+
+ Дадзеныя аўтэнтыфікацыі не знойдзены.
+
+
+
+ Запыт аўтэнтыфікацыі не можа быць апрацаваны ў сувязі з праблемай у сістэме.
+
+
+
+ Несапраўдныя дадзеныя аўтэнтыфікацыі.
+
+
+
+ Нехта іншы ўжо выкарыстаў гэтыя кукі (cookie).
+
+
+
+ Адсутнічаюць правы на запыт гэтага рэсурсу.
+
+
+
+ Несапраўдны CSRF-токен.
+
+
+
+ Не знойдзен правайдар аўтэнтыфікацыі, які можа падтрымліваць гэты токен аўтэнтыфікацыі.
+
+
+
+ Сесія не даступна, яе час скончыўся, або кукі (cookies) выключаны.
+
+
+
+ Токен не знойдзен.
+
+
+
+ Імя карыстальніка не знойдзена.
+
+
+
+ Скончыўся тэрмін дзеяння акаўнта.
+
+
+
+ Скончыўся тэрмін дзеяння дадзеных аўтэнтыфікацыі.
+
+
+
+ Акаўнт адключан.
+
+
+
+ Акаўнт заблакіраван.
+
+
+
+
diff --git a/src/Symfony/Component/Validator/Resources/translations/validators.be.xlf b/src/Symfony/Component/Validator/Resources/translations/validators.be.xlf
new file mode 100644
index 0000000000..ab3845ee20
--- /dev/null
+++ b/src/Symfony/Component/Validator/Resources/translations/validators.be.xlf
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+ Значэнне павінна быць Не.
+
+
+
+ Значэнне павінна быць Так.
+
+
+
+ Тып значэння павінен быць {{ type }}.
+
+
+
+ Значэнне павінна быць пустым.
+
+
+
+ Абранае вамі значэнне не сапраўднае.
+
+
+
+ Вы павінны выбраць хаця б {{ limit }} варыянт.|Вы павінны выбраць хаця б {{ limit }} варыянтаў.
+
+
+
+ Вы павінны выбраць не больш за {{ limit }} варыянт.|Вы павінны выбраць не больш за {{ limit }} варыянтаў.
+
+
+
+ Адзін або некалькі пазначаных значэнняў з'яўляецца несапраўдным.
+
+
+
+ Гэта поле не чакаецца.
+
+
+
+ Гэта поле адсутнічае.
+
+
+
+ Гэта значэнне не з'яўляецца карэктнай датай.
+
+
+
+ Гэта значэнне не з'яўляецца карэктнай датай i часом.
+
+
+
+ Гэта значэнне не з'яўляецца карэктным адрасам электроннай пошты.
+
+
+
+ Файл не знойдзен.
+
+
+
+ Файл не чытаецца.
+
+
+
+ Файл занадта вялікі ({{ size }} {{ suffix }}). Максімальна дазволены памер {{ limit }} {{ suffix }}.
+
+
+
+ MIME-тып файлу некарэкты ({{ type }}). Дазволеныя MIME-тыпы файлу {{ types }}.
+
+
+
+ Значэнне павінна быць {{ limit }} або менш.
+
+
+
+ Значэнне занадта доўгае. Яно павінна мець {{ limit }} сімвал або менш.|Значэнне занадта доўгае. Яно павінна мець {{ limit }} сімвалаў або менш.
+
+
+
+ Значэнне павінна быць {{ limit }} або больш.
+
+
+
+ Значэнне занадта кароткае. Яно павінна мець прынамсі {{ limit }} сімвал.|Значэнне занадта кароткае. Яно павінна мець прынамсі {{ limit }} сімвалаў.
+
+
+
+ Значэнне не павінна быць пустым.
+
+
+
+ Значэнне не павінна быць null.
+
+
+
+ Значэнне павінна быць null.
+
+
+
+ Значэнне з'яўляецца не сапраўдным.
+
+
+
+ Значэнне не з'яўляецца сапраўдным часам.
+
+
+
+ Значэнне не з'яўляецца сапраўдным URL-адрасам.
+
+
+
+ Абодва значэнні павінны быць аднолькавымі.
+
+
+
+ Файл занадта вялікі. Максімальна дазволены памер {{ limit }} {{ suffix }}.
+
+
+
+ Файл занадта вялікі.
+
+
+
+ Немагчыма запампаваць файл.
+
+
+
+ Значэнне павінна быць лікам.
+
+
+
+ Гэты файл не з'яўляецца сапраўднай выявай.
+
+
+
+ Значэнне не з'яўляецца сапраўдным IP-адрасам.
+
+
+
+ Значэнне не з'яўляецца сапраўдным мовай.
+
+
+
+ Значэнне не з'яўляецца сапраўднай лакаллю.
+
+
+
+ Значэнне не з'яўляецца сапраўднай краінай.
+
+
+
+ Гэта значэнне ўжо выкарыстоўваецца.
+
+
+
+ Немагчыма вызначыць памер выявы.
+
+
+
+ Гэта выява занадта вялікая ({{ width }}px). Дазваляецца максімальная шырыня {{ max_width }}px.
+
+
+
+ Гэта выява занадта маленькая ({{ width }}px). Дазваляецца мінімальная шырыня {{ min_width }}px.
+
+
+
+ Гэты выява занадта вялікая ({{ width }}px). Дазваляецца максімальная вышыня {{ max_width }}px.
+
+
+
+ Гэта выява занадта маленькая ({{ width }}px). Дазваляецца мінімальная вышыня {{ min_width }}px.
+
+
+
+ Значэнне павінна быць цяперашнім паролем карыстальніка.
+
+
+
+ Значэнне павінна мець {{ limit }} сімвал.|Значэнне павінна мець {{ limit }} сімвалаў.
+
+
+
+ Файл быў запампаваны толькі часткова.
+
+
+
+ Файл не быў запампаваны.
+
+
+
+ У php.ini не была налажана часовая папка, або часовая папка не існуе.
+
+
+
+ Немагчыма запісаць часовы файл на дыск.
+
+
+
+ Пашырэнне PHP выклікала памылку загрузкі.
+
+
+
+ Калекцыя павінна змяшчаць прынамсі {{ limit }} элемент.|Калекцыя павінна змяшчаць прынамсі {{ limit }} элементаў.
+
+
+
+ Калекцыя павінна змяшчаць {{ limit }} або менш элемент.|Калекцыя павінна змяшчаць {{ limit }} або менш элементаў.
+
+
+
+ Калекцыя павінна змяшчаць роўна {{ limit }} элемент.|Калекцыя павінна змяшчаць роўна {{ limit }} элементаў.
+
+
+
+ Несапраўдны нумар карты.
+
+
+
+ Тып карты не падтрымліваецца або несапраўдны нумар карты.
+
+
+
+ Несапраўдны міжнародны нумар банкаўскага рахунку (IBAN).
+
+
+
+ Гэта значэнне не з'яўляецца сапраўдным ISBN-10.
+
+
+
+ Гэта значэнне не з'яўляецца сапраўдным ISBN-13.
+
+
+
+ Гэта значэнне не з'яўляецца сапраўдным ISBN-10 або ISBN-13.
+
+
+
+ Гэта значэнне не з'яўляецца сапраўдным ISSN.
+
+
+
+ Гэта значэнне не з'яўляецца сапраўднай валютай.
+
+
+
+ Значэнне павінна раўняцца {{ compared_value }}.
+
+
+
+ Значэнне павінна быць больш чым {{ compared_value }}.
+
+
+
+ Значэнне павінна быць больш чым або раўняцца {{ compared_value }}.
+
+
+
+ Значэнне павінна быць ідэнтычным {{ compared_value_type }} {{ compared_value }}.
+
+
+
+ Значэнне павінна быць менш чым {{ compared_value }}.
+
+
+
+ Значэнне павінна быць менш чым або раўняцца {{ compared_value }}.
+
+
+
+ Значэнне не павінна раўняцца {{ compared_value }}.
+
+
+
+ Значэнне не павінна быць ідэнтычным {{ compared_value_type }} {{ compared_value }}.
+
+
+
+ Суадносіны бакоў выявы з'яўляецца занадта вялікім ({{ ratio }}). Дазваляецца максімальныя суадносіны {{max_ratio}} .
+
+
+
+ Суадносіны бакоў выявы з'яўляецца занадта маленькімі ({{ ratio }}). Дазваляецца мінімальныя суадносіны {{ min_ratio }}.
+
+
+
+ Выява квадратная ({{width}}x{{height}}px). Квадратныя выявы не дазволены.
+
+
+
+ Выява ў альбомнай арыентацыі ({{ width }}x{{ height }}px). Выявы ў альбомнай арыентацыі не дазволены.
+
+
+
+ Выява ў партрэтнай арыентацыі ({{ width }}x{{ height }}px). Выявы ў партрэтнай арыентацыі не дазволены.
+
+
+
+ Пусты файл не дазволены.
+
+
+
+ Не магчыма знайсці імя хоста.
+
+
+
+ Гэта значэнне не супадае з чаканай {{ charset }} кадыроўкай.
+
+
+
+ Несапраўдны банкаўскі ідэнтыфікацыйны код (BIC).
+
+
+
+ Памылка
+
+
+
+ Гэта несапраўдны UUID.
+
+
+
+ Значэнне павінна быць кратным {{ compared_value }}.
+
+
+
+ Банкаўскі ідэнтыфікацыйны код (BIC) не звязан з IBAN {{ iban }}.
+
+
+
+ Гэта значэнне павінна быць у фармаце JSON.
+
+
+
+ Калекцыя павінна змяшчаць толькі ўнікальныя элементы.
+
+
+
+ Значэнне павінна быць дадатным.
+
+
+
+ Значэнне павінна быць дадатным ці нуль.
+
+
+
+ Значэнне павінна быць адмоўным.
+
+
+
+ Значэнне павінна быць адмоўным ці нуль.
+
+
+
+ Значэнне не з'яўляецца сапраўдным гадзінным поясам.
+
+
+
+ Гэты пароль быў выкрадзены ў выніку ўзлому дадзеных, таму яго нельга выкарыстоўваць. Калі ласка, выкарыстоўвайце іншы пароль.
+
+
+
+