diff --git a/CHANGELOG-4.2.md b/CHANGELOG-4.2.md
index 5f18cce537..f45e7e7273 100644
--- a/CHANGELOG-4.2.md
+++ b/CHANGELOG-4.2.md
@@ -7,6 +7,25 @@ in 4.2 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v4.2.0...v4.2.1
+* 4.2.8 (2019-05-01)
+
+ * bug #31338 Revert "bug #30620 [FrameworkBundle][HttpFoundation] make session service resettable (dmaicher)" (nicolas-grekas)
+ * bug #31326 fix ConsoleFormatter - call to a member function format() on string (keksa)
+ * bug #31331 [Workflow] Fixed dumping when many transition with same name exist (lyrixx)
+ * bug #31302 [FramworkBundle] mark any env vars found in the ide setting as used (nicolas-grekas)
+ * bug #31290 [TwigBundle] Use the apply tag instead of the filter tag (greg0ire)
+ * bug #31275 [Translator] Preserve default domain when extracting strings from php files (Stadly)
+ * bug #31240 Fix url matcher edge cases with trailing slash (arjenm)
+ * bug #31201 [Form] resolve class name parameters (xabbuh)
+ * bug #31213 [WebProfilerBundle] Intercept redirections only for HTML format (javiereguiluz)
+ * bug #31210 [PhpUnitBridge] fix reading phpunit.xml on bootstrap (nicolas-grekas)
+ * bug #31023 [Routing] Fix route URL generation in CLI context (X-Coder264)
+ * bug #31117 [FrameworkBundle] fix math depth handler configuration (Raulnet)
+ * bug #31182 [Routing] fix trailing slash matching with empty-matching trailing vars (nicolas-grekas)
+ * bug #31167 [Routing] fix matching trailing vars with defaults (nicolas-grekas)
+ * bug #31164 [Validator] fix LegacyTranslatorProxy (nicolas-grekas)
+ * bug #31156 [FrameworkBundle] call method with Translator component only (xabbuh)
+
* 4.2.7 (2019-04-17)
* bug #31107 [Routing] fix trailing slash redirection with non-greedy trailing vars (nicolas-grekas)
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 16284c42b3..69f8ffe777 100644
--- a/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php
+++ b/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php
@@ -262,7 +262,7 @@ class ProfilerController
{
$this->denyAccessIfProfilerDisabled();
- $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 75e660a3fb..57b93504ed 100644
--- a/src/Symfony/Component/Console/Helper/QuestionHelper.php
+++ b/src/Symfony/Component/Console/Helper/QuestionHelper.php
@@ -198,6 +198,7 @@ class QuestionHelper extends Helper
*/
private function autocomplete(OutputInterface $output, Question $question, $inputStream, callable $autocomplete): string
{
+ $fullChoice = '';
$ret = '';
$i = 0;
@@ -224,6 +225,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");
}
@@ -260,8 +262,10 @@ class QuestionHelper extends Helper
if ($numMatches > 0 && -1 !== $ofs) {
$ret = (string) $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);
$matches = array_filter(
$autocomplete($ret),
@@ -287,14 +291,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($ret) 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;
}
}
@@ -306,8 +317,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");
}
@@ -316,7 +328,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 fc0f2293a4..c97c0e849f 100644
--- a/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php
@@ -728,6 +728,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/Intl/CONTRIBUTING.md b/src/Symfony/Component/Intl/CONTRIBUTING.md
deleted file mode 100644
index 971e0af7f5..0000000000
--- a/src/Symfony/Component/Intl/CONTRIBUTING.md
+++ /dev/null
@@ -1,91 +0,0 @@
-Contributing to the Intl component
-==================================
-
-A very good way of contributing to the Intl component is by updating the
-included data for the ICU version you have installed on your system.
-
-Preparation
------------
-
-To prepare, you need to install the development dependencies of the component.
-
- $ cd /path/to/Symfony/Component/Intl
- $ composer install
-
-Determining your ICU version
----------------------------
-
-The ICU version installed in your PHP environment can be found by running
-icu-version.php:
-
- $ php Resources/bin/icu-version.php
-
-Updating the ICU data
----------------------
-
-To update the data files, run the update-icu-component.php script:
-
- $ php Resources/bin/update-icu-component.php
-
-The script needs the binaries "svn" and "make" to be available on your system.
-It will download the latest version of the ICU sources for the ICU version
-installed in your PHP environment. The script will then compile the "genrb"
-binary and use it to compile the ICU data files to binaries. The binaries are
-copied to the Resources/ directory of the Icu component found in the
-vendor/symfony/icu/ directory.
-
-Updating the stub data
-----------------------
-
-In the previous step you updated the Icu component for the ICU version
-installed on your system. If you are using the latest ICU version, you should
-also create the stub data files which will be used by people who don't have
-the intl extension installed.
-
-To update the stub files, run the update-stubs.php script:
-
- $ php Resources/bin/update-stubs.php
-
-The script will fail if you don't have the latest ICU version. If you want to
-upgrade the ICU version, adjust the return value of the
-`Intl::getIcuStubVersion()` before you run the script.
-
-The script creates copies of the binary resource bundles in the Icu component
-and stores them in the Resources/ directory of the Intl component. The copies
-are made for the locale "en" only and are stored in .php files, so that they
-can be read even if the intl extension is not available.
-
-Creating a pull request
------------------------
-
-You need to create up to two pull requests:
-
-* If you updated the Icu component, you need to push that change and create a
- pull request in the `symfony/Icu` repository. Make sure to submit the pull
- request to the correct master branch. If you updated the ICU data for version
- 4.8, your pull request goes to branch `48-master`, for version 49 to
- `49-master` and so on.
-
-* If you updated the stub files of the Intl component, you need to push that
- change and create a pull request in the `symfony/symfony` repository. The
- pull request should be based on the `master` branch.
-
-Combining .res files to a .dat-package
---------------------------------------
-
-The individual *.res files can be combined into a single .dat-file.
-Unfortunately, PHP's `ResourceBundle` class is currently not able to handle
-.dat-files.
-
-Once it is, the following steps have to be followed to build the .dat-file:
-
-1. Package the resource bundles into a single file
-
- $ find . -name *.res | sed -e "s/\.\///g" > packagelist.txt
- $ pkgdata -p region -T build -d . packagelist.txt
-
-2. Clean up
-
- $ rm -rf build packagelist.txt
-
-3. You can now move region.dat to replace the version bundled with Symfony.
diff --git a/src/Symfony/Component/Intl/Data/Generator/CurrencyDataGenerator.php b/src/Symfony/Component/Intl/Data/Generator/CurrencyDataGenerator.php
index 1be618d787..f64daf275a 100644
--- a/src/Symfony/Component/Intl/Data/Generator/CurrencyDataGenerator.php
+++ b/src/Symfony/Component/Intl/Data/Generator/CurrencyDataGenerator.php
@@ -25,37 +25,20 @@ use Symfony\Component\Intl\Data\Util\LocaleScanner;
*/
class CurrencyDataGenerator extends AbstractDataGenerator
{
- const UNKNOWN_CURRENCY_ID = 'XXX';
- const EUROPEAN_COMPOSITE_UNIT_ID = 'XBA';
- const EUROPEAN_MONETARY_UNIT_ID = 'XBB';
- const EUROPEAN_UNIT_OF_ACCOUNT_XBC_ID = 'XBC';
- const EUROPEAN_UNIT_OF_ACCOUNT_XBD_ID = 'XBD';
- const TESTING_CURRENCY_CODE_ID = 'XTS';
- const ADB_UNIT_OF_ACCOUNT_ID = 'XUA';
- const GOLD_ID = 'XAU';
- const SILVER_ID = 'XAG';
- const PLATINUM_ID = 'XPT';
- const PALLADIUM_ID = 'XPD';
- const SUCRE_ID = 'XSU';
- const SPECIAL_DRAWING_RIGHTS_ID = 'XDR';
-
- /**
- * Monetary units excluded from generation.
- */
private static $blacklist = [
- self::UNKNOWN_CURRENCY_ID => true,
- self::EUROPEAN_COMPOSITE_UNIT_ID => true,
- self::EUROPEAN_MONETARY_UNIT_ID => true,
- self::EUROPEAN_UNIT_OF_ACCOUNT_XBC_ID => true,
- self::EUROPEAN_UNIT_OF_ACCOUNT_XBD_ID => true,
- self::TESTING_CURRENCY_CODE_ID => true,
- self::ADB_UNIT_OF_ACCOUNT_ID => true,
- self::GOLD_ID => true,
- self::SILVER_ID => true,
- self::PLATINUM_ID => true,
- self::PALLADIUM_ID => true,
- self::SUCRE_ID => true,
- self::SPECIAL_DRAWING_RIGHTS_ID => true,
+ 'XBA' => true, // European Composite Unit
+ 'XBB' => true, // European Monetary Unit
+ 'XBC' => true, // European Unit of Account (XBC)
+ 'XBD' => true, // European Unit of Account (XBD)
+ 'XUA' => true, // ADB Unit of Account
+ 'XAU' => true, // Gold
+ 'XAG' => true, // Silver
+ 'XPT' => true, // Platinum
+ 'XPD' => true, // Palladium
+ 'XSU' => true, // Sucre
+ 'XDR' => true, // Special Drawing Rights
+ 'XTS' => true, // Testing Currency Code
+ 'XXX' => true, // Unknown Currency
];
/**
diff --git a/src/Symfony/Component/Intl/Data/Generator/RegionDataGenerator.php b/src/Symfony/Component/Intl/Data/Generator/RegionDataGenerator.php
index 0728db8030..9524e18eaf 100644
--- a/src/Symfony/Component/Intl/Data/Generator/RegionDataGenerator.php
+++ b/src/Symfony/Component/Intl/Data/Generator/RegionDataGenerator.php
@@ -27,32 +27,18 @@ use Symfony\Component\Intl\Data\Util\LocaleScanner;
*/
class RegionDataGenerator extends AbstractDataGenerator
{
- const UNKNOWN_REGION_ID = 'ZZ';
- const OUTLYING_OCEANIA_REGION_ID = 'QO';
- const EUROPEAN_UNION_ID = 'EU';
- const NETHERLANDS_ANTILLES_ID = 'AN';
- const BOUVET_ISLAND_ID = 'BV';
- const HEARD_MCDONALD_ISLANDS_ID = 'HM';
- const CLIPPERTON_ISLAND_ID = 'CP';
- const EUROZONE_ID = 'EZ';
- const UNITED_NATIONS_ID = 'UN';
-
- /**
- * Regions excluded from generation.
- */
private static $blacklist = [
- self::UNKNOWN_REGION_ID => true,
// Look like countries, but are sub-continents
- self::OUTLYING_OCEANIA_REGION_ID => true,
- self::EUROPEAN_UNION_ID => true,
- self::EUROZONE_ID => true,
- self::UNITED_NATIONS_ID => true,
- // No longer exists
- self::NETHERLANDS_ANTILLES_ID => true,
+ 'QO' => true, // Outlying Oceania
+ 'EU' => true, // European Union
+ 'EZ' => true, // Eurozone
+ 'UN' => true, // United Nations
// Uninhabited islands
- self::BOUVET_ISLAND_ID => true,
- self::HEARD_MCDONALD_ISLANDS_ID => true,
- self::CLIPPERTON_ISLAND_ID => true,
+ 'BV' => true, // Bouvet Island
+ 'HM' => true, // Heard & McDonald Islands
+ 'CP' => true, // Clipperton Island
+ // Misc
+ 'ZZ' => true, // Unknown Region
];
/**
diff --git a/src/Symfony/Component/Intl/Data/Provider/CurrencyDataProvider.php b/src/Symfony/Component/Intl/Data/Provider/CurrencyDataProvider.php
index d4ee9af69b..d09028938b 100644
--- a/src/Symfony/Component/Intl/Data/Provider/CurrencyDataProvider.php
+++ b/src/Symfony/Component/Intl/Data/Provider/CurrencyDataProvider.php
@@ -13,7 +13,6 @@ namespace Symfony\Component\Intl\Data\Provider;
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
use Symfony\Component\Intl\Exception\MissingResourceException;
-use Symfony\Component\Intl\Locale;
/**
* Data provider for currency-related data.
@@ -53,7 +52,7 @@ class CurrencyDataProvider
public function getSymbol($currency, $displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
return $this->reader->readEntry($this->path, $displayLocale, ['Names', $currency, static::INDEX_SYMBOL]);
@@ -62,7 +61,7 @@ class CurrencyDataProvider
public function getName($currency, $displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
return $this->reader->readEntry($this->path, $displayLocale, ['Names', $currency, static::INDEX_NAME]);
@@ -71,7 +70,7 @@ class CurrencyDataProvider
public function getNames($displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
// ====================================================================
diff --git a/src/Symfony/Component/Intl/Data/Provider/LanguageDataProvider.php b/src/Symfony/Component/Intl/Data/Provider/LanguageDataProvider.php
index 1b8e77a12f..fed764d672 100644
--- a/src/Symfony/Component/Intl/Data/Provider/LanguageDataProvider.php
+++ b/src/Symfony/Component/Intl/Data/Provider/LanguageDataProvider.php
@@ -12,7 +12,6 @@
namespace Symfony\Component\Intl\Data\Provider;
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
-use Symfony\Component\Intl\Locale;
/**
* Data provider for language-related ICU data.
@@ -57,7 +56,7 @@ class LanguageDataProvider
public function getName($language, $displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
return $this->reader->readEntry($this->path, $displayLocale, ['Names', $language]);
@@ -69,7 +68,7 @@ class LanguageDataProvider
public function getNames($displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
$languages = $this->reader->readEntry($this->path, $displayLocale, ['Names']);
diff --git a/src/Symfony/Component/Intl/Data/Provider/LocaleDataProvider.php b/src/Symfony/Component/Intl/Data/Provider/LocaleDataProvider.php
index 216ede8810..fdabb689fb 100644
--- a/src/Symfony/Component/Intl/Data/Provider/LocaleDataProvider.php
+++ b/src/Symfony/Component/Intl/Data/Provider/LocaleDataProvider.php
@@ -12,7 +12,6 @@
namespace Symfony\Component\Intl\Data\Provider;
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
-use Symfony\Component\Intl\Locale;
/**
* Data provider for locale-related ICU data.
@@ -57,7 +56,7 @@ class LocaleDataProvider
public function getName($locale, $displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
return $this->reader->readEntry($this->path, $displayLocale, ['Names', $locale]);
@@ -66,7 +65,7 @@ class LocaleDataProvider
public function getNames($displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
$names = $this->reader->readEntry($this->path, $displayLocale, ['Names']);
diff --git a/src/Symfony/Component/Intl/Data/Provider/RegionDataProvider.php b/src/Symfony/Component/Intl/Data/Provider/RegionDataProvider.php
index 1a6d83eff4..ec16994f63 100644
--- a/src/Symfony/Component/Intl/Data/Provider/RegionDataProvider.php
+++ b/src/Symfony/Component/Intl/Data/Provider/RegionDataProvider.php
@@ -12,7 +12,6 @@
namespace Symfony\Component\Intl\Data\Provider;
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
-use Symfony\Component\Intl\Locale;
/**
* Data provider for region-related ICU data.
@@ -49,7 +48,7 @@ class RegionDataProvider
public function getName($region, $displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
return $this->reader->readEntry($this->path, $displayLocale, ['Names', $region]);
@@ -61,7 +60,7 @@ class RegionDataProvider
public function getNames($displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
$names = $this->reader->readEntry($this->path, $displayLocale, ['Names']);
diff --git a/src/Symfony/Component/Intl/Data/Provider/ScriptDataProvider.php b/src/Symfony/Component/Intl/Data/Provider/ScriptDataProvider.php
index 4f6ab3c156..3189da13e5 100644
--- a/src/Symfony/Component/Intl/Data/Provider/ScriptDataProvider.php
+++ b/src/Symfony/Component/Intl/Data/Provider/ScriptDataProvider.php
@@ -12,7 +12,6 @@
namespace Symfony\Component\Intl\Data\Provider;
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
-use Symfony\Component\Intl\Locale;
/**
* Data provider for script-related ICU data.
@@ -49,7 +48,7 @@ class ScriptDataProvider
public function getName($script, $displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
return $this->reader->readEntry($this->path, $displayLocale, ['Names', $script]);
@@ -61,7 +60,7 @@ class ScriptDataProvider
public function getNames($displayLocale = null)
{
if (null === $displayLocale) {
- $displayLocale = Locale::getDefault();
+ $displayLocale = \Locale::getDefault();
}
$names = $this->reader->readEntry($this->path, $displayLocale, ['Names']);
diff --git a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractCurrencyDataProviderTest.php b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractCurrencyDataProviderTest.php
index 65140b9d2b..6133af4990 100644
--- a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractCurrencyDataProviderTest.php
+++ b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractCurrencyDataProviderTest.php
@@ -13,7 +13,6 @@ namespace Symfony\Component\Intl\Tests\Data\Provider;
use Symfony\Component\Intl\Data\Provider\CurrencyDataProvider;
use Symfony\Component\Intl\Intl;
-use Symfony\Component\Intl\Locale;
/**
* @author Bernhard Schussek
@@ -633,7 +632,7 @@ abstract class AbstractCurrencyDataProviderTest extends AbstractDataProviderTest
public function testGetNamesDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$this->assertSame(
$this->dataProvider->getNames('de_AT'),
@@ -672,7 +671,7 @@ abstract class AbstractCurrencyDataProviderTest extends AbstractDataProviderTest
public function testGetNameDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$expected = $this->dataProvider->getNames('de_AT');
$actual = [];
diff --git a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractDataProviderTest.php b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractDataProviderTest.php
index b61f97c7a4..cf3cca8cf2 100644
--- a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractDataProviderTest.php
+++ b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractDataProviderTest.php
@@ -705,7 +705,7 @@ abstract class AbstractDataProviderTest extends TestCase
protected function setUp()
{
- Locale::setDefault('en');
+ \Locale::setDefault('en');
Locale::setDefaultFallback('en');
}
diff --git a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractLanguageDataProviderTest.php b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractLanguageDataProviderTest.php
index 580b7ed951..119e2c75ed 100644
--- a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractLanguageDataProviderTest.php
+++ b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractLanguageDataProviderTest.php
@@ -13,7 +13,6 @@ namespace Symfony\Component\Intl\Tests\Data\Provider;
use Symfony\Component\Intl\Data\Provider\LanguageDataProvider;
use Symfony\Component\Intl\Intl;
-use Symfony\Component\Intl\Locale;
/**
* @author Bernhard Schussek
@@ -864,7 +863,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
public function testGetNamesDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$this->assertSame(
$this->dataProvider->getNames('de_AT'),
@@ -900,7 +899,7 @@ abstract class AbstractLanguageDataProviderTest extends AbstractDataProviderTest
public function testGetNameDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$names = $this->dataProvider->getNames('de_AT');
diff --git a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractLocaleDataProviderTest.php b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractLocaleDataProviderTest.php
index 0fe8926600..4f5bb90384 100644
--- a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractLocaleDataProviderTest.php
+++ b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractLocaleDataProviderTest.php
@@ -13,7 +13,6 @@ namespace Symfony\Component\Intl\Tests\Data\Provider;
use Symfony\Component\Intl\Data\Provider\LocaleDataProvider;
use Symfony\Component\Intl\Intl;
-use Symfony\Component\Intl\Locale;
/**
* @author Bernhard Schussek
@@ -66,7 +65,7 @@ abstract class AbstractLocaleDataProviderTest extends AbstractDataProviderTest
public function testGetNamesDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$this->assertSame(
$this->dataProvider->getNames('de_AT'),
@@ -102,7 +101,7 @@ abstract class AbstractLocaleDataProviderTest extends AbstractDataProviderTest
public function testGetNameDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$names = $this->dataProvider->getNames('de_AT');
diff --git a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractRegionDataProviderTest.php b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractRegionDataProviderTest.php
index 0e0325cdb7..bca475dd3f 100644
--- a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractRegionDataProviderTest.php
+++ b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractRegionDataProviderTest.php
@@ -13,7 +13,6 @@ namespace Symfony\Component\Intl\Tests\Data\Provider;
use Symfony\Component\Intl\Data\Provider\RegionDataProvider;
use Symfony\Component\Intl\Intl;
-use Symfony\Component\Intl\Locale;
/**
* @author Bernhard Schussek
@@ -318,7 +317,7 @@ abstract class AbstractRegionDataProviderTest extends AbstractDataProviderTest
public function testGetNamesDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$this->assertSame(
$this->dataProvider->getNames('de_AT'),
diff --git a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractScriptDataProviderTest.php b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractScriptDataProviderTest.php
index 669bbfa345..dfc23f443f 100644
--- a/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractScriptDataProviderTest.php
+++ b/src/Symfony/Component/Intl/Tests/Data/Provider/AbstractScriptDataProviderTest.php
@@ -13,7 +13,6 @@ namespace Symfony\Component\Intl\Tests\Data\Provider;
use Symfony\Component\Intl\Data\Provider\ScriptDataProvider;
use Symfony\Component\Intl\Intl;
-use Symfony\Component\Intl\Locale;
/**
* @author Bernhard Schussek
@@ -256,7 +255,7 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
public function testGetNamesDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$this->assertSame(
$this->dataProvider->getNames('de_AT'),
@@ -292,7 +291,7 @@ abstract class AbstractScriptDataProviderTest extends AbstractDataProviderTest
public function testGetNameDefaultLocale()
{
- Locale::setDefault('de_AT');
+ \Locale::setDefault('de_AT');
$names = $this->dataProvider->getNames('de_AT');
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.
+
+
+
+ Калекцыя павінна змяшчаць толькі ўнікальныя элементы.
+
+
+
+ Значэнне павінна быць дадатным.
+
+
+
+ Значэнне павінна быць дадатным ці нуль.
+
+
+
+ Значэнне павінна быць адмоўным.
+
+
+
+ Значэнне павінна быць адмоўным ці нуль.
+
+
+
+ Значэнне не з'яўляецца сапраўдным гадзінным поясам.
+
+
+
+ Гэты пароль быў выкрадзены ў выніку ўзлому дадзеных, таму яго нельга выкарыстоўваць. Калі ласка, выкарыстоўвайце іншы пароль.
+
+
+
+