From a4b5856f4c73f772aed968af76cdffaa723c301f Mon Sep 17 00:00:00 2001
From: Yuriy Bachevskiy
Date: Fri, 20 Oct 2023 20:43:13 +0700
Subject: [PATCH 01/31] Fix typo in runtime-logging.md (#20019)
---
docs/guide-ru/runtime-logging.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/guide-ru/runtime-logging.md b/docs/guide-ru/runtime-logging.md
index cc42a8c1872..2f45900e2ca 100644
--- a/docs/guide-ru/runtime-logging.md
+++ b/docs/guide-ru/runtime-logging.md
@@ -146,7 +146,7 @@ return [
Временная метка [IP-адрес][ID пользователя][ID сессии][Уровень важности][Категория] Текст сообщения
```
-Этот формат может быть изменен при помощи свойства [[yii\log\Target::prefix]], которое получает анонимную функцию, возвращающую нужный префикс сообщения. Например, следующий код позволяет настроить вывод идентификатор текущего пользователя в качестве префикса для всех сообщений.
+Этот формат может быть изменен при помощи свойства [[yii\log\Target::prefix]], которое получает анонимную функцию, возвращающую нужный префикс сообщения. Например, следующий код позволяет настроить вывод идентификатора текущего пользователя в качестве префикса для всех сообщений.
```php
[
From 70a7282fec5e75d7adb04d399d0ff348fc5ad6f6 Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Fri, 20 Oct 2023 10:45:21 -0300
Subject: [PATCH 02/31] Fix `yii server` and add tests.
---
.../console/controllers/ServeController.php | 8 +-
.../controllers/ServeControllerTest.php | 101 ++++++++++++++++++
.../console/controllers/stub/index.php | 3 +
3 files changed, 111 insertions(+), 1 deletion(-)
create mode 100644 tests/framework/console/controllers/ServeControllerTest.php
create mode 100644 tests/framework/console/controllers/stub/index.php
diff --git a/framework/console/controllers/ServeController.php b/framework/console/controllers/ServeController.php
index d02c982042e..4ba39240f62 100644
--- a/framework/console/controllers/ServeController.php
+++ b/framework/console/controllers/ServeController.php
@@ -80,7 +80,13 @@ public function actionIndex($address = 'localhost')
}
$this->stdout("Quit the server with CTRL-C or COMMAND-C.\n");
- passthru('"' . PHP_BINARY . '"' . " -S {$address} -t \"{$documentRoot}\" \"$router\"");
+ $command = '"' . PHP_BINARY . '"' . " -S {$address} -t \"{$documentRoot}\"";
+
+ if ($this->router !== null && $router !== '') {
+ $command .= " -r \"{$router}\"";
+ }
+
+ passthru($command);
}
/**
diff --git a/tests/framework/console/controllers/ServeControllerTest.php b/tests/framework/console/controllers/ServeControllerTest.php
new file mode 100644
index 00000000000..af8af4eaafe
--- /dev/null
+++ b/tests/framework/console/controllers/ServeControllerTest.php
@@ -0,0 +1,101 @@
+mockApplication();
+ }
+
+ public function testActionIndex()
+ {
+ if (!\function_exists('pcntl_fork')) {
+ $this->markTestSkipped('pcntl_fork() is not available');
+ }
+
+ if (!\function_exists('posix_kill')) {
+ $this->markTestSkipped('posix_kill() is not available');
+ }
+
+ if (!\function_exists('pcntl_waitpid')) {
+ $this->markTestSkipped('pcntl_waitpid() is not available');
+ }
+
+ $controller = new ServeController('serve', Yii::$app);
+ $controller->docroot = __DIR__ . '/stub';
+ $controller->port = 8080;
+
+ $pid = \pcntl_fork();
+
+ if ($pid == 0) {
+ \ob_start();
+ $controller->actionIndex('localhost');
+ \ob_get_clean();
+ exit();
+ }
+
+ \sleep(1);
+
+ $response = \file_get_contents('http://localhost:8080');
+
+ $this->assertEquals('Hello!', $response);
+
+ \posix_kill($pid, \SIGTERM);
+ \pcntl_waitpid($pid, $status);
+ }
+
+ public function testActionIndexWithRouter()
+ {
+ if (!\function_exists('pcntl_fork')) {
+ $this->markTestSkipped('pcntl_fork() is not available');
+ }
+
+ if (!\function_exists('posix_kill')) {
+ $this->markTestSkipped('posix_kill() is not available');
+ }
+
+ if (!\function_exists('pcntl_waitpid')) {
+ $this->markTestSkipped('pcntl_waitpid() is not available');
+ }
+
+ $controller = new ServeController('serve', Yii::$app);
+ $controller->docroot = __DIR__ . '/stub';
+ $controller->port = 8081;
+ $controller->router = __DIR__ . '/stub/index.php';
+
+ $pid = \pcntl_fork();
+
+ if ($pid == 0) {
+ \ob_start();
+ $controller->actionIndex('localhost');
+ \ob_get_clean();
+ exit();
+ }
+
+ \sleep(1);
+
+ $response = \file_get_contents('http://localhost:8081');
+
+ $this->assertEquals('Hello!', $response);
+
+ \posix_kill($pid, \SIGTERM);
+ \pcntl_waitpid($pid, $status);
+ }
+}
diff --git a/tests/framework/console/controllers/stub/index.php b/tests/framework/console/controllers/stub/index.php
new file mode 100644
index 00000000000..8b57cd3113e
--- /dev/null
+++ b/tests/framework/console/controllers/stub/index.php
@@ -0,0 +1,3 @@
+
Date: Fri, 20 Oct 2023 16:49:25 +0300
Subject: [PATCH 03/31] Fix #19060: Fix `yii\widgets\Menu` bug when using
Closure for active item and adding additional tests in
`tests\framework\widgets\MenuTest`
---
framework/CHANGELOG.md | 1 +
framework/widgets/Menu.php | 6 +-
tests/framework/widgets/MenuTest.php | 181 ++++++++++++++++++++++++++-
3 files changed, 183 insertions(+), 5 deletions(-)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index f039bec955b..28f29d95e2b 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -4,6 +4,7 @@ Yii Framework 2 Change Log
2.0.50 under development
------------------------
+- Bug #19060: Fix `yii\widgets\Menu` bug when using Closure for active item and adding additional tests in `tests\framework\widgets\MenuTest` (atrandafir)
- Bug #13920: Fixed erroneous validation for specific cases (tim-fischer-maschinensucher)
- Bug #19927: Fixed `console\controllers\MessageController` when saving translations to database: fixed FK error when adding new string and language at the same time, checking/regenerating all missing messages and dropping messages for unused languages (atrandafir)
- Bug #20002: Fixed superfluous query on HEAD request in serializer (xicond)
diff --git a/framework/widgets/Menu.php b/framework/widgets/Menu.php
index a70ad1f3e1a..025379796f1 100644
--- a/framework/widgets/Menu.php
+++ b/framework/widgets/Menu.php
@@ -283,7 +283,11 @@ protected function normalizeItems($items, &$active)
$items[$i]['active'] = false;
}
} elseif ($item['active'] instanceof Closure) {
- $active = $items[$i]['active'] = call_user_func($item['active'], $item, $hasActiveChild, $this->isItemActive($item), $this);
+ if (call_user_func($item['active'], $item, $hasActiveChild, $this->isItemActive($item), $this)) {
+ $active = $items[$i]['active'] = true;
+ } else {
+ $items[$i]['active'] = false;
+ }
} elseif ($item['active']) {
$active = true;
}
diff --git a/tests/framework/widgets/MenuTest.php b/tests/framework/widgets/MenuTest.php
index 192bb44131f..3de5f5efd83 100644
--- a/tests/framework/widgets/MenuTest.php
+++ b/tests/framework/widgets/MenuTest.php
@@ -18,7 +18,14 @@ class MenuTest extends \yiiunit\TestCase
protected function setUp()
{
parent::setUp();
- $this->mockApplication();
+ $this->mockWebApplication([
+ 'components'=>[
+ 'urlManager' => [
+ 'enablePrettyUrl' => true,
+ 'showScriptName' => false,
+ ],
+ ],
+ ]);
}
public function testEncodeLabel()
@@ -201,6 +208,149 @@ public function testActiveItemClosure()
$this->assertEqualsWithoutLE($expected, $output);
}
+ public function testActiveItemClosureWithLogic()
+ {
+ $output = Menu::widget([
+ 'route' => 'test/logic',
+ 'params' => [],
+ 'linkTemplate' => '',
+ 'labelTemplate' => '',
+ 'items' => [
+ [
+ 'label' => 'logic item',
+ 'url' => 'test/logic',
+ 'template' => 'label: {label}; url: {url}',
+ 'active' => function ($item, $hasActiveChild, $isItemActive, $widget) {
+ return $widget->route === 'test/logic';
+ },
+ ],
+ [
+ 'label' => 'another item',
+ 'url' => 'test/another',
+ 'template' => 'label: {label}; url: {url}',
+ ]
+ ],
+ ]);
+
+ $expected = <<<'HTML'
+- label: logic item; url: test/logic
+- label: another item; url: test/another
+HTML;
+
+ $this->assertEqualsWithoutLE($expected, $output);
+ }
+
+ public function testActiveItemClosureWithLogicParent()
+ {
+ $output = Menu::widget([
+ 'route' => 'test/logic',
+ 'params' => [],
+ 'linkTemplate' => '',
+ 'labelTemplate' => '',
+ 'activateParents' => true,
+ 'items' => [
+ [
+ 'label' => 'Home',
+ 'url' => 'test/home',
+ 'template' => 'label: {label}; url: {url}',
+ ],
+ [
+ 'label' => 'About',
+ 'url' => 'test/about',
+ 'template' => 'label: {label}; url: {url}',
+ ],
+ [
+ 'label' => 'Parent',
+ 'items' => [
+ [
+ 'label' => 'logic item',
+ 'url' => 'test/logic',
+ 'template' => 'label: {label}; url: {url}',
+ 'active' => function ($item, $hasActiveChild, $isItemActive, $widget) {
+ return $widget->route === 'test/logic';
+ },
+ ],
+ [
+ 'label' => 'another item',
+ 'url' => 'test/another',
+ 'template' => 'label: {label}; url: {url}',
+ ]
+ ],
+ ],
+ ],
+ ]);
+
+ $expected = <<<'HTML'
+- label: Home; url: test/home
+- label: About; url: test/about
+-
+
+- label: logic item; url: test/logic
+- label: another item; url: test/another
+
+
+HTML;
+
+ $this->assertEqualsWithoutLE($expected, $output);
+ }
+
+ public function testActiveItemClosureParentAnotherItem()
+ {
+ /** @see https://github.com/yiisoft/yii2/issues/19060 */
+ $output = Menu::widget([
+ 'route' => 'test/another',
+ 'params' => [],
+ 'linkTemplate' => '',
+ 'labelTemplate' => '',
+ 'activateParents' => true,
+ 'items' => [
+ [
+ 'label' => 'Home',
+ 'url' => 'test/home',
+ 'template' => 'label: {label}; url: {url}',
+ ],
+ [
+ 'label' => 'About',
+ 'url' => 'test/about',
+ 'template' => 'label: {label}; url: {url}',
+ ],
+ [
+ 'label' => 'Parent',
+ 'items' => [
+ [
+ 'label' => 'another item',
+ // use non relative route to avoid error in BaseUrl::normalizeRoute (missing controller)
+ 'url' => ['/test/another'],
+ 'template' => 'label: {label}; url: {url}',
+ ],
+ [
+ 'label' => 'logic item',
+ 'url' => 'test/logic',
+ 'template' => 'label: {label}; url: {url}',
+ 'active' => function ($item, $hasActiveChild, $isItemActive, $widget) {
+ return $widget->route === 'test/logic';
+ },
+ ],
+
+ ],
+ ],
+ ],
+ ]);
+
+ $expected = <<<'HTML'
+- label: Home; url: test/home
+- label: About; url: test/about
+-
+
+- label: another item; url: /test/another
+- label: logic item; url: test/logic
+
+
+HTML;
+
+ $this->assertEqualsWithoutLE($expected, $output);
+ }
+
public function testItemClassAsArray()
{
$output = Menu::widget([
@@ -302,8 +452,31 @@ public function testItemClassAsString()
$this->assertEqualsWithoutLE($expected, $output);
}
- /*public function testIsItemActive()
+ public function testIsItemActive()
{
- // TODO: implement test of protected method isItemActive()
- }*/
+ $output = Menu::widget([
+ 'route' => 'test/item2',
+ 'params' => [
+ 'page'=>'5',
+ ],
+ 'items' => [
+ [
+ 'label' => 'item1',
+ 'url' => ['/test/item1']
+ ],
+ [
+ 'label' => 'item2',
+ // use non relative route to avoid error in BaseUrl::normalizeRoute (missing controller)
+ 'url' => ['/test/item2','page'=>'5']
+ ],
+
+ ],
+ ]);
+
+ $expected = <<<'HTML'
+
+HTML;
+ $this->assertEqualsWithoutLE($expected, $output);
+ }
}
From ecc6c6121e59b71da7f974b15bd9a27d9e57d1df Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Fri, 20 Oct 2023 12:42:19 -0300
Subject: [PATCH 04/31] Use `Mock` tests, after checking the real test.
---
.../console/controllers/ServeController.php | 4 +
.../controllers/ServeControllerTest.php | 135 +++++++++++-------
2 files changed, 88 insertions(+), 51 deletions(-)
diff --git a/framework/console/controllers/ServeController.php b/framework/console/controllers/ServeController.php
index 4ba39240f62..924e47a448b 100644
--- a/framework/console/controllers/ServeController.php
+++ b/framework/console/controllers/ServeController.php
@@ -86,6 +86,10 @@ public function actionIndex($address = 'localhost')
$command .= " -r \"{$router}\"";
}
+ if (YII_ENV === 'test') {
+ return true;
+ }
+
passthru($command);
}
diff --git a/tests/framework/console/controllers/ServeControllerTest.php b/tests/framework/console/controllers/ServeControllerTest.php
index af8af4eaafe..463251e33b2 100644
--- a/tests/framework/console/controllers/ServeControllerTest.php
+++ b/tests/framework/console/controllers/ServeControllerTest.php
@@ -24,78 +24,111 @@ public function setUp()
$this->mockApplication();
}
- public function testActionIndex()
+ public function testAddressTaken()
{
- if (!\function_exists('pcntl_fork')) {
- $this->markTestSkipped('pcntl_fork() is not available');
- }
+ $docroot = __DIR__ . '/stub';
- if (!\function_exists('posix_kill')) {
- $this->markTestSkipped('posix_kill() is not available');
- }
+ /** @var ServeController $serveController */
+ $serveController = $this->getMockBuilder(ServeControllerMock::class)
+ ->setConstructorArgs(['serve', Yii::$app])
+ ->setMethods(['isAddressTaken'])
+ ->getMock();
- if (!\function_exists('pcntl_waitpid')) {
- $this->markTestSkipped('pcntl_waitpid() is not available');
- }
+ $serveController->expects($this->once())->method('isAddressTaken')->willReturn(true);
- $controller = new ServeController('serve', Yii::$app);
- $controller->docroot = __DIR__ . '/stub';
- $controller->port = 8080;
+ $serveController->docroot = $docroot;
+ $serveController->port = 8080;
- $pid = \pcntl_fork();
+ ob_start();
+ $serveController->actionIndex('localhost:8080');
+ ob_end_clean();
- if ($pid == 0) {
- \ob_start();
- $controller->actionIndex('localhost');
- \ob_get_clean();
- exit();
- }
+ $result = $serveController->flushStdOutBuffer();
- \sleep(1);
+ $this->assertContains('http://localhost:8080 is taken by another process.', $result);
+ }
+
+ public function testDefautlValues()
+ {
+ $docroot = __DIR__ . '/stub';
+
+ $serveController = new ServeControllerMock('serve', Yii::$app);
+ $serveController->docroot = $docroot;
+ $serveController->port = 8080;
+
+ ob_start();
+ $serveController->actionIndex();
+ ob_end_clean();
+
+ $result = $serveController->flushStdOutBuffer();
+
+ $this->assertContains('Server started on http://localhost:8080', $result);
+ $this->assertContains("Document root is \"{$docroot}\"", $result);
+ $this->assertContains('Quit the server with CTRL-C or COMMAND-C.', $result);
+ }
+
+ public function testDoocRootWithNoExistValue()
+ {
+ $docroot = '/not/exist/path';
+
+ $serveController = new ServeControllerMock('serve', Yii::$app);
+ $serveController->docroot = $docroot;
- $response = \file_get_contents('http://localhost:8080');
+ ob_start();
+ $serveController->actionIndex();
+ ob_end_clean();
- $this->assertEquals('Hello!', $response);
+ $result = $serveController->flushStdOutBuffer();
- \posix_kill($pid, \SIGTERM);
- \pcntl_waitpid($pid, $status);
+ $this->assertContains("Document root \"{$docroot}\" does not exist.", $result);
}
- public function testActionIndexWithRouter()
+ public function testWithRouterNoExistValue()
{
- if (!\function_exists('pcntl_fork')) {
- $this->markTestSkipped('pcntl_fork() is not available');
- }
+ $docroot = __DIR__ . '/stub';
+ $router = '/not/exist/path';
- if (!\function_exists('posix_kill')) {
- $this->markTestSkipped('posix_kill() is not available');
- }
+ $serveController = new ServeControllerMock('serve', Yii::$app);
+ $serveController->docroot = $docroot;
+ $serveController->port = 8081;
+ $serveController->router = $router;
- if (!\function_exists('pcntl_waitpid')) {
- $this->markTestSkipped('pcntl_waitpid() is not available');
- }
+ ob_start();
+ $serveController->actionIndex();
+ ob_end_clean();
- $controller = new ServeController('serve', Yii::$app);
- $controller->docroot = __DIR__ . '/stub';
- $controller->port = 8081;
- $controller->router = __DIR__ . '/stub/index.php';
+ $result = $serveController->flushStdOutBuffer();
- $pid = \pcntl_fork();
+ $this->assertContains("Routing file \"$router\" does not exist.", $result);
+ }
- if ($pid == 0) {
- \ob_start();
- $controller->actionIndex('localhost');
- \ob_get_clean();
- exit();
- }
+ public function testWithRouterValue()
+ {
+ $docroot = __DIR__ . '/stub';
+ $router = __DIR__ . '/stub/index.php';
- \sleep(1);
+ $serveController = new ServeControllerMock('serve', Yii::$app);
+ $serveController->docroot = $docroot;
+ $serveController->port = 8081;
+ $serveController->router = $router;
- $response = \file_get_contents('http://localhost:8081');
+ ob_start();
+ $serveController->actionIndex();
+ ob_end_clean();
- $this->assertEquals('Hello!', $response);
+ $result = $serveController->flushStdOutBuffer();
- \posix_kill($pid, \SIGTERM);
- \pcntl_waitpid($pid, $status);
+ $this->assertContains('Server started on http://localhost:8081', $result);
+ $this->assertContains("Document root is \"{$docroot}\"", $result);
+ $this->assertContains("Routing file is \"{$router}\"", $result);
+ $this->assertContains('Quit the server with CTRL-C or COMMAND-C.', $result);
}
}
+
+/**
+ * Mock class for [[\yii\console\controllers\ServeController]].
+ */
+class ServeControllerMock extends ServeController
+{
+ use StdOutBufferControllerTrait;
+}
From e726284a48b9d49ea3d62d9a5adaf73eb8b986aa Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Fri, 20 Oct 2023 12:45:51 -0300
Subject: [PATCH 05/31] Fix php 5.
---
tests/framework/console/controllers/ServeControllerTest.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/framework/console/controllers/ServeControllerTest.php b/tests/framework/console/controllers/ServeControllerTest.php
index 463251e33b2..cbf95e392cf 100644
--- a/tests/framework/console/controllers/ServeControllerTest.php
+++ b/tests/framework/console/controllers/ServeControllerTest.php
@@ -29,7 +29,7 @@ public function testAddressTaken()
$docroot = __DIR__ . '/stub';
/** @var ServeController $serveController */
- $serveController = $this->getMockBuilder(ServeControllerMock::class)
+ $serveController = $this->getMockBuilder('yii\console\controllers\ServeController')
->setConstructorArgs(['serve', Yii::$app])
->setMethods(['isAddressTaken'])
->getMock();
From c56bccd913fdf1ce63416ebbfcd3cdb46052434a Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Fri, 20 Oct 2023 12:50:20 -0300
Subject: [PATCH 06/31] Fix error typo.
---
tests/framework/console/controllers/ServeControllerTest.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/framework/console/controllers/ServeControllerTest.php b/tests/framework/console/controllers/ServeControllerTest.php
index cbf95e392cf..afc13a646fc 100644
--- a/tests/framework/console/controllers/ServeControllerTest.php
+++ b/tests/framework/console/controllers/ServeControllerTest.php
@@ -29,7 +29,7 @@ public function testAddressTaken()
$docroot = __DIR__ . '/stub';
/** @var ServeController $serveController */
- $serveController = $this->getMockBuilder('yii\console\controllers\ServeController')
+ $serveController = $this->getMockBuilder('yii\console\controllers\ServeControllerMock')
->setConstructorArgs(['serve', Yii::$app])
->setMethods(['isAddressTaken'])
->getMock();
From f8b49ce5111fa888a80bff9e7e7be980d2cea2ee Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Fri, 20 Oct 2023 12:59:20 -0300
Subject: [PATCH 07/31] Fix `getMockbuilder className()`.
---
tests/framework/console/controllers/ServeControllerTest.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/framework/console/controllers/ServeControllerTest.php b/tests/framework/console/controllers/ServeControllerTest.php
index afc13a646fc..e59df5d6652 100644
--- a/tests/framework/console/controllers/ServeControllerTest.php
+++ b/tests/framework/console/controllers/ServeControllerTest.php
@@ -29,7 +29,7 @@ public function testAddressTaken()
$docroot = __DIR__ . '/stub';
/** @var ServeController $serveController */
- $serveController = $this->getMockBuilder('yii\console\controllers\ServeControllerMock')
+ $serveController = $this->getMockBuilder(ServeControllerMocK::className())
->setConstructorArgs(['serve', Yii::$app])
->setMethods(['isAddressTaken'])
->getMock();
From f58eb362caf650be9cc430fa6ce39380d5ad2eb5 Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Sat, 21 Oct 2023 08:53:15 -0300
Subject: [PATCH 08/31] Remove `YII_ENV`.
---
.../console/controllers/ServeController.php | 11 ++---
.../controllers/ServeControllerTest.php | 41 ++++++++++++++++---
2 files changed, 41 insertions(+), 11 deletions(-)
diff --git a/framework/console/controllers/ServeController.php b/framework/console/controllers/ServeController.php
index 924e47a448b..b806f67d55b 100644
--- a/framework/console/controllers/ServeController.php
+++ b/framework/console/controllers/ServeController.php
@@ -86,11 +86,7 @@ public function actionIndex($address = 'localhost')
$command .= " -r \"{$router}\"";
}
- if (YII_ENV === 'test') {
- return true;
- }
-
- passthru($command);
+ $this->runCommand($command);
}
/**
@@ -132,4 +128,9 @@ protected function isAddressTaken($address)
fclose($fp);
return true;
}
+
+ protected function runCommand($command)
+ {
+ passthru($command);
+ }
}
diff --git a/tests/framework/console/controllers/ServeControllerTest.php b/tests/framework/console/controllers/ServeControllerTest.php
index e59df5d6652..35a5db6d075 100644
--- a/tests/framework/console/controllers/ServeControllerTest.php
+++ b/tests/framework/console/controllers/ServeControllerTest.php
@@ -31,10 +31,11 @@ public function testAddressTaken()
/** @var ServeController $serveController */
$serveController = $this->getMockBuilder(ServeControllerMocK::className())
->setConstructorArgs(['serve', Yii::$app])
- ->setMethods(['isAddressTaken'])
+ ->setMethods(['isAddressTaken', 'runCommand'])
->getMock();
$serveController->expects($this->once())->method('isAddressTaken')->willReturn(true);
+ $serveController->expects($this->never())->method('runCommand');
$serveController->docroot = $docroot;
$serveController->port = 8080;
@@ -48,14 +49,21 @@ public function testAddressTaken()
$this->assertContains('http://localhost:8080 is taken by another process.', $result);
}
- public function testDefautlValues()
+ public function testDefaultValues()
{
$docroot = __DIR__ . '/stub';
- $serveController = new ServeControllerMock('serve', Yii::$app);
+ /** @var ServeController $serveController */
+ $serveController = $this->getMockBuilder(ServeControllerMock::className())
+ ->setConstructorArgs(['serve', Yii::$app])
+ ->setMethods(['runCommand'])
+ ->getMock();
+
$serveController->docroot = $docroot;
$serveController->port = 8080;
+ $serveController->expects($this->once())->method('runCommand')->willReturn(true);
+
ob_start();
$serveController->actionIndex();
ob_end_clean();
@@ -71,9 +79,16 @@ public function testDoocRootWithNoExistValue()
{
$docroot = '/not/exist/path';
- $serveController = new ServeControllerMock('serve', Yii::$app);
+ /** @var ServeController $serveController */
+ $serveController = $this->getMockBuilder(ServeControllerMock::className())
+ ->setConstructorArgs(['serve', Yii::$app])
+ ->setMethods(['runCommand'])
+ ->getMock();
+
$serveController->docroot = $docroot;
+ $serveController->expects($this->any())->method('runCommand')->willReturn(true);
+
ob_start();
$serveController->actionIndex();
ob_end_clean();
@@ -88,11 +103,18 @@ public function testWithRouterNoExistValue()
$docroot = __DIR__ . '/stub';
$router = '/not/exist/path';
- $serveController = new ServeControllerMock('serve', Yii::$app);
+ /** @var ServeController $serveController */
+ $serveController = $this->getMockBuilder(ServeControllerMock::className())
+ ->setConstructorArgs(['serve', Yii::$app])
+ ->setMethods(['runCommand'])
+ ->getMock();
+
$serveController->docroot = $docroot;
$serveController->port = 8081;
$serveController->router = $router;
+ $serveController->expects($this->any())->method('runCommand')->willReturn(true);
+
ob_start();
$serveController->actionIndex();
ob_end_clean();
@@ -107,11 +129,18 @@ public function testWithRouterValue()
$docroot = __DIR__ . '/stub';
$router = __DIR__ . '/stub/index.php';
- $serveController = new ServeControllerMock('serve', Yii::$app);
+ /** @var ServeController $serveController */
+ $serveController = $this->getMockBuilder(ServeControllerMock::className())
+ ->setConstructorArgs(['serve', Yii::$app])
+ ->setMethods(['runCommand'])
+ ->getMock();
+
$serveController->docroot = $docroot;
$serveController->port = 8081;
$serveController->router = $router;
+ $serveController->expects($this->once())->method('runCommand')->willReturn(true);
+
ob_start();
$serveController->actionIndex();
ob_end_clean();
From bee7f7206f9eae800cf8630f6bb71e553dfed40c Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Sat, 21 Oct 2023 09:03:20 -0300
Subject: [PATCH 09/31] Add changelog line.
---
framework/CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index 28f29d95e2b..469a23773da 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -4,6 +4,7 @@ Yii Framework 2 Change Log
2.0.50 under development
------------------------
+- Bug #20005: Fix `yii\console\controllers\ServeController` to specify the router script (terabytesoftw)
- Bug #19060: Fix `yii\widgets\Menu` bug when using Closure for active item and adding additional tests in `tests\framework\widgets\MenuTest` (atrandafir)
- Bug #13920: Fixed erroneous validation for specific cases (tim-fischer-maschinensucher)
- Bug #19927: Fixed `console\controllers\MessageController` when saving translations to database: fixed FK error when adding new string and language at the same time, checking/regenerating all missing messages and dropping messages for unused languages (atrandafir)
From 5f3d36ea21dfc7b39d1c438e85971f03bf43f193 Mon Sep 17 00:00:00 2001
From: Robert Korulczyk
Date: Sat, 21 Oct 2023 18:22:41 +0200
Subject: [PATCH 10/31] Extract messages (#20022)
* {attribute} must not be equal to "{compareValue}""
* update config
* {attribute} must be greater than "{compareValueOrAttribute}".
{attribute} must be greater than or equal to "{compareValueOrAttribute}".
{attribute} must be less than "{compareValueOrAttribute}".
{attribute} must be less than or equal to "{compareValueOrAttribute}".
* {nFormatted} B
{nFormatted} GB
{nFormatted} kB
{nFormatted} MB
{nFormatted} PB
{nFormatted} TB
* {nFormatted} {n, plural, =1{byte} other{bytes}}
{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}
{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}
{nFormatted} {n, plural, =1{megabyte} other{megabytes}}
{nFormatted} {n, plural, =1{petabyte} other{petabytes}}
{nFormatted} {n, plural, =1{terabyte} other{terabytes}}
* Extract messages.
---
framework/messages/af/yii.php | 8 +-
framework/messages/ar/yii.php | 57 ++++--
framework/messages/az/yii.php | 90 +++++++---
framework/messages/be/yii.php | 8 +-
framework/messages/bg/yii.php | 8 +-
framework/messages/bs/yii.php | 41 ++++-
framework/messages/ca/yii.php | 78 ++++++---
framework/messages/config.php | 4 +-
framework/messages/cs/yii.php | 77 +++++----
framework/messages/da/yii.php | 207 +++++++++++++---------
framework/messages/de/yii.php | 23 +--
framework/messages/el/yii.php | 1 +
framework/messages/es/yii.php | 17 +-
framework/messages/et/yii.php | 58 ++++---
framework/messages/fa/yii.php | 22 +--
framework/messages/fi/yii.php | 30 +++-
framework/messages/fr/yii.php | 10 +-
framework/messages/he/yii.php | 79 ++++++++-
framework/messages/hi/yii.php | 15 +-
framework/messages/hr/yii.php | 80 ++++++---
framework/messages/hu/yii.php | 209 ++++++++++++----------
framework/messages/hy/yii.php | 24 +--
framework/messages/id/yii.php | 79 ++++++---
framework/messages/it/yii.php | 61 ++++---
framework/messages/ja/yii.php | 12 +-
framework/messages/ka/yii.php | 41 ++++-
framework/messages/kk/yii.php | 79 ++++++++-
framework/messages/ko/yii.php | 84 +++++++--
framework/messages/kz/yii.php | 100 +++++++----
framework/messages/lt/yii.php | 85 +++++----
framework/messages/lv/yii.php | 103 ++++++-----
framework/messages/ms/yii.php | 41 ++++-
framework/messages/nb-NO/yii.php | 61 +++++--
framework/messages/nl/yii.php | 37 +++-
framework/messages/pl/yii.php | 32 ++--
framework/messages/pt-BR/yii.php | 22 +--
framework/messages/pt/yii.php | 106 ++++++------
framework/messages/ro/yii.php | 80 ++++++++-
framework/messages/ru/yii.php | 10 +-
framework/messages/sk/yii.php | 9 +-
framework/messages/sl/yii.php | 46 +++--
framework/messages/sr-Latn/yii.php | 106 ++++++++----
framework/messages/sr/yii.php | 106 ++++++++----
framework/messages/sv/yii.php | 41 ++++-
framework/messages/tg/yii.php | 19 +-
framework/messages/th/yii.php | 67 ++++++--
framework/messages/tr/yii.php | 16 +-
framework/messages/uk/yii.php | 28 ++-
framework/messages/uz-Cy/yii.php | 268 ++++++++++++++++-------------
framework/messages/uz/yii.php | 85 +++++----
framework/messages/vi/yii.php | 76 +++++---
framework/messages/zh-TW/yii.php | 55 +++---
framework/messages/zh/yii.php | 8 +-
53 files changed, 2074 insertions(+), 1035 deletions(-)
diff --git a/framework/messages/af/yii.php b/framework/messages/af/yii.php
index b4a10bdf664..18be9560231 100644
--- a/framework/messages/af/yii.php
+++ b/framework/messages/af/yii.php
@@ -26,6 +26,8 @@
' and ' => ' en ',
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" ondersteun nie operateur "{operator}" nie.',
'(not set)' => '(nie gestel nie)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => '\'n Interne bediener fout het plaasgevind.',
'Are you sure you want to delete this item?' => 'Is jy seker jy wil hierdie item skrap?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Voorwaarde vir "{attribute}" moet óf \'n waarde, óf \'n geldige operateurspesifikasie wees.',
@@ -43,10 +45,10 @@
'Only files with these extensions are allowed: {extensions}.' => 'Slegs hierdie soort lêers word toegelaat: {extensions}.',
'Operator "{operator}" must be used with a search attribute.' => 'Operateur "{operator}" moet gebruik word met \'n soekkenmerk.',
'Operator "{operator}" requires multiple operands.' => 'Operateur "{operator}" vereis veelvuldige operande.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Bladsy nie gevind nie.',
'Please fix the following errors:' => 'Maak asseblief die volgende foute reg:',
'Please upload a file.' => 'Laai asseblief \'n lêer op.',
- 'Powered by {yii}' => 'Aangedryf deur {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '',
'The combination {values} of {attributes} has already been taken.' => 'Die kombinasie {values} van {attributes} is reeds geneem.',
'The file "{file}" is not an image.' => 'Die lêer "{file}" is nie \'n prent nie.',
@@ -68,7 +70,6 @@
'Update' => 'Opdateer',
'View' => 'Beskou',
'Yes' => 'Ja',
- 'Yii Framework' => 'Yii Raamwerk',
'You are not allowed to perform this action.' => 'Jy mag nie hierdie aksie uitvoer nie.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Jy kan \'n maksimum van {limit, number} {limit, plural, one{lêer} other{lêers}} oplaai.',
'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Jy moet ten minste {limit, number} {limit, plural, one{lêer} other{lêers}} oplaai.',
@@ -108,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} moet ten minste {min, number} {min, plural, one{karakter} other{karakters}} bevat.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} moet hoogstens {max, number} {max, plural, one{karakter} other{karakters}} bevat.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} moet {length, number} {length, plural, one{karakter} other{karakters}} bevat.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 dag} other{# dae}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta} uur',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuut} other{# minute}}',
@@ -123,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} KB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -131,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} KB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{greep} other{grepe}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibigreep} other{gibigrepe}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigagreep} other{gigagrepe}}',
diff --git a/framework/messages/ar/yii.php b/framework/messages/ar/yii.php
index f300954a31c..a2b19347e06 100644
--- a/framework/messages/ar/yii.php
+++ b/framework/messages/ar/yii.php
@@ -23,8 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(لم يحدد)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => '.حدث خطأ داخلي في الخادم',
+ 'Are you sure you want to delete this item?' => '',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'حذف',
'Error' => 'خطأ',
'File upload failed.' => '.فشل في تحميل الملف',
@@ -34,65 +40,91 @@
'Missing required arguments: {params}' => 'البيانات المطلوبة ضرورية: {params}',
'Missing required parameters: {params}' => 'البيانات المطلوبة ضرورية: {params}',
'No' => 'لا',
- 'No help for unknown command "{command}".' => 'ليس هناك مساعدة لأمر غير معروف "{command}".',
- 'No help for unknown sub-command "{command}".' => 'ليس هناك مساعدة لأمر فرعي غير معروف "{command}".',
'No results found.' => 'لم يتم العثور على نتائج',
- 'Only files with these extensions are allowed: {extensions}.' => 'فقط الملفات التي تحمل هذه الصيغ مسموح بها: {extensions}.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'فقط الملفات من هذه الأنواع مسموح بها: {mimeTypes}.',
+ 'Only files with these extensions are allowed: {extensions}.' => 'فقط الملفات التي تحمل هذه الصيغ مسموح بها: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'لم يتم العثور على الصفحة',
'Please fix the following errors:' => 'الرجاء تصحيح الأخطاء التالية:',
'Please upload a file.' => 'الرجاء تحميل ملف.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'عرض {begin, number}-{end, number} من أصل {totalCount, number} {totalCount, plural, one{مُدخل} few{مُدخلات} many{مُدخل} other{مُدخلات}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'الملف "{file}" ليس صورة.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'الملف "{file}" كبير الحجم. حجمه لا يجب أن يتخطى {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'الملف "{file}" صغير جداً. حجمه لا يجب أن يكون أصغر من {formattedLimit}.',
'The format of {attribute} is invalid.' => 'شكل {attribute} غير صالح',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'الصورة "{file}" كبيرة جداً. ارتفاعها لا يمكن أن يتخطى {limit, number} {limit, plural, other{بكسل}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'الصورة "{file}" كبيرة جداً. عرضها لا يمكن أن يتخطى {limit, number} {limit, plural, other{بكسل}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'الصورة "{file}" صغيرة جداً. ارتفاعها لا يمكن أن يقل عن {limit, number} {limit, plural, other{بكسل}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'الصورة "{file}" كبيرة جداً. عرضها لا يمكن أن يقل عن {limit, number} {limit, plural, other{بكسل}}.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => 'رمز التحقق غير صحيح',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'مجموع {count, number} {count, plural, one{مُدخل} few{مُدخلات} many{مُدخل}}.',
'Unable to verify your data submission.' => 'لم نستطع التأكد من البيانات المقدمة.',
- 'Unknown command "{command}".' => 'أمر غير معروف. "{command}"',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'خيار غير معروف: --{name}',
'Update' => 'تحديث',
'View' => 'عرض',
'Yes' => 'نعم',
'You are not allowed to perform this action.' => 'غير مصرح لك القيام بهذا العمل',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'تستطيع كأقصى حد تحميل {limit, number} {limit, plural, one{ملف} few{ملفات} many{ملف} other{ملفات}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '',
+ 'in {delta, plural, =1{a month} other{# months}}' => '',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '',
+ 'in {delta, plural, =1{a year} other{# years}}' => '',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '',
+ 'just now' => '',
'the input value' => 'قيمة المُدخل',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" سبق استعماله',
'{attribute} cannot be blank.' => '{attribute} لا يمكن تركه فارغًا.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} غير صالح.',
'{attribute} is not a valid URL.' => '{attribute} ليس بعنوان صحيح.',
'{attribute} is not a valid email address.' => '{attribute} ليس ببريد إلكتروني صحيح.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} يجب أن يكون "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} يجب أن يكون رقمًا',
'{attribute} must be a string.' => '{attribute} يجب أن يكون كلمات',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} يجب أن يكون رقمًا صحيحًا',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} يجب أن يكن إما "{true}" أو "{false}".',
'{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} يجب أن يساوي "{compareValueOrAttribute}".',
- '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} يجب أن لا يساوي "{compareValueOrAttribute}".',
'{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} يجب أن يكون أكبر من "{compareValueOrAttribute}".',
'{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} يجب أن يكون أكبر من أو يساوي "{compareValueOrAttribute}".',
'{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} يجب أن يكون أصغر من "{compareValueOrAttribute}".',
'{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} يجب أن يكون أصغر من أو يساوي "{compareValueOrAttribute}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} يجب أن يكون أكبر من "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} يجب أن يكون أكبر من أو يساوي "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} يجب أن يكون أصغر من "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} يجب أن يكون أصغر من أو يساوي "{compareValue}".',
'{attribute} must be no greater than {max}.' => '{attribute} يجب أن لا يكون أكبر من "{max}".',
'{attribute} must be no less than {min}.' => '{attribute} يجب أن لا يكون أصغر من "{min}".',
- '{attribute} must be repeated exactly.' => '{attribute} يجب أن يكون متطابق.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} يجب ان لا يساوي "{compareValue}"',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} يجب أن لا يساوي "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} يجب أن يحتوي على أكثر من {min, number} {min, plural, one{حرف} few{حروف} other{حرف}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} يجب أن لا يحتوي على أكثر من {max, number} {max, plural, one{حرف} few{حروف} other{حرف}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} يجب أن يحتوي على {length, number} {length, plural, one{حرف} few{حروف} other{حرف}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => '',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '',
+ '{delta, plural, =1{a month} other{# months}} ago' => '',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '',
+ '{delta, plural, =1{a year} other{# years}} ago' => '',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '',
'{nFormatted} B' => '{nFormatted} بايت',
'{nFormatted} GB' => '{nFormatted} جيجابايت',
'{nFormatted} GiB' => '{nFormatted} جيبيبايت',
- '{nFormatted} kB' => '{nFormatted} كيلوبايت',
'{nFormatted} KiB' => '{nFormatted} كيبيبايت',
'{nFormatted} MB' => '{nFormatted} ميجابايت',
'{nFormatted} MiB' => '{nFormatted} ميبيبايت',
@@ -100,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} بيبيبايت',
'{nFormatted} TB' => '{nFormatted} تيرابايت',
'{nFormatted} TiB' => '{nFormatted} تيبيبايت',
+ '{nFormatted} kB' => '{nFormatted} كيلوبايت',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} بايت',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} جيبيبايت',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} جيجابايت',
diff --git a/framework/messages/az/yii.php b/framework/messages/az/yii.php
index 797dc804327..a283d5501e4 100644
--- a/framework/messages/az/yii.php
+++ b/framework/messages/az/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(məlumat yoxdur)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Daxili server xətası meydana gəldi.',
'Are you sure you want to delete this item?' => 'Bu elementi silmək istədiyinizə əminsinizmi?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Sil',
'Error' => 'Xəta',
'File upload failed.' => 'Fayl yüklənmədi.',
@@ -35,65 +40,108 @@
'Missing required arguments: {params}' => 'Tələb olunan arqumentlər tapılmadı: {params}',
'Missing required parameters: {params}' => 'Tələb olunan parametrlər tapılmadı: {params}',
'No' => 'Xeyr',
- 'No help for unknown command "{command}".' => 'Qeyri-müəyyən "{command}" əmri üçün kömək yoxdur.',
- 'No help for unknown sub-command "{command}".' => 'Qeyri-müəyyən "{command}" sub-əmri üçün kömək yoxdur.',
'No results found.' => 'Heç bir nəticə tapılmadı',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Ancaq bu MIME tipli fayllara icazə verilib: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Genişlənmələri ancaq bu tipdə olan fayllara icazə verilib: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Səhifə tapılmadı.',
'Please fix the following errors:' => 'Xahiş olunur xətaları düzəldin: ',
'Please upload a file.' => 'Xahiş olunur bir fayl yükləyin.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '{totalCount, number} {totalCount, plural, one{elementdən} other{elementdən}} {begin, number}-{end, number} arası göstərilir.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => '"{file}" təsvir faylı deyil.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '"{file}" faylı çox böyükdür. Həcmi {formattedLimit} qiymətindən böyük ola bilməz.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '"{file}" faylı çox kiçikdir. Həcmi {formattedLimit} qiymətindən kiçik ola bilməz.',
'The format of {attribute} is invalid.' => '{attribute} formatı düzgün deyil.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '"{file}" şəkli çox böyükdür. Uzunluq {limit, plural, one{pixel} other{pixels}} qiymətindən böyük ola bilməz.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '"{file}" şəkli çox böyükdür. Eni {limit, number} {limit, plural, one{pixel} other{pixel}} qiymətindən böyük ola bilməz.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '"{file}" şəkli çox kiçikdir. Eni {limit, number} {limit, plural, one{pixel} other{pixel}} qiymətindən kiçik ola bilməz.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '"{file}" şəkli çox kiçikdir. Eni {limit, number} {limit, plural, one{pixel} other{pixels}} qiymətindən kiçik ola bilməz.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => 'Təsdiqləmə kodu səhvdir.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Toplam {count, number} {count, plural, one{element} other{element}}.',
'Unable to verify your data submission.' => 'Təqdim etdiyiniz məlumat təsdiqlənmədi.',
- 'Unknown command "{command}".' => 'Qeyri-müəyyən əmr "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Qeyri-müəyyən seçim: --{name}',
'Update' => 'Yenilə',
'View' => 'Bax',
'Yes' => 'Bəli',
'You are not allowed to perform this action.' => 'Bu əməliyyatı yerinə yetirmək üçün icazəniz yoxdur.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Ancaq {limit, number} {limit, plural, one{fayl} other{fayl}} yükləyə bilərsiniz.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '',
+ 'in {delta, plural, =1{a month} other{# months}}' => '',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '',
+ 'in {delta, plural, =1{a year} other{# years}}' => '',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '',
+ 'just now' => '',
'the input value' => 'daxil olunmuş qiymət',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" artıq istifadə olunub.',
'{attribute} cannot be blank.' => '{attribute} boş qoyula bilməz.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} düzgün deyil.',
'{attribute} is not a valid URL.' => '{attribute} düzgün URL deyil.',
'{attribute} is not a valid email address.' => '{attribute} düzgün e-mail deyil.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} {requiredValue} olmalıdır.',
'{attribute} must be a number.' => '{attribute} ədəd olmalıdır.',
'{attribute} must be a string.' => '{attribute} simvol tipli olmalıdır.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} tam ədəd olmalıdır.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} ya {true} ya da {false} ola bilər.',
- '{attribute} must be greater than "{compareValue}".' => '{attribute}, "{compareValue}" dən böyük olmalıdır.',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute}, "{compareValue}"dən böyük və ya bərabər olmalıdır.',
- '{attribute} must be less than "{compareValue}".' => '{attribute}, "{compareValue}" dən kiçik olmalıdır.',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute}, "{compareValue}"dən kiçik və ya bərabər olmalıdır.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute}, "{compareValueOrAttribute}" dən böyük olmalıdır.',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute}, "{compareValueOrAttribute}"dən böyük və ya bərabər olmalıdır.',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute}, "{compareValueOrAttribute}" dən kiçik olmalıdır.',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute}, "{compareValueOrAttribute}"dən kiçik və ya bərabər olmalıdır.',
'{attribute} must be no greater than {max}.' => '{attribute} {max} dən böyük olmamalıdır.',
'{attribute} must be no less than {min}.' => '{attribute} {min} dən kiçik olmamalıdır.',
- '{attribute} must be repeated exactly.' => '{attribute} dəqiqliklə təkrar olunmalıdir.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute}, "{compareValue}" ilə eyni olmamalıdır',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute}, "{compareValueOrAttribute}" ilə eyni olmamalıdır',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} ən az {min, number} simvol olmalıdır.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} ən çox {max, number} simvol olmalıdır.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} {length, number} simvol olmalıdır.',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n} Bayt',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n} Giqabayt',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n} Kilobayt',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n} Meqabayt',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n} Petabayt',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n} Terabayt',
- '{n} B' => '{n} B',
- '{n} GB' => '{n} GB',
- '{n} KB' => '{n} KB',
- '{n} MB' => '{n} MB',
- '{n} PB' => '{n} PB',
- '{n} TB' => '{n} TB',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => '',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '',
+ '{delta, plural, =1{a month} other{# months}} ago' => '',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '',
+ '{delta, plural, =1{a year} other{# years}} ago' => '',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} Bayt',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} Giqabayt',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} Kilobayt',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} Meqabayt',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} Petabayt',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} Terabayt',
];
diff --git a/framework/messages/be/yii.php b/framework/messages/be/yii.php
index f2ed384a925..c2771f47385 100644
--- a/framework/messages/be/yii.php
+++ b/framework/messages/be/yii.php
@@ -26,6 +26,8 @@
' and ' => ' і ',
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" не падтрымлівае аператар "{operator}".',
'(not set)' => '(не зададзена)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Узнікла ўнутраная памылка сервера.',
'Are you sure you want to delete this item?' => 'Вы ўпэўнены, што жадаеце выдаліць гэты элемент?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Умова для "{attribute}" павінна быць ці значэннем, ці дакладнай спецыфікацыяй аператара.',
@@ -43,10 +45,10 @@
'Only files with these extensions are allowed: {extensions}.' => 'Дазволена загрузка файлаў толькі з наступнымі пашырэннямі: {extensions}.',
'Operator "{operator}" must be used with a search attribute.' => 'Аператар "{operator}" павінен выкарыстоўвацца праз атрыбут пошуку.',
'Operator "{operator}" requires multiple operands.' => 'Аператар "{operator}" патрабуе некалькі аперандаў.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Старонка не знойдзена.',
'Please fix the following errors:' => 'Выпраўце наступныя памылкі:',
'Please upload a file.' => 'Загрузіце файл.',
- 'Powered by {yii}' => 'Працуе на {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Паказаны запісы {begin, number}-{end, number} з {totalCount, number}.',
'The combination {values} of {attributes} has already been taken.' => 'Камбінацыя {values} параметраў {attributes} ужо існуе.',
'The file "{file}" is not an image.' => 'Файл «{file}» не зьяўляецца малюнкам.',
@@ -68,7 +70,6 @@
'Update' => 'Рэдагаваць',
'View' => 'Прагляд',
'Yes' => 'Так',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'You are not allowed to perform this action.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Вы не можаце загружаць больш за {limit, number} {limit, plural, one{файл} few{файлы} many{файлаў} other{файла}}.',
'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Вы павінны загрузіць мінімум {limit, number} {limit, plural, one{файл} few{файлы} many{файлаў} other{файла}}',
@@ -108,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Значэнне «{attribute}» павінна ўтрымліваць мінімум {min, number} {min, plural, one{сімвал} few{сімвала} many{сімвалаў} other{сімвала}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Значэнне «{attribute}» павінна ўтрымліваць максімум {max, number} {max, plural, one{сімвал} few{сімвала} many{сімвалаў} other{сімвала}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Значэнне «{attribute}» павінна ўтрымліваць {length, number} {length, plural, one{сімвал} few{сімвала} many{сімвалаў} other{сімвала}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, one{# дзень} few{# дні} many{# дзён} other{# дні}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, one{# гадзіна} few{# гадзіны} many{# гадзін} other{# гадзіны}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, one{# хвіліна} few{# хвіліны} many{# хвілін} other{# хвіліны}}',
@@ -123,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} Б',
'{nFormatted} GB' => '{nFormatted} ГБ',
'{nFormatted} GiB' => '{nFormatted} ГіБ',
- '{nFormatted} kB' => '{nFormatted} КБ',
'{nFormatted} KiB' => '{nFormatted} КіБ',
'{nFormatted} MB' => '{nFormatted} МБ',
'{nFormatted} MiB' => '{nFormatted} МіБ',
@@ -131,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} ПіБ',
'{nFormatted} TB' => '{nFormatted} ТБ',
'{nFormatted} TiB' => '{nFormatted} ЦіБ',
+ '{nFormatted} kB' => '{nFormatted} КБ',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байт} few{байта} many{байтаў} other{байта}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гібібайт} few{гібібайта} many{гібібайтаў} other{гібібайта}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гігабайт} few{гігабайта} many{гігабайтаў} other{гігабайта}}',
diff --git a/framework/messages/bg/yii.php b/framework/messages/bg/yii.php
index eb87f3bf120..d12f3e03169 100644
--- a/framework/messages/bg/yii.php
+++ b/framework/messages/bg/yii.php
@@ -26,6 +26,8 @@
' and ' => ' и ',
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" не поддържа оператор "{operator}".',
'(not set)' => '(не е попълнено)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Възникна вътрешна грешка в сървъра.',
'Are you sure you want to delete this item?' => 'Сигурни ли сте, че искате да изтриете записа?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Условието за "{attribute}" трябва да е валидна стойност или оператор.',
@@ -43,10 +45,10 @@
'Only files with these extensions are allowed: {extensions}.' => 'Допускат се файлове със следните разширения: {extensions}.',
'Operator "{operator}" must be used with a search attribute.' => 'Операторът "{operator}" трябва да се използва с атрибут за търсене.',
'Operator "{operator}" requires multiple operands.' => 'Операторът "{operator}" изисква множество елементи.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Страницата не беше намерена.',
'Please fix the following errors:' => 'Моля, коригирайте следните грешки:',
'Please upload a file.' => 'Моля, прикачете файл.',
- 'Powered by {yii}' => 'Задвижвано от {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Показване на {begin, number}-{end, number} от {totalCount, number} {totalCount, plural, one{запис} other{записа}}.',
'The combination {values} of {attributes} has already been taken.' => 'Комбинацията от {values} от {attributes} е вече заета.',
'The file "{file}" is not an image.' => 'Файлът "{file}" не е изображение.',
@@ -68,7 +70,6 @@
'Update' => 'Обнови',
'View' => 'Виж',
'Yes' => 'Да',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'Нямате права да изпълните тази операция.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Може да прикачите най-много {limit, number} {limit, plural, one{файл} other{файла}}.',
'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Трябва да качите поне {limit, number} {limit, plural, one{файл} other{файлове}}.',
@@ -108,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Полето {attribute} трябва да съдържа поне {min, number} {min, plural, one{символ} other{символа}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Полето "{attribute}" трябва да съдържа най-много {max, number} {max, plural, one{символ} other{символа}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Полето "{attribute}" трябва да съдържа точно {length, number} {length, plural, one{символ} other{символа}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 ден} other{# дни}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 час} other{# часа}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 минута} other{# минути}}',
@@ -123,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} KB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -131,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} KB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{байта} other{байта}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{гибибайт} other{гибибайта}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{гигабайт} other{гигабайта}}',
diff --git a/framework/messages/bs/yii.php b/framework/messages/bs/yii.php
index 968d93aa442..c4013f58cf1 100644
--- a/framework/messages/bs/yii.php
+++ b/framework/messages/bs/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(bez vrijednosti)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Došlo je do interne greške na serveru.',
'Are you sure you want to delete this item?' => 'Jeste li sigurni da želite obrisati ovu stavku?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Obriši',
'Error' => 'Greška',
'File upload failed.' => 'Slanje datoteke nije uspjelo.',
@@ -38,14 +43,19 @@
'No results found.' => 'Nema rezultata.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Samo datoteke sa sljedećim MIME tipovima su dozvoljeni: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Samo datoteke sa sljedećim ekstenzijama su dozvoljeni: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Stranica nije pronađena.',
'Please fix the following errors:' => 'Molimo ispravite sljedeće greške:',
'Please upload a file.' => 'Molimo da pošaljete datoteku.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Prikazano {begin, number}-{end, number} od {totalCount, number} {totalCount, plural, one{stavke} other{stavki}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Datoteka "{file}" nije slika.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Datoteka "{file}" je prevelika. Veličina ne smije biti veća od {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Datoteka "{file}" је premala. Veličina ne smije biti manja od {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Format atributa "{attribute}" je neispravan.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je prevelika. Visina ne smije biti veća od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je prevelika. Širina ne smije biti veća od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je premala. Visina ne smije biti manja od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
@@ -54,12 +64,15 @@
'The verification code is incorrect.' => 'Potvrdni kod nije ispravan.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Ukupno {count, number} {count, plural, one{stavka} other{stavki}}.',
'Unable to verify your data submission.' => 'Nije moguće provjeriti poslane podatke.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Nepoznata opcija: --{name}',
'Update' => 'Ažurirati',
'View' => 'Pregled',
'Yes' => 'Da',
'You are not allowed to perform this action.' => 'Nemate prava da izvršite ovu akciju.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Možete poslati najviše {limit, number} {limit, plural, one{datoteku} other{datoteka}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'za {delta, plural, =1{dan} one{# dan} few{# dana} many{# dana} other{# dana}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'za {delta, plural, =1{minut} one{# minut} few{# minuta} many{# minuta} other{# minuta}}',
'in {delta, plural, =1{a month} other{# months}}' => 'za {delta, plural, =1{mjesec} one{# mjesec} few{# mjeseci} many{# mjeseci} other{# mjeseci}}',
@@ -70,25 +83,39 @@
'the input value' => 'ulazna vrijednost',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" je već zauzet.',
'{attribute} cannot be blank.' => '{attribute} ne smije biti prazan.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} je neispravan.',
'{attribute} is not a valid URL.' => '{attribute} ne sadrži ispravan URL.',
'{attribute} is not a valid email address.' => '{attribute} ne sadrži ispravnu email adresu.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} mora biti "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} mora biti broj.',
'{attribute} must be a string.' => '{attribute} mora biti tekst.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} mora biti cijeli broj.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} mora biti "{true}" ili "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} mora biti veći od "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} mora biti veći ili jednak od "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} mora biti manji od "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} mora biti manji ili jednak od "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} mora biti veći od "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} mora biti veći ili jednak od "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} mora biti manji od "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} mora biti manji ili jednak od "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} ne smije biti veći od "{max}"',
'{attribute} must be no less than {min}.' => '{attribute} ne smije biti manji od {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} mora biti ponovljen ispravno.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} ne smije biti jednak"{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} ne smije biti jednak"{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} treba sadržavati najmanje {min, number} {min, plural, one{znak} other{znakova}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} treba sadržavati najviše {max, number} {max, plural, one{znak} other{znakova}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} treba sadržavati {length, number} {length, plural, one{znak} other{znakova}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => 'prije {delta, plural, =1{dan} one{# dan} few{# dana} many{# dana} other{# dana}}',
'{delta, plural, =1{a minute} other{# minutes}} ago' => 'prije {delta, plural, =1{minut} one{# minut} few{# minuta} many{# minuta} other{# minuta}}',
'{delta, plural, =1{a month} other{# months}} ago' => 'prije {delta, plural, =1{mjesec} one{# mjesec} few{# mjeseci} many{# mjeseci} other{# mjeseci}}',
@@ -98,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -106,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{bajt} other{bajtova}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibajt} other{gibibajta}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabajt} other{gigabajta}}',
diff --git a/framework/messages/ca/yii.php b/framework/messages/ca/yii.php
index f404ab6411d..9e359a0dd5d 100644
--- a/framework/messages/ca/yii.php
+++ b/framework/messages/ca/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(no establert)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'S\'ha produït un error intern al servidor.',
'Are you sure you want to delete this item?' => 'Estas segur que vols eliminar aquest element?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Eliminar',
'Error' => 'Error',
'File upload failed.' => 'Ha fallat la pujada del fitxer.',
@@ -35,77 +40,108 @@
'Missing required arguments: {params}' => 'Falten arguments requerits: {params}',
'Missing required parameters: {params}' => 'Falten paràmetres requerits: {params}',
'No' => 'No',
- 'No help for unknown command "{command}".' => 'No hi ha ajuda per l\'ordre desconeguda "{command}"',
- 'No help for unknown sub-command "{command}".' => 'No hi ha ajuda per la sub-ordre desconeguda "{command}"',
'No results found.' => 'No s\'han trobat resultats.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Només s\'accepten arxius amb els següents tipus MIME: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Només s\'accepten arxius amb les seguents extensions: {extensions}',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'No s\'ha trobat la pàgina.',
'Please fix the following errors:' => 'Si us plau corregeix els següents errors:',
'Please upload a file.' => 'Si us plau puja un arxiu.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Mostrant {begin, number}-{end, number} de {totalCount, number} {totalCount, plural, one{element} other{elements}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'L\'arxiu "{file}" no és una imatge.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'L\'arxiu "{file}" és massa gran. El seu tamany no pot excedir {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'L\'arxiu "{file}" és massa petit. El seu tamany no pot ser menor que {formattedLimit}.',
'The format of {attribute} is invalid.' => 'El format de {attribute} és invalid.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'La imatge "{file}" és massa gran. L\'altura no pot ser major que {limit, number} {limit, plural, one{píxel} other{píxels}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'La imatge "{file}" és massa gran. L\'amplada no pot ser major que {limit, number} {limit, plural, one{píxel} other{píxels}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'La imatge "{file}" és massa petita. L\'altura no pot ser menor que {limit, number} {limit, plural, one{píxel} other{píxels}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'La imatge "{file}" és massa petita. L\'amplada no pot ser menor que {limit, number} {limit, plural, one{píxel} other{píxels}}.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => 'El codi de verificació és incorrecte.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{element} other{elements}}.',
'Unable to verify your data submission.' => 'No s\'ha pogut verificar les dades enviades.',
- 'Unknown command "{command}".' => 'Ordre desconeguda "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Opció desconeguda: --{name}',
'Update' => 'Actualitzar',
'View' => 'Veure',
'Yes' => 'Sí',
'You are not allowed to perform this action.' => 'No tems permís per executar aquesta acció.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Pots pujar com a màxim {limit, number} {limit, plural, one{arxiu} other{arxius}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'en {delta, plural, =1{un dia} other{# dies}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'en {delta, plural, =1{un minut} other{# minuts}}',
'in {delta, plural, =1{a month} other{# months}}' => 'en {delta, plural, =1{un mes} other{# mesos}}',
'in {delta, plural, =1{a second} other{# seconds}}' => 'en {delta, plural, =1{un segon} other{# segons}}',
'in {delta, plural, =1{a year} other{# years}}' => 'en {delta, plural, =1{un any} other{# anys}}',
'in {delta, plural, =1{an hour} other{# hours}}' => 'en {delta, plural, =1{una hora} other{# hores}}',
+ 'just now' => '',
'the input value' => 'el valor d\'entrada',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" ja ha sigut utilitzat.',
'{attribute} cannot be blank.' => '{attribute} no pot estar buit.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} és invalid.',
'{attribute} is not a valid URL.' => '{attribute} no és una URL valida.',
'{attribute} is not a valid email address.' => '{attribute} no es una direcció de correu valida.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} ha de ser "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} ha de ser un nombre.',
'{attribute} must be a string.' => '{attribute} ha de ser una cadena de caràcters.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} ha de ser un nombre enter.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} ha de ser "{true}" o "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} ha de ser major que "{compareValue}',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} ha de ser major o igual que "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} ha de ser menor que "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} ha de ser menor o igual que "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} ha de ser major que "{compareValueOrAttribute}',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} ha de ser major o igual que "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} ha de ser menor que "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} ha de ser menor o igual que "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} no pot ser major que {max}.',
'{attribute} must be no less than {min}.' => '{attribute} no pot ser menor que {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} ha de ser repetit exactament igual.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} no pot ser igual que "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} no pot ser igual que "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} hauria de contenir com a mínim {min, number} {min, plural, one{lletra} other{lletres}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} hauria de contenir com a màxim {max, number} {max, plural, one{lletra} other{lletres}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} hauria contenir {length, number} {length, plural, one{lletra} other{lletres}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => 'hace {delta, plural, =1{un dia} other{# dies}}',
'{delta, plural, =1{a minute} other{# minutes}} ago' => 'fa {delta, plural, =1{un minut} other{# minuts}}',
'{delta, plural, =1{a month} other{# months}} ago' => 'fa {delta, plural, =1{un mes} other{# mesos}}',
'{delta, plural, =1{a second} other{# seconds}} ago' => 'fa {delta, plural, =1{un segon} other{# segons}}',
'{delta, plural, =1{a year} other{# years}} ago' => 'fa {delta, plural, =1{un any} other{# anys}}',
'{delta, plural, =1{an hour} other{# hours}} ago' => 'fa {delta, plural, =1{una hora} other{# hores}}',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n, plural, =1{# byte} other{# bytes}}',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n, plural, =1{# gigabyte} other{# gigabytes}}',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n, plural, =1{# kilobyte} other{# kilobytes}}',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n, plural, =1{# megabyte} other{# megabytes}}',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n, plural, =1{# petabyte} other{# petabytes}}',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n, plural, =1{# terabyte} other{# terabytes}}',
- '{n} B' => '{n} B',
- '{n} GB' => '{n} GB',
- '{n} KB' => '{n} KB',
- '{n} MB' => '{n} MB',
- '{n} PB' => '{n} PB',
- '{n} TB' => '{n} TB',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{bytes}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}',
];
diff --git a/framework/messages/config.php b/framework/messages/config.php
index 6028328f315..21ba4310a5c 100644
--- a/framework/messages/config.php
+++ b/framework/messages/config.php
@@ -25,12 +25,12 @@
// boolean, whether to sort messages by keys when merging new messages
// with the existing ones. Defaults to false, which means the new (untranslated)
// messages will be separated from the old (translated) ones.
- 'sort' => false,
+ 'sort' => true,
// boolean, whether the message file should be overwritten with the merged messages
'overwrite' => true,
// boolean, whether to remove messages that no longer appear in the source code.
// Defaults to false, which means each of these messages will be enclosed with a pair of '@@' marks.
- 'removeUnused' => false,
+ 'removeUnused' => true,
// boolean, whether to mark messages that no longer appear in the source code.
// Defaults to true, which means each of these messages will be enclosed with a pair of '@@' marks.
'markUnused' => true,
diff --git a/framework/messages/cs/yii.php b/framework/messages/cs/yii.php
index d5c8232f1ba..5520301c14b 100644
--- a/framework/messages/cs/yii.php
+++ b/framework/messages/cs/yii.php
@@ -24,43 +24,13 @@
*/
return [
' and ' => ' a ',
- 'Powered by {yii}' => 'Běží na {yii}',
- 'The combination {values} of {attributes} has already been taken.' => 'Kombinace {values} pro {attributes} je již použitá.',
- 'Unknown alias: -{name}' => 'Neznámý alias: -{name}',
- 'Yii Framework' => 'Yii Framework',
- '{attribute} contains wrong subnet mask.' => '{attribute} obsahuje neplatnou masku podsítě.',
- '{attribute} is not in the allowed range.' => '{attribute} není v povoleném rozsahu.',
- '{attribute} must be a valid IP address.' => '{attribute} musí být platná IP adresa.',
- '{attribute} must be an IP address with specified subnet.' => '{attribute} musí být IP adresa se zadanou podsítí.',
- '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} se musí rovnat "{compareValueOrAttribute}".',
- '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} musí být větší než "{compareValueOrAttribute}".',
- '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} musí být větší nebo roven "{compareValueOrAttribute}".',
- '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} musí být menší než "{compareValueOrAttribute}".',
- '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} musí být menší nebo roven "{compareValueOrAttribute}".',
- '{attribute} must not be a subnet.' => '{attribute} nesmí být podsíť.',
- '{attribute} must not be an IPv4 address.' => '{attribute} nesmí být IPv4 adresa.',
- '{attribute} must not be an IPv6 address.' => '{attribute} nesmí být IPv6 adresa.',
- '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} se nesmí rovnat "{compareValueOrAttribute}".',
- '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 den} few{# dny} other{# dní}}',
- '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 hodina} few{# hodiny} other{# hodin}}',
- '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuta} few{# minuty} other{# minut}}',
- '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, =1{1 měsíc} few{# měsíce} other{# měsíců}}',
- '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, =1{1 sekunda} few{# sekundy} other{# sekund}}',
- '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, =1{1 rok} few{# roky} other{# let}}',
- '{nFormatted} B' => '{nFormatted} B',
- '{nFormatted} GB' => '{nFormatted} GB',
- '{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
- '{nFormatted} KiB' => '{nFormatted} KiB',
- '{nFormatted} MB' => '{nFormatted} MB',
- '{nFormatted} MiB' => '{nFormatted} MiB',
- '{nFormatted} PB' => '{nFormatted} PB',
- '{nFormatted} PiB' => '{nFormatted} PiB',
- '{nFormatted} TB' => '{nFormatted} TB',
- '{nFormatted} TiB' => '{nFormatted} TiB',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(není zadáno)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Vyskytla se vnitřní chyba serveru.',
'Are you sure you want to delete this item?' => 'Opravdu chcete smazat tuto položku?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Smazat',
'Error' => 'Chyba',
'File upload failed.' => 'Nepodařilo se nahrát soubor.',
@@ -73,14 +43,19 @@
'No results found.' => 'Nenalezeny žádné záznamy.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Povolené jsou pouze soubory následujících MIME typů: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Povolené jsou pouze soubory s následujícími příponami: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Stránka nenalezena.',
'Please fix the following errors:' => 'Opravte prosím následující chyby:',
'Please upload a file.' => 'Nahrajte prosím soubor.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '{totalCount, plural, one{Zobrazen} few{Zobrazeny} other{Zobrazeno}} {totalCount, plural, one{{begin, number}} other{{begin, number}-{end, number}}} z {totalCount, number} {totalCount, plural, one{záznamu} other{záznamů}}.',
+ 'The combination {values} of {attributes} has already been taken.' => 'Kombinace {values} pro {attributes} je již použitá.',
'The file "{file}" is not an image.' => 'Soubor "{file}" není obrázek.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Soubor "{file}" je příliš velký. Velikost souboru nesmí přesáhnout {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Soubor "{file}" je příliš malý. Velikost souboru nesmí být méně než {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Formát údaje {attribute} je neplatný.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Obrázek "{file}" je příliš velký. Výška nesmí přesáhnout {limit, number} {limit, plural, one{pixel} few{pixely} other{pixelů}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Obrázek "{file}" je příliš velký. Šířka nesmí přesáhnout {limit, number} {limit, plural, one{pixel} few{pixely} other{pixelů}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Obrázek "{file}" je příliš malý. Výška nesmí být méně než {limit, number} {limit, plural, one{pixel} few{pixely} other{pixelů}}.',
@@ -89,12 +64,15 @@
'The verification code is incorrect.' => 'Nesprávný ověřovací kód.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Celkem {count, number} {count, plural, one{záznam} few{záznamy} other{záznamů}}.',
'Unable to verify your data submission.' => 'Nebylo možné ověřit odeslané údaje.',
+ 'Unknown alias: -{name}' => 'Neznámý alias: -{name}',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Neznámá volba: --{name}',
'Update' => 'Upravit',
'View' => 'Náhled',
'Yes' => 'Ano',
'You are not allowed to perform this action.' => 'Nemáte oprávnění pro požadovanou akci.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Nahrát můžete nanejvýš {limit, number} {limit, plural, one{soubor} few{soubory} other{souborů}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'za {delta, plural, =1{den} few{# dny} other{# dnů}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'za {delta, plural, =1{minutu} few{# minuty} other{# minut}}',
'in {delta, plural, =1{a month} other{# months}}' => 'za {delta, plural, =1{měsíc} few{# měsíce} other{# měsíců}}',
@@ -105,25 +83,56 @@
'the input value' => 'vstupní hodnota',
'{attribute} "{value}" has already been taken.' => 'Hodnota "{value}" pro údaj {attribute} již byla dříve použita.',
'{attribute} cannot be blank.' => 'Je zapotřebí vyplnit {attribute}.',
+ '{attribute} contains wrong subnet mask.' => '{attribute} obsahuje neplatnou masku podsítě.',
'{attribute} is invalid.' => 'Neplatná hodnota pro {attribute}.',
'{attribute} is not a valid URL.' => '{attribute} není platná URL.',
'{attribute} is not a valid email address.' => 'Pro {attribute} nebyla použita platná emailová adresa.',
+ '{attribute} is not in the allowed range.' => '{attribute} není v povoleném rozsahu.',
'{attribute} must be "{requiredValue}".' => '{attribute} musí být "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} musí být číslo.',
'{attribute} must be a string.' => '{attribute} musí být řetězec.',
+ '{attribute} must be a valid IP address.' => '{attribute} musí být platná IP adresa.',
+ '{attribute} must be an IP address with specified subnet.' => '{attribute} musí být IP adresa se zadanou podsítí.',
'{attribute} must be an integer.' => '{attribute} musí být celé číslo.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} musí být buď "{true}" nebo "{false}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} se musí rovnat "{compareValueOrAttribute}".',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} musí být větší než "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} musí být větší nebo roven "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} musí být menší než "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} musí být menší nebo roven "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} nesmí být větší než {max}.',
'{attribute} must be no less than {min}.' => '{attribute} nesmí být menší než {min}.',
+ '{attribute} must not be a subnet.' => '{attribute} nesmí být podsíť.',
+ '{attribute} must not be an IPv4 address.' => '{attribute} nesmí být IPv4 adresa.',
+ '{attribute} must not be an IPv6 address.' => '{attribute} nesmí být IPv6 adresa.',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} se nesmí rovnat "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} musí obsahovat alespoň {min, number} {min, plural, one{znak} few{znaky} other{znaků}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} může obsahovat nanejvýš {max, number} {max, plural, one{znak} few{znaky} other{znaků}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} musí obsahovat {length, number} {length, plural, one{znak} few{znaky} other{znaků}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 den} few{# dny} other{# dní}}',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 hodina} few{# hodiny} other{# hodin}}',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuta} few{# minuty} other{# minut}}',
+ '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, =1{1 měsíc} few{# měsíce} other{# měsíců}}',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, =1{1 sekunda} few{# sekundy} other{# sekund}}',
+ '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, =1{1 rok} few{# roky} other{# let}}',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{včera} other{před # dny}}',
'{delta, plural, =1{a minute} other{# minutes}} ago' => 'před {delta, plural, =1{minutou} other{# minutami}}',
'{delta, plural, =1{a month} other{# months}} ago' => 'před {delta, plural, =1{měsícem} other{# měsíci}}',
'{delta, plural, =1{a second} other{# seconds}} ago' => 'před {delta, plural, =1{sekundou} other{# sekundami}}',
'{delta, plural, =1{a year} other{# years}} ago' => 'před {delta, plural, =1{rokem} other{# lety}}',
'{delta, plural, =1{an hour} other{# hours}} ago' => 'před {delta, plural, =1{hodinou} other{# hodinami}}',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '{nFormatted} GiB',
+ '{nFormatted} KiB' => '{nFormatted} KiB',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '{nFormatted} MiB',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '{nFormatted} PiB',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} few{byty} other{bytů}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibyte} few{gibibyty} other{gibibytů}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} few{gigabyty} other{gigabytů}}',
diff --git a/framework/messages/da/yii.php b/framework/messages/da/yii.php
index d7e27d265e3..6f074dd60be 100644
--- a/framework/messages/da/yii.php
+++ b/framework/messages/da/yii.php
@@ -23,90 +23,125 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- '(not set)' => '(ikke defineret)',
- 'An internal server error occurred.' => 'Der opstod en intern server fejl.',
- 'Are you sure you want to delete this item?' => 'Er du sikker på, at du vil slette dette element?',
- 'Delete' => 'Slet',
- 'Error' => 'Fejl',
- 'File upload failed.' => 'Upload af fil fejlede.',
- 'Home' => 'Start',
- 'Invalid data received for parameter "{param}".' => 'Ugyldig data modtaget for parameteren "{param}".',
- 'Login Required' => 'Login Påkrævet',
- 'Missing required arguments: {params}' => 'Påkrævede argumenter mangler: {params}',
- 'Missing required parameters: {params}' => 'Påkrævede parametre mangler: {params}',
- 'No' => 'Nej',
- 'No help for unknown command "{command}".' => 'Ingen hjælp til ukendt kommando "{command}".',
- 'No help for unknown sub-command "{command}".' => 'Ingen hjælp til ukendt under-kommando "{command}".',
- 'No results found.' => 'Ingen resultater fundet.',
- 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Kun filer med følgende MIME-typer er tilladte: {mimeTypes}.',
- 'Only files with these extensions are allowed: {extensions}.' => 'Kun filer med følgende filtyper er tilladte: {extensions}.',
- 'Page not found.' => 'Siden blev ikke fundet.',
- 'Please fix the following errors:' => 'Ret venligst følgende fejl:',
- 'Please upload a file.' => 'Venligst upload en fil.',
- 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Viser {begin, number}-{end, number} af {totalCount, number} {totalCount, plural, one{element} other{elementer}}.',
- 'The file "{file}" is not an image.' => 'Filen "{file}" er ikke et billede.',
- 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Filen "{file}" er for stor. Størrelsen må ikke overstige {formattedLimit}.',
- 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Filen "{file}" er for lille. Størrelsen må ikke være mindre end {formattedLimit}.',
- 'The format of {attribute} is invalid.' => 'Formatet af {attribute} er ugyldigt.',
- 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Billedet "{file}" er for stort. Højden må ikke være større end {limit, number} {limit, plural, one{pixel} other{pixels}}.',
- 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Billedet "{file}" er for stort. Bredden må ikke være større end {limit, number} {limit, plural, one{pixel} other{pixels}}.',
- 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Billedet "{file}" er for lille. Højden må ikke være mindre end {limit, number} {limit, plural, one{pixel} other{pixels}}.',
- 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Billedet "{file}" er for lille. Bredden må ikke være mindre end {limit, number} {limit, plural, one{pixel} other{pixels}}.',
- 'The requested view "{name}" was not found.' => 'Den ønskede visning "{name}" blev ikke fundet.',
- 'The verification code is incorrect.' => 'Verifikationskoden er ikke korrekt.',
- 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{element} other{elementer}}.',
- 'Unable to verify your data submission.' => 'Kunne ikke verificere din data indsendelse.',
- 'Unknown command "{command}".' => 'Ukendt kommando "{command}".',
- 'Unknown option: --{name}' => 'Ukendt option: --{name}',
- 'Update' => 'Opdatér',
- 'View' => 'Vis',
- 'Yes' => 'Ja',
- 'You are not allowed to perform this action.' => 'Du har ikke tilladelse til at udføre denne handling.',
- 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Du kan højst uploade {limit, number} {limit, plural, one{fil} other{filer}}.',
- 'in {delta, plural, =1{a day} other{# days}}' => 'om {delta, plural, =1{en dag} other{# dage}}',
- 'in {delta, plural, =1{a minute} other{# minutes}}' => 'om {delta, plural, =1{et minut} other{# minutter}}',
- 'in {delta, plural, =1{a month} other{# months}}' => 'om {delta, plural, =1{en måned} other{# måneder}}',
- 'in {delta, plural, =1{a second} other{# seconds}}' => 'om {delta, plural, =1{et sekund} other{# sekunder}}',
- 'in {delta, plural, =1{a year} other{# years}}' => 'om {delta, plural, =1{et år} other{# år}}',
- 'in {delta, plural, =1{an hour} other{# hours}}' => 'om {delta, plural, =1{en time} other{# timer}}',
- 'the input value' => 'inputværdien',
- '{attribute} "{value}" has already been taken.' => '{attribute} "{value}" er allerede i brug.',
- '{attribute} cannot be blank.' => '{attribute} må ikke være tom.',
- '{attribute} is invalid.' => '{attribute} er ugyldig.',
- '{attribute} is not a valid URL.' => '{attribute} er ikke en gyldig URL.',
- '{attribute} is not a valid email address.' => '{attribute} er ikke en gyldig emailadresse.',
- '{attribute} must be "{requiredValue}".' => '{attribute} skal være "{requiredValue}".',
- '{attribute} must be a number.' => '{attribute} skal være et nummer.',
- '{attribute} must be a string.' => '{attribute} skal være en tekst-streng.',
- '{attribute} must be an integer.' => '{attribute} skal være et heltal.',
- '{attribute} must be either "{true}" or "{false}".' => '{attribute} skal være enten "{true}" eller "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} skal være større end "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} skal være større end eller lig med "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} skal være mindre end "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} skal være mindre end eller lig med "{compareValue}".',
- '{attribute} must be no greater than {max}.' => '{attribute} må ikke være større end {max}.',
- '{attribute} must be no less than {min}.' => '{attribute} må ikke være mindre end {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} skal være gentaget præcist.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} må ikke være lig med "{compareValue}".',
- '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} skal mindst indeholde {min, number} {min, plural, one{tegn} other{tegn}}.',
- '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} skal højst indeholde {max, number} {max, plural, one{tegn} other{tegn}}.',
- '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} skal indeholde {length, number} {length, plural, one{tegn} other{tegn}}.',
- '{delta, plural, =1{a day} other{# days}} ago' => 'for {delta, plural, =1{en dag} other{# dage}} siden',
- '{delta, plural, =1{a minute} other{# minutes}} ago' => 'for {delta, plural, =1{et minut} other{# minutter}} siden',
- '{delta, plural, =1{a month} other{# months}} ago' => 'for {delta, plural, =1{en måned} other{# måneder}} siden',
- '{delta, plural, =1{a second} other{# seconds}} ago' => 'for {delta, plural, =1{et sekund} other{# sekunder}} siden',
- '{delta, plural, =1{a year} other{# years}} ago' => 'for {delta, plural, =1{et år} other{# år}} siden',
- '{delta, plural, =1{an hour} other{# hours}} ago' => 'for {delta, plural, =1{en time} other{# timer}} siden',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n, plural, =1{# byte} other{# bytes}}',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n, plural, =1{# gigabyte} other{# gigabytes}}',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n, plural, =1{# kilobyte} other{# kilobytes}}',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n, plural, =1{# megabyte} other{# megabytes}}',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n, plural, =1{# petabyte} other{# petabytes}}',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n, plural, =1{# terabyte} other{# terabytes}}',
- '{n} B' => '{n} B',
- '{n} GB' => '{n} GB',
- '{n} KB' => '{n} KB',
- '{n} MB' => '{n} MB',
- '{n} PB' => '{n} PB',
- '{n} TB' => '{n} TB',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
+ '(not set)' => '(ikke defineret)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
+ 'An internal server error occurred.' => 'Der opstod en intern server fejl.',
+ 'Are you sure you want to delete this item?' => 'Er du sikker på, at du vil slette dette element?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
+ 'Delete' => 'Slet',
+ 'Error' => 'Fejl',
+ 'File upload failed.' => 'Upload af fil fejlede.',
+ 'Home' => 'Start',
+ 'Invalid data received for parameter "{param}".' => 'Ugyldig data modtaget for parameteren "{param}".',
+ 'Login Required' => 'Login Påkrævet',
+ 'Missing required arguments: {params}' => 'Påkrævede argumenter mangler: {params}',
+ 'Missing required parameters: {params}' => 'Påkrævede parametre mangler: {params}',
+ 'No' => 'Nej',
+ 'No results found.' => 'Ingen resultater fundet.',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Kun filer med følgende MIME-typer er tilladte: {mimeTypes}.',
+ 'Only files with these extensions are allowed: {extensions}.' => 'Kun filer med følgende filtyper er tilladte: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
+ 'Page not found.' => 'Siden blev ikke fundet.',
+ 'Please fix the following errors:' => 'Ret venligst følgende fejl:',
+ 'Please upload a file.' => 'Venligst upload en fil.',
+ 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Viser {begin, number}-{end, number} af {totalCount, number} {totalCount, plural, one{element} other{elementer}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
+ 'The file "{file}" is not an image.' => 'Filen "{file}" er ikke et billede.',
+ 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Filen "{file}" er for stor. Størrelsen må ikke overstige {formattedLimit}.',
+ 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Filen "{file}" er for lille. Størrelsen må ikke være mindre end {formattedLimit}.',
+ 'The format of {attribute} is invalid.' => 'Formatet af {attribute} er ugyldigt.',
+ 'The format of {filter} is invalid.' => '',
+ 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Billedet "{file}" er for stort. Højden må ikke være større end {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Billedet "{file}" er for stort. Bredden må ikke være større end {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Billedet "{file}" er for lille. Højden må ikke være mindre end {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Billedet "{file}" er for lille. Bredden må ikke være mindre end {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The requested view "{name}" was not found.' => 'Den ønskede visning "{name}" blev ikke fundet.',
+ 'The verification code is incorrect.' => 'Verifikationskoden er ikke korrekt.',
+ 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{element} other{elementer}}.',
+ 'Unable to verify your data submission.' => 'Kunne ikke verificere din data indsendelse.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
+ 'Unknown option: --{name}' => 'Ukendt option: --{name}',
+ 'Update' => 'Opdatér',
+ 'View' => 'Vis',
+ 'Yes' => 'Ja',
+ 'You are not allowed to perform this action.' => 'Du har ikke tilladelse til at udføre denne handling.',
+ 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Du kan højst uploade {limit, number} {limit, plural, one{fil} other{filer}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => 'om {delta, plural, =1{en dag} other{# dage}}',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => 'om {delta, plural, =1{et minut} other{# minutter}}',
+ 'in {delta, plural, =1{a month} other{# months}}' => 'om {delta, plural, =1{en måned} other{# måneder}}',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => 'om {delta, plural, =1{et sekund} other{# sekunder}}',
+ 'in {delta, plural, =1{a year} other{# years}}' => 'om {delta, plural, =1{et år} other{# år}}',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => 'om {delta, plural, =1{en time} other{# timer}}',
+ 'just now' => '',
+ 'the input value' => 'inputværdien',
+ '{attribute} "{value}" has already been taken.' => '{attribute} "{value}" er allerede i brug.',
+ '{attribute} cannot be blank.' => '{attribute} må ikke være tom.',
+ '{attribute} contains wrong subnet mask.' => '',
+ '{attribute} is invalid.' => '{attribute} er ugyldig.',
+ '{attribute} is not a valid URL.' => '{attribute} er ikke en gyldig URL.',
+ '{attribute} is not a valid email address.' => '{attribute} er ikke en gyldig emailadresse.',
+ '{attribute} is not in the allowed range.' => '',
+ '{attribute} must be "{requiredValue}".' => '{attribute} skal være "{requiredValue}".',
+ '{attribute} must be a number.' => '{attribute} skal være et nummer.',
+ '{attribute} must be a string.' => '{attribute} skal være en tekst-streng.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
+ '{attribute} must be an integer.' => '{attribute} skal være et heltal.',
+ '{attribute} must be either "{true}" or "{false}".' => '{attribute} skal være enten "{true}" eller "{false}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} skal være større end "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} skal være større end eller lig med "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} skal være mindre end "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} skal være mindre end eller lig med "{compareValueOrAttribute}".',
+ '{attribute} must be no greater than {max}.' => '{attribute} må ikke være større end {max}.',
+ '{attribute} must be no less than {min}.' => '{attribute} må ikke være mindre end {min}.',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} må ikke være lig med "{compareValueOrAttribute}".',
+ '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} skal mindst indeholde {min, number} {min, plural, one{tegn} other{tegn}}.',
+ '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} skal højst indeholde {max, number} {max, plural, one{tegn} other{tegn}}.',
+ '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} skal indeholde {length, number} {length, plural, one{tegn} other{tegn}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => 'for {delta, plural, =1{en dag} other{# dage}} siden',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => 'for {delta, plural, =1{et minut} other{# minutter}} siden',
+ '{delta, plural, =1{a month} other{# months}} ago' => 'for {delta, plural, =1{en måned} other{# måneder}} siden',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => 'for {delta, plural, =1{et sekund} other{# sekunder}} siden',
+ '{delta, plural, =1{a year} other{# years}} ago' => 'for {delta, plural, =1{et år} other{# år}} siden',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => 'for {delta, plural, =1{en time} other{# timer}} siden',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{bytes}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}',
];
diff --git a/framework/messages/de/yii.php b/framework/messages/de/yii.php
index 51ede9951a1..96f36ac4374 100644
--- a/framework/messages/de/yii.php
+++ b/framework/messages/de/yii.php
@@ -24,9 +24,13 @@
*/
return [
' and ' => ' und ',
+ '"{attribute}" does not support operator "{operator}".' => '"{attribute}" unterstützt den Operator "{operator}" nicht.',
'(not set)' => '(nicht gesetzt)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Es ist ein interner Serverfehler aufgetreten.',
'Are you sure you want to delete this item?' => 'Wollen Sie diesen Eintrag wirklich löschen?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Die Bedingung für "{attribute}" muss entweder ein Wert oder ein gültiger Operator sein.',
'Delete' => 'Löschen',
'Error' => 'Fehler',
'File upload failed.' => 'Das Hochladen der Datei ist fehlgeschlagen.',
@@ -39,16 +43,19 @@
'No results found.' => 'Keine Ergebnisse gefunden',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Es sind nur Dateien mit folgenden MIME-Typen erlaubt: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Es sind nur Dateien mit folgenden Dateierweiterungen erlaubt: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => 'Der Operator "{operator}" muss zusammen mit einem Such-Attribut verwendet werden.',
+ 'Operator "{operator}" requires multiple operands.' => 'Der Operator "{operator}" erwartet mehrere Operanden.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Seite nicht gefunden.',
'Please fix the following errors:' => 'Bitte korrigieren Sie die folgenden Fehler:',
'Please upload a file.' => 'Bitte laden Sie eine Datei hoch.',
- 'Powered by {yii}' => 'Basiert auf {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Zeige {begin, number}-{end, number} von {totalCount, number} {totalCount, plural, one{Eintrag} other{Einträgen}}.',
'The combination {values} of {attributes} has already been taken.' => 'Die Kombination {values} für {attributes} wird bereits verwendet.',
'The file "{file}" is not an image.' => 'Die Datei "{file}" ist kein Bild.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Die Datei "{file}" ist zu groß. Es sind maximal {formattedLimit} erlaubt.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Die Datei "{file}" ist zu klein. Es sind mindestens {formattedLimit} erforderlich.',
'The format of {attribute} is invalid.' => 'Das Format von {attribute} ist ungültig.',
+ 'The format of {filter} is invalid.' => 'Das Format von {filter} ist ungültig.',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Das Bild "{file}" ist zu groß. Es darf maximal {limit, number} Pixel hoch sein.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Das Bild "{file}" ist zu groß. Es darf maximal {limit, number} Pixel breit sein.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Das Bild "{file}" ist zu klein. Es muss mindestens {limit, number} Pixel hoch sein.',
@@ -58,13 +65,14 @@
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Insgesamt {count, number} {count, plural, one{Eintrag} other{Einträge}}.',
'Unable to verify your data submission.' => 'Ihre Dateneingabe konnte nicht überprüft werden oder ist ungültig.',
'Unknown alias: -{name}' => 'Unbekannter Alias: -{name}',
+ 'Unknown filter attribute "{attribute}"' => 'Unbekanntes Filter-Attribut "{attribute}"',
'Unknown option: --{name}' => 'Unbekannte Option: --{name}',
'Update' => 'Bearbeiten',
'View' => 'Anzeigen',
'Yes' => 'Ja',
- 'Yii Framework' => 'Yii Framework',
- 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Sie können maximal {limit, plural, one{eine Datei} other{# Dateien}} hochladen.',
'You are not allowed to perform this action.' => 'Sie dürfen diese Aktion nicht durchführen.',
+ 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Sie können maximal {limit, plural, one{eine Datei} other{# Dateien}} hochladen.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'in {delta, plural, =1{einem Tag} other{# Tagen}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'in {delta, plural, =1{einer Minute} other{# Minuten}}',
'in {delta, plural, =1{a month} other{# months}}' => 'in {delta, plural, =1{einem Monat} other{# Monaten}}',
@@ -101,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} muss mindestens {min, number} Zeichen enthalten.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} darf maximal {max, number} Zeichen enthalten.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} muss aus genau {length, number} Zeichen bestehen.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 Tag} other{# Tage}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 Stunde} other{# Stunden}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 Minute} other{# Minuten}}',
@@ -116,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -124,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} Byte',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} GibiByte',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} Gigabyte',
@@ -135,10 +144,4 @@
'{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} Petabyte',
'{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} TebiByte',
'{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} Terabyte',
- '"{attribute}" does not support operator "{operator}".' => '"{attribute}" unterstützt den Operator "{operator}" nicht.',
- 'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Die Bedingung für "{attribute}" muss entweder ein Wert oder ein gültiger Operator sein.',
- 'Operator "{operator}" must be used with a search attribute.' => 'Der Operator "{operator}" muss zusammen mit einem Such-Attribut verwendet werden.',
- 'Operator "{operator}" requires multiple operands.' => 'Der Operator "{operator}" erwartet mehrere Operanden.',
- 'The format of {filter} is invalid.' => 'Das Format von {filter} ist ungültig.',
- 'Unknown filter attribute "{attribute}"' => 'Unbekanntes Filter-Attribut "{attribute}"',
];
diff --git a/framework/messages/el/yii.php b/framework/messages/el/yii.php
index 2c4cfa79fd9..fddd64d8212 100644
--- a/framework/messages/el/yii.php
+++ b/framework/messages/el/yii.php
@@ -109,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Το «{attribute}» πρέπει να περιέχει τουλάχιστον {min, number} {min, plural, one{χαρακτήρα} few{χαρακτήρες} many{χαρακτήρες} other{χαρακτήρες}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Το «{attribute}» πρέπει να περιέχει το πολύ {max, number} {max, plural, one{χαρακτήρα} few{χαρακτήρες} many{χαρακτήρες} other{χαρακτήρες}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Το «{attribute}» πρέπει να περιέχει {length, number} {length, plural, one{χαρακτήρα} few{χαρακτήρες} many{χαρακτήρες} other{χαρακτήρες}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 ημέρα} other{# ημέρες}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 ώρα} other{# ώρες}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 λεπτό} other{# λεπτά}}',
diff --git a/framework/messages/es/yii.php b/framework/messages/es/yii.php
index 6d65a3233c8..af60f0767ed 100644
--- a/framework/messages/es/yii.php
+++ b/framework/messages/es/yii.php
@@ -24,10 +24,13 @@
*/
return [
' and ' => ' y ',
- 'The combination {values} of {attributes} has already been taken.' => 'La combinación de {values} de {attributes} ya ha sido utilizada.',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(no definido)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Hubo un error interno del servidor.',
'Are you sure you want to delete this item?' => '¿Está seguro de eliminar este elemento?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Eliminar',
'Error' => 'Error',
'File upload failed.' => 'Falló la subida del archivo.',
@@ -40,15 +43,19 @@
'No results found.' => 'No se encontraron resultados.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Sólo se aceptan archivos con los siguientes tipos MIME: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Sólo se aceptan archivos con las siguientes extensiones: {extensions}',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Página no encontrada.',
'Please fix the following errors:' => 'Por favor corrija los siguientes errores:',
'Please upload a file.' => 'Por favor suba un archivo.',
- 'Powered by {yii}' => 'Desarrollado con {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Mostrando {begin, number}-{end, number} de {totalCount, number} {totalCount, plural, one{elemento} other{elementos}}.',
+ 'The combination {values} of {attributes} has already been taken.' => 'La combinación de {values} de {attributes} ya ha sido utilizada.',
'The file "{file}" is not an image.' => 'El archivo "{file}" no es una imagen.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'El archivo "{file}" es demasiado grande. Su tamaño no puede exceder {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'El archivo "{file}" es demasiado pequeño. Su tamaño no puede ser menor a {formattedLimit}.',
'The format of {attribute} is invalid.' => 'El formato de {attribute} es inválido.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'La imagen "{file}" es demasiado grande. La altura no puede ser mayor a {limit, number} {limit, plural, one{píxel} other{píxeles}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'La imagen "{file}" es demasiado grande. La anchura no puede ser mayor a {limit, number} {limit, plural, one{píxel} other{píxeles}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'La imagen "{file}" es demasiado pequeña. La altura no puede ser menor a {limit, number} {limit, plural, one{píxel} other{píxeles}}.',
@@ -58,13 +65,14 @@
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{elemento} other{elementos}}.',
'Unable to verify your data submission.' => 'Incapaz de verificar los datos enviados.',
'Unknown alias: -{name}' => 'Alias desconocido: -{name}',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Opción desconocida: --{name}',
'Update' => 'Actualizar',
'View' => 'Ver',
'Yes' => 'Sí',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'No tiene permitido ejecutar esta acción.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Puedes subir como máximo {limit, number} {limit, plural, one{archivo} other{archivos}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'en {delta, plural, =1{un día} other{# días}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'en {delta, plural, =1{un minuto} other{# minutos}}',
'in {delta, plural, =1{a month} other{# months}}' => 'en {delta, plural, =1{un mes} other{# meses}}',
@@ -101,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} debería contener al menos {min, number} {min, plural, one{letra} other{letras}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} debería contener como máximo {max, number} {max, plural, one{letra} other{letras}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} debería contener {length, number} {length, plural, one{letra} other{letras}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 día} other{# días}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 hora} other{# horas}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuto} other{# minutos}}',
@@ -116,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -124,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{bytes}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}',
diff --git a/framework/messages/et/yii.php b/framework/messages/et/yii.php
index 337d7fc1506..950274fa961 100644
--- a/framework/messages/et/yii.php
+++ b/framework/messages/et/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => ' ja ',
+ '"{attribute}" does not support operator "{operator}".' => '"{attribute}" ei toeta tehtemärki "{operator}".',
'(not set)' => '(määramata)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Ilmnes serveri sisemine viga.',
'Are you sure you want to delete this item?' => 'Kas olete kindel, et soovite selle üksuse kustutada?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Atribuudi "{attribute}" tingimus peaks olema kas väärtus või korrektne tehtemärgi spetsifikatsioon.',
'Delete' => 'Kustuta',
'Error' => 'Viga',
'File upload failed.' => 'Faili üleslaadimine ebaõnnestus.',
@@ -38,14 +43,19 @@
'No results found.' => 'Ei leitud ühtegi tulemust.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Lubatud on ainult nende MIME tüüpidega failid: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Lubatud on ainult nende faililaienditega failid: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => 'Tehtemärki "{operator}" peab kasutama koos otsinguatribuudiga.',
+ 'Operator "{operator}" requires multiple operands.' => 'Tehtemärk "{operator}" nõuab mitut operandi.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Lehekülge ei leitud.',
'Please fix the following errors:' => 'Palun parandage järgnevad vead:',
'Please upload a file.' => 'Palun laadige fail üles.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Näitan {totalCount, number} {totalCount, plural, one{üksusest} other{üksusest}} {begin, number}-{end, number}.',
+ 'The combination {values} of {attributes} has already been taken.' => 'Atribuutide {attributes} väärtuste kombinatsioon {values} on juba võetud.',
'The file "{file}" is not an image.' => 'See fail "{file}" ei ole pilt.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'See fail "{file}" on liiga suur. Suurus ei tohi ületada {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'See fail "{file}" on liiga väike. Suurus ei tohi olla väiksem kui {formattedLimit}.',
'The format of {attribute} is invalid.' => '{attribute} on sobimatus vormingus.',
+ 'The format of {filter} is invalid.' => 'Filtri {filter} formaat on sobimatu.',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Pilt "{file}" on liiga suur. Kõrgus ei tohi olla suurem kui {limit, number} {limit, plural, one{piksel} other{pikslit}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Pilt "{file}" on liiga suur. Laius ei tohi olla suurem kui {limit, number} {limit, plural, one{piksel} other{pikslit}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Pilt "{file}" on liiga väike. Kõrgus ei tohi olla väiksem kui {limit, number} {limit, plural, one{piksel} other{pikslit}}.',
@@ -54,72 +64,64 @@
'The verification code is incorrect.' => 'Kontrollkood on vale.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Kokku {count, number} {count, plural, one{üksus} other{üksust}}.',
'Unable to verify your data submission.' => 'Ei suuda edastatud andmete õigsuses veenduda.',
+ 'Unknown alias: -{name}' => 'Tundmatu alias: -{name}',
+ 'Unknown filter attribute "{attribute}"' => 'Tundmatu filtri atribuut "{attribute}"',
'Unknown option: --{name}' => 'Tundmatu valik: --{name}',
'Update' => 'Muuda',
'View' => 'Vaata',
'Yes' => 'Jah',
'You are not allowed to perform this action.' => 'Teil pole õigust seda toimingut sooritada.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Saate üles laadida kõige rohkem {limit, number} {limit, plural, one{faili} other{faili}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Peaksid üles laadima vähemalt {limit, number} {limit, plural, one{faili} other{faili}}.',
'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{ühe päeva} other{# päeva}} pärast',
'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{ühe minuti} other{# minuti}} pärast',
'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{ühe kuu} other{# kuu}} pärast',
'in {delta, plural, =1{a second} other{# seconds}}' => '{delta, plural, =1{ühe sekundi} other{# sekundi}} pärast',
'in {delta, plural, =1{a year} other{# years}}' => '{delta, plural, =1{ühe aasta} other{# aasta}} pärast',
'in {delta, plural, =1{an hour} other{# hours}}' => '{delta, plural, =1{ühe tunni} other{# tunni}} pärast',
+ 'just now' => 'just nüüd',
'the input value' => 'sisendväärtus',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" on juba kasutuses.',
'{attribute} cannot be blank.' => '{attribute} ei tohi olla tühi.',
+ '{attribute} contains wrong subnet mask.' => '{attribute} sisaldab valet alamvõrgumaski.',
'{attribute} is invalid.' => '{attribute} on sobimatu.',
'{attribute} is not a valid URL.' => '{attribute} ei ole korrektne URL.',
'{attribute} is not a valid email address.' => '{attribute} ei ole korrektne e-posti aadress.',
+ '{attribute} is not in the allowed range.' => '{attribute} ei ole lubatud vahemikus.',
'{attribute} must be "{requiredValue}".' => '{attribute} peab olema "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} peab olema number.',
'{attribute} must be a string.' => '{attribute} peab olema tekst.',
- '{attribute} must be an integer.' => '{attribute} peab olema täisarv.',
- '{attribute} must be either "{true}" or "{false}".' => '{attribute} peab olema kas "{true}" või "{false}".',
- '{attribute} must be no greater than {max}.' => '{attribute} ei tohi olla suurem kui {max}.',
- '{attribute} must be no less than {min}.' => '{attribute} ei tohi olla väiksem kui {min}.',
- '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} peab sisaldama vähemalt {min, number} {min, plural, one{tähemärki} other{tähemärki}}.',
- '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} tohib sisaldada maksimaalselt {max, number} {max, plural, one{tähemärki} other{tähemärki}}.',
- '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} peab sisaldama {length, number} {length, plural, one{tähemärki} other{tähemärki}}.',
- '{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{1 päev} other{# päeva}} tagasi',
- '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{1 minut} other{# minutit}} tagasi',
- '{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{kuu aega} other{# kuud}} tagasi',
- '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{1 sekund} other{# sekundit}} tagasi',
- '{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{aasta} other{# aastat}} tagasi',
- '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{tund aega} other{# tundi}} tagasi',
- ' and ' => ' ja ',
- '"{attribute}" does not support operator "{operator}".' => '"{attribute}" ei toeta tehtemärki "{operator}".',
- 'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Atribuudi "{attribute}" tingimus peaks olema kas väärtus või korrektne tehtemärgi spetsifikatsioon.',
- 'Operator "{operator}" must be used with a search attribute.' => 'Tehtemärki "{operator}" peab kasutama koos otsinguatribuudiga.',
- 'Operator "{operator}" requires multiple operands.' => 'Tehtemärk "{operator}" nõuab mitut operandi.',
- 'Powered by {yii}' => '',
- 'The combination {values} of {attributes} has already been taken.' => 'Atribuutide {attributes} väärtuste kombinatsioon {values} on juba võetud.',
- 'The format of {filter} is invalid.' => 'Filtri {filter} formaat on sobimatu.',
- 'Unknown alias: -{name}' => 'Tundmatu alias: -{name}',
- 'Unknown filter attribute "{attribute}"' => 'Tundmatu filtri atribuut "{attribute}"',
- 'Yii Framework' => 'Yii raamistik',
- 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Peaksid üles laadima vähemalt {limit, number} {limit, plural, one{faili} other{faili}}.',
- 'just now' => 'just nüüd',
- '{attribute} contains wrong subnet mask.' => '{attribute} sisaldab valet alamvõrgumaski.',
- '{attribute} is not in the allowed range.' => '{attribute} ei ole lubatud vahemikus.',
'{attribute} must be a valid IP address.' => '{attribute} peab olema õige IP-aadress',
'{attribute} must be an IP address with specified subnet.' => '{attribute} peab olema võrgumaskiga IP-aadress.',
+ '{attribute} must be an integer.' => '{attribute} peab olema täisarv.',
+ '{attribute} must be either "{true}" or "{false}".' => '{attribute} peab olema kas "{true}" või "{false}".',
'{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} peab olema "{compareValueOrAttribute}".',
'{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} peab olema suurem kui "{compareValueOrAttribute}".',
'{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} peab olema suurem või võrdne "{compareValueOrAttribute}".',
'{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} peab olema väiksem kui "{compareValueOrAttribute}".',
'{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} peab olema väiksem või võrdne "{compareValueOrAttribute}".',
+ '{attribute} must be no greater than {max}.' => '{attribute} ei tohi olla suurem kui {max}.',
+ '{attribute} must be no less than {min}.' => '{attribute} ei tohi olla väiksem kui {min}.',
'{attribute} must not be a subnet.' => '{attribute} ei tohi olla alamvõrk.',
'{attribute} must not be an IPv4 address.' => '{attribute} ei tohi olla IPv4 aadress.',
'{attribute} must not be an IPv6 address.' => '{attribute} ei tohi olla IPv6 aadress.',
'{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} ei tohi olla "{compareValueOrAttribute}".',
+ '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} peab sisaldama vähemalt {min, number} {min, plural, one{tähemärki} other{tähemärki}}.',
+ '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} tohib sisaldada maksimaalselt {max, number} {max, plural, one{tähemärki} other{tähemärki}}.',
+ '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} peab sisaldama {length, number} {length, plural, one{tähemärki} other{tähemärki}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 päev} other{# päeva}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 tund} other{# tundi}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minut} other{# minutit}}',
'{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, =1{1 kuu} other{# kuud}}',
'{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, =1{1 sekund} other{# sekundit}}',
'{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, =1{1 aasta} other{# aastat}}',
+ '{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{1 päev} other{# päeva}} tagasi',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{1 minut} other{# minutit}} tagasi',
+ '{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{kuu aega} other{# kuud}} tagasi',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{1 sekund} other{# sekundit}} tagasi',
+ '{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{aasta} other{# aastat}} tagasi',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{tund aega} other{# tundi}} tagasi',
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
diff --git a/framework/messages/fa/yii.php b/framework/messages/fa/yii.php
index 5e342948063..86d08922ca8 100644
--- a/framework/messages/fa/yii.php
+++ b/framework/messages/fa/yii.php
@@ -24,9 +24,13 @@
*/
return [
' and ' => ' و ',
+ '"{attribute}" does not support operator "{operator}".' => '"{attribute}" از عملگر "{operator}" پشتیبانی نمیکند.',
'(not set)' => '(تنظیم نشده)',
+ 'Action not found.' => 'عمل یافت نشد.',
+ 'Aliases available: {aliases}' => 'نام مستعارهای موجود: {aliases}',
'An internal server error occurred.' => 'خطای داخلی سرور رخ داده است.',
'Are you sure you want to delete this item?' => 'آیا اطمینان به حذف این مورد دارید؟',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => 'شرط برای "{attribute}" باید یک مقدار یا مشخصهی عملگر معتبر باشد.',
'Delete' => 'حذف',
'Error' => 'خطا',
'File upload failed.' => 'آپلود فایل ناموفق بود.',
@@ -39,6 +43,9 @@
'No results found.' => 'نتیجهای یافت نشد.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'فقط این نوع فایلها مجاز میباشند: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'فقط فایلهای با این پسوندها مجاز هستند: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => 'عملگر "{operator}" باید با یک ویژگی جستجو استفاده شود.',
+ 'Operator "{operator}" requires multiple operands.' => 'عملگر "{operator}" به چند عملوند نیاز دارد.',
+ 'Options available: {options}' => 'گزینههای موجود: {options}',
'Page not found.' => 'صفحهای یافت نشد.',
'Please fix the following errors:' => 'لطفاً خطاهای زیر را رفع نمائید:',
'Please upload a file.' => 'لطفاً یک فایل آپلود کنید.',
@@ -48,6 +55,7 @@
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'حجم فایل "{file}" بسیار بیشتر میباشد. حجم آن نمیتواند از {formattedLimit} بیشتر باشد.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'حجم فایل "{file}" بسیار کم میباشد. حجم آننمی تواند از {formattedLimit} کمتر باشد.',
'The format of {attribute} is invalid.' => 'قالب {attribute} نامعتبر است.',
+ 'The format of {filter} is invalid.' => 'قالب {filter} نامعتبر است.',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'تصویر "{file}" خیلی بزرگ است. ارتفاع نمیتواند بزرگتر از {limit, number} پیکسل باشد.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'تصویر "{file}" خیلی بزرگ است. عرض نمیتواند بزرگتر از {limit, number} پیکسل باشد.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'تصویر "{file}" خیلی کوچک است. ارتفاع نمیتواند کوچکتر از {limit, number} پیکسل باشد.',
@@ -57,12 +65,14 @@
'Total {count, number} {count, plural, one{item} other{items}}.' => 'مجموع {count, number} مورد.',
'Unable to verify your data submission.' => 'قادر به تأیید اطلاعات ارسالی شما نمیباشد.',
'Unknown alias: -{name}' => 'نام مستعار ناشناخته: -{name}',
+ 'Unknown filter attribute "{attribute}"' => 'ویژگی "{attribute}" فیلتر ناشناخته',
'Unknown option: --{name}' => 'گزینه ناشناخته: --{name}',
'Update' => 'بروزرسانی',
'View' => 'نما',
'Yes' => 'بله',
'You are not allowed to perform this action.' => 'شما برای انجام این عملیات، دسترسی ندارید.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'شما حداکثر {limit, number} فایل را میتوانید آپلود کنید.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'شما باید حداقل {limit, number} فایل آپلود کنید.',
'in {delta, plural, =1{a day} other{# days}}' => '{delta} روز دیگر',
'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta} دقیقه دیگر',
'in {delta, plural, =1{a month} other{# months}}' => '{delta} ماه دیگر',
@@ -99,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} حداقل باید شامل {min, number} کارکتر باشد.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} حداکثر باید شامل {max, number} کارکتر باشد.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} باید شامل {length, number} کارکتر باشد.',
+ '{compareAttribute} is invalid.' => '{compareAttribute} نامعتبر است.',
'{delta, plural, =1{1 day} other{# days}}' => '{delta} روز',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta} ساعت',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta} دقیقه',
@@ -133,15 +144,4 @@
'{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} پتابایت',
'{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} تبیبایت',
'{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} ترابایت',
- '"{attribute}" does not support operator "{operator}".' => '"{attribute}" از عملگر "{operator}" پشتیبانی نمیکند.',
- 'Action not found.' => 'عمل یافت نشد.',
- 'Aliases available: {aliases}' => 'نام مستعارهای موجود: {aliases}',
- 'Condition for "{attribute}" should be either a value or valid operator specification.' => 'شرط برای "{attribute}" باید یک مقدار یا مشخصهی عملگر معتبر باشد.',
- 'Operator "{operator}" must be used with a search attribute.' => 'عملگر "{operator}" باید با یک ویژگی جستجو استفاده شود.',
- 'Operator "{operator}" requires multiple operands.' => 'عملگر "{operator}" به چند عملوند نیاز دارد.',
- 'Options available: {options}' => 'گزینههای موجود: {options}',
- 'The format of {filter} is invalid.' => 'قالب {filter} نامعتبر است.',
- 'Unknown filter attribute "{attribute}"' => 'ویژگی "{attribute}" فیلتر ناشناخته',
- 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'شما باید حداقل {limit, number} فایل آپلود کنید.',
- '{compareAttribute} is invalid.' => '{compareAttribute} نامعتبر است.',
];
diff --git a/framework/messages/fi/yii.php b/framework/messages/fi/yii.php
index 938fd62d97c..531a44214e7 100644
--- a/framework/messages/fi/yii.php
+++ b/framework/messages/fi/yii.php
@@ -23,17 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'Powered by {yii}' => 'Powered by {yii}',
- 'Yii Framework' => 'Yii Framework',
- '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} täytyy olla yhtä suuri kuin "{compareValueOrAttribute}".',
- '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} täytyy olla suurempi kuin "{compareValueOrAttribute}".',
- '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} täytyy olla suurempi tai yhtä suuri kuin "{compareValueOrAttribute}".',
- '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} täytyy olla pienempi kuin "{compareValueOrAttribute}".',
- '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} täytyy olla pienempi tai yhtä suuri kuin "{compareValueOrAttribute}".',
- '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} ei saa olla yhtä suuri kuin "{compareValueOrAttribute}".',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(ei asetettu)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Sisäinen palvelinvirhe.',
'Are you sure you want to delete this item?' => 'Haluatko varmasti poistaa tämän?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Poista',
'Error' => 'Virhe',
'File upload failed.' => 'Tiedoston lähetys epäonnistui.',
@@ -46,14 +43,19 @@
'No results found.' => 'Ei tuloksia.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Sallittuja ovat vain tiedostot, joiden MIME-tyyppi on: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Sallittuja ovat vain tiedostot, joiden tiedostopääte on: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Sivua ei löytynyt.',
'Please fix the following errors:' => 'Korjaa seuraavat virheet:',
'Please upload a file.' => 'Lähetä tiedosto.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Näytetään {begin, number}-{end, number} kaikkiaan {totalCount, number} {totalCount, plural, one{tuloksesta} other{tuloksesta}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Tiedosto "{file}" ei ole kuva.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Tiedosto "{file}" on liian iso. Sen koko ei voi olla suurempi kuin {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Tiedosto "{file}" on liian pieni. Sen koko ei voi olla pienempi kuin {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Attribuutin {attribute} formaatti on virheellinen.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Kuva "{file}" on liian suuri. Korkeus ei voi olla suurempi kuin {limit, number} {limit, plural, one{pikseli} other{pikseliä}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Kuva "{file}" on liian suuri. Leveys ei voi olla suurempi kuin {limit, number} {limit, plural, one{pikseli} other{pikseliä}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Kuva "{file}" on liian pieni. Korkeus ei voi olla pienempi kuin {limit, number} {limit, plural, one{pikseli} other{pikseliä}}.',
@@ -62,12 +64,15 @@
'The verification code is incorrect.' => 'Vahvistuskoodi on virheellinen.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Yhteensä {count, number} {count, plural, one{tulos} other{tulosta}}.',
'Unable to verify your data submission.' => 'Tietojen lähetystä ei voida varmistaa.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Tuntematon valinta: --{name}',
'Update' => 'Päivitä',
'View' => 'Näytä',
'Yes' => 'Kyllä',
'You are not allowed to perform this action.' => 'Sinulla ei ole tarvittavia oikeuksia toiminnon suorittamiseen.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Voit lähettää enintään {limit, number} {limit, plural, one{tiedoston} other{tiedostoa}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{päivässä} other{# päivässä}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{minuutissa} other{# minuutissa}}',
'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{kuukaudessa} other{# kuukaudessa}}',
@@ -90,14 +95,21 @@
'{attribute} must be an IP address with specified subnet.' => '{attribute} täytyy olla määritetyllä aliverkolla oleva IP-osoite.',
'{attribute} must be an integer.' => '{attribute} täytyy olla kokonaisluku.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} täytyy olla joko {true} tai {false}.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} täytyy olla yhtä suuri kuin "{compareValueOrAttribute}".',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} täytyy olla suurempi kuin "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} täytyy olla suurempi tai yhtä suuri kuin "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} täytyy olla pienempi kuin "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} täytyy olla pienempi tai yhtä suuri kuin "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} ei saa olla suurempi kuin "{max}".',
'{attribute} must be no less than {min}.' => '{attribute} ei saa olla pienempi kuin "{min}".',
'{attribute} must not be a subnet.' => '{attribute} ei saa olla aliverkko.',
'{attribute} must not be an IPv4 address.' => '{attribute} ei saa olla IPv4-osoite.',
'{attribute} must not be an IPv6 address.' => '{attribute} ei saa olla IPv6-osoite.',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} ei saa olla yhtä suuri kuin "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} tulisi sisältää vähintään {min, number} {min, plural, one{merkki} other{merkkiä}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} tulisi sisältää enintään {max, number} {max, plural, one{merkki} other{merkkiä}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} tulisi sisältää {length, number} {length, plural, one{merkki} other{merkkiä}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 päivä} other{# päivää}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 tunti} other{# tuntia}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuutti} other{# minuuttia}}',
@@ -113,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} t',
'{nFormatted} GB' => '{nFormatted} Gt',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kt',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} Mt',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -121,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} Tt',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kt',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{tavu} other{tavua}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibitavu} other{gibitavua}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigatavu} other{gigatavua}}',
diff --git a/framework/messages/fr/yii.php b/framework/messages/fr/yii.php
index 458d7e738e7..8e1bfda3cd4 100644
--- a/framework/messages/fr/yii.php
+++ b/framework/messages/fr/yii.php
@@ -24,7 +24,10 @@
*/
return [
' and ' => ' et ',
+ '"{attribute}" does not support operator "{operator}".' => '"{attribute}" ne supporte pas l\'opérateur "{operator}".',
'(not set)' => '(non défini)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Une erreur de serveur interne s\'est produite.',
'Are you sure you want to delete this item?' => 'Êtes-vous sûr de vouloir supprimer cet élément ?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'La condition pour "{atttribute}" doit être soit une valeur, soit une spécification d\'opérateur valide.',
@@ -42,10 +45,10 @@
'Only files with these extensions are allowed: {extensions}.' => 'Les extensions de fichiers autorisées sont : {extensions}.',
'Operator "{operator}" must be used with a search attribute.' => 'L\'opérateur "{operator}" doit être utilisé avec un attribut de recherche.',
'Operator "{operator}" requires multiple operands.' => 'L\'opérateur "{operator}" requière plusieurs opérandes.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Page non trouvée.',
'Please fix the following errors:' => 'Veuillez vérifier les erreurs suivantes :',
'Please upload a file.' => 'Veuillez télécharger un fichier.',
- 'Powered by {yii}' => 'Propulsé par {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Affichage de {begin, number}-{end, number} sur {totalCount, number} {totalCount, plural, one{élément} other{éléments}}.',
'The combination {values} of {attributes} has already been taken.' => 'La combinaison {values} de {attributes} est déjà utilisée.',
'The file "{file}" is not an image.' => 'Le fichier « {file} » n\'est pas une image.',
@@ -67,7 +70,6 @@
'Update' => 'Modifier',
'View' => 'Voir',
'Yes' => 'Oui',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'Vous n\'êtes pas autorisé à effectuer cette action.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Vous pouvez télécharger au maximum {limit, number} {limit, plural, one{fichier} other{fichiers}}.',
'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Vous devez télécharger au moins {limit, number} {limit, plural, one{fichier} other{fichiers}}.',
@@ -107,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} doit comporter au moins {min, number} {min, plural, one{caractère} other{caractères}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} doit comporter au plus {max, number} {max, plural, one{caractère} other{caractères}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} doit comporter {length, number} {length, plural, one{caractère} other{caractères}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 jour} other{# jours}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 heure} other{# heures}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minute} other{# minutes}}',
@@ -122,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} o',
'{nFormatted} GB' => '{nFormatted} Go',
'{nFormatted} GiB' => '{nFormatted} Gio',
- '{nFormatted} kB' => '{nFormatted} Ko',
'{nFormatted} KiB' => '{nFormatted} Kio',
'{nFormatted} MB' => '{nFormatted} Mo',
'{nFormatted} MiB' => '{nFormatted} Mio',
@@ -130,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} Pio',
'{nFormatted} TB' => '{nFormatted} To',
'{nFormatted} TiB' => '{nFormatted} Tio',
+ '{nFormatted} kB' => '{nFormatted} Ko',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{octet} other{octets}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{# gigaoctet} other{# gigaoctets}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gibioctet} other{gibioctets}}',
@@ -141,5 +144,4 @@
'{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{# petaoctet} other{# petaoctets}}',
'{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, =1{# teraoctet} other{# teraoctets}}',
'{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{# teraoctet} other{# teraoctets}}',
- '"{attribute}" does not support operator "{operator}".' => '"{attribute}" ne supporte pas l\'opérateur "{operator}".',
];
diff --git a/framework/messages/he/yii.php b/framework/messages/he/yii.php
index 4613b419139..b3eef1b535c 100644
--- a/framework/messages/he/yii.php
+++ b/framework/messages/he/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(לא הוגדר)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'שגיאת שרת פנימית',
'Are you sure you want to delete this item?' => 'האם אתה בטוח שברצונך למחוק פריט זה?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'מחק',
'Error' => 'שגיאה',
'File upload failed.' => 'העלאת קובץ נכשלה',
@@ -35,52 +40,108 @@
'Missing required arguments: {params}' => 'חסרים ארגומנטים נדרשים: {params}',
'Missing required parameters: {params}' => 'חסרים פרמטרים נדרשים: {params}',
'No' => 'לא',
- 'No help for unknown command "{command}".' => 'פקודה "{command}" לא מוכרת ואין לה עזרה',
- 'No help for unknown sub-command "{command}".' => 'תת-פקודה "{command}" לא מוכרת ואין לה עזרה',
'No results found.' => 'לא נמצאו תוצאות',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => '',
'Only files with these extensions are allowed: {extensions}.' => 'רק קבצים עם ההרחבות הבאות מותרים: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'דף לא נמצא',
'Please fix the following errors:' => 'בבקשה, תקן את השגיאות הבאות: ',
'Please upload a file.' => 'נא העלה קובץ.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'מציג {begin, number}-{end, number} מתוך {totalCount, number} {totalCount, plural, one{רשומה} other{רשומות}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'הקובץ "{file}" אינו קובץ תמונה.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'הקובץ "{file}" גדול מדי. גודל זה אינו מצליח {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'הקובץ "{file}" קטן מדי. הקובץ אינו יכול להיות קטן מ {formattedLimit}.',
'The format of {attribute} is invalid.' => 'הפורמט של {attribute} אינו חוקי.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'התמונה "{file}" גדולה מדי. הגובה לא יכול להיות גדול מ {limit, number} {limit, plural, one{pixel} other{pixels}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'התמונה "{file}" גדולה מדי. הרוחב לא יכול להיות גדול מ {limit, number} {limit, plural, one{pixel} other{pixels}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'התמונה "{file}" קטנה מדי. הגובה לא יכול להיות קטן מ {limit, number} {limit, plural, one{pixel} other{pixels}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'התמונה "{file}" קטנה מדי. הרוחב לא יכול להיות קטן מ {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => 'קוד האימות אינו תקין.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'סך הכל {count, number} {count, plural, one{אייטם} other{אייטמים}}.',
'Unable to verify your data submission.' => 'אין אפשרות לאמת את המידע שהתקבל.',
- 'Unknown command "{command}".' => 'Unknown command "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Unknown option: --{name}',
'Update' => 'עדכון',
'View' => 'תצוגה',
'Yes' => 'כן',
'You are not allowed to perform this action.' => 'אינך מורשה לבצע את הפעולה הזו.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'אתה יכול להעלות לכל היותר {limit, number} {limit, plural, one{קובץ} other{קבצים}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '',
+ 'in {delta, plural, =1{a month} other{# months}}' => '',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '',
+ 'in {delta, plural, =1{a year} other{# years}}' => '',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '',
+ 'just now' => '',
'the input value' => 'הערך המוכנס',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" כבר בשימוש',
'{attribute} cannot be blank.' => '{attribute} לא יכול להיות ריק.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} לא חוקי.',
'{attribute} is not a valid URL.' => '{attribute} איננו כתובת אינטרנט חוקית.',
'{attribute} is not a valid email address.' => '{attribute} לא כתובת מייל חוקית.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} חייב להיות "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} חייב להיות מספר',
'{attribute} must be a string.' => '{attribute} חייב להיות מחרוזת טקסט',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} חייב להיות מספר שלם',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} חייב להיות "{true}" או "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} חייב להיות גדול מ "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} חייב להיות גדול מ או שווה "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} חייב להיות פחות מ "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} חייב להיות פחות מ או שווה "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} חייב להיות גדול מ "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} חייב להיות גדול מ או שווה "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} חייב להיות פחות מ "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} חייב להיות פחות מ או שווה "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} חייב להיות לא יותר מ "{max}".',
'{attribute} must be no less than {min}.' => '{attribute} חייב להיות לא פחות מ "{min}".',
- '{attribute} must be repeated exactly.' => '{attribute} חייב להיות מוחזר בדיוק.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} חייב להיות שווה ל "{compareValue}"',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} חייב להיות שווה ל "{compareValueOrAttribute}"',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} אמור לכלול לפחות {min, number} {min, plural, one{תו} other{תוים}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} אמור לא לכלול יותר מ{max, number} {max, plural, one{תו} other{תוים}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} אמור לכלול {length, number} {length, plural, one{תו} other{תוים}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => '',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '',
+ '{delta, plural, =1{a month} other{# months}} ago' => '',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '',
+ '{delta, plural, =1{a year} other{# years}} ago' => '',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '',
+ '{nFormatted} B' => '',
+ '{nFormatted} GB' => '',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '',
];
diff --git a/framework/messages/hi/yii.php b/framework/messages/hi/yii.php
index 6c79f0c2620..0276c2d8728 100644
--- a/framework/messages/hi/yii.php
+++ b/framework/messages/hi/yii.php
@@ -24,9 +24,13 @@
*/
return [
' and ' => ' और ',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(स्थापित नहीं)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'सर्वर में एक आंतरिक दोष उत्पन्न हुआ है।',
'Are you sure you want to delete this item?' => 'क्या आप सुनिश्चित रूप से इस आइटम को मिटाना चाहते हैं?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'मिटाएँ',
'Error' => 'खामी',
'File upload failed.' => 'फ़ाइल अपलोड असफल रहा।',
@@ -39,16 +43,19 @@
'No results found.' => 'कोई परिणाम नहीं मिला।',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'केवल इन MIME प्रकारों वाली फ़ाइलों की अनुमति है: {mimeTypes}।',
'Only files with these extensions are allowed: {extensions}.' => 'केवल इन एक्सटेंशन वाली फाइलों की अनुमति है: {extensions}।',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'पृष्ठ नहीं मिला।',
'Please fix the following errors:' => 'कृपया निम्नलिखित खामीयां सुधारें:',
'Please upload a file.' => 'कृपया एक फ़ाइल अपलोड करें।',
- 'Powered by {yii}' => '{yii} द्वारा संचालित',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'दिखाया गया है {totalCount, number} {totalCount, plural, one{चीज} other{चीज़े}} में से {begin, number}-{end, number} ।',
'The combination {values} of {attributes} has already been taken.' => '{attributes} और {values} का संयोजन पहले से ही लिया जा चुका है।',
'The file "{file}" is not an image.' => 'यह फ़ाइल "{file}" एक चित्र नहीं है।',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'यह फ़ाइल "{file}" बहुत बड़ी है। इसका आकार {formattedLimit} से अधिक नहीं हो सकता है।',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'यह फ़ाइल "{file}" बहुत छोटी है। इसका आकार {formattedLimit} से छोटा नहीं हो सकता।',
'The format of {attribute} is invalid.' => '{attribute} का प्रारूप गलत है।',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'यह चित्र "{file}" बहुत बड़ी है। ऊंचाई {limit, number} {limit, plural, one{पिक्सेल} other{पिक्सेल}} से बड़ी नहीं हो सकती।',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'यह चित्र "{file}" बहुत बड़ी है। चौड़ाई {limit, number} {limit, plural, one{पिक्सेल} other{पिक्सेल}} से बड़ी नहीं हो सकती।',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'यह चित्र "{file}" बहुत छोटी है। ऊंचाई {limit, number} {limit, plural, one{पिक्सेल} other{पिक्सेल}} से छोटी नहीं हो सकती।',
@@ -58,13 +65,14 @@
'Total {count, number} {count, plural, one{item} other{items}}.' => 'कुल {count, number} {count, plural, one{चीज} other{चीज़े}}।',
'Unable to verify your data submission.' => 'आपके डेटा सबमिशन को सत्यापित करने में असमर्थ।',
'Unknown alias: -{name}' => 'अज्ञात उपनाम: - {name}',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'अज्ञात विकल्प: - {name}',
'Update' => 'अपडेट करें',
'View' => 'देखें',
'Yes' => 'हाँ',
- 'Yii Framework' => 'Yii फ़्रेमवर्क',
'You are not allowed to perform this action.' => 'आपको यह करने की अनुमति नहीं है।',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'आप अधिकतम {limit, number} {limit, plural, one{फ़ाइल} other{फाइलें}} अपलोड कर सकते हैं।',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{एक दिन} other{# दिनों}} में',
'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{एक मिनट} other{# मिनटों}} में',
'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{एक महीना} other{# महीनों}} में',
@@ -101,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} में कम से कम {min, number} {min, plural, one{अक्षर} other{अक्षर}} होना चाहिए।',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} में अधिकतम {max, number} {max, plural, one{अक्षर} other{अक्षर}} होना चाहिए।',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} में {length, number} {length, plural, one{अक्षर} other{अक्षर}} शामिल होना चाहिए।',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 दिन} other{# दिन}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 घंटा} other{# घंटे}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 मिनट} other{# मिनिटे}}',
@@ -116,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} KB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -124,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} KB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{बाइट} other{बाइट्स}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{गिबिबाइट} other{गिबिबाइटस}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{गीगाबाइट} other{गीगाबाइटस}}',
diff --git a/framework/messages/hr/yii.php b/framework/messages/hr/yii.php
index ac445e0908c..73e5c656fb0 100644
--- a/framework/messages/hr/yii.php
+++ b/framework/messages/hr/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(nije postavljeno)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Došlo je do interne pogreške servera.',
- 'Are you sure you want to delete this item' => 'Želiš li to obrisati?',
+ 'Are you sure you want to delete this item?' => '',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Obrisati',
'Error' => 'Pogreška',
'File upload failed.' => 'Upload datoteke nije uspio.',
@@ -35,77 +40,108 @@
'Missing required arguments: {params}' => 'Nedostaju potrebni argunenti: {params}',
'Missing required parameters: {params}' => 'Nedostaju potrebni parametri: {params}',
'No' => 'Ne',
- 'No help for unknown command "{command}".' => 'Nema pomoći za nepoznatu naredbu "{command}"',
- 'No help for unknown sub-command "{command}".' => 'Nema pomoći za nepoznatu pod-naredbu "{command}"',
'No results found.' => 'Nema rezultata.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Samo datoteke s ovim MIME vrstama su dopuštene: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Samo datoteke s ovim ekstenzijama su dopuštene: {extensions}',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Stranica nije pronađena.',
'Please fix the following errors:' => 'Molimo vas ispravite pogreške:',
'Please upload a file.' => 'Molimo vas da uploadate datoteku.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Prikazuj {begin, number}-{end, number} od {totalCount, number} {totalCount, plural, one{stavka} few{stavke} many{stavki} other{stavki}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Datoteka "{file}" nije slika.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Datoteka "{file}" je prevelika. Ne smije biti veća od {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Datoteka "{file}" je premalena. Ne smije biti manja od {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Format od {attribute} je nevažeći.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je prevelika. Visina slike ne smije biti veća od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je prevelika. Širina slike ne smije biti veća od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je premalena. Visina slike ne smije biti manja od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je premalena. Širina slike ne smije biti manja od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => 'Kod za provjeru nije točan.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Ukupno {count, number} {count, plural, =1{stavka} one{# stavka} few{# stavke} many{# stavki} other{# stavki}}.',
'Unable to verify your data submission.' => 'Nije moguće provjeriti poslane podatke.',
- 'Unknown command "{command}".' => 'Nepoznata naredba "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Nepoznata opcija: --{name}',
'Update' => 'Uredi',
'View' => 'Pregled',
'Yes' => 'Da',
'You are not allowed to perform this action.' => 'Nije vam dopušteno obavljati tu radnju.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Najviše možete uploadat {limit, number} {limit, plural, one{datoteku} few{datoteke} other{datoteka}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'u {delta, plural, =1{dan} one{# dan} few{# dana} many{# dana} other{# dana}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'u {delta, plural, =1{minuta} one{# minuta} few{# minute} many{# minuta} other{# minuta}}',
'in {delta, plural, =1{a month} other{# months}}' => 'u {delta, plural, =1{mjesec} one{# mjesec} few{# mjeseca} many{# mjeseci} other{# mjeseci}}',
'in {delta, plural, =1{a second} other{# seconds}}' => 'u {delta, plural, =1{sekunda} one{# sekunda} few{# sekunde} many{# sekundi} other{# sekundi}}',
'in {delta, plural, =1{a year} other{# years}}' => 'u {delta, plural, =1{godina} one{# godine} few{# godine} many{# godina} other{# godina}}',
'in {delta, plural, =1{an hour} other{# hours}}' => 'u {delta, plural, =1{sat} one{# sat} few{# sata} many{# sati} other{# sati}}',
+ 'just now' => '',
'the input value' => 'ulazna vrijednost',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" već se koristi.',
'{attribute} cannot be blank.' => '{attribute} ne smije biti prazan.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => 'Atribut "{attribute}" je neispravan.',
'{attribute} is not a valid URL.' => '{attribute} nije valjan URL.',
'{attribute} is not a valid email address.' => '{attribute} nije valjana email adresa.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} mora biti "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} mora biti broj.',
'{attribute} must be a string.' => '{attribute} mora biti string(riječ,tekst).',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} mora biti cijeli broj.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} mora biti "{true}" ili "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} mora biti veći od "{compareValue}',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} mora biti veći ili jednak "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} mora biti manji od "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} mora biti jednak "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} mora biti veći od "{compareValueOrAttribute}',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} mora biti veći ili jednak "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} mora biti manji od "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} mora biti jednak "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} ne smije biti veći od {max}.',
'{attribute} must be no less than {min}.' => '{attribute} ne smije biti manji od {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} mora biti točno ponovljeno.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} ne smije biti jednak "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} ne smije biti jednak "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} mora najmanje sadržavati {min, number} {min, plural, =1{znak} one{znak} few{znaka} many{znakova} other{znakova}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} moze sadržavati najviše do {max, number} {max, plural, =1{znak} one{znak} few{znaka} many{znakova} other{znakova}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} mora sadržavati {length, number} {length, plural, =1{znak} one{znak} few{znaka} many{znakova} other{znakova}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{dan} one{# dan} few{# dana} many{# dana} other{# dana}}',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{minuta} one{# minuta} few{# minute} many{# minuta} other{# minuta}}',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{mjesec} one{# mjesec} few{# mjeseca} many{# mjeseci} other{# mjeseci}}',
'{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{sekunda} one{# sekunda} few{# sekunde} many{# sekundi} other{# sekundi}}',
'{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{godina} one{# godine} few{# godine} many{# godina} other{# godina}}',
'{delta, plural, =1{an hour} other{# hours}} ago' => ' {delta, plural, =1{sat} one{# sat} few{# sata} many{# sati} other{# sati}}',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n, plural, =1{# bajt} other{# bajta}}',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n, plural, =1{# gigabajt} other{# gigabajta}}',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n, plural, =1{# kilobajt} other{# kilobajta}}',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n, plural, =1{# megabajt} other{# megabajta}}',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n, plural, =1{# petabajt} other{# petabajta}}',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n, plural, =1{# terabajt} other{# terabajta}}',
- '{n} B' => '{n} B',
- '{n} GB' => '{n} GB',
- '{n} KB' => '{n} KB',
- '{n} MB' => '{n} MB',
- '{n} PB' => '{n} PB',
- '{n} TB' => '{n} TB',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{bajt} other{bajta}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabajt} other{gigabajta}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, =1{kilobajt} other{kilobajta}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, =1{megabajt} other{megabajta}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{petabajt} other{petabajta}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{terabajt} other{terabajta}}',
];
diff --git a/framework/messages/hu/yii.php b/framework/messages/hu/yii.php
index 88575242bd3..db42e0f2926 100644
--- a/framework/messages/hu/yii.php
+++ b/framework/messages/hu/yii.php
@@ -23,92 +23,125 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- '(not set)' => '(nincs beállítva)',
- 'An internal server error occurred.' => 'Egy belső szerver hiba történt.',
- 'Are you sure you want to delete this item?' => 'Biztos benne, hogy törli ezt az elemet?',
- 'Delete' => 'Törlés',
- 'Error' => 'Hiba',
- 'File upload failed.' => 'A fájlfeltöltés nem sikerült.',
- 'Home' => 'Főoldal',
- 'Invalid data received for parameter "{param}".' => 'Érvénytelen paraméter: {param}.',
- 'Login Required' => 'Bejelentkezés szükséges',
- 'Missing required arguments: {params}' => 'Hiányzó argumentumok: {params}',
- 'Missing required parameters: {params}' => 'Hiányzó paraméterek: {params}',
- 'No' => 'Nem',
- 'No help for unknown command "{command}".' => 'Nincs súgó az ismeretlen {command} parancshoz.',
- 'No help for unknown sub-command "{command}".' => 'Nincs súgó az ismeretlen {command} alparancshoz.',
- 'No results found.' => 'Nincs találat.',
- 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Csak a következő MIME típusú fájlok engedélyezettek: {mimeTypes}.',
- 'Only files with these extensions are allowed: {extensions}.' => 'Csak a következő kiterjesztésű fájlok engedélyezettek: {extensions}.',
- 'Page not found.' => 'Az oldal nem található.',
- 'Please fix the following errors:' => 'Kérjük javítsa a következő hibákat:',
- 'Please upload a file.' => 'Kérjük töltsön fel egy fájlt.',
- 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '{begin, number}-{end, number} megjelenítése a(z) {totalCount, number} elemből.',
- 'The file "{file}" is not an image.' => '"{file}" nem egy kép.',
- 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '"{file}" túl nagy. A mérete nem lehet nagyobb {formattedLimit}.',
- 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '"{file}" túl kicsi. A mérete nem lehet kisebb {formattedLimit}.',
- 'The format of {attribute} is invalid.' => 'A(z) {attribute} formátuma érvénytelen.',
- 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'A(z) "{file}" kép túl nagy. A magassága nem lehet nagyobb {limit, number} pixelnél.',
- 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'A(z) "{file}" kép túl nagy. A szélessége nem lehet nagyobb {limit, number} pixelnél.',
- 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'A(z) "{file}" kép túl kicsi. A magassága nem lehet kisebb {limit, number} pixelnél.',
- 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'A(z) "{file}" kép túl kicsi. A szélessége nem lehet kisebb {limit, number} pixelnél.',
- 'The requested view "{name}" was not found.' => 'A kért "{name}" nézet nem található.',
- 'The verification code is incorrect.' => 'A megerősítő kód helytelen.',
- 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Összesen {count, number} elem.',
- 'Unable to verify your data submission.' => 'Nem sikerült ellenőrizni az adatokat.',
- 'Unknown command "{command}".' => 'Ismeretlen parancs: "{command}".',
- 'Unknown option: --{name}' => 'Ismeretlen kapcsoló: --{name}',
- 'Update' => 'Szerkesztés',
- 'View' => 'Megtekintés',
- 'just now' => 'éppen most',
- 'Yes' => 'Igen',
- 'You are not allowed to perform this action.' => 'Nincs jogosultsága a művelet végrehajtásához.',
- 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Legfeljebb {limit, number} fájlt tölthet fel.',
- 'in {delta, plural, =1{a day} other{# days}}' => '{delta} napon belül',
- 'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta} percen belül',
- 'in {delta, plural, =1{a month} other{# months}}' => '{delta} hónapon belül',
- 'in {delta, plural, =1{a second} other{# seconds}}' => '{delta} másodpercen belül',
- 'in {delta, plural, =1{a year} other{# years}}' => '{delta} éven belül',
- 'in {delta, plural, =1{an hour} other{# hours}}' => '{delta} órán belül',
- 'the input value' => 'a beviteli érték',
- '{attribute} "{value}" has already been taken.' => '{attribute} "{value}" már használatban van.',
- '{attribute} cannot be blank.' => '{attribute} nem lehet üres.',
- '{attribute} is invalid.' => '{attribute} érvénytelen.',
- '{attribute} is not a valid URL.' => '{attribute} nem valódi URL.',
- '{attribute} is not a valid email address.' => '{attribute} nem valódi e-mail cím.',
- '{attribute} must be "{requiredValue}".' => '{attribute} értéke "{requiredValue}" kell, hogy legyen.',
- '{attribute} must be a number.' => '{attribute} csak szám lehet.',
- '{attribute} must be a string.' => '{attribute} csak szöveg lehet.',
- '{attribute} must be an integer.' => '{attribute} csak egész szám lehet.',
- '{attribute} must be either "{true}" or "{false}".' => '{attribute} csak "{true}" vagy "{false}" lehet.',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} nagyobbnak kell lennie, mint "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} nagyobb vagy egyenlő kell legyen, mint "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} kisebbnek kell lennie, mint "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} kisebb vagy egyenlő kell legyen, mint "{compareValue}".',
- '{attribute} must be no greater than {max}.' => '{attribute} nem lehet nagyobb, mint {max}.',
- '{attribute} must be no less than {min}.' => '{attribute} nem lehet kisebb, mint {min}.',
- '{attribute} must be repeated exactly.' => 'Ismételje meg pontosan a(z) {attribute} mezőbe írtakat.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} nem lehet egyenlő ezzel: "{compareValue}".',
- '{attribute} must be equal to "{compareValueOrAttribute}".' => '"{attribute}" mezőnek azonosnak kell lennie a "{compareValueOrAttribute}" mezőbe írtakkal.',
- '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} minimum {min, number} karakter kell, hogy legyen.',
- '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} maximum {max, number} karakter lehet.',
- '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} pontosan {length, number} kell, hogy legyen.',
- '{delta, plural, =1{a day} other{# days}} ago' => '{delta} nappal ezelőtt',
- '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta} perccel ezelőtt',
- '{delta, plural, =1{a month} other{# months}} ago' => '{delta} hónappal ezelőtt',
- '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta} másodperccel ezelőtt',
- '{delta, plural, =1{a year} other{# years}} ago' => '{delta} évvel ezelőtt',
- '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta} órával ezelőtt',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n} bájt',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n} gigabájt',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n} kilobájt',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n} megabájt',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n} petabájt',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n} terabájt',
- '{n} B' => '{n} B',
- '{n} GB' => '{n} GB',
- '{n} KB' => '{n} KB',
- '{n} MB' => '{n} MB',
- '{n} PB' => '{n} PB',
- '{n} TB' => '{n} TB',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
+ '(not set)' => '(nincs beállítva)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
+ 'An internal server error occurred.' => 'Egy belső szerver hiba történt.',
+ 'Are you sure you want to delete this item?' => 'Biztos benne, hogy törli ezt az elemet?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
+ 'Delete' => 'Törlés',
+ 'Error' => 'Hiba',
+ 'File upload failed.' => 'A fájlfeltöltés nem sikerült.',
+ 'Home' => 'Főoldal',
+ 'Invalid data received for parameter "{param}".' => 'Érvénytelen paraméter: {param}.',
+ 'Login Required' => 'Bejelentkezés szükséges',
+ 'Missing required arguments: {params}' => 'Hiányzó argumentumok: {params}',
+ 'Missing required parameters: {params}' => 'Hiányzó paraméterek: {params}',
+ 'No' => 'Nem',
+ 'No results found.' => 'Nincs találat.',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Csak a következő MIME típusú fájlok engedélyezettek: {mimeTypes}.',
+ 'Only files with these extensions are allowed: {extensions}.' => 'Csak a következő kiterjesztésű fájlok engedélyezettek: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
+ 'Page not found.' => 'Az oldal nem található.',
+ 'Please fix the following errors:' => 'Kérjük javítsa a következő hibákat:',
+ 'Please upload a file.' => 'Kérjük töltsön fel egy fájlt.',
+ 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '{begin, number}-{end, number} megjelenítése a(z) {totalCount, number} elemből.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
+ 'The file "{file}" is not an image.' => '"{file}" nem egy kép.',
+ 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '"{file}" túl nagy. A mérete nem lehet nagyobb {formattedLimit}.',
+ 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '"{file}" túl kicsi. A mérete nem lehet kisebb {formattedLimit}.',
+ 'The format of {attribute} is invalid.' => 'A(z) {attribute} formátuma érvénytelen.',
+ 'The format of {filter} is invalid.' => '',
+ 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'A(z) "{file}" kép túl nagy. A magassága nem lehet nagyobb {limit, number} pixelnél.',
+ 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'A(z) "{file}" kép túl nagy. A szélessége nem lehet nagyobb {limit, number} pixelnél.',
+ 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'A(z) "{file}" kép túl kicsi. A magassága nem lehet kisebb {limit, number} pixelnél.',
+ 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'A(z) "{file}" kép túl kicsi. A szélessége nem lehet kisebb {limit, number} pixelnél.',
+ 'The requested view "{name}" was not found.' => 'A kért "{name}" nézet nem található.',
+ 'The verification code is incorrect.' => 'A megerősítő kód helytelen.',
+ 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Összesen {count, number} elem.',
+ 'Unable to verify your data submission.' => 'Nem sikerült ellenőrizni az adatokat.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
+ 'Unknown option: --{name}' => 'Ismeretlen kapcsoló: --{name}',
+ 'Update' => 'Szerkesztés',
+ 'View' => 'Megtekintés',
+ 'Yes' => 'Igen',
+ 'You are not allowed to perform this action.' => 'Nincs jogosultsága a művelet végrehajtásához.',
+ 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Legfeljebb {limit, number} fájlt tölthet fel.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '{delta} napon belül',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta} percen belül',
+ 'in {delta, plural, =1{a month} other{# months}}' => '{delta} hónapon belül',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '{delta} másodpercen belül',
+ 'in {delta, plural, =1{a year} other{# years}}' => '{delta} éven belül',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '{delta} órán belül',
+ 'just now' => 'éppen most',
+ 'the input value' => 'a beviteli érték',
+ '{attribute} "{value}" has already been taken.' => '{attribute} "{value}" már használatban van.',
+ '{attribute} cannot be blank.' => '{attribute} nem lehet üres.',
+ '{attribute} contains wrong subnet mask.' => '',
+ '{attribute} is invalid.' => '{attribute} érvénytelen.',
+ '{attribute} is not a valid URL.' => '{attribute} nem valódi URL.',
+ '{attribute} is not a valid email address.' => '{attribute} nem valódi e-mail cím.',
+ '{attribute} is not in the allowed range.' => '',
+ '{attribute} must be "{requiredValue}".' => '{attribute} értéke "{requiredValue}" kell, hogy legyen.',
+ '{attribute} must be a number.' => '{attribute} csak szám lehet.',
+ '{attribute} must be a string.' => '{attribute} csak szöveg lehet.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
+ '{attribute} must be an integer.' => '{attribute} csak egész szám lehet.',
+ '{attribute} must be either "{true}" or "{false}".' => '{attribute} csak "{true}" vagy "{false}" lehet.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '"{attribute}" mezőnek azonosnak kell lennie a "{compareValueOrAttribute}" mezőbe írtakkal.',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} nagyobbnak kell lennie, mint "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} nagyobb vagy egyenlő kell legyen, mint "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} kisebbnek kell lennie, mint "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} kisebb vagy egyenlő kell legyen, mint "{compareValueOrAttribute}".',
+ '{attribute} must be no greater than {max}.' => '{attribute} nem lehet nagyobb, mint {max}.',
+ '{attribute} must be no less than {min}.' => '{attribute} nem lehet kisebb, mint {min}.',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} nem lehet egyenlő ezzel: "{compareValueOrAttribute}".',
+ '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} minimum {min, number} karakter kell, hogy legyen.',
+ '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} maximum {max, number} karakter lehet.',
+ '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} pontosan {length, number} kell, hogy legyen.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => '{delta} nappal ezelőtt',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta} perccel ezelőtt',
+ '{delta, plural, =1{a month} other{# months}} ago' => '{delta} hónappal ezelőtt',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta} másodperccel ezelőtt',
+ '{delta, plural, =1{a year} other{# years}} ago' => '{delta} évvel ezelőtt',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta} órával ezelőtt',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} bájt',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} gigabájt',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} kilobájt',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} megabájt',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} petabájt',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} terabájt',
];
diff --git a/framework/messages/hy/yii.php b/framework/messages/hy/yii.php
index 8e2cb584548..b62094573e1 100644
--- a/framework/messages/hy/yii.php
+++ b/framework/messages/hy/yii.php
@@ -6,8 +6,7 @@
*/
/**
- * Message translations for Armenian (հայերեն) language.
- * @author Gevorg Mansuryan
+ * Message translations.
*
* This file is automatically generated by 'yii message/extract' command.
* It contains the localizable messages extracted from source code.
@@ -25,9 +24,13 @@
*/
return [
' and ' => ' և ',
+ '"{attribute}" does not support operator "{operator}".' => '«{attribute}»-ը չի սպասարկում «{operator}» օպերատորը։',
'(not set)' => '(չի նշված)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Սերվերի ներքին սխալ է տեղի ունեցել։',
'Are you sure you want to delete this item?' => 'Վստա՞հ եք, որ ցանկանում եք ջնջել այս տարրը:',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '«{attribute}»-ի համար պետք է լինի արժեք կամ գործող օպերատորի հստակեցում:',
'Delete' => 'Ջնջել',
'Error' => 'Սխալ',
'File upload failed.' => 'Ֆայլի վերբեռնումը ձախողվեց։',
@@ -40,16 +43,19 @@
'No results found.' => 'Ոչ մի արդյունք չի գտնվել։',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Թույլատրվում են միայն {mimeTypes} MIME տեսակի ֆայլերը։',
'Only files with these extensions are allowed: {extensions}.' => 'Թույլատրվում են միայն {extensions} վերջավորությամբ ֆայլերը։',
+ 'Operator "{operator}" must be used with a search attribute.' => '«{operator}» օպերատորը պետք է օգտագործվի որոնման ատրիբուտի հետ միասին:',
+ 'Operator "{operator}" requires multiple operands.' => '«{operator}» օպերատորը պահանջում բազմակի օպերանդներ։',
+ 'Options available: {options}' => '',
'Page not found.' => 'Էջը չի գտնվել։',
'Please fix the following errors:' => 'Խնդրում ենք ուղղել հետևյալ սխալները՝',
'Please upload a file.' => 'Խնդրում ենք վերբեռնել ֆայլ:',
- 'Powered by {yii}' => 'Աշխատում է {yii}ով։',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Ցուցադրված են {begin, number}-ից {end, number}-ը ընդհանուր {totalCount, number}-ից։',
'The combination {values} of {attributes} has already been taken.' => '{attributes}-ի {values} արժեքների կոմբինացիան արդեն զբաղված է։',
'The file "{file}" is not an image.' => '«{file}» ֆայլը վավեր նկար չէ։',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '«{file}» ֆայլը շատ մեծ է։ Նրա չափը չի կարող գերազանցել {formattedLimit}-ը։',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '«{file}» ֆայլը շատ փոքր է։ Նրա չափը չի կարող լինել {formattedLimit}-ից փոքր։',
'The format of {attribute} is invalid.' => '{attribute}-ի ֆորմատը անվավեր է։',
+ 'The format of {filter} is invalid.' => '{filter}-ի ֆորմատը անվավեր է։',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» նկարը շատ մեծ է։ Նրա բարձրությունը չի կարող գերազանցել {limit, number} {limit, plural, one{պիքսել} few{պիքսել} many{պիքսել} other{պիքսել}}ը։',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» նկարը շատ մեծ է։ Նրա երկարությունը չի կարող գերազանցել {limit, number} {limit, plural, one{պիքսել} few{պիքսել} many{պիքսել} other{պիքսել}}ը։',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» նկարը շատ փոքր է։ Նրա բարձրությունը չի կարող լինել {limit, number} {limit, plural, one{պիքսել} few{պիքսել} many{պիքսել} other{պիքսել}}ից փոքր։',
@@ -59,13 +65,14 @@
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Ընդհանուր {count, number} {count, plural, one{տարր} other{տարր}}։',
'Unable to verify your data submission.' => 'Հնարավոր չէ ստուգել ձեր տվյալների ներկայացումը:',
'Unknown alias: -{name}' => 'Անհայտ այլանուն՝ «{name}»։',
+ 'Unknown filter attribute "{attribute}"' => 'Անհայտ ֆիլտրի ատրիբուտ՝ «{attribute}»։',
'Unknown option: --{name}' => 'Անհայտ տարբերակ՝ «{name}»։',
'Update' => 'Թարմացնել',
'View' => 'Դիտել',
'Yes' => 'Այո',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'Ձեզ չի թույլատրվում կատարել այս գործողությունը:',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Դուք կարող եք վերբեռնել առավելագույնը {limit, number} {limit, plural, one{ֆայլ} few{ֆայլ} many{ֆայլ} other{ֆայլ}}։',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{օր} one{# օր} few{# օր} many{# օր} other{# օր}}ից',
'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{րոպե} one{# րոպե} few{# րոպե} many{# րոպե} other{# րոպե}}ից',
'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{ամս} one{# ամս} few{# ամս} many{# ամս} other{# ամս}}ից',
@@ -102,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute}-ի արժեքը պետք է պարունակի առնվազն {min, number} {min, plural, one{նիշ} other{նիշ}}։',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute}-ի արժեքը պետք է պարունակի առավելագույնը {max, number} {max, plural, one{նիշ} other{նիշ}}։',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute}-ի արժեքը պետք է պարունակի {length, number} {length, plural, one{նիշ} other{նիշ}}։',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 օր} other{# օր}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 ժամ} other{# ժամ}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 րոպե} other{# րոպե}}',
@@ -117,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} Բ',
'{nFormatted} GB' => '{nFormatted} ԳԲ',
'{nFormatted} GiB' => '{nFormatted} ԳիԲ',
- '{nFormatted} kB' => '{nFormatted} ԿԲ',
'{nFormatted} KiB' => '{nFormatted} ԿիԲ',
'{nFormatted} MB' => '{nFormatted} ՄԲ',
'{nFormatted} MiB' => '{nFormatted} ՄիԲ',
@@ -125,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} ՊիԲ',
'{nFormatted} TB' => '{nFormatted} ՏԲ',
'{nFormatted} TiB' => '{nFormatted} ՏիԲ',
+ '{nFormatted} kB' => '{nFormatted} ԿԲ',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{բայթ} other{բայթ}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{գիգաբիթ} other{գիգաբիթ}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{գիգաբայթ} other{գիգաբայթ}}',
@@ -136,10 +144,4 @@
'{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{պետաբայթ} other{պետաբայթ}}',
'{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, =1{տեբիբայթ} other{տեբիբայթ}}',
'{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{տերաբայթ} other{տերաբայթ}}',
- '"{attribute}" does not support operator "{operator}".' => '«{attribute}»-ը չի սպասարկում «{operator}» օպերատորը։',
- 'Condition for "{attribute}" should be either a value or valid operator specification.' => '«{attribute}»-ի համար պետք է լինի արժեք կամ գործող օպերատորի հստակեցում:',
- 'Operator "{operator}" must be used with a search attribute.' => '«{operator}» օպերատորը պետք է օգտագործվի որոնման ատրիբուտի հետ միասին:',
- 'Operator "{operator}" requires multiple operands.' => '«{operator}» օպերատորը պահանջում բազմակի օպերանդներ։',
- 'The format of {filter} is invalid.' => '{filter}-ի ֆորմատը անվավեր է։',
- 'Unknown filter attribute "{attribute}"' => 'Անհայտ ֆիլտրի ատրիբուտ՝ «{attribute}»։',
];
diff --git a/framework/messages/id/yii.php b/framework/messages/id/yii.php
index b8a08f73f52..785f29f43b2 100644
--- a/framework/messages/id/yii.php
+++ b/framework/messages/id/yii.php
@@ -23,11 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'The requested view "{name}" was not found.' => 'View "{name}" yang diminta tidak ditemukan.',
- 'You are requesting with an invalid access token.' => 'Anda melakukan permintaan dengan akses token yang tidak valid.',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(belum diset)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Terjadi kesalahan internal server.',
'Are you sure you want to delete this item?' => 'Apakah Anda yakin ingin menghapus item ini?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Hapus',
'Error' => 'Kesalahan',
'File upload failed.' => 'Mengunggah berkas gagal.',
@@ -37,11 +40,12 @@
'Missing required arguments: {params}' => 'Argumen yang diperlukan tidak ada: {params}',
'Missing required parameters: {params}' => 'Parameter yang diperlukan tidak ada: {params}',
'No' => 'Tidak',
- 'No help for unknown command "{command}".' => 'Tidak ada bantuan untuk perintah yang tidak diketahui "{command}".',
- 'No help for unknown sub-command "{command}".' => 'Tidak ada bantuan untuk sub perintah yang tidak diketahui "{command}".',
'No results found.' => 'Tidak ada data yang ditemukan.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Hanya berkas dengan tipe MIME ini yang diperbolehkan: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Hanya berkas dengan ekstensi ini yang diperbolehkan: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Halaman tidak ditemukan.',
'Please fix the following errors:' => 'Silahkan perbaiki kesalahan berikut:',
'Please upload a file.' => 'Silahkan mengunggah berkas.',
@@ -51,64 +55,93 @@
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Berkas "{file}" terlalu besar. Ukurannya tidak boleh lebih besar dari {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Berkas "{file}" terlalu kecil. Ukurannya tidak boleh lebih kecil dari {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Format dari {attribute} tidak valid.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Gambar "{file}" terlalu besar. Tingginya tidak boleh lebih besar dari {limit, number} {limit, plural, one{piksel} other{piksel}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Gambar "{file}" terlalu besar. Lebarnya tidak boleh lebih besar dari {limit, number} {limit, plural, one{piksel} other{piksel}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Gambar "{file}" terlalu kecil. Tingginya tidak boleh lebih kecil dari {limit, number} {limit, plural, one{piksel} other{piksel}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Gambar "{file}" terlalu kecil. Lebarnya tidak boleh lebih kecil dari {limit, number} {limit, plural, one{piksel} other{piksel}}.',
+ 'The requested view "{name}" was not found.' => 'View "{name}" yang diminta tidak ditemukan.',
'The verification code is incorrect.' => 'Kode verifikasi tidak benar.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{item} other{item}}.',
'Unable to verify your data submission.' => 'Tidak dapat mem-verifikasi pengiriman data Anda.',
- 'Unknown command "{command}".' => 'Perintah tidak dikenal "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Opsi tidak dikenal: --{name}',
'Update' => 'Ubah',
'View' => 'Lihat',
'Yes' => 'Ya',
'You are not allowed to perform this action.' => 'Anda tidak diperbolehkan untuk melakukan aksi ini.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Anda dapat mengunggah paling banyak {limit, number} {limit, plural, one{file} other{file}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'dalam {delta, plural, =1{satu hari} other{# hari}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'dalam {delta, plural, =1{satu menit} other{# menit}}',
'in {delta, plural, =1{a month} other{# months}}' => 'dalam {delta, plural, =1{satu bulan} other{# bulan}}',
'in {delta, plural, =1{a second} other{# seconds}}' => 'dalam {delta, plural, =1{satu detik} other{# detik}}',
'in {delta, plural, =1{a year} other{# years}}' => 'dalam {delta, plural, =1{satu tahun} other{# tahun}}',
'in {delta, plural, =1{an hour} other{# hours}}' => 'dalam {delta, plural, =1{satu jam} other{# jam}}',
+ 'just now' => '',
'the input value' => 'nilai input',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" telah dipergunakan.',
'{attribute} cannot be blank.' => '{attribute} tidak boleh kosong.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} tidak valid.',
'{attribute} is not a valid URL.' => '{attribute} bukan URL yang valid.',
'{attribute} is not a valid email address.' => '{attribute} bukan alamat email yang valid.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} harus berupa "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} harus berupa angka.',
'{attribute} must be a string.' => '{attribute} harus berupa string.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} harus berupa integer.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} harus berupa "{true}" atau "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} harus lebih besar dari "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} harus lebih besar dari atau sama dengan "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} harus lebih kecil dari "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} harus lebih kecil dari atau sama dengan "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} harus lebih besar dari "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} harus lebih besar dari atau sama dengan "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} harus lebih kecil dari "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} harus lebih kecil dari atau sama dengan "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} harus tidak boleh lebih besar dari {max}.',
'{attribute} must be no less than {min}.' => '{attribute} harus tidak boleh lebih kecil dari {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} harus diulang sama persis.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} harus tidak boleh sama dengan "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} harus tidak boleh sama dengan "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} harus memiliki paling sedikit {min, number} {min, plural, one{karakter} other{karakter}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} harus memiliki paling banyak {max, number} {max, plural, one{karakter} other{karakter}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} harus memiliki {length, number} {length, plural, one{karakter} other{karakter}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{satu hari} other{# hari}} yang lalu',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{satu menit} other{# menit}} yang lalu',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{satu bulan} other{# bulan}} yang lalu',
'{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{satu detik} other{# detik}} yang lalu',
'{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{satu tahun} other{# tahun}} yang lalu',
'{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{satu jam} other{# jam}} yang lalu',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n, plural, =1{# bita} other{# bita}}',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n, plural, =1{# gigabita} other{# gigabita}}',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n, plural, =1{# kilobita} other{# kilobita}}',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n, plural, =1{# megabita} other{# megabita}}',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n, plural, =1{# petabita} other{# petabita}}',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n, plural, =1{# petabita} other{# petabita}}',
- '{n} B' => '{n} B',
- '{n} GB' => '{n} GB',
- '{n} KB' => '{n} KB',
- '{n} MB' => '{n} MB',
- '{n} PB' => '{n} PB',
- '{n} TB' => '{n} TB',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{bita} other{bita}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabita} other{gigabita}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, =1{kilobita} other{kilobita}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, =1{megabita} other{megabita}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{petabita} other{petabita}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{petabita} other{petabita}}',
];
diff --git a/framework/messages/it/yii.php b/framework/messages/it/yii.php
index c16a9c18912..e2d7eff4165 100644
--- a/framework/messages/it/yii.php
+++ b/framework/messages/it/yii.php
@@ -23,35 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'Unknown alias: -{name}' => 'Alias sconosciuto: -{name}',
- '{attribute} contains wrong subnet mask.' => '{attribute} contiene una subnet mask errata.',
- '{attribute} is not in the allowed range.' => '{attribute} non rientra nell\'intervallo permesso',
- '{attribute} must be a valid IP address.' => '{attribute} deve essere un indirizzo IP valido.',
- '{attribute} must be an IP address with specified subnet.' => '{attribute} deve essere un indirizzo IP valido con subnet specificata.',
- '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} deve essere uguale a "{compareValueOrAttribute}".',
- '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} deve essere maggiore di "{compareValueOrAttribute}".',
- '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} deve essere maggiore o uguale a "{compareValueOrAttribute}".',
- '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} deve essere minore di "{compareValueOrAttribute}".',
- '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} deve essere minore o uguale a "{compareValueOrAttribute}".',
- '{attribute} must not be a subnet.' => '{attribute} non deve essere una subnet.',
- '{attribute} must not be an IPv4 address.' => '{attribute} non deve essere un indirizzo IPv4.',
- '{attribute} must not be an IPv6 address.' => '{attribute} non deve essere un indirizzo IPv6.',
- '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} non deve essere uguale a "{compareValueOrAttribute}".',
- '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 giorno} other{# giorni}}',
- '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 ora} other{# ore}}',
- '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuto} other{# minuti}}',
- '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, =1{1 mese} other{# mesi}}',
- '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, =1{1 secondo} other{# secondi}}',
- '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, =1{1 anno} other{# anni}}',
- '{attribute} must be greater than "{compareValue}".' => '@@{attribute} deve essere maggiore di "{compareValue}".@@',
- '{attribute} must be greater than or equal to "{compareValue}".' => '@@{attribute} deve essere maggiore o uguale a "{compareValue}".@@',
- '{attribute} must be less than "{compareValue}".' => '@@{attribute} deve essere minore di "{compareValue}".@@',
- '{attribute} must be less than or equal to "{compareValue}".' => '@@{attribute} deve essere minore o uguale a "{compareValue}".@@',
- '{attribute} must be repeated exactly.' => '@@{attribute} deve essere ripetuto esattamente.@@',
- '{attribute} must not be equal to "{compareValue}".' => '@@{attribute} non deve essere uguale a "{compareValue}".@@',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(nessun valore)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Si è verificato un errore interno',
'Are you sure you want to delete this item?' => 'Sei sicuro di voler eliminare questo elemento?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Elimina',
'Error' => 'Errore',
'File upload failed.' => 'Upload file fallito.',
@@ -64,14 +43,19 @@
'No results found.' => 'Nessun risultato trovato',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Solo i file con questi tipi MIME sono consentiti: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Solo i file con queste estensioni sono permessi: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Pagina non trovata.',
'Please fix the following errors:' => 'Per favore correggi i seguenti errori:',
'Please upload a file.' => 'Per favore carica un file.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Visualizzo {begin, number}-{end, number} di {totalCount, number} {totalCount, plural, one{elemento} other{elementi}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Il file "{file}" non è una immagine.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Il file "{file}" è troppo grande. La dimensione non può superare i {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Il file "{file}" è troppo piccolo. La dimensione non può essere inferiore a {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Il formato di {attribute} non è valido.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'L\'immagine "{file}" è troppo grande. La sua altezza non può essere maggiore di {limit, number} {limit, plural, one{pixel} other{pixel}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'L immagine "{file}" è troppo grande. La sua larghezza non può essere maggiore di {limit, number} {limit, plural, one{pixel} other{pixel}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'L immagine "{file}" è troppo piccola. La sua altezza non può essere minore di {limit, number} {limit, plural, one{pixel} other{pixel}}.',
@@ -80,12 +64,15 @@
'The verification code is incorrect.' => 'Il codice di verifica non è corretto.',
'Total {count, number} {count, plural, one{item} other{items}}.' => '{count, plural, one{Elementi} other{Elementi}} totali {count, number}.',
'Unable to verify your data submission.' => 'Impossibile verificare i dati inviati.',
+ 'Unknown alias: -{name}' => 'Alias sconosciuto: -{name}',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Opzione Sconosciuta: --{name}',
'Update' => 'Aggiorna',
'View' => 'Visualizza',
'Yes' => 'Si',
'You are not allowed to perform this action.' => 'Non sei autorizzato ad eseguire questa operazione.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Puoi caricare al massimo {limit, number} {limit, plural, one{file} other{file}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'in {delta, plural, =1{un giorno} other{# giorni}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'in {delta, plural, =1{un minuto} other{# minuti}}',
'in {delta, plural, =1{a month} other{# months}}' => 'in {delta, plural, =1{un mese} other{# mesi}}',
@@ -96,19 +83,39 @@
'the input value' => 'il valore del campo',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" è già presente.',
'{attribute} cannot be blank.' => '{attribute} non può essere vuoto.',
+ '{attribute} contains wrong subnet mask.' => '{attribute} contiene una subnet mask errata.',
'{attribute} is invalid.' => '{attribute} non è valido.',
'{attribute} is not a valid URL.' => '{attribute} non è un URL valido.',
'{attribute} is not a valid email address.' => '{attribute} non è un indirizzo email valido.',
+ '{attribute} is not in the allowed range.' => '{attribute} non rientra nell\'intervallo permesso',
'{attribute} must be "{requiredValue}".' => '{attribute} deve essere "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} deve essere un numero.',
'{attribute} must be a string.' => '{attribute} deve essere una stringa.',
+ '{attribute} must be a valid IP address.' => '{attribute} deve essere un indirizzo IP valido.',
+ '{attribute} must be an IP address with specified subnet.' => '{attribute} deve essere un indirizzo IP valido con subnet specificata.',
'{attribute} must be an integer.' => '{attribute} deve essere un numero intero.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} deve essere "{true}" oppure "{false}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} deve essere uguale a "{compareValueOrAttribute}".',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} deve essere maggiore di "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} deve essere maggiore o uguale a "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} deve essere minore di "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} deve essere minore o uguale a "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} non deve essere maggiore di {max}.',
'{attribute} must be no less than {min}.' => '{attribute} non deve essere minore di {min}.',
+ '{attribute} must not be a subnet.' => '{attribute} non deve essere una subnet.',
+ '{attribute} must not be an IPv4 address.' => '{attribute} non deve essere un indirizzo IPv4.',
+ '{attribute} must not be an IPv6 address.' => '{attribute} non deve essere un indirizzo IPv6.',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} non deve essere uguale a "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} dovrebbe contenere almeno {min, number} {min, plural, one{carattere} other{caratteri}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} dovrebbe contenere al massimo {max, number} {max, plural, one{carattere} other{caratteri}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} dovrebbe contenere {length, number} {length, plural, one{carattere} other{caratteri}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 giorno} other{# giorni}}',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 ora} other{# ore}}',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuto} other{# minuti}}',
+ '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, =1{1 mese} other{# mesi}}',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, =1{1 secondo} other{# secondi}}',
+ '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, =1{1 anno} other{# anni}}',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{un giorno} other{# giorni}} fa',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{un minuto} other{# minuti}} fa',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{un mese} other{# mesi}} fa',
@@ -118,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -126,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{byte}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibyte} other{gibibyte}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabyte}}',
diff --git a/framework/messages/ja/yii.php b/framework/messages/ja/yii.php
index 42d26beba54..6fd6c3f9da5 100644
--- a/framework/messages/ja/yii.php
+++ b/framework/messages/ja/yii.php
@@ -1,4 +1,10 @@
' および ',
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" は演算子 "{operator}" をサポートしていません。',
'(not set)' => '(未設定)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => '内部サーバーエラーが発生しました。',
'Are you sure you want to delete this item?' => 'このアイテムを削除したいというのは本当ですか?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => '"{attribute}" のための条件は値であるか有効な演算子の定義でなければなりません。',
@@ -37,6 +45,7 @@
'Only files with these extensions are allowed: {extensions}.' => '次の拡張子を持つファイルだけが許可されています : {extensions}',
'Operator "{operator}" must be used with a search attribute.' => '演算子 "{operator}" はサーチ属性とともに使用されなければなりません。',
'Operator "{operator}" requires multiple operands.' => '演算子 "{operator}" は複数の被演算子を要求します。',
+ 'Options available: {options}' => '',
'Page not found.' => 'ページが見つかりません。',
'Please fix the following errors:' => '次のエラーを修正してください :',
'Please upload a file.' => 'ファイルをアップロードしてください。',
@@ -100,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} は {min} 文字以上でなければいけません。',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} は {max} 文字以下でなければいけません。',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} は {length} 文字でなければいけません。',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta} 日間',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta} 時間',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta} 分間',
@@ -115,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -123,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} バイト',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} ギビバイト',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} ギガバイト',
diff --git a/framework/messages/ka/yii.php b/framework/messages/ka/yii.php
index 96eaaeb621d..c885e6bd951 100644
--- a/framework/messages/ka/yii.php
+++ b/framework/messages/ka/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(არ არის მითითებული)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'წარმოიშვა სერვერის შიდა შეცდომა.',
'Are you sure you want to delete this item?' => 'დარწმუნებული ხართ, რომ გინდათ ამ ელემენტის წაშლა?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'წაშლა',
'Error' => 'შეცდომა',
'File upload failed.' => 'ფაილის ჩამოტვირთვა ვერ მოხერხდა.',
@@ -38,14 +43,19 @@
'No results found.' => 'არაფერი მოიძებნა.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'ნებადართულია ფაილების ჩამოტვირთვა მხოლოდ შემდეგი MIME-ტიპებით: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'ნებადართულია ფაილების ჩამოტვირთვა მხოლოდ შემდეგი გაფართოებებით: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'გვერდი ვერ მოიძებნა.',
'Please fix the following errors:' => 'შეასწორეთ შემდეგი შეცდომები:',
'Please upload a file.' => 'ჩამოტვირთეთ ფაილი.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'ნაჩვენებია ჩანაწერები {begin, number}-{end, number} из {totalCount, number}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'ფაილი «{file}» არ წარმოადგენს გამოსახულებას.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'ფაილი «{file}» ძალიან დიდია. ზომა არ უნდა აღემატებოდეს {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'ფაილი «{file}» ძალიან პატარაა. ზომა უნდა აღემატებოდეს {formattedLimit}.',
'The format of {attribute} is invalid.' => 'მნიშვნელობის «{attribute}» არასწორი ფორმატი.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'ფაილი «{file}» ძალიან დიდია. სიმაღლე არ უნდა აღემატებოდეს {limit, number} {limit, plural, one{პიქსელს} few{პიქსელს} many{პიქსელს} other{პიქსელს}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'ფაილი «{file}» ძალიან დიდია. სიგანე არ უნდა აღემატებოდეს {limit, number} {limit, plural, one{პიქსელს} few{პიქსელს} many{პიქსელს} other{პიქსელს}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'ფაილი «{file}» ძალიან პატარაა. სიმაღლე უნდა აღემატებოდეს {limit, number} {limit, plural, one{პიქსელს} few{პიქსელს} many{პიქსელს} other{პიქსელს}}.',
@@ -54,12 +64,15 @@
'The verification code is incorrect.' => 'არასწორი შემამოწმებელი კოდი.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'სულ {count, number} {count, plural, one{ჩანაწერი} few{ჩანაწერი} many{ჩანაწერი}} other{ჩანაწერი}}.',
'Unable to verify your data submission.' => 'ვერ მოხერხდა გადაცემული მონაცემების შემოწმება.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'უცნობი ოფცია: --{name}',
'Update' => 'რედაქტირება',
'View' => 'ნახვა',
'Yes' => 'დიახ',
'You are not allowed to perform this action.' => 'თქვენ არ გაქვთ მოცემული ქმედების შესრულების ნებართვა.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'თქვენ არ შეგიძლიათ ჩამოტვირთოთ {limit, number}-ზე მეტი {limit, plural, one{ფაილი} few{ფაილი} many{ფაილი} other{ფაილი}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{დღის} one{# დღის} few{# დღის} many{# დღის} other{# დღის}} შემდეგ',
'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{წუთის} one{# წუთის} few{# წუთის} many{# წუთის} other{# წუთის}} შემდეგ',
'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{თვის} one{# თვის} few{# თვის} many{# თვის} other{# თვის}} შემდეგ',
@@ -70,25 +83,39 @@
'the input value' => 'შეყვანილი მნიშვნელობა',
'{attribute} "{value}" has already been taken.' => '{attribute} «{value}» უკვე დაკავებულია.',
'{attribute} cannot be blank.' => 'საჭიროა შევსება «{attribute}».',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => 'მნიშვნელობა «{attribute}» არასწორია.',
'{attribute} is not a valid URL.' => 'მნიშვნელობა «{attribute}» არ წარმოადგენს სწორ URL-ს.',
'{attribute} is not a valid email address.' => 'მნიშვნელობა «{attribute}» არ წარმოადგენს სწორ email მისამართს.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{requiredValue}-ს ტოლი».',
'{attribute} must be a number.' => 'მნიშვნელობა «{attribute}» უნდა იყოს რიცხვი.',
'{attribute} must be a string.' => 'მნიშვნელობა «{attribute}» უნდა იყოს სტრიქონი.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => 'მნიშვნელობა «{attribute}» უნდა იყოს მთელი რიცხვი.',
'{attribute} must be either "{true}" or "{false}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{true}»-ს ან «{false}»-ს ტოლი.',
- '{attribute} must be greater than "{compareValue}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{compareValue}» მნიშვნელობაზე მეტი.',
- '{attribute} must be greater than or equal to "{compareValue}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{compareValue}» მნიშვნელობაზე მეტი ან ტოლი.',
- '{attribute} must be less than "{compareValue}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{compareValue}» მნიშვნელობაზე ნაკლები.',
- '{attribute} must be less than or equal to "{compareValue}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{compareValue}» მნიშვნელობაზე ნაკლები ან ტოლი.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{compareValueOrAttribute}» მნიშვნელობაზე მეტი.',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{compareValueOrAttribute}» მნიშვნელობაზე მეტი ან ტოლი.',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{compareValueOrAttribute}» მნიშვნელობაზე ნაკლები.',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => 'მნიშვნელობა «{attribute}» უნდა იყოს «{compareValueOrAttribute}» მნიშვნელობაზე ნაკლები ან ტოლი.',
'{attribute} must be no greater than {max}.' => 'მნიშვნელობა «{attribute}» არ უნდა აღემატებოდეს {max}.',
'{attribute} must be no less than {min}.' => 'მნიშვნელობა «{attribute}» უნდა იყოს არანაკლები {min}.',
- '{attribute} must be repeated exactly.' => 'მნიშვნელობა «{attribute}» უნდა განმეორდეს ზუსტად.',
- '{attribute} must not be equal to "{compareValue}".' => 'მნიშვნელობა «{attribute}» არ უნდა იყოს «{compareValue}»-ს ტოლი.',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => 'მნიშვნელობა «{attribute}» არ უნდა იყოს «{compareValueOrAttribute}»-ს ტოლი.',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'მნიშვნელობა «{attribute}» უნდა შეიცავდეს მინიმუმ {min, number} {min, plural, one{სიმბოლს} few{სიმბოლს} many{სიმბოლს} other{სიმბოლს}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'მნიშვნელობა «{attribute}» უნდა შეიცავდეს მაქსიმუმ {max, number} {max, plural, one{სიმბოლს} few{სიმბოლს} many{სიმბოლს} other{სიმბოლს}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'მნიშვნელობა «{attribute}» უნდა შეიცავდეს {length, number} {length, plural, one{სიმბოლს} few{სიმბოლს} many{სიმბოლს} other{სიმბოლს}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{დღის} one{# დღის} few{# დღის} many{# დღის} other{# დღის}} უკან',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{წუთის} one{# წუთის} few{# წუთის} many{# წუთის} other{# წუთის}} უკან',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{თვის} one{# თვის} few{# თვის} many{# თვის} other{# თვის}} უკან',
@@ -98,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} ბ',
'{nFormatted} GB' => '{nFormatted} გბ',
'{nFormatted} GiB' => '{nFormatted} გიბ',
- '{nFormatted} kB' => '{nFormatted} კბ',
'{nFormatted} KiB' => '{nFormatted} კიბ',
'{nFormatted} MB' => '{nFormatted} მბ',
'{nFormatted} MiB' => '{nFormatted} მიბ',
@@ -106,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} პიბ',
'{nFormatted} TB' => '{nFormatted} ტბ',
'{nFormatted} TiB' => '{nFormatted} ტიბ',
+ '{nFormatted} kB' => '{nFormatted} კბ',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{ბაიტი} few{ბაიტს} many{ბაიტი} other{ბაიტს}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{გიბიბაიტი} few{გიბიბაიტს} many{გიბიბაიტი} other{გიბიბაიტს}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{გიგაბაიტი} few{გიგაბაიტს} many{გიგაბაიტი} other{გიგაბაიტს}}',
diff --git a/framework/messages/kk/yii.php b/framework/messages/kk/yii.php
index b33338dbab8..fb43703aa89 100644
--- a/framework/messages/kk/yii.php
+++ b/framework/messages/kk/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(берілмеген)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Сервердің ішкі қатесі туды.',
'Are you sure you want to delete this item?' => 'Бұл элементті жоюға сенімдісіз бе?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Жою',
'Error' => 'Қате',
'File upload failed.' => 'Файлды жүктеу сәтті болмады',
@@ -35,52 +40,108 @@
'Missing required arguments: {params}' => 'Қажетті аргументтер жоқ: {params}',
'Missing required parameters: {params}' => 'Қажетті параметрлер жоқ: {params}',
'No' => 'Жоқ',
- 'No help for unknown command "{command}".' => 'Белгісіз "{command}" командасы үшін көмек табылмады.',
- 'No help for unknown sub-command "{command}".' => 'Белгісіз "{command}" ішкі командасы үшін көмек табылмады.',
'No results found.' => 'Нәтиже табылған жок.',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => '',
'Only files with these extensions are allowed: {extensions}.' => 'Тек мына кеңейтімдегі файлдарға ғана рұқсат етілген: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Бет табылған жок.',
'Please fix the following errors:' => 'Өтінеміз, мына қателерді түзеңіз:',
'Please upload a file.' => 'Файлды жүктеңіз.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '{totalCount, number} жазбадан {begin, number}-{end, number} аралығы көрсетілген.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => '«{file}» файлы сурет емес.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '«{file}» файлының өлшемі тым үлкен. Көлемі {formattedLimit} аспау керек.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '«{file}» файлының өлшемі тым кіші. Көлемі {formattedLimit} кем болмауы керек.',
'The format of {attribute} is invalid.' => '«{attribute}» аттрибутының форматы дұрыс емес.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» суретінің өлшемі тым үлкен. Биіктігі {limit, number} пиксельден аспауы қажет.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» суретінің өлшемі тым үлкен. Ені {limit, number} пиксельден аспауы қажет.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» суретінің өлшемі тым кіші. Биіктігі {limit, number} пиксельден кем болмауы қажет.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» суретінің өлшемі тым кіші. Ені {limit, number} пиксельден кем болмауы қажет.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => 'Тексеріс коды қате.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Барлығы {count, number} жазба.',
'Unable to verify your data submission.' => 'Жіберілген мәліметерді тексеру мүмкін емес.',
- 'Unknown command "{command}".' => '"{command}" командасы белгісіз.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Белгісіз опция: --{name}',
'Update' => 'Жаңарту',
'View' => 'Көру',
'Yes' => 'Иә',
'You are not allowed to perform this action.' => 'Сізге бұл әрекетті жасауға рұқсат жоқ',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Сіз {limit} файлдан көп жүктей алмайсыз.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '',
+ 'in {delta, plural, =1{a month} other{# months}}' => '',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '',
+ 'in {delta, plural, =1{a year} other{# years}}' => '',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '',
+ 'just now' => '',
'the input value' => 'енгізілген мән',
'{attribute} "{value}" has already been taken.' => '{attribute} «{value}» Бұл бос емес мән.',
'{attribute} cannot be blank.' => '«{attribute}» толтыруды қажет етеді.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '«{attribute}» мәні жарамсыз.',
'{attribute} is not a valid URL.' => '«{attribute}» жарамды URL емес.',
'{attribute} is not a valid email address.' => '«{attribute}» жарамды email адрес емес.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '«{attribute}» мәні «{requiredValue}» болу керек.',
'{attribute} must be a number.' => '«{attribute}» мәні сан болуы керек.',
'{attribute} must be a string.' => '«{attribute}» мәні мәтін болуы керек.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '«{attribute}» мәні бүтін сан болу керек.',
'{attribute} must be either "{true}" or "{false}".' => '«{attribute}» мәні «{true}» немесе «{false}» болуы керек.',
- '{attribute} must be greater than "{compareValue}".' => '«{attribute}» мәні мынадан үлкен болуы керек: «{compareValue}».',
- '{attribute} must be greater than or equal to "{compareValue}".' => '«{attribute}» мәні мынадан үлкен немесе тең болуы керек: «{compareValue}».',
- '{attribute} must be less than "{compareValue}".' => '«{attribute}» мәні мынадан кіші болуы керек: «{compareValue}».',
- '{attribute} must be less than or equal to "{compareValue}".' => '«{attribute}» мәні мынадан кіші немесе тең болуы керек: «{compareValue}».',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '«{attribute}» мәні мынадан үлкен болуы керек: «{compareValueOrAttribute}».',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '«{attribute}» мәні мынадан үлкен немесе тең болуы керек: «{compareValueOrAttribute}».',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '«{attribute}» мәні мынадан кіші болуы керек: «{compareValueOrAttribute}».',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '«{attribute}» мәні мынадан кіші немесе тең болуы керек: «{compareValueOrAttribute}».',
'{attribute} must be no greater than {max}.' => '«{attribute}» мәні мынадан аспауы керек: {max}.',
'{attribute} must be no less than {min}.' => '«{attribute}» мәні мынадан кем болмауы керек: {min}.',
- '{attribute} must be repeated exactly.' => '«{attribute}» мәні дәлме-дәл қайталану керек.',
- '{attribute} must not be equal to "{compareValue}".' => '«{attribute}» мәні мынаған тең болмауы керек: «{compareValue}».',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '«{attribute}» мәні мынаған тең болмауы керек: «{compareValueOrAttribute}».',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '«{attribute}» мәні кемінде {min} таңбадан тұруы керек.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '«{attribute}» мәні {max} таңбадан аспауы қажет.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '«{attribute}» {length} таңбадан тұруы керек.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => '',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '',
+ '{delta, plural, =1{a month} other{# months}} ago' => '',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '',
+ '{delta, plural, =1{a year} other{# years}} ago' => '',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '',
+ '{nFormatted} B' => '',
+ '{nFormatted} GB' => '',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '',
];
diff --git a/framework/messages/ko/yii.php b/framework/messages/ko/yii.php
index b0ad872fe72..bf0a51babb4 100644
--- a/framework/messages/ko/yii.php
+++ b/framework/messages/ko/yii.php
@@ -23,8 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(설정되어있지않습니다)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => '서버 오류가 발생하였습니다.',
+ 'Are you sure you want to delete this item?' => '',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => '삭제',
'Error' => '오류',
'File upload failed.' => '파일 업로드 실패하였습니다.',
@@ -34,52 +40,108 @@
'Missing required arguments: {params}' => '필요한 인수가 없습니다: {params}',
'Missing required parameters: {params}' => '필요한 매개변수가 없습니다: {params}',
'No' => '아니오',
- 'No help for unknown command "{command}".' => '알 수 없는 명령 "{command}"에 대한 도움말이 없습니다.',
- 'No help for unknown sub-command "{command}".' => '알 수 없는 하위명령 "{command}"에 대한 도움말이 없습니다.',
'No results found.' => '결과가 없습니다.',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => '',
'Only files with these extensions are allowed: {extensions}.' => '다음의 확장명을 가진 파일만 허용됩니다: {extensions}',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => '페이지를 찾을 수 없습니다.',
'Please fix the following errors:' => '다음 오류를 수정하십시오:',
'Please upload a file.' => '파일을 업로드하십시오.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '{totalCount} 중 {begin} 에서 {end} 까지 표시하고 있습니다.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => '파일 "{file}"은 이미지 파일이 아닙니다.',
- 'The file "{file}" is too big. Its size cannot exceed {limit, number} {limit, plural, one{byte} other{bytes}}.' => '파일 "{file}"는 크기가 너무 큽니다. 파일 크기는 {limit} 바이트를 초과할 수 없습니다.',
- 'The file "{file}" is too small. Its size cannot be smaller than {limit, number} {limit, plural, one{byte} other{bytes}}.' => '파일 "{file}"는 크기가 너무 작습니다. 크기는 {limit} 바이트 보다 작을 수 없습니다.',
+ 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '',
+ 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '',
'The format of {attribute} is invalid.' => '{attribute}의 형식이 올바르지 않습니다.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '이미지 "{file}"가 너무 큽니다. 높이는 {limit} 보다 클 수 없습니다.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '이미지 "{file}"가 너무 큽니다. 넓이는 {limit} 보다 클 수 없습니다.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '이미지 "{file}"가 너무 작습니다. 높이는 {limit} 보다 작을 수 없습니다.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '이미지 "{file}"가 너무 작습니다. 넒이는 {limit} 보다 작을 수 없습니다.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => '확인코드가 올바르지않습니다.',
'Total {count, number} {count, plural, one{item} other{items}}.' => '모두 {count} 개',
'Unable to verify your data submission.' => '데이터 전송을 확인하지 못했습니다.',
- 'Unknown command "{command}".' => '알 수 없는 명령 "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => '알 수 없는 옵션: --{name}',
'Update' => '갱신',
'View' => '보기',
'Yes' => '예',
'You are not allowed to perform this action.' => '이 작업의 실행을 허가받지못하였습니다.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => '최대 {limit} 개의 파일을 업로드할 수 있습니다.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '',
+ 'in {delta, plural, =1{a month} other{# months}}' => '',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '',
+ 'in {delta, plural, =1{a year} other{# years}}' => '',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '',
+ 'just now' => '',
'the input value' => '입력 값',
'{attribute} "{value}" has already been taken.' => '{attribute}에 "{value}"이 이미 사용되고 있습니다.',
'{attribute} cannot be blank.' => '{attribute}는 공백일 수 없습니다.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute}가 잘못되었습니다.',
'{attribute} is not a valid URL.' => '{attribute}는 올바른 URL 형식이 아닙니다.',
'{attribute} is not a valid email address.' => '{attribute}는 올바른 이메일 주소 형식이 아닙니다.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute}는 {value}이어야 합니다.',
'{attribute} must be a number.' => '{attribute}는 반드시 숫자이어야 합니다.',
'{attribute} must be a string.' => '{attribute}는 반드시 문자이어야 합니다.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute}는 반드시 정수이어야 합니다.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute}는 {true} 또는 {false} 이어야 합니다.',
- '{attribute} must be greater than "{compareValue}".' => '{attribute}는 "{compareValue}" 보다 커야 합니다.',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute}는 "{compareValue}" 보다 크거나 같아야 합니다.',
- '{attribute} must be less than "{compareValue}".' => '{attribute}는 "{compareValue}" 보다 작아야 합니다.',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute}는 "{compareValue}" 보다 작거나 같아야 합니다.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute}는 "{compareValueOrAttribute}" 보다 커야 합니다.',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute}는 "{compareValueOrAttribute}" 보다 크거나 같아야 합니다.',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute}는 "{compareValueOrAttribute}" 보다 작아야 합니다.',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute}는 "{compareValueOrAttribute}" 보다 작거나 같아야 합니다.',
'{attribute} must be no greater than {max}.' => '{attribute}는 "{max}" 보다 클 수 없습니다.',
'{attribute} must be no less than {min}.' => '{attribute}는 "{min}" 보다 작을 수 없습니다.',
- '{attribute} must be repeated exactly.' => '{attribute}는 정확하게 반복합니다.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute}는 "{compareValue}"와 같을 수 없습니다.',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute}는 "{compareValueOrAttribute}"와 같을 수 없습니다.',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute}는 최소 {min}자 이어야합니다.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute}는 최대 {max}자 이어야합니다.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute}는 {length}자 이어야합니다.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => '',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '',
+ '{delta, plural, =1{a month} other{# months}} ago' => '',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '',
+ '{delta, plural, =1{a year} other{# years}} ago' => '',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '',
+ '{nFormatted} B' => '',
+ '{nFormatted} GB' => '',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '',
];
diff --git a/framework/messages/kz/yii.php b/framework/messages/kz/yii.php
index d8a3cf94b5a..76c43e120c8 100644
--- a/framework/messages/kz/yii.php
+++ b/framework/messages/kz/yii.php
@@ -1,8 +1,14 @@
'{nFormatted} Б',
- '{nFormatted} GB' => '{nFormatted} ГБ',
- '{nFormatted} GiB' => '{nFormatted} ГиБ',
- '{nFormatted} kB' => '{nFormatted} КБ',
- '{nFormatted} KiB' => '{nFormatted} КиБ',
- '{nFormatted} MB' => '{nFormatted} МБ',
- '{nFormatted} MiB' => '{nFormatted} МиБ',
- '{nFormatted} PB' => '{nFormatted} ПБ',
- '{nFormatted} PiB' => '{nFormatted} ПиБ',
- '{nFormatted} TB' => '{nFormatted} ТБ',
- '{nFormatted} TiB' => '{nFormatted} ТиБ',
- '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байттар} few{байт} many{байттар} other{байт}}',
- '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гибибайт} few{гибибайта} many{гибибайтов} other{гибибайта}}',
- '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гигабайт} few{гигабайта} many{гигабайтов} other{гигабайта}}',
- '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, one{кибибайт} few{кибибайта} many{кибибайтов} other{кибибайта}}',
- '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{килобайт} few{килобайта} many{килобайтов} other{килобайта}}',
- '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, one{мебибайт} few{мебибайта} many{мебибайтов} other{мебибайта}}',
- '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{мегабайт} few{мегабайта} many{мегабайтов} other{мегабайта}}',
- '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, one{пебибайт} few{пебибайта} many{пебибайтов} other{пебибайта}}',
- '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{петабайт} few{петабайта} many{петабайтов} other{петабайта}}',
- '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{тебибайт} few{тебибайта} many{тебибайтов} other{тебибайта}}',
- '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{терабайт} few{терабайта} many{терабайтов} other{терабайта}}',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(көрсетілмеген)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Ішкі сервер қатесі орын алды.',
'Are you sure you want to delete this item?' => 'Бұл элементті жою керек пе?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Жою',
'Error' => 'Қате',
'File upload failed.' => 'Файл жүктелмеді.',
@@ -51,19 +40,22 @@
'Missing required arguments: {params}' => 'Қажетті дәлелдер жоқ: {params}',
'Missing required parameters: {params}' => 'Қажетті параметрлер жоқ: {params}',
'No' => 'Жоқ',
- 'No help for unknown command "{command}".' => 'Анық емес "{command}" пәрменіне көмек жоқ.',
- 'No help for unknown sub-command "{command}".' => 'Анық емес субкоманда "{command}" үшін көмек жоқ.',
'No results found.' => 'Еш нәрсе табылмады.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Тек келесі MIME-түріндегі файлдарға рұқсат етіледі: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Тек келесі кеңейтілімдері бар файлдарға рұқсат етіледі: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Бет табылмады.',
'Please fix the following errors:' => 'Келесі қателерді түзетіңіз:',
'Please upload a file.' => 'Файлды жүктеп алыңыз.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Жазбаларды көрсету {begin, number}-{end, number} из {totalCount, number}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => '"{file}" файлы сурет емес.',
- 'The file "{file}" is too big. Its size cannot exceed {limit, number} {limit, plural, one{byte} other{bytes}}.' => '«{file}» файлы тым үлкен. Өлшемі {шектеу, сан} {limit, plural, one{байттар} few{байт} many{байттар} other{байта}}.',
- 'The file "{file}" is too small. Its size cannot be smaller than {limit, number} {limit, plural, one{byte} other{bytes}}.' => '«{file}» файлы тым кішкентай. Өлшем көп болуы керек {limit, number} {limit, plural, one{байттар} few{байта} many{байт} other{байта}}.',
+ 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '',
+ 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '',
'The format of {attribute} is invalid.' => '{attribute} мәнінің пішімі дұрыс емес.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файлы тым үлкен. Биіктігі аспауы керек {limit, number} {limit, plural, other{пиксел}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файлы тым үлкен. Ені аспауы тиіс {limit, number} {limit, plural, other{пиксел}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файлы тым кішкентай. Биіктігі көп болуы керек {limit, number} {limit, plural, other{пиксел}}.',
@@ -72,13 +64,15 @@
'The verification code is incorrect.' => 'Растау коды дұрыс емес.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Барлығы {count, number} {count, plural, one{кіру} few{жазбалар} many{жазбалар} other{жазбалар}}.',
'Unable to verify your data submission.' => 'Жіберілген деректерді тексере алмадық.',
- 'Unknown command "{command}".' => 'Белгісіз команда "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Белгісіз опция: --{name}',
'Update' => 'Өңдеу',
'View' => 'Ішінде қараңыз',
'Yes' => 'Ия',
'You are not allowed to perform this action.' => 'Сіз бұл әрекетті орындауға рұқсатыңыз жоқ.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Көбірек жүктей алмайсыз {limit, number} {limit, plural, one{файл} few{файлдар} many{файлдар} other{файл}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'арқылы {delta, plural, =1{күн} one{# күн} few{# күн} many{# күндер} other{# күн}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'арқылы {delta, plural, =1{минутына} one{# минутына} few{# минуттар} many{# минуттар} other{# минуттар}}',
'in {delta, plural, =1{a month} other{# months}}' => 'арқылы {delta, plural, =1{ай} one{# ай} few{# айлар} many{# айлар} other{# айлар}}',
@@ -89,29 +83,65 @@
'the input value' => 'енгізілген мән',
'{attribute} "{value}" has already been taken.' => '{attribute} «{value}» қазірдің өзінде қабылданды.',
'{attribute} cannot be blank.' => 'Толтырылуы керек «{attribute}».',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '«{attribute}» мәні жарамсыз.',
'{attribute} is not a valid URL.' => '«{attribute}» мәні жарамды URL емес.',
'{attribute} is not a valid email address.' => '«{attribute}» мәні жарамды электрондық пошта мекенжайы емес.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '«{attribute}» мәні «{requiredValue}» дегенге тең болуы керек.',
'{attribute} must be a number.' => '«{attribute}» мәні сан болуы керек.',
'{attribute} must be a string.' => '«{attribute}» мәні жол болуы керек.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '«{attribute}» мәні бүтін сан болуы керек.',
'{attribute} must be either "{true}" or "{false}".' => '«{attribute}» мәні «{true}» немесе «{false}» мәніне тең болуы керек.',
- '{attribute} must be greater than "{compareValue}".' => '«{attribute}» мәні «{compareValue}» мәнінен үлкен болуы керек.',
- '{attribute} must be greater than or equal to "{compareValue}".' => '«{attribute}» мәні «{compareValue}» мәнінен үлкен немесе тең болуы керек.',
- '{attribute} must be less than "{compareValue}".' => '«{attribute}» мәні «{compareValue}» мәнінен аз болуы керек.',
- '{attribute} must be less than or equal to "{compareValue}".' => '«{attribute}» мәні «{compareValue}» мәнінен аз немесе тең болуы керек.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '«{attribute}» мәні «{compareValueOrAttribute}» мәнінен үлкен болуы керек.',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '«{attribute}» мәні «{compareValueOrAttribute}» мәнінен үлкен немесе тең болуы керек.',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '«{attribute}» мәні «{compareValueOrAttribute}» мәнінен аз болуы керек.',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '«{attribute}» мәні «{compareValueOrAttribute}» мәнінен аз немесе тең болуы керек.',
'{attribute} must be no greater than {max}.' => '«{attribute}» мәні {max} аспауы керек.',
'{attribute} must be no less than {min}.' => '«{attribute}» мәні кем дегенде {min} болуы керек.',
- '{attribute} must be repeated exactly.' => '«{attribute}» мәні дәл қайталануы керек.',
- '{attribute} must not be equal to "{compareValue}".' => '«{attribute}» мәні «{compareValue}» тең болмауы керек.',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '«{attribute}» мәні «{compareValueOrAttribute}» тең болмауы керек.',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '«{attribute}» мәні минималды {min, number} болуы керек {min, number} {min, plural, one{таңба} few{таңба} many{таңбалар} other{таңба}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '«{attribute}» мәні ең көп {max, number} {max, plural, one{таңба} few{таңба} many{таңбалар} other{таңба}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '«{attribute}» мәні {length, number} болуы керек {length, plural, one{таңба} few{таңба} many{таңбалар} other{таңба}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{күн} one{күн} few{# күн} many{# күндер} other{# күн}} артқа қарай',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{минутына} one{# минутына} few{# минуттар} many{# минуттар} other{# минуттар}} артқа қарай',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{ай} one{# ай} few{# айлар} many{# айлар} other{# айлар}} артқа қарай',
'{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, other{# екіншіден}} артқа қарай',
'{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{жыл} one{# жыл} few{# жыл} many{# жастағы} other{# жыл}} артқа қарай',
'{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, other{# сағат}} артқа қарай',
-];
\ No newline at end of file
+ '{nFormatted} B' => '{nFormatted} Б',
+ '{nFormatted} GB' => '{nFormatted} ГБ',
+ '{nFormatted} GiB' => '{nFormatted} ГиБ',
+ '{nFormatted} KiB' => '{nFormatted} КиБ',
+ '{nFormatted} MB' => '{nFormatted} МБ',
+ '{nFormatted} MiB' => '{nFormatted} МиБ',
+ '{nFormatted} PB' => '{nFormatted} ПБ',
+ '{nFormatted} PiB' => '{nFormatted} ПиБ',
+ '{nFormatted} TB' => '{nFormatted} ТБ',
+ '{nFormatted} TiB' => '{nFormatted} ТиБ',
+ '{nFormatted} kB' => '{nFormatted} КБ',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байттар} few{байт} many{байттар} other{байт}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гибибайт} few{гибибайта} many{гибибайтов} other{гибибайта}}',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гигабайт} few{гигабайта} many{гигабайтов} other{гигабайта}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, one{кибибайт} few{кибибайта} many{кибибайтов} other{кибибайта}}',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{килобайт} few{килобайта} many{килобайтов} other{килобайта}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, one{мебибайт} few{мебибайта} many{мебибайтов} other{мебибайта}}',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{мегабайт} few{мегабайта} many{мегабайтов} other{мегабайта}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, one{пебибайт} few{пебибайта} many{пебибайтов} other{пебибайта}}',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{петабайт} few{петабайта} many{петабайтов} other{петабайта}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{тебибайт} few{тебибайта} many{тебибайтов} other{тебибайта}}',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{терабайт} few{терабайта} many{терабайтов} other{терабайта}}',
+];
diff --git a/framework/messages/lt/yii.php b/framework/messages/lt/yii.php
index fce59c5471b..72d8d5b3081 100644
--- a/framework/messages/lt/yii.php
+++ b/framework/messages/lt/yii.php
@@ -23,32 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'just now' => 'dabar',
- '{nFormatted} B' => '{nFormatted} B',
- '{nFormatted} GB' => '{nFormatted} GB',
- '{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
- '{nFormatted} KiB' => '{nFormatted} KiB',
- '{nFormatted} MB' => '{nFormatted} MB',
- '{nFormatted} MiB' => '{nFormatted} MiB',
- '{nFormatted} PB' => '{nFormatted} PB',
- '{nFormatted} PiB' => '{nFormatted} PiB',
- '{nFormatted} TB' => '{nFormatted} TB',
- '{nFormatted} TiB' => '{nFormatted} TiB',
- '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} gibi{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} giga{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} kibi{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} kilo{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} mebi{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} mega{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} pebi{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} peta{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} tebi{n, plural, one{baitas} few{baitai} other{baitų}}',
- '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} tera{n, plural, one{baitas} few{baitai} other{baitų}}',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(nenustatyta)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Įvyko vidinė serverio klaida',
'Are you sure you want to delete this item?' => 'Ar tikrai norite ištrinti šį elementą?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Ištrinti',
'Error' => 'Klaida',
'File upload failed.' => 'Nepavyko įkelti failo.',
@@ -61,14 +43,19 @@
'No results found.' => 'Nėra užklausą atitinkančių įrašų.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Leidžiama įkelti tik šių MIME tipų failus: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Leidžiama įkelti failus tik su šiais plėtiniais: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Puslapis nerastas.',
'Please fix the following errors:' => 'Prašytume ištaisyti nurodytas klaidas:',
'Please upload a file.' => 'Prašome įkelti failą.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Rodomi rezultatai {begin, number}-{end, number} iš {totalCount, number}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Failas „{file}“ nėra paveikslėlis.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Failas „{file}“ yra per didelis. Dydis negali viršyti {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Failas „{file}“ yra per mažas. Dydis negali būti mažesnis už {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Atributo „{attribute}“ formatas yra netinkamas.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Paveikslėlis „{file}“ yra per didelis. Aukštis negali viršyti {limit, number} {limit, plural, one{taško} few{taškų} other{taškų}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Paveikslėlis „{file}“ yra per didelis. Plotis negali viršyti {limit, number} {limit, plural, one{taško} few{taškų} other{taškų}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Paveikslėlis „{file}“ yra per mažas. Aukštis turi viršyti {limit, number} {limit, plural, one{tašką} few{taškus} other{taškų}}.',
@@ -77,44 +64,84 @@
'The verification code is incorrect.' => 'Neteisingas patikrinimo kodas.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Iš viso {count, number} {count, plural, one{elementas} few{elementai} other{elementų}}.',
'Unable to verify your data submission.' => 'Neįmanoma patikrinti jūsų siunčiamų duomenų.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Nežinomas pasirinkimas: --{name}',
'Update' => 'Atnaujinti',
'View' => 'Peržiūrėti',
'Yes' => 'Taip',
'You are not allowed to perform this action.' => 'Jums neleidžiama atlikti šio veiksmo.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Leidžiama įkelti ne daugiau nei {limit, number} {limit, plural, one{failą} few{failus} other{failų}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'po {delta, plural, =1{dienos} one{# dienos} other{# dienų}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'po {delta, plural, =1{minutės} one{# minutės} other{# minučių}}',
'in {delta, plural, =1{a month} other{# months}}' => 'po {delta, plural, =1{mėnesio} one{# mėnesio} other{# mėnesių}}',
'in {delta, plural, =1{a second} other{# seconds}}' => 'po {delta, plural, =1{sekundės} one{# sekundės} other{# sekundžių}}',
'in {delta, plural, =1{a year} other{# years}}' => 'po {delta, plural, =1{metų} other{# metų}}',
'in {delta, plural, =1{an hour} other{# hours}}' => 'po {delta, plural, =1{valandos} one{# valandos} other{# valandų}}',
+ 'just now' => 'dabar',
'the input value' => 'įvesties reikšmė',
'{attribute} "{value}" has already been taken.' => '{attribute} reikšmė „{value}“ jau naudojama.',
'{attribute} cannot be blank.' => '„{attribute}“ negali būti tuščias.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '„{attribute}“ reikšmė netinkama.',
'{attribute} is not a valid URL.' => '„{attribute}“ įvestas netinkamas URL.',
'{attribute} is not a valid email address.' => '„{attribute}“ įvestas netinkamas el. pašto adresas.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '„{attribute}“ privalo būti „{requiredValue}“.',
'{attribute} must be a number.' => '„{attribute}“ privalo būti skaičius.',
'{attribute} must be a string.' => '„{attribute}“ privalo būti eilutė.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '„{attribute}“ privalo būti sveikas skaičius.',
'{attribute} must be either "{true}" or "{false}".' => '„{attribute}“ privalo būti „{true}“ arba „{false}“.',
- '{attribute} must be greater than "{compareValue}".' => 'Laukelio „{attribute}“ reikšmė privalo būti didesnė nei „{compareValue}“.',
- '{attribute} must be greater than or equal to "{compareValue}".' => 'Laukelio „{attribute}“ reikšmė privalo būti didesnė arba lygi „{compareValue}“.',
- '{attribute} must be less than "{compareValue}".' => 'Laukelio „{attribute}“ reikšmė privalo būti mažesnė nei „{compareValue}“.',
- '{attribute} must be less than or equal to "{compareValue}".' => 'Laukelio „{attribute}“ reikšmė privalo būti mažesnė arba lygi „{compareValue}“.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => 'Laukelio „{attribute}“ reikšmė privalo būti didesnė nei „{compareValueOrAttribute}“.',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => 'Laukelio „{attribute}“ reikšmė privalo būti didesnė arba lygi „{compareValueOrAttribute}“.',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => 'Laukelio „{attribute}“ reikšmė privalo būti mažesnė nei „{compareValueOrAttribute}“.',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => 'Laukelio „{attribute}“ reikšmė privalo būti mažesnė arba lygi „{compareValueOrAttribute}“.',
'{attribute} must be no greater than {max}.' => 'Laukelio „{attribute}“ reikšmė privalo būti ne didesnė nei {max}.',
'{attribute} must be no less than {min}.' => 'Laukelio „{attribute}“ reikšmė privalo būti ne mažesnė nei {min}.',
- '{attribute} must be repeated exactly.' => 'Laukelio „{attribute}“ reikšmė privalo būti pakartota tiksliai.',
- '{attribute} must not be equal to "{compareValue}".' => 'Laukelio „{attribute}“ reikšmė negali būti lygi „{compareValue}“.',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => 'Laukelio „{attribute}“ reikšmė negali būti lygi „{compareValueOrAttribute}“.',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Laukelio „{attribute}“ reikšmę privalo sudaryti mažiausiai {min, number} {min, plural, one{ženklas} few{ženklai} other{ženklų}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Laukelio „{attribute}“ reikšmę privalo sudaryti daugiausiai {max, number} {max, plural, one{ženklas} few{ženklai} other{ženklų}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Laukelio „{attribute}“ reikšmę privalo sudaryti {length, number} {length, plural, one{ženklas} few{ženklai} other{ženklų}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => 'prieš {delta, plural, =1{dieną} one{# dieną} few{# dienas} other{# dienų}}',
'{delta, plural, =1{a minute} other{# minutes}} ago' => 'prieš {delta, plural, =1{minutę} one{# minutę} few{# minutes} other{# minučių}}',
'{delta, plural, =1{a month} other{# months}} ago' => 'prieš {delta, plural, =1{mėnesį} one{# mėnesį} few{# mėnesius} other{# mėnesių}}',
'{delta, plural, =1{a second} other{# seconds}} ago' => 'prieš {delta, plural, =1{sekundę} one{# sekundę} few{# sekundes} other{# sekundžių}}',
'{delta, plural, =1{a year} other{# years}} ago' => 'prieš {delta, plural, =1{metus} one{# metus} few{# metus} other{# metų}}',
'{delta, plural, =1{an hour} other{# hours}} ago' => 'prieš {delta, plural, =1{valandą} one{# valandą} few{# valandas} other{# valandų}}',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '{nFormatted} GiB',
+ '{nFormatted} KiB' => '{nFormatted} KiB',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '{nFormatted} MiB',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '{nFormatted} PiB',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} gibi{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} giga{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} kibi{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} kilo{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} mebi{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} mega{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} pebi{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} peta{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} tebi{n, plural, one{baitas} few{baitai} other{baitų}}',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} tera{n, plural, one{baitas} few{baitai} other{baitų}}',
];
diff --git a/framework/messages/lv/yii.php b/framework/messages/lv/yii.php
index e49ca559500..d1ad194b9d4 100644
--- a/framework/messages/lv/yii.php
+++ b/framework/messages/lv/yii.php
@@ -23,31 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- '{nFormatted} B' => '{nFormatted} B',
- '{nFormatted} GB' => '{nFormatted} Gb',
- '{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
- '{nFormatted} KiB' => '{nFormatted} KiB',
- '{nFormatted} MB' => '{nFormatted} MB',
- '{nFormatted} MiB' => '{nFormatted} MiB',
- '{nFormatted} PB' => '{nFormatted} PB',
- '{nFormatted} PiB' => '{nFormatted} PiB',
- '{nFormatted} TB' => '{nFormatted} TB',
- '{nFormatted} TiB' => '{nFormatted} TiB',
- '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} gibi{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} giga{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} kibi{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} kilo{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} mebi{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} mega{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} pebi{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} peta{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} tebi{n, plural, zero{baitu} one{baits} other{baiti}}',
- '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} tera{n, plural, zero{baitu} one{baits} other{baiti}}',
+ ' and ' => ' un ',
+ '"{attribute}" does not support operator "{operator}".' => '"{attribute}" neatbalsta operātoru "{operator}".',
'(not set)' => '(nav uzstādīts)',
+ 'Action not found.' => 'Darbība nav atrasta',
+ 'Aliases available: {aliases}' => 'Pieejamie pseidonīmi: {aliases}',
'An internal server error occurred.' => 'Notika servera iekšējā kļūda.',
'Are you sure you want to delete this item?' => 'Vai jūs esat pārliecināti, ka vēlaties dzēst šo vienumu?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '"{attribute}" nosacījumam jābūt vai nu vērtībai, vai derīgai operatora specifikācijai.',
'Delete' => 'Dzēst',
'Error' => 'Kļūda',
'File upload failed.' => 'Neizdevās augšupielādēt datni.',
@@ -57,23 +40,22 @@
'Missing required arguments: {params}' => 'Trūkst nepieciešamie argumenti: {params}',
'Missing required parameters: {params}' => 'Trūkst nepieciešamie parametri: {params}',
'No' => 'Nē',
- '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, zero{# dienas} one{# diena} other{# dienas}}',
- '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, zero{# stundas} one{# stunda} other{# stundas}}',
- '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, zero{# minūtes} one{# minūte} other{# minūtes}}',
- '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, zero{# mēneši} one{# mēnesis} other{# mēneši}}',
- '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, zero{# sekundes} one{# sekunde} other{# sekundes}}',
- '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, zero{# gadi} one{# gads} other{# gadi}}',
'No results found.' => 'Nekas netika atrasts.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Ir atļauts augšupielādēt datnes tikai ar šādiem MIME-tipiem: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Ir atļauts augšupielādēt datnes tikai ar šādiem paplašinājumiem: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => 'Operātoru "{operator}" jāizmanto meklēšanas atribūtā',
+ 'Operator "{operator}" requires multiple operands.' => 'Operātoram "{operator}" nepieciešami vairāki operandi',
+ 'Options available: {options}' => 'Pieejamas opvijas: {options}',
'Page not found.' => 'Pieprasītā lapa netika atrasta.',
'Please fix the following errors:' => 'Nepieciešams izlabot šādas kļūdas:',
'Please upload a file.' => 'Lūdzu, augšupielādēt datni.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Tiek rādīti ieraksti {begin, number}-{end, number} no {totalCount, number}.',
+ 'The combination {values} of {attributes} has already been taken.' => 'Kombinācija {values} priekš {attributes} ir jau aizņemta.',
'The file "{file}" is not an image.' => 'Saņemtā "{file}" datne nav attēls.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Saņemtās "{file}" datnes izmērs pārsniedz pieļaujamo ierobežojumu {formattedLimit} apmērā.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Saņemtās "{file}" datnes izmērs ir pārāk maza, tai ir jābūt vismaz {formattedLimit} apmērā.',
'The format of {attribute} is invalid.' => '{attribute} vērtības formāts ir nepareizs.',
+ 'The format of {filter} is invalid.' => '{filter} formāts ir kļūdains',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Attēls "{file}" ir pārāk liels. Augstumam ir jābūt mazākam par {limit, number} {limit, plural, one{pikseli} other{pikseļiem}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Attēls "{file}" ir pārāk liels. Platumam ir jābūt mazākam par {limit, number} {limit, plural, one{pikseli} other{pikseļiem}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Attēls "{file}" ir pārāk mazs. Augstumam ir jābūt lielākam par {limit, number} {limit, plural, one{pikseli} other{pikseļiem}}.',
@@ -82,67 +64,84 @@
'The verification code is incorrect.' => 'Cilvēktesta kods bija nepareizs.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Kopā {count, number} {count, plural, zero{ierakstu} one{ieraksts} other{ieraksti}}.',
'Unable to verify your data submission.' => 'Neizdevās apstiprināt saņemtos datus.',
+ 'Unknown alias: -{name}' => 'Neatpazīts preidonīms {name}',
+ 'Unknown filter attribute "{attribute}"' => 'Neatpazīts filtra attribūts "{attribute}"',
'Unknown option: --{name}' => 'Nezināma iespēja: --{name}',
'Update' => 'Labot',
'View' => 'Apskatīt',
'Yes' => 'Jā',
'You are not allowed to perform this action.' => 'Jūs neesat autorizēts veikt šo darbību.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Jūs nevarat augšupielādēt vairāk par {limit, number} {limit, plural, one{failu} other{failiem}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Jums jāaugšupielādē vismaz {limit, number} {limit, mulural, one {file} other {files}}.',
'in {delta, plural, =1{a day} other{# days}}' => 'pēc {delta, plural, =1{dienas} one{# dienas} other{# dienām}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'pēc {delta, plural, =1{minūtes} one{# minūtes} other{# minūtēm}}',
'in {delta, plural, =1{a month} other{# months}}' => 'pēc {delta, plural, =1{mēneša} one{# mēneša} other{# mēnešiem}}',
'in {delta, plural, =1{a second} other{# seconds}}' => 'pēc {delta, plural, =1{sekundes} one{# sekundes} other{# sekundēm}}',
'in {delta, plural, =1{a year} other{# years}}' => 'pēc {delta, plural, =1{gada} one{# gada} other{# gadiem}}',
'in {delta, plural, =1{an hour} other{# hours}}' => 'pēc {delta, plural, =1{stundas} one{# stundas} other{# stundām}}',
+ 'just now' => 'tikko',
'the input value' => 'ievadītā vērtība',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" jau ir aizņemts.',
'{attribute} cannot be blank.' => 'Ir jāaizpilda {attribute}.',
+ '{attribute} contains wrong subnet mask.' => '{attribute} satur kļūdainu apakštīklu.',
'{attribute} is invalid.' => '{attribute} vērtība ir nepareiza.',
'{attribute} is not a valid URL.' => '{attribute} vērtība nav pareiza URL formātā.',
'{attribute} is not a valid email address.' => '{attribute} vērtība nav pareizas e-pasta adreses formātā.',
+ '{attribute} is not in the allowed range.' => '{attribute} nav atļautajā diapazonā.',
'{attribute} must be "{requiredValue}".' => '{attribute} vērtībai ir jābūt vienādai ar "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} vērtībai ir jābūt skaitlim.',
'{attribute} must be a string.' => '{attribute} vērtībai ir jābūt simbolu virknei.',
+ '{attribute} must be a valid IP address.' => '{attribute} jābūt derīgai IP adresei.',
+ '{attribute} must be an IP address with specified subnet.' => '{attribute} jābūt IP adresei ar norādīto apakštīklu.',
'{attribute} must be an integer.' => '{attribute} vērtībai ir jābūt veselam skaitlim.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} vērtībai ir jābūt "{true}" vai "{false}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} vērtībai ir jābūt vienādai ar "{compareValueOrAttribute}".',
'{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} vērtībai ir jābūt lielākai par "{compareValueOrAttribute}" vērtību.',
'{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} vērtībai ir jābūt lielākai vai vienādai ar "{compareValueOrAttribute}" vērtību.',
'{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} vērtībai ir jābūt mazākai par "{compareValueOrAttribute}" vērtību.',
'{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} vērtībai ir jābūt mazākai vai vienādai ar "{compareValueOrAttribute}" vērtību.',
'{attribute} must be no greater than {max}.' => '{attribute} vērtībai ir jābūt ne lielākai par {max}.',
'{attribute} must be no less than {min}.' => '{attribute} vērtībai ir jābūt ne mazākai par {min}.',
- '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} vērtībai ir jābūt vienādai ar "{compareValueOrAttribute}".',
+ '{attribute} must not be a subnet.' => '{attribute} nedrīkst būt apakštīkls.',
+ '{attribute} must not be an IPv4 address.' => '{attribute} nedrīkst būt IPv4 adrese.',
+ '{attribute} must not be an IPv6 address.' => '{attribute} nedrīkst būt IPv6 adrese.',
'{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} vērtība nedrīkst būt vienāda ar "{compareValueOrAttribute}" vērtību.',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} vērtībai ir jābūt ne īsākai par {min, number} {min, plural, one{simbolu} other{simboliem}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} vērtībai ir jābūt ne garākai par {max, number} {max, plural, one{simbolu} other{simboliem}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} vērtībai ir jāsastāv no {length, number} {length, plural, one{simbola} other{simboliem}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, zero{# dienas} one{# diena} other{# dienas}}',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, zero{# stundas} one{# stunda} other{# stundas}}',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, zero{# minūtes} one{# minūte} other{# minūtes}}',
+ '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, zero{# mēneši} one{# mēnesis} other{# mēneši}}',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, zero{# sekundes} one{# sekunde} other{# sekundes}}',
+ '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, zero{# gadi} one{# gads} other{# gadi}}',
'{delta, plural, =1{a day} other{# days}} ago' => 'pirms {delta, plural, =1{dienas} one{# dienas} other{# dienām}}',
'{delta, plural, =1{a minute} other{# minutes}} ago' => 'pirms {delta, plural, =1{minūtes} one{# minūtes} other{# minūtēm}}',
'{delta, plural, =1{a month} other{# months}} ago' => 'pirms {delta, plural, =1{mēneša} one{# mēneša} other{# mēnešiem}}',
'{delta, plural, =1{a second} other{# seconds}} ago' => 'pirms {delta, plural, =1{sekundes} one{# sekundes} other{# sekundēm}}',
'{delta, plural, =1{a year} other{# years}} ago' => 'pirms {delta, plural, =1{gada} one{# gada} other{# gadiem}}',
'{delta, plural, =1{an hour} other{# hours}} ago' => 'pirms {delta, plural, =1{stundas} one{# stundas} other{# stundām}}',
- ' and ' => ' un ',
- '"{attribute}" does not support operator "{operator}".' => '"{attribute}" neatbalsta operātoru "{operator}".',
- 'Action not found.' => 'Darbība nav atrasta',
- 'Aliases available: {aliases}' => 'Pieejamie pseidonīmi: {aliases}',
- 'Condition for "{attribute}" should be either a value or valid operator specification.' => '"{attribute}" nosacījumam jābūt vai nu vērtībai, vai derīgai operatora specifikācijai.',
- 'Operator "{operator}" must be used with a search attribute.' => 'Operātoru "{operator}" jāizmanto meklēšanas atribūtā',
- 'Operator "{operator}" requires multiple operands.' => 'Operātoram "{operator}" nepieciešami vairāki operandi',
- 'Options available: {options}' => 'Pieejamas opvijas: {options}',
- 'Powered by {yii}' => 'Darbojas ar {yii}',
- 'The combination {values} of {attributes} has already been taken.' => 'Kombinācija {values} priekš {attributes} ir jau aizņemta.',
- 'The format of {filter} is invalid.' => '{filter} formāts ir kļūdains',
- 'Unknown alias: -{name}' => 'Neatpazīts preidonīms {name}',
- 'Unknown filter attribute "{attribute}"' => 'Neatpazīts filtra attribūts "{attribute}"',
- 'Yii Framework' => 'Yii ietvars',
- 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Jums jāaugšupielādē vismaz {limit, number} {limit, mulural, one {file} other {files}}.',
- 'just now' => 'tikko',
- '{attribute} contains wrong subnet mask.' => '{attribute} satur kļūdainu apakštīklu.',
- '{attribute} is not in the allowed range.' => '{attribute} nav atļautajā diapazonā.',
- '{attribute} must be a valid IP address.' => '{attribute} jābūt derīgai IP adresei.',
- '{attribute} must be an IP address with specified subnet.' => '{attribute} jābūt IP adresei ar norādīto apakštīklu.',
- '{attribute} must not be a subnet.' => '{attribute} nedrīkst būt apakštīkls.',
- '{attribute} must not be an IPv4 address.' => '{attribute} nedrīkst būt IPv4 adrese.',
- '{attribute} must not be an IPv6 address.' => '{attribute} nedrīkst būt IPv6 adrese.',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} Gb',
+ '{nFormatted} GiB' => '{nFormatted} GiB',
+ '{nFormatted} KiB' => '{nFormatted} KiB',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '{nFormatted} MiB',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '{nFormatted} PiB',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} gibi{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} giga{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} kibi{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} kilo{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} mebi{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} mega{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} pebi{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} peta{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} tebi{n, plural, zero{baitu} one{baits} other{baiti}}',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} tera{n, plural, zero{baitu} one{baits} other{baiti}}',
];
diff --git a/framework/messages/ms/yii.php b/framework/messages/ms/yii.php
index 72212cbb3ed..3850dcaa6fe 100644
--- a/framework/messages/ms/yii.php
+++ b/framework/messages/ms/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(tidak ditetapkan)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Ralat dalaman pelayan web telah berlaku',
'Are you sure you want to delete this item?' => 'Adakah anda pasti untuk menghapuskan item ini?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Padam',
'Error' => 'Ralat',
'File upload failed.' => 'Gagal memuat naik fail',
@@ -38,14 +43,19 @@
'No results found.' => 'Tiada keputusan dijumpai',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Hanya fail yang berjenis MIME dibenarkan: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Hanya fail yang mempunyai sambungan berikut dibenarkan: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Halaman tidak dijumpai.',
'Please fix the following errors:' => 'Sila betulkan ralat berikut:',
'Please upload a file.' => 'Sila muat naik fail',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Memaparkan {begin, number}-{end, number} daripada {totalCount, number} {totalCount, plural, one{item} other{items}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Fail ini "{file}" bukan berjenis gambar.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Fail ini "{file}" terlalu besar. Saiz tidak boleh lebih besar daripada {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Fail ini "{file}" terlalu kecil. Saiznya tidak boleh lebih kecil daripada {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Format untuk atribut ini {attribute} tidak sah.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Gambar "{file}" terlalu panjang. Panjang gambar tidak boleh lebih besar daripada {limit, number} {limit, plural, one{pixel} other{pixels}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Gambar "{file}" terlalu lebar. Gambar tidak boleh lebih lebar daripada {limit, number} {limit, plural, one{pixel} other{pixels}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Gambar "{file}" terlalu singkat. Panjang tidak boleh lebih singkat daripada {limit, number} {limit, plural, one{pixel} other{pixels}}.',
@@ -54,12 +64,15 @@
'The verification code is incorrect.' => 'Kod penyesah tidak tepat.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Jumlah {count, number} {count, plural, one{item} other{items}}.',
'Unable to verify your data submission.' => 'Tidak bejaya mengesahkan data yang dihantar.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Pilihan lain: --{name}',
'Update' => 'Kemaskini',
'View' => 'Paparan',
'Yes' => 'Ya',
'You are not allowed to perform this action.' => 'Anda tidak dibenarkan untuk mengunakan fungsi ini.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Anda boleh memuat naik tidak lebih daripada {limit, number} {limit, plural, one{file} other{files}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'dalam {delta, plural, =1{1 hari} other{# hari}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'dalam {delta, plural, =1{1 minit} other{# minit}}',
'in {delta, plural, =1{a month} other{# months}}' => 'dalam {delta, plural, =1{1 bulan} other{# bulan}}',
@@ -70,25 +83,39 @@
'the input value' => 'nilai input',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" telah digunakan.',
'{attribute} cannot be blank.' => '{attribute} tidak boleh dibiarkan kosong.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} tidak sah.',
'{attribute} is not a valid URL.' => '{attribute} alamat URL yang tidak sah.',
'{attribute} is not a valid email address.' => '{attribute} adalah alamat email yang tidak sah.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} mestilah "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} mestilah nombor.',
'{attribute} must be a string.' => '{attribute} mestilah perkataan.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} mestilah nombor tanpa titik perpuluhan.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} mestilah "{true}" atau "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} mestilah lebih besar daripada "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} mestilah lebih besar atau sama dengan "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} mestilah kurang daripada "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} mestilah kurang daripada atau sama dengan "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} mestilah lebih besar daripada "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} mestilah lebih besar atau sama dengan "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} mestilah kurang daripada "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} mestilah kurang daripada atau sama dengan "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} tidak boleh lebih besar daripada {max}.',
'{attribute} must be no less than {min}.' => '{attribute} tidak boleh kurang daripada {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} mestilah diulang dengan tepat.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} mestilah tidak sama dengan "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} mestilah tidak sama dengan "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} mesti mengandungi sekurang-kurangnya {min, number} {min, plural, one{character} other{characters}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} mesti mengangungi paling banyak {max, number} {max, plural, one{character} other{characters}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} mesti mengandungi {length, number} {length, plural, one{character} other{characters}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{1 hari} other{# hari}} lalu',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{1 minit} other{# minit}} lalu',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{1 bulan} other{# bulan}} lalu',
@@ -98,7 +125,6 @@
'{nFormatted} B' => '',
'{nFormatted} GB' => '',
'{nFormatted} GiB' => '',
- '{nFormatted} kB' => '',
'{nFormatted} KiB' => '',
'{nFormatted} MB' => '',
'{nFormatted} MiB' => '',
@@ -106,6 +132,7 @@
'{nFormatted} PiB' => '',
'{nFormatted} TB' => '',
'{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '',
diff --git a/framework/messages/nb-NO/yii.php b/framework/messages/nb-NO/yii.php
index 9f9870c5e0a..7aebeffa60f 100644
--- a/framework/messages/nb-NO/yii.php
+++ b/framework/messages/nb-NO/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(ikke angitt)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'En intern serverfeil oppstod.',
'Are you sure you want to delete this item?' => 'Er du sikker på at du vil slette dette elementet?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Slett',
'Error' => 'Feil',
'File upload failed.' => 'Filopplasting feilet.',
@@ -38,14 +43,19 @@
'No results found.' => 'Ingen resultater funnet.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Bare filer med disse MIME-typene er tillatt: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Bare filer med disse filendelsene er tillatt: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Siden finnes ikke.',
'Please fix the following errors:' => 'Vennligs fiks følgende feil:',
'Please upload a file.' => 'Vennligs last opp en fil.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Viser {begin, number}-{end, number} av {totalCount, number} {totalCount, plural, one{element} other{elementer}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Filen "{file}" er ikke et bilde.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Filen "{file}" er for stor. Størrelsen kan ikke overskride {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Filen "{file}" er for liten. Størrelsen kan ikke være mindre enn {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Formatet til {attribute} er ugyldig.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Bildet "{file}" er for stort. Høyden kan ikke overskride {limit, number} {limit, plural, one{piksel} other{piksler}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Bildet "{file}" er for stort. Bredden kan ikke overskride {limit, number} {limit, plural, one{piksel} other{piksler}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Bildet "{file}" er for lite. Høyden kan ikke være mindre enn {limit, number} {limit, plural, one{piksel} other{piksler}}.',
@@ -54,12 +64,15 @@
'The verification code is incorrect.' => 'Verifiseringskoden er feil.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Totalt {count, number} {count, plural, one{element} other{elementer}}.',
'Unable to verify your data submission.' => 'Kunne ikke verifisere innsendt data.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Ukjent alternativ: --{name}',
'Update' => 'Oppdater',
'View' => 'Vis',
'Yes' => 'Ja',
'You are not allowed to perform this action.' => 'Du har ikke tilatelse til å gjennomføre denne handlingen.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Du kan laste opp maks {limit, number} {limit, plural, one{fil} other{filer}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'om {delta, plural, =1{en dag} other{# dager}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'om {delta, plural, =1{ett minutt} other{# minutter}}',
'in {delta, plural, =1{a month} other{# months}}' => 'om {delta, plural, =1{en måned} other{# måneder}}',
@@ -70,25 +83,39 @@
'the input value' => 'inndataverdien',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" er allerede tatt i bruk.',
'{attribute} cannot be blank.' => '{attribute} kan ikke være tomt.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} er ugyldig.',
'{attribute} is not a valid URL.' => '{attribute} er ikke en gyldig URL.',
'{attribute} is not a valid email address.' => '{attribute} er ikke en gyldig e-postadresse.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} må være "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} må være et nummer.',
'{attribute} must be a string.' => '{attribute} må være en tekststreng.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} må være et heltall.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} må være enten "{true}" eller "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} må være større enn "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} må være større enn eller lik "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} må være mindre enn "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} må være mindre enn eller lik "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} må være større enn "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} må være større enn eller lik "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} må være mindre enn "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} må være mindre enn eller lik "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} kan ikke være større enn {max}.',
'{attribute} must be no less than {min}.' => '{attribute} kan ikke være mindre enn {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} må gjentas nøyaktig.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} kan ikke være lik "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} kan ikke være lik "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} må inneholde minst {min, number} {min, plural, one{tegn} other{tegn}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} kan inneholde maks {max, number} {max, plural, one{tegn} other{tegn}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} må inneholde {length, number} {length, plural, one{tegn} other{tegn}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{en dag} other{# dager}} siden',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{ett minutt} other{# minutter}} siden',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{en måned} other{# måneder}} siden',
@@ -98,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -106,15 +132,16 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{byte}}',
- '{nFormatted} {n, plural, =1{gibibyte} other{gibibyte}}' => '{nFormatted} {n, plural, =1{gibibyte} other{gibibyte}}',
- '{nFormatted} {n, plural, =1{gigabyte} other{gigabyte}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabyte}}',
- '{nFormatted} {n, plural, =1{kibibyte} other{kibibyte}}' => '{nFormatted} {n, plural, =1{kibibyte} other{kibibyte}}',
- '{nFormatted} {n, plural, =1{kilobyte} other{kilobyte}}' => '{nFormatted} {n, plural, =1{kilobyte} other{kilobyte}}',
- '{nFormatted} {n, plural, =1{mebibyte} other{mebibyte}}' => '{nFormatted} {n, plural, =1{mebibyte} other{mebibyte}}',
- '{nFormatted} {n, plural, =1{megabyte} other{megabyte}}' => '{nFormatted} {n, plural, =1{megabyte} other{megabyte}}',
- '{nFormatted} {n, plural, =1{pebibyte} other{pebibyte}}' => '{nFormatted} {n, plural, =1{pebibyte} other{pebibyte}}',
- '{nFormatted} {n, plural, =1{petabyte} other{petabyte}}' => '{nFormatted} {n, plural, =1{petabyte} other{petabyte}}',
- '{nFormatted} {n, plural, =1{tebibyte} other{tebibyte}}' => '{nFormatted} {n, plural, =1{tebibyte} other{tebibyte}}',
- '{nFormatted} {n, plural, =1{terabyte} other{terabyte}}' => '{nFormatted} {n, plural, =1{terabyte} other{terabyte}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '',
];
diff --git a/framework/messages/nl/yii.php b/framework/messages/nl/yii.php
index 24261d0520b..a647a96df31 100644
--- a/framework/messages/nl/yii.php
+++ b/framework/messages/nl/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(niet ingesteld)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Er is een interne serverfout opgetreden.',
'Are you sure you want to delete this item?' => 'Weet je zeker dat je dit item wilt verwijderen?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Verwijderen',
'Error' => 'Fout',
'File upload failed.' => 'Bestand uploaden mislukt.',
@@ -38,14 +43,19 @@
'No results found.' => 'Geen resultaten gevonden',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Alleen bestanden met de volgende MIME types zijn toegestaan: {mimeTypes}',
'Only files with these extensions are allowed: {extensions}.' => 'Alleen bestanden met de volgende extensies zijn toegestaan: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Pagina niet gevonden.',
'Please fix the following errors:' => 'Corrigeer de volgende fouten:',
'Please upload a file.' => 'Upload een bestand.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Resultaat {begin, number}-{end, number} van {totalCount, number} {totalCount, plural, one{item} other{items}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Het bestand "{file}" is geen afbeelding.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Het bestand "{file}" is te groot. Het kan niet groter zijn dan {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Het bestand "{file}" is te klein. Het kan niet kleiner zijn dan {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Het formaat van {attribute} is ongeldig',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'De afbeelding "{file}" is te groot. Het mag maximaal {limit, number} {limit, plural, one{pixel} other{pixels}} hoog zijn.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'De afbeelding "{file}" is te groot. Het mag maximaal {limit, number} {limit, plural, one{pixel} other{pixels}} breed zijn.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'De afbeelding "{file}" is te klein. Het moet minimaal {limit, number} {limit, plural, one{pixel} other{pixels}} hoog zijn.',
@@ -54,12 +64,15 @@
'The verification code is incorrect.' => 'De verificatiecode is onjuist.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Totaal {count, number} {count, plural, one{item} other{items}}.',
'Unable to verify your data submission.' => 'Het is niet mogelijk uw verstrekte gegevens te verifiëren.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Onbekende optie: --{name}',
'Update' => 'Bewerk',
'View' => 'Bekijk',
'Yes' => 'Ja',
'You are not allowed to perform this action.' => 'U bent niet gemachtigd om deze actie uit te voeren.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'U kunt maximaal {limit, number} {limit, plural, one{ander bestand} other{andere bestander}} uploaden.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'binnen {delta, plural, =1{een dag} other{# dagen}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'binnen {delta, plural, =1{een minuut} other{# minuten}}',
'in {delta, plural, =1{a month} other{# months}}' => 'binnen {delta, plural, =1{een maand} other{# maanden}}',
@@ -70,31 +83,39 @@
'the input value' => 'de invoerwaarde',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" is reeds in gebruik.',
'{attribute} cannot be blank.' => '{attribute} mag niet leeg zijn.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} is ongeldig.',
'{attribute} is not a valid URL.' => '{attribute} is geen geldige URL.',
'{attribute} is not a valid email address.' => '{attribute} is geen geldig emailadres.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} moet "{requiredValue}" zijn.',
'{attribute} must be a number.' => '{attribute} moet een getal zijn.',
'{attribute} must be a string.' => '{attribute} moet een string zijn.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} moet een geheel getal zijn.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} moet "{true}" of "{false}" zijn.',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} moet groter zijn dan "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} moet groter dan of gelijk aan "{compareValue}" zijn.',
- '{attribute} must be less than "{compareValue}".' => '{attribute} moet minder zijn dan "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} moet minder dan of gelijk aan "{compareValue}" zijn.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} moet groter zijn dan "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} moet groter dan of gelijk aan "{compareValueOrAttribute}" zijn.',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} moet minder zijn dan "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} moet minder dan of gelijk aan "{compareValueOrAttribute}" zijn.',
'{attribute} must be no greater than {max}.' => '{attribute} mag niet groter zijn dan {max}.',
'{attribute} must be no less than {min}.' => '{attribute} mag niet kleiner zijn dan {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} moet exact herhaald worden.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} mag niet gelijk zijn aan "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} mag niet gelijk zijn aan "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} moet minstens {min, number} {min, plural, one{karakter} other{karakters}} bevatten.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} mag maximaal {max, number} {max, plural, one{karakter} other{karakters}} bevatten.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} moet precies {min, number} {min, plural, one{karakter} other{karakters}} bevatten.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, one{# dag} other{# dagen}}',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, one{# uur} other{# uur}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, one{# minuut} other{# minuten}}',
'{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, one{# maand} other{# maanden}}',
'{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, one{# seconde} other{# seconden}}',
'{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, one{# jaar} other{# jaar}}',
- '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, one{# uur} other{# uur}}',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{een dag} other{# dagen}} geleden',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{een minuut} other{# minuten}} geleden',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{een maand} other{# maanden}} geleden',
@@ -104,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -112,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{bytes}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}',
diff --git a/framework/messages/pl/yii.php b/framework/messages/pl/yii.php
index 9bd176f5052..53d609ba0b5 100644
--- a/framework/messages/pl/yii.php
+++ b/framework/messages/pl/yii.php
@@ -26,6 +26,8 @@
' and ' => ' i ',
'"{attribute}" does not support operator "{operator}".' => 'Operator "{operator}" nie jest dozwolony dla "{attribute}".',
'(not set)' => '(brak wartości)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Wystąpił wewnętrzny błąd serwera.',
'Are you sure you want to delete this item?' => 'Czy na pewno usunąć ten element?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Warunek dla "{attribute}" powinien mieć określoną wartość lub być operatorem o prawidłowej konstrukcji.',
@@ -33,27 +35,20 @@
'Error' => 'Błąd',
'File upload failed.' => 'Wgrywanie pliku nie powiodło się.',
'Home' => 'Strona domowa',
- 'in {delta, plural, =1{a day} other{# days}}' => 'za {delta, plural, =1{jeden dzień} other{# dni}}',
- 'in {delta, plural, =1{a minute} other{# minutes}}' => 'za {delta, plural, =1{minutę} few{# minuty} many{# minut} other{# minuty}}',
- 'in {delta, plural, =1{a month} other{# months}}' => 'za {delta, plural, =1{miesiąc} few{# miesiące} many{# miesięcy} other{# miesiąca}}',
- 'in {delta, plural, =1{a second} other{# seconds}}' => 'za {delta, plural, =1{sekundę} few{# sekundy} many{# sekund} other{# sekundy}}',
- 'in {delta, plural, =1{a year} other{# years}}' => 'za {delta, plural, =1{rok} few{# lata} many{# lat} other{# roku}}',
- 'in {delta, plural, =1{an hour} other{# hours}}' => 'za {delta, plural, =1{godzinę} few{# godziny} many{# godzin} other{# godziny}}',
'Invalid data received for parameter "{param}".' => 'Otrzymano nieprawidłowe dane dla parametru "{param}".',
- 'just now' => 'przed chwilą',
'Login Required' => 'Wymagane zalogowanie się',
'Missing required arguments: {params}' => 'Brak wymaganych argumentów: {params}',
'Missing required parameters: {params}' => 'Brak wymaganych parametrów: {params}',
- 'No results found.' => 'Brak wyników.',
'No' => 'Nie',
- 'Only files with these extensions are allowed: {extensions}.' => 'Dozwolone są tylko pliki z następującymi rozszerzeniami: {extensions}.',
+ 'No results found.' => 'Brak wyników.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Dozwolone są tylko pliki z następującymi typami MIME: {mimeTypes}.',
+ 'Only files with these extensions are allowed: {extensions}.' => 'Dozwolone są tylko pliki z następującymi rozszerzeniami: {extensions}.',
'Operator "{operator}" must be used with a search attribute.' => 'Operator "{operator}" musi być użyty razem z atrybutem wyszukiwania.',
'Operator "{operator}" requires multiple operands.' => 'Operator "{operator}" wymaga więcej niż jednego argumentu.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Nie odnaleziono strony.',
'Please fix the following errors:' => 'Proszę poprawić następujące błędy:',
'Please upload a file.' => 'Proszę wgrać plik.',
- 'Powered by {yii}' => 'Powered by {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Wyświetlone {begin, number}-{end, number} z {totalCount, number} {totalCount, plural, one{rekordu} other{rekordów}}.',
'The combination {values} of {attributes} has already been taken.' => 'Zestawienie {values} dla {attributes} jest już w użyciu.',
'The file "{file}" is not an image.' => 'Plik "{file}" nie jest obrazem.',
@@ -65,7 +60,6 @@
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Obraz "{file}" jest zbyt duży. Szerokość nie może być większa niż {limit, number} {limit, plural, one{piksela} few{pikseli} many{pikseli} other{piksela}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Obraz "{file}" jest za mały. Wysokość nie może być mniejsza niż {limit, number} {limit, plural, one{piksela} few{pikseli} many{pikseli} other{piksela}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Obraz "{file}" jest za mały. Szerokość nie może być mniejsza niż {limit, number} {limit, plural, one{piksela} few{pikseli} many{pikseli} other{piksela}}.',
- 'the input value' => 'wartość wejściowa',
'The requested view "{name}" was not found.' => 'Żądany widok "{name}" nie został odnaleziony.',
'The verification code is incorrect.' => 'Kod weryfikacyjny jest nieprawidłowy.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Razem {count, number} {count, plural, one{rekord} few{rekordy} many{rekordów} other{rekordu}}.',
@@ -76,23 +70,30 @@
'Update' => 'Aktualizuj',
'View' => 'Zobacz szczegóły',
'Yes' => 'Tak',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'Brak upoważnienia do wykonania tej czynności.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Możliwe wgranie najwyżej {limit, number} {limit, plural, one{pliku} few{plików} many{plików} other{pliku}}.',
'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Należy wgrać przynajmniej {limit, number} {limit, plural, one{plik} few{pliki} many{plików} other{pliku}}.',
+ 'in {delta, plural, =1{a day} other{# days}}' => 'za {delta, plural, =1{jeden dzień} other{# dni}}',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => 'za {delta, plural, =1{minutę} few{# minuty} many{# minut} other{# minuty}}',
+ 'in {delta, plural, =1{a month} other{# months}}' => 'za {delta, plural, =1{miesiąc} few{# miesiące} many{# miesięcy} other{# miesiąca}}',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => 'za {delta, plural, =1{sekundę} few{# sekundy} many{# sekund} other{# sekundy}}',
+ 'in {delta, plural, =1{a year} other{# years}}' => 'za {delta, plural, =1{rok} few{# lata} many{# lat} other{# roku}}',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => 'za {delta, plural, =1{godzinę} few{# godziny} many{# godzin} other{# godziny}}',
+ 'just now' => 'przed chwilą',
+ 'the input value' => 'wartość wejściowa',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" jest już w użyciu.',
'{attribute} cannot be blank.' => '{attribute} nie może pozostać bez wartości.',
'{attribute} contains wrong subnet mask.' => '{attribute} posiada złą maskę podsieci.',
'{attribute} is invalid.' => '{attribute} zawiera nieprawidłową wartość.',
- '{attribute} is not a valid email address.' => '{attribute} nie zawiera prawidłowego adresu email.',
'{attribute} is not a valid URL.' => '{attribute} nie zawiera prawidłowego adresu URL.',
+ '{attribute} is not a valid email address.' => '{attribute} nie zawiera prawidłowego adresu email.',
'{attribute} is not in the allowed range.' => '{attribute} nie jest w dozwolonym zakresie.',
'{attribute} must be "{requiredValue}".' => '{attribute} musi mieć wartość "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} musi być liczbą.',
'{attribute} must be a string.' => '{attribute} musi być tekstem.',
'{attribute} must be a valid IP address.' => '{attribute} musi być poprawnym adresem IP.',
- '{attribute} must be an integer.' => '{attribute} musi być liczbą całkowitą.',
'{attribute} must be an IP address with specified subnet.' => '{attribute} musi być adresem IP w określonej podsieci.',
+ '{attribute} must be an integer.' => '{attribute} musi być liczbą całkowitą.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} musi mieć wartość "{true}" lub "{false}".',
'{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} musi mieć tę samą wartość co "{compareValueOrAttribute}".',
'{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} musi mieć wartość większą od "{compareValueOrAttribute}".',
@@ -108,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} musi zawierać co najmniej {min, number} {min, plural, one{znak} few{znaki} many{znaków} other{znaku}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} musi zawierać nie więcej niż {max, number} {max, plural, one{znak} few{znaki} many{znaków} other{znaku}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} musi zawierać dokładnie {length, number} {length, plural, one{znak} few{znaki} many{znaków} other{znaku}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 dzień} few{# dni} many{# dni} other{# dnia}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 godzina} few{# godziny} many{# godzin} other{# godziny}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuta} few{# minuty} many{# minut} other{# minuty}}',
@@ -123,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -131,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{bajt} few{bajty} many{bajtów} other{bajta}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibajt} few{gibibajty} many{gibibajtów} other{gibibajta}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabajt} few{gigabajty} many{gigabajtów} other{gigabajta}}',
diff --git a/framework/messages/pt-BR/yii.php b/framework/messages/pt-BR/yii.php
index c626562c9c8..c71b5b4ac27 100644
--- a/framework/messages/pt-BR/yii.php
+++ b/framework/messages/pt-BR/yii.php
@@ -23,17 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- '"{attribute}" does not support operator "{operator}".' => '"{attribute}" não suporta o operador "{operator}".',
- 'Condition for "{attribute}" should be either a value or valid operator specification.' => 'A condição para "{attribute}" deve ser um valor ou a especificação de um operador válido.',
- 'Operator "{operator}" must be used with a search attribute.' => 'O operador "{operator}" deve ser usado com um atributo de busca.',
- 'Operator "{operator}" requires multiple operands.' => 'O operador "{operator}" requer múltiplos operandos.',
- 'The format of {filter} is invalid.' => 'O formato de {filter} é inválido.',
- 'Unknown filter attribute "{attribute}"' => 'Atributo de filtro desconhecido "{attribute}"',
- 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Você deve enviar ao menos {limit, number} {limit, plural, one{arquivo} other{arquivos}}.',
' and ' => ' e ',
+ '"{attribute}" does not support operator "{operator}".' => '"{attribute}" não suporta o operador "{operator}".',
'(not set)' => '(não definido)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Ocorreu um erro interno do servidor.',
'Are you sure you want to delete this item?' => 'Deseja realmente excluir este item?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => 'A condição para "{attribute}" deve ser um valor ou a especificação de um operador válido.',
'Delete' => 'Excluir',
'Error' => 'Erro',
'File upload failed.' => 'O upload do arquivo falhou.',
@@ -46,16 +43,19 @@
'No results found.' => 'Nenhum resultado foi encontrado.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'São permitidos somente arquivos com os seguintes tipos MIME: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'São permitidos somente arquivos com as seguintes extensões: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => 'O operador "{operator}" deve ser usado com um atributo de busca.',
+ 'Operator "{operator}" requires multiple operands.' => 'O operador "{operator}" requer múltiplos operandos.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Página não encontrada.',
'Please fix the following errors:' => 'Por favor, corrija os seguintes erros:',
'Please upload a file.' => 'Por favor, faça upload de um arquivo.',
- 'Powered by {yii}' => 'Desenvolvido com {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Exibindo {begin, number}-{end, number} de {totalCount, number} {totalCount, plural, one{item} other{itens}}.',
'The combination {values} of {attributes} has already been taken.' => 'A combinação {values} de {attributes} já foi utilizado.',
'The file "{file}" is not an image.' => 'O arquivo "{file}" não é uma imagem.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'O arquivo "{file}" é grande demais. Seu tamanho não pode exceder {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'O arquivo "{file}" é pequeno demais. Seu tamanho não pode ser menor que {formattedLimit}.',
'The format of {attribute} is invalid.' => 'O formato de "{attribute}" é inválido.',
+ 'The format of {filter} is invalid.' => 'O formato de {filter} é inválido.',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O arquivo "{file}" é grande demais. A altura não pode ser maior que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O arquivo "{file}" é grande demais. A largura não pode ser maior que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O arquivo "{file}" é pequeno demais. A altura não pode ser menor que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
@@ -65,13 +65,14 @@
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{item} other{itens}}.',
'Unable to verify your data submission.' => 'Não foi possível verificar o seu envio de dados.',
'Unknown alias: -{name}' => 'Alias desconhecido: -{name}',
+ 'Unknown filter attribute "{attribute}"' => 'Atributo de filtro desconhecido "{attribute}"',
'Unknown option: --{name}' => 'Opção desconhecida : --{name}',
'Update' => 'Alterar',
'View' => 'Exibir',
'Yes' => 'Sim',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'Você não está autorizado a realizar essa ação.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Você pode fazer o upload de, no máximo, {limit, number} {limit, plural, one{arquivo} other{arquivos}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Você deve enviar ao menos {limit, number} {limit, plural, one{arquivo} other{arquivos}}.',
'in {delta, plural, =1{a day} other{# days}}' => 'em {delta, plural, =1{1 dia} other{# dias}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'em {delta, plural, =1{1 minuto} other{# minutos}}',
'in {delta, plural, =1{a month} other{# months}}' => 'em {delta, plural, =1{1 mês} other{# meses}}',
@@ -108,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '"{attribute}" deve conter pelo menos {min, number} {min, plural, one{caractere} other{caracteres}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '"{attribute}" deve conter no máximo {max, number} {max, plural, one{caractere} other{caracteres}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '"{attribute}" deve conter {length, number} {length, plural, one{caractere} other{caracteres}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 dia} other{# dias}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 hora} other{# horas}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuto} other{# minutos}}',
@@ -123,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -131,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{bytes}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}',
diff --git a/framework/messages/pt/yii.php b/framework/messages/pt/yii.php
index 4c83fc423c9..9cc4999d438 100644
--- a/framework/messages/pt/yii.php
+++ b/framework/messages/pt/yii.php
@@ -25,19 +25,53 @@
return [
' and ' => ' e ',
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" não suporta o operador "{operator}".',
+ '(not set)' => '(não definido)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
+ 'An internal server error occurred.' => 'Ocorreu um erro interno do servidor.',
'Are you sure you want to delete this item?' => 'Tens a certeza que queres apagar este item?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'A condição para "{attribute}" tem de ser ou um valor ou uma especificação válida do operador.',
+ 'Delete' => 'Apagar',
+ 'Error' => 'Erro',
+ 'File upload failed.' => 'O upload do ficheiro falhou.',
+ 'Home' => 'Página Inicial',
+ 'Invalid data received for parameter "{param}".' => 'Dados inválidos recebidos para o parâmetro “{param}”.',
+ 'Login Required' => 'Login Necessário.',
+ 'Missing required arguments: {params}' => 'Argumentos obrigatórios em falta: {params}',
+ 'Missing required parameters: {params}' => 'Parâmetros obrigatórios em falta: {params}',
+ 'No' => 'Não',
+ 'No results found.' => 'Não foram encontrados resultados.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Apenas ficheiros com este tipo de MIME são permitidos: {mimeTypes}.',
+ 'Only files with these extensions are allowed: {extensions}.' => 'Só são permitidos ficheiros com as seguintes extensões: {extensions}.',
'Operator "{operator}" must be used with a search attribute.' => 'O operador "{operator}" tem de ser usado com um atributo de pesquisa.',
'Operator "{operator}" requires multiple operands.' => 'O operador "{operator}" requer vários operandos.',
- 'Powered by {yii}' => 'Distribuído por {yii}',
+ 'Options available: {options}' => '',
+ 'Page not found.' => 'Página não encontrada.',
+ 'Please fix the following errors:' => 'Por favor, corrija os seguintes erros:',
+ 'Please upload a file.' => 'Por favor faça upload de um ficheiro.',
+ 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'A exibir {begin, number}-{end, number} de {totalCount, number} {totalCount, plural, one{item} other{itens}}.',
'The combination {values} of {attributes} has already been taken.' => 'A combinação {values} de {attributes} já está a ser utilizada.',
+ 'The file "{file}" is not an image.' => 'O ficheiro “{file}” não é uma imagem.',
+ 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'O ficheiro “{file}” é grande demais. O tamanho não pode exceder {formattedLimit}.',
+ 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'O ficheiro “{file}” é pequeno demais. O tamanho não pode ser menor do que {formattedLimit}.',
+ 'The format of {attribute} is invalid.' => 'O formato de “{attribute}” é inválido.',
'The format of {filter} is invalid.' => 'O formato de {filter} é inválido.',
+ 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O ficheiro “{file}” é grande demais. A altura não pode ser maior do que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O ficheiro “{file}” é grande demais. A largura não pode ser maior do que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O ficheiro “{file}” é pequeno demais. A altura não pode ser menor do que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O ficheiro “{file}” é pequeno demais. A largura não pode ser menor do que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
'The requested view "{name}" was not found.' => 'A visualização solicitada "{name}" não foi encontrada.',
+ 'The verification code is incorrect.' => 'O código de verificação está incorreto.',
+ 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{item} other{itens}}.',
+ 'Unable to verify your data submission.' => 'Não foi possível verificar a sua submissão de dados.',
'Unknown alias: -{name}' => 'Alias desconhecido: -{name}',
'Unknown filter attribute "{attribute}"' => 'Atributo de filtro desconhecido "{attribute}"',
+ 'Unknown option: --{name}' => 'Opção desconhecida : --{name}',
+ 'Update' => 'Atualizar',
'View' => 'Ver',
- 'Yii Framework' => 'Yii Framework',
+ 'Yes' => 'Sim',
+ 'You are not allowed to perform this action.' => 'Você não está autorizado a realizar essa ação.',
+ 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Você pode fazer o upload de no máximo {limit, number} {limit, plural, one{ficheiro} other{ficheiros}}.',
'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'A transferência deve ser pelo menos {limit, number} {limit, plural, one{ficheiro} other{ficheiros}}. ',
'in {delta, plural, =1{a day} other{# days}}' => 'em {delta, plural, =1{um dia} other{# dias}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'em {delta, plural, =1{um minuto} other{# minutos}}',
@@ -46,19 +80,36 @@
'in {delta, plural, =1{a year} other{# years}}' => 'em {delta, plural, =1{um ano} other{# anos}}',
'in {delta, plural, =1{an hour} other{# hours}}' => 'em {delta, plural, =1{uma hora} other{# horas}}',
'just now' => 'agora mesmo',
+ 'the input value' => 'o valor de entrada',
+ '{attribute} "{value}" has already been taken.' => '{attribute} “{value}” já foi atribuido.',
+ '{attribute} cannot be blank.' => '“{attribute}” não pode ficar em branco.',
'{attribute} contains wrong subnet mask.' => '{attribute} contém uma máscara de sub-rede errada.',
+ '{attribute} is invalid.' => '“{attribute}” é inválido.',
+ '{attribute} is not a valid URL.' => '“{attribute}” não é uma URL válida.',
+ '{attribute} is not a valid email address.' => '“{attribute}” não é um endereço de e-mail válido.',
'{attribute} is not in the allowed range.' => '{attribute} não está no alcance permitido.',
+ '{attribute} must be "{requiredValue}".' => '“{attribute}” deve ser “{requiredValue}”.',
+ '{attribute} must be a number.' => '“{attribute}” deve ser um número.',
+ '{attribute} must be a string.' => '“{attribute}” deve ser uma string.',
'{attribute} must be a valid IP address.' => '{attribute} tem de ser um endereço IP válido.',
'{attribute} must be an IP address with specified subnet.' => '{attribute} tem de ser um endereço IP com a sub-rede especificada.',
+ '{attribute} must be an integer.' => '“{attribute}” deve ser um número inteiro.',
+ '{attribute} must be either "{true}" or "{false}".' => '“{attribute}” deve ser “{true}” ou “{false}”.',
'{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} tem de ser igual a "{compareValueOrAttribute}".',
'{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} tem de ser maior que "{compareValueOrAttribute}".',
'{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} tem de ser maior ou igual a "{compareValueOrAttribute}".',
'{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} tem de ser menor que "{compareValueOrAttribute}".',
'{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} tem de ser menor ou igual a "{compareValueOrAttribute}".',
+ '{attribute} must be no greater than {max}.' => '“{attribute}” não pode ser maior do que {max}.',
+ '{attribute} must be no less than {min}.' => '“{attribute}” não pode ser menor do que {min}.',
'{attribute} must not be a subnet.' => '{attribute} não pode ser uma sub-rede.',
'{attribute} must not be an IPv4 address.' => '{attribute} não pode ser um endereço IPv4.',
'{attribute} must not be an IPv6 address.' => '{attribute} não pode ser um endereço IPv6.',
'{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} não pode ser igual a "{compareValueOrAttribute}".',
+ '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '“{attribute}” deve conter pelo menos {min, number} {min, plural, one{caractere} other{caracteres}}.',
+ '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '“{attribute}” deve conter no máximo {max, number} {max, plural, one{caractere} other{caracteres}}.',
+ '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '“{attribute}” deve conter {length, number} {length, plural, one{caractere} other{caracteres}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 dia} other{# dias}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 hora} other{# horas}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuto} other{# minutos}}',
@@ -74,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -82,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{bytes}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}',
@@ -93,53 +144,4 @@
'{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}',
'{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}',
'{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}',
- '(not set)' => '(não definido)',
- 'An internal server error occurred.' => 'Ocorreu um erro interno do servidor.',
- 'Delete' => 'Apagar',
- 'Error' => 'Erro',
- 'File upload failed.' => 'O upload do ficheiro falhou.',
- 'Home' => 'Página Inicial',
- 'Invalid data received for parameter "{param}".' => 'Dados inválidos recebidos para o parâmetro “{param}”.',
- 'Login Required' => 'Login Necessário.',
- 'Missing required arguments: {params}' => 'Argumentos obrigatórios em falta: {params}',
- 'Missing required parameters: {params}' => 'Parâmetros obrigatórios em falta: {params}',
- 'No' => 'Não',
- 'No results found.' => 'Não foram encontrados resultados.',
- 'Only files with these extensions are allowed: {extensions}.' => 'Só são permitidos ficheiros com as seguintes extensões: {extensions}.',
- 'Page not found.' => 'Página não encontrada.',
- 'Please fix the following errors:' => 'Por favor, corrija os seguintes erros:',
- 'Please upload a file.' => 'Por favor faça upload de um ficheiro.',
- 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'A exibir {begin, number}-{end, number} de {totalCount, number} {totalCount, plural, one{item} other{itens}}.',
- 'The file "{file}" is not an image.' => 'O ficheiro “{file}” não é uma imagem.',
- 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'O ficheiro “{file}” é grande demais. O tamanho não pode exceder {formattedLimit}.',
- 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'O ficheiro “{file}” é pequeno demais. O tamanho não pode ser menor do que {formattedLimit}.',
- 'The format of {attribute} is invalid.' => 'O formato de “{attribute}” é inválido.',
- 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O ficheiro “{file}” é grande demais. A altura não pode ser maior do que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
- 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O ficheiro “{file}” é grande demais. A largura não pode ser maior do que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
- 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O ficheiro “{file}” é pequeno demais. A altura não pode ser menor do que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
- 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'O ficheiro “{file}” é pequeno demais. A largura não pode ser menor do que {limit, number} {limit, plural, one{pixel} other{pixels}}.',
- 'The verification code is incorrect.' => 'O código de verificação está incorreto.',
- 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{item} other{itens}}.',
- 'Unable to verify your data submission.' => 'Não foi possível verificar a sua submissão de dados.',
- 'Unknown option: --{name}' => 'Opção desconhecida : --{name}',
- 'Update' => 'Atualizar',
- 'Yes' => 'Sim',
- 'You are not allowed to perform this action.' => 'Você não está autorizado a realizar essa ação.',
- 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Você pode fazer o upload de no máximo {limit, number} {limit, plural, one{ficheiro} other{ficheiros}}.',
- 'the input value' => 'o valor de entrada',
- '{attribute} "{value}" has already been taken.' => '{attribute} “{value}” já foi atribuido.',
- '{attribute} cannot be blank.' => '“{attribute}” não pode ficar em branco.',
- '{attribute} is invalid.' => '“{attribute}” é inválido.',
- '{attribute} is not a valid URL.' => '“{attribute}” não é uma URL válida.',
- '{attribute} is not a valid email address.' => '“{attribute}” não é um endereço de e-mail válido.',
- '{attribute} must be "{requiredValue}".' => '“{attribute}” deve ser “{requiredValue}”.',
- '{attribute} must be a number.' => '“{attribute}” deve ser um número.',
- '{attribute} must be a string.' => '“{attribute}” deve ser uma string.',
- '{attribute} must be an integer.' => '“{attribute}” deve ser um número inteiro.',
- '{attribute} must be either "{true}" or "{false}".' => '“{attribute}” deve ser “{true}” ou “{false}”.',
- '{attribute} must be no greater than {max}.' => '“{attribute}” não pode ser maior do que {max}.',
- '{attribute} must be no less than {min}.' => '“{attribute}” não pode ser menor do que {min}.',
- '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '“{attribute}” deve conter pelo menos {min, number} {min, plural, one{caractere} other{caracteres}}.',
- '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '“{attribute}” deve conter no máximo {max, number} {max, plural, one{caractere} other{caracteres}}.',
- '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '“{attribute}” deve conter {length, number} {length, plural, one{caractere} other{caracteres}}.',
];
diff --git a/framework/messages/ro/yii.php b/framework/messages/ro/yii.php
index 6042d0bd695..7d62653f784 100644
--- a/framework/messages/ro/yii.php
+++ b/framework/messages/ro/yii.php
@@ -23,8 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(nu este setat)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'A aparut o eroare internă de server.',
+ 'Are you sure you want to delete this item?' => '',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Șterge',
'Error' => 'Eroare',
'File upload failed.' => 'Încărcarea fișierului a eșuat.',
@@ -34,52 +40,108 @@
'Missing required arguments: {params}' => 'Lipsesc argumente obligatorii: {params}',
'Missing required parameters: {params}' => 'Lipsesc parametrii obligatori: {params}',
'No' => 'Nu',
- 'No help for unknown command "{command}".' => 'Nu sunt referințe pentru comanda necunoscută "{command}".',
- 'No help for unknown sub-command "{command}".' => 'Nu sunt referințe pentru sub-comanda necunoscută "{command}".',
'No results found.' => 'Nu a fost găsit niciun rezultat.',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => '',
'Only files with these extensions are allowed: {extensions}.' => 'Se acceptă numai fișiere cu următoarele extensii: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Pagina nu a fost găsită.',
'Please fix the following errors:' => 'Vă rugăm sa corectați următoarele erori:',
'Please upload a file.' => 'Vă rugăm sa încărcați un fișier.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Sunt afișați itemii {begin, number}-{end, number} din {totalCount, number}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Fișierul «{file}» nu este o imagine.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Fișierul «{file}» este prea mare. Dimensiunea acestuia nu trebuie să fie mai mare de {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Fișierul «{file}» este prea mic. Dimensiunea acestuia nu trebuie sa fie mai mică de {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Formatul «{attribute}» nu este valid.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Imaginea «{file}» este prea mare. Înălțimea nu trebuie să fie mai mare de {limit, number} {limit, plural, one{pixel} other{pixeli}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Imaginea «{file}» este prea mare. Lățimea nu trebuie să fie mai mare de {limit, number} {limit, plural, one{pixel} other{pixeli}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Imaginea «{file}» este prea mică. Înălțimea nu trebuie să fie mai mică de {limit, number} {limit, plural, one{pixel} other{pixeli}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Imaginea «{file}» este prea mică. Lățimea nu trebuie sa fie mai mică de {limit, number} {limit, plural, one{pixel} other{pixeli}}.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => 'Codul de verificare este incorect.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Total {count, number} {count, plural, one{item} other{itemi}}.',
'Unable to verify your data submission.' => 'Datele trimise nu au putut fi verificate.',
- 'Unknown command "{command}".' => 'Comandă necunoscută "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Opțiune necunoscută : --{name}',
'Update' => 'Redactare',
'View' => 'Vizualizare',
'Yes' => 'Da',
'You are not allowed to perform this action.' => 'Nu aveți dreptul să efectuați această acțiunea.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Puteți încărca maxim {limit, number} {limit, plural, one{fișier} other{fișiere}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '',
+ 'in {delta, plural, =1{a month} other{# months}}' => '',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '',
+ 'in {delta, plural, =1{a year} other{# years}}' => '',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '',
+ 'just now' => '',
'the input value' => 'valoarea introdusă',
'{attribute} "{value}" has already been taken.' => '{attribute} «{value}» este deja ocupat.',
'{attribute} cannot be blank.' => '«{attribute}» nu poate fi gol.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '«{attribute}» este incorect.',
'{attribute} is not a valid URL.' => '«{attribute}» nu este un URL valid.',
'{attribute} is not a valid email address.' => '«{attribute}» nu este o adresă de email validă.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '«{attribute}» trebuie să fie «{requiredValue}».',
'{attribute} must be a number.' => '«{attribute}» trebuie să fie un număr.',
'{attribute} must be a string.' => '«{attribute}» trebuie să fie un șir de caractere.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '«{attribute}» trebuie să fie un număr întreg.',
'{attribute} must be either "{true}" or "{false}".' => '«{attribute}» trebuie să fie «{true}» sau «{false}».',
- '{attribute} must be greater than "{compareValue}".' => '«{attribute}» trebuie să fie mai mare ca «{compareValue}».',
- '{attribute} must be greater than or equal to "{compareValue}".' => '«{attribute}» trebuie să fie mai mare sau egal cu «{compareValue}».',
- '{attribute} must be less than "{compareValue}".' => '«{attribute}» trebuie să fie mai mic ca «{compareValue}».',
- '{attribute} must be less than or equal to "{compareValue}".' => '«{attribute}» trebuie să fie mai mic sau egal cu «{compareValue}».',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '«{attribute}» trebuie să fie mai mare ca «{compareValueOrAttribute}».',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '«{attribute}» trebuie să fie mai mare sau egal cu «{compareValueOrAttribute}».',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '«{attribute}» trebuie să fie mai mic ca «{compareValueOrAttribute}».',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '«{attribute}» trebuie să fie mai mic sau egal cu «{compareValueOrAttribute}».',
'{attribute} must be no greater than {max}.' => '«{attribute}» nu trebuie să fie mai mare ca {max}.',
'{attribute} must be no less than {min}.' => '«{attribute}» nu trebuie să fie mai mic ca {min}.',
- '{attribute} must be repeated exactly.' => '«{attribute}» trebuie să fie repetat exact.',
- '{attribute} must not be equal to "{compareValue}".' => '«{attribute}» nu trebuie să fie egală cu «{compareValue}».',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '«{attribute}» nu trebuie să fie egală cu «{compareValueOrAttribute}».',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '«{attribute}» trebuie să conțină minim {min, number} {min, plural, one{caracter} other{caractere}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '«{attribute}» trebuie să conțină maxim {max, number} {max, plural, one{caracter} other{caractere}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '«{attribute}» trebuie să conțină {length, number} {length, plural, one{caracter} other{caractere}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => '',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '',
+ '{delta, plural, =1{a month} other{# months}} ago' => '',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '',
+ '{delta, plural, =1{a year} other{# years}} ago' => '',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '',
+ '{nFormatted} B' => '',
+ '{nFormatted} GB' => '',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '',
];
diff --git a/framework/messages/ru/yii.php b/framework/messages/ru/yii.php
index 31b27234323..44bced6a49d 100644
--- a/framework/messages/ru/yii.php
+++ b/framework/messages/ru/yii.php
@@ -26,6 +26,8 @@
' and ' => ' и ',
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" не поддерживает оператор "{operator}".',
'(not set)' => '(не задано)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Возникла внутренняя ошибка сервера.',
'Are you sure you want to delete this item?' => 'Вы уверены, что хотите удалить этот элемент?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Условие для "{attribute}" должно быть или значением или верной спецификацией оператора.',
@@ -43,10 +45,10 @@
'Only files with these extensions are allowed: {extensions}.' => 'Разрешена загрузка файлов только со следующими расширениями: {extensions}.',
'Operator "{operator}" must be used with a search attribute.' => 'Оператор "{operator}" должен использоваться через атрибут поиска.',
'Operator "{operator}" requires multiple operands.' => 'Оператор "{operator}" требует несколько операндов.',
+ 'Options available: {options}' => '',
'Page not found.' => 'Страница не найдена.',
'Please fix the following errors:' => 'Исправьте следующие ошибки:',
'Please upload a file.' => 'Загрузите файл.',
- 'Powered by {yii}' => 'Работает на {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Показаны записи {begin, number}-{end, number} из {totalCount, number}.',
'The combination {values} of {attributes} has already been taken.' => 'Комбинация {values} параметров {attributes} уже существует.',
'The file "{file}" is not an image.' => 'Файл «{file}» не является изображением.',
@@ -68,9 +70,9 @@
'Update' => 'Редактировать',
'View' => 'Просмотр',
'Yes' => 'Да',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'Вам не разрешено производить данное действие.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Вы не можете загружать более {limit, number} {limit, plural, one{файла} few{файлов} many{файлов} other{файла}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Вы должны загрузить как минимум {limit, number} {limit, plural, one{файл} few{файла} many{файлов} other{файла}}.',
'in {delta, plural, =1{a day} other{# days}}' => 'через {delta, plural, =1{день} one{# день} few{# дня} many{# дней} other{# дня}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'через {delta, plural, =1{минуту} one{# минуту} few{# минуты} many{# минут} other{# минуты}}',
'in {delta, plural, =1{a month} other{# months}}' => 'через {delta, plural, =1{месяц} one{# месяц} few{# месяца} many{# месяцев} other{# месяца}}',
@@ -107,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Значение «{attribute}» должно содержать минимум {min, number} {min, plural, one{символ} few{символа} many{символов} other{символа}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Значение «{attribute}» должно содержать максимум {max, number} {max, plural, one{символ} few{символа} many{символов} other{символа}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Значение «{attribute}» должно содержать {length, number} {length, plural, one{символ} few{символа} many{символов} other{символа}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, one{# день} few{# дня} many{# дней} other{# дня}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, one{# час} few{# часа} many{# часов} other{# часа}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, one{# минута} few{# минуты} many{# минут} other{# минуты}}',
@@ -122,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} Б',
'{nFormatted} GB' => '{nFormatted} ГБ',
'{nFormatted} GiB' => '{nFormatted} ГиБ',
- '{nFormatted} kB' => '{nFormatted} КБ',
'{nFormatted} KiB' => '{nFormatted} КиБ',
'{nFormatted} MB' => '{nFormatted} МБ',
'{nFormatted} MiB' => '{nFormatted} МиБ',
@@ -130,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} ПиБ',
'{nFormatted} TB' => '{nFormatted} ТБ',
'{nFormatted} TiB' => '{nFormatted} ТиБ',
+ '{nFormatted} kB' => '{nFormatted} КБ',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байт} few{байта} many{байтов} other{байта}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гибибайт} few{гибибайта} many{гибибайтов} other{гибибайта}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гигабайт} few{гигабайта} many{гигабайтов} other{гигабайта}}',
@@ -141,5 +144,4 @@
'{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{петабайт} few{петабайта} many{петабайтов} other{петабайта}}',
'{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{тебибайт} few{тебибайта} many{тебибайтов} other{тебибайта}}',
'{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{терабайт} few{терабайта} many{терабайтов} other{терабайта}}',
- 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Вы должны загрузить как минимум {limit, number} {limit, plural, one{файл} few{файла} many{файлов} other{файла}}.',
];
diff --git a/framework/messages/sk/yii.php b/framework/messages/sk/yii.php
index 28aaaa78de1..50ff8e981b2 100644
--- a/framework/messages/sk/yii.php
+++ b/framework/messages/sk/yii.php
@@ -26,6 +26,8 @@
' and ' => ' a ',
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" nepodporuje operátor "{operator}".',
'(not set)' => '(nie je nastavené)',
+ 'Action not found.' => 'Akcia nebola nájdená.',
+ 'Aliases available: {aliases}' => 'Dostupné aliasy: {aliases}',
'An internal server error occurred.' => 'Vyskytla sa interná chyba servera.',
'Are you sure you want to delete this item?' => 'Skutočne chcete odstrániť tento záznam?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Podmienkou pre "{attribute}" by mala byť hodnota alebo platná špecifikácia operátora.',
@@ -43,10 +45,10 @@
'Only files with these extensions are allowed: {extensions}.' => 'Povolené sú len súbory s nasledovnými príponami: {extensions}.',
'Operator "{operator}" must be used with a search attribute.' => 'Operátor "{operator}" musí byť použitý s atribútom vyhľadávania.',
'Operator "{operator}" requires multiple operands.' => 'Operátor "{operator}" vyžaduje viac operandov.',
+ 'Options available: {options}' => 'Dostupné možnosti: {options}',
'Page not found.' => 'Stránka nebola nájdená.',
'Please fix the following errors:' => 'Opravte prosím nasledujúce chyby:',
'Please upload a file.' => 'Nahrajte prosím súbor.',
- 'Powered by {yii}' => 'Beží na {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Zobrazujem {begin, number}-{end, number} z {totalCount, number} záznamov.',
'The combination {values} of {attributes} has already been taken.' => 'Kombinácia {values} pre {attributes} je už použitá.',
'The file "{file}" is not an image.' => 'Súbor "{file}" nie je obrázok.',
@@ -68,7 +70,6 @@
'Update' => 'Upraviť',
'View' => 'Náhľad',
'Yes' => 'Áno',
- 'Yii Framework' => 'Yii Framework',
'You are not allowed to perform this action.' => 'Nemáte oprávnenie pre požadovanú akciu.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Nahrať môžete najviac {limit, number} {limit, plural, =1{súbor} =2{súbory} =3{súbory} =4{súbory} other{súborov}}.',
'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Je potrebné nahrať aspoň {limit, number} {limit, plural, =1{súbor} =2{súbory} =3{súbory} =4{súbory} other{súborov}}.',
@@ -108,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} musí obsahovať aspoň {min, number} {min, plural, =1{znak} =2{znaky} =3{znaky} =4{znaky} other{znakov}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} môže obsahovať najviac {max, number} {max, plural, =1{znak} =2{znaky} =3{znaky} =4{znaky} other{znakov}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} musí obsahovať {length, number} {length, plural, =1{znak} =2{znaky} =3{znaky} =4{znaky} other{znakov}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 deň} =2{2 dni} =3{3 dni} =4{4 dni} other{# dní}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 hodina} =2{2 hodiny} =3{3 hodiny} =4{4 hodiny} other{# hodín}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minúta} =2{2 minúty} =3{3 minúty} =4{4 minúty} other{# minút}}',
@@ -142,7 +144,4 @@
'{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{petabajt} =2{petabajty} =3{petabajty} =4{petabajty} other{petabajtov}}',
'{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, =1{tebibajt} =2{tebibajty} =3{tebibajty} =4{tebibajty} other{tebibajtov}}',
'{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{terabajt} =2{terabajty} =3{terabajty} =4{terabajty} other{terabajtov}}',
- 'Action not found.' => 'Akcia nebola nájdená.',
- 'Aliases available: {aliases}' => 'Dostupné aliasy: {aliases}',
- 'Options available: {options}' => 'Dostupné možnosti: {options}',
];
diff --git a/framework/messages/sl/yii.php b/framework/messages/sl/yii.php
index 7fa542489bb..5b15a08321c 100644
--- a/framework/messages/sl/yii.php
+++ b/framework/messages/sl/yii.php
@@ -23,10 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'just now' => 'ravno zdaj',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(ni nastavljeno)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Prišlo je do notranje napake na strežniku.',
'Are you sure you want to delete this item?' => 'Ste prepričani, da želite izbrisati ta element?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Izbrišite',
'Error' => 'Napaka',
'File upload failed.' => 'Nalaganje datoteke ni bilo uspešno.',
@@ -36,19 +40,22 @@
'Missing required arguments: {params}' => 'Manjkajo zahtevani argumenti: {params}',
'Missing required parameters: {params}' => 'Manjkajo zahtevani parametri: {params}',
'No' => 'Ne',
- 'No help for unknown command "{command}".' => 'Pomoči za neznani ukaz "{command}" ni mogoče najti.',
- 'No help for unknown sub-command "{command}".' => 'Pomoči za neznani pod-ukaz "{command}" ni mogoče najti.',
'No results found.' => 'Rezultatov ni bilo mogoče najti.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Dovoljene so samo datoteke s temi MIME tipi: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Dovoljene so samo datoteke s temi končnicami: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Strani ni mogoče najti.',
'Please fix the following errors:' => 'Prosimo, popravite sledeče napake:',
'Please upload a file.' => 'Prosimo, naložite datoteko.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Prikaz {begin, number}-{end, number} od {totalCount, number} {totalCount, plural, one{Element} two{Elementa} few{Elementi} other{Elementov}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Datoteka "{file}" ni slika.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Datoteka "{file}" je prevelika. Njena velikost {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Datoteka "{file}" je premajhna. Njena velikost ne sme biti manjša od {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Format {attribute} ni veljaven.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je prevelika. Višina ne sme biti večja od {limit, number} {limit, plural, one{piksla} other{pikslov}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je prevelika. Širina ne sme biti večja od {limit, number} {limit, plural, one{piksla} other{pikslov}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je premajhna. Višina ne sme biti manjša od {limit, number} {limit, plural, one{piksla} other{pikslov}}.',
@@ -57,41 +64,58 @@
'The verification code is incorrect.' => 'Koda za preverjanje je napačna.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Skupaj {count, number} {count, plural, one{element} two{elementa} few{elementi} other{elementov}}.',
'Unable to verify your data submission.' => 'Preverjanje vaših poslanih podatkov ni uspelo.',
- 'Unknown command "{command}".' => 'Neznani ukaz "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Neznana opcija: --{name}',
'Update' => 'Posodobitev',
'View' => 'Pogled',
'Yes' => 'Da',
'You are not allowed to perform this action.' => 'Ta akcija ni dovoljena za izvajanje.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Naložite lahko največ {limit, number} {limit, plural, one{datoteko} two{datoteki} few{datoteke} other{datotek}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'v {delta, plural, one{# dnevu} other{# dneh}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'v {delta, plural, one{# minuti} other{# minutah}}',
'in {delta, plural, =1{a month} other{# months}}' => 'v {delta, plural, one{# mesecu} other{# mesecih}}',
'in {delta, plural, =1{a second} other{# seconds}}' => 'v {delta, plural, one{# sekundi} other{# sekundah}}',
'in {delta, plural, =1{a year} other{# years}}' => 'v {delta, plural, one{# letu} other{# letih}}',
'in {delta, plural, =1{an hour} other{# hours}}' => 'v {delta, plural, one{# uri} other{# urah}}',
+ 'just now' => 'ravno zdaj',
'the input value' => 'vhodna vrednost',
'{attribute} "{value}" has already been taken.' => 'Atribut {attribute} "{value}" je že nastavljen.',
'{attribute} cannot be blank.' => 'Atribut {attribute} ne more biti prazen',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => 'Atribut {attribute} je neveljaven.',
'{attribute} is not a valid URL.' => 'Atribut {attribute} ni veljaven URL.',
'{attribute} is not a valid email address.' => 'Atribut {attribute} ni veljaven e-poštni naslov.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} mora biti "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} mora biti število.',
'{attribute} must be a string.' => '{attribute} mora biti niz.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} mora biti celo število.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} mora biti ali "{true}" ali "{false}".',
- '{attribute} must be greater than "{compareValue}".' => 'Atribut {attribute} mora biti večji od "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => 'Atribut {attribute} mora biti večji ali enak "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => 'Atribut {attribute} mora biti manjši od "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => 'Atribut {attribute} mora biti manjši ali enak "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => 'Atribut {attribute} mora biti večji od "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => 'Atribut {attribute} mora biti večji ali enak "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => 'Atribut {attribute} mora biti manjši od "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => 'Atribut {attribute} mora biti manjši ali enak "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => 'Atribut {attribute} ne sme biti večji od {max}',
'{attribute} must be no less than {min}.' => 'Atribut {attribute} ne sme biti manjši od {min}.',
- '{attribute} must be repeated exactly.' => 'Atribut {attribute} mora biti točno ponovljen.',
- '{attribute} must not be equal to "{compareValue}".' => 'Atribut {attribute} ne sme biti enak "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => 'Atribut {attribute} ne sme biti enak "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Atribut {attribute} mora vsebovati vsaj {min, number} {min, plural, one{znak} two{znaka} few{znake} other{znakov}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Atribut {attribute} mora vsebovati največ {max, number} {max, plural, one{znak} two{znaka} few{znake} other{znakov}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Atribut {attribute} mora vsebovati {length, number} {length, plural, one{znak} two{znaka} few{znake} other{znakov}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => 'pred {delta, plural, one{# dnevom} two{# dnevoma} other{# dnevi}}',
'{delta, plural, =1{a minute} other{# minutes}} ago' => 'pred {delta, plural, one{# minuto} two{# minutama} other{# minutami}}',
'{delta, plural, =1{a month} other{# months}} ago' => 'pred {delta, plural, one{# mesecem} two{# mesecema} other{# meseci}}',
@@ -101,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -109,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{bajt} two{bajta} few{bajti} other{bajtov}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{gibibajt} two{gibibajta} few{gibibajti} other{gibibajtov}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{gigabajt} two{gigabajta} few{gigabajti} other{gigabajtov}}',
diff --git a/framework/messages/sr-Latn/yii.php b/framework/messages/sr-Latn/yii.php
index e4467b9a679..768dbd8eacd 100644
--- a/framework/messages/sr-Latn/yii.php
+++ b/framework/messages/sr-Latn/yii.php
@@ -23,36 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'just now' => 'upravo sada',
- 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Samo sledeći MIME tipovi su dozvoljeni: {mimeTypes}.',
- 'The requested view "{name}" was not found.' => 'Traženi prikaz "{name}" nije pronađen.',
- 'in {delta, plural, =1{a day} other{# days}}' => 'za {delta, plural, =1{dan} one{# dan} few{# dana} many{# dana} other{# dana}}',
- 'in {delta, plural, =1{a minute} other{# minutes}}' => 'za {delta, plural, =1{minut} one{# minut} few{# minuta} many{# minuta} other{# minuta}}',
- 'in {delta, plural, =1{a month} other{# months}}' => 'za {delta, plural, =1{mesec} one{# mesec} few{# meseca} many{# meseci} other{# meseci}}',
- 'in {delta, plural, =1{a second} other{# seconds}}' => 'za {delta, plural, =1{sekundu} one{# sekundu} few{# sekunde} many{# sekundi} other{# sekundi}}',
- 'in {delta, plural, =1{a year} other{# years}}' => 'za {delta, plural, =1{godinu} one{# godinu} few{# godine} many{# godina} other{# godina}}',
- 'in {delta, plural, =1{an hour} other{# hours}}' => 'za {delta, plural, =1{sat} one{# sat} few{# sata} many{# sati} other{# sati}}',
- '{delta, plural, =1{a day} other{# days}} ago' => 'pre {delta, plural, =1{dan} one{# dan} few{# dana} many{# dana} other{# dana}}',
- '{delta, plural, =1{a minute} other{# minutes}} ago' => 'pre {delta, plural, =1{minut} one{# minut} few{# minuta} many{# minuta} other{# minuta}}',
- '{delta, plural, =1{a month} other{# months}} ago' => 'pre {delta, plural, =1{mesec} one{# meseca} few{# meseca} many{# meseci} other{# meseci}}',
- '{delta, plural, =1{a second} other{# seconds}} ago' => 'pre {delta, plural, =1{sekundu} one{# sekunde} few{# sekunde} many{# sekundi} other{# sekundi}}',
- '{delta, plural, =1{a year} other{# years}} ago' => 'pre {delta, plural, =1{godinu} one{# godine} few{# godine} many{# godina} other{# godina}}',
- '{delta, plural, =1{an hour} other{# hours}} ago' => 'pre {delta, plural, =1{sat} one{# sat} few{# sata} many{# sati} other{# sati}}',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n, plural, one{# bajt} few{# bajta} many{# bajtova} other{# bajta}}',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n, plural, one{# gigabajt} few{# gigabajta} many{# gigabajta} other{# gigabajta}}',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n, plural, one{# kilobajt} few{# kilobajta} many{# kilobajta} other{# kilobajta}}',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n, plural, one{# megabajt} few{# megabajta} many{# megabajta} other{# megabajta}}',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n, plural, one{# petabajt} few{# petabajta} many{# petabajta} other{# petabajta}}',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n, plural, one{# terabajt} few{# terabajta} many{# terabajta} other{# terabajta}}',
- '{n} B' => '{n} B',
- '{n} GB' => '{n} GB',
- '{n} KB' => '{n} KB',
- '{n} MB' => '{n} MB',
- '{n} PB' => '{n} PB',
- '{n} TB' => '{n} TB',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(bez vrednosti)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Došlo je do interne greške na serveru.',
'Are you sure you want to delete this item?' => 'Da li ste sigurni da želite da obrišete ovu stavku?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Obriši',
'Error' => 'Greška',
'File upload failed.' => 'Postavljanje fajla nije uspelo.',
@@ -62,52 +40,108 @@
'Missing required arguments: {params}' => 'Nedostaju obavezni argumenti: {params}',
'Missing required parameters: {params}' => 'Nedostaju obavezni parametri: {params}',
'No' => 'Ne',
- 'No help for unknown command "{command}".' => 'Ne postoji pomoć za nepoznatu komandu "{command}".',
- 'No help for unknown sub-command "{command}".' => 'Ne postoji pomoć za nepoznatu pod-komandu "{command}".',
'No results found.' => 'Nema rezultata.',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Samo sledeći MIME tipovi su dozvoljeni: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Samo fajlovi sa sledećim ekstenzijama su dozvoljeni: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Stranica nije pronađena.',
'Please fix the following errors:' => 'Molimo vas ispravite sledeće greške:',
'Please upload a file.' => 'Molimo vas postavite fajl.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Prikazano {begin, number}-{end, number} od {totalCount, number} {totalCount, plural, =1{stavke} one{stavke} few{stavke} many{stavki} other{stavki}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Fajl "{file}" nije slika.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Fajl "{file}" je prevelik. Veličina ne može biti veća od {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Fajl "{file}" je premali. Veličina ne može biti manja od {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Format atributa "{attribute}" je neispravan.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je prevelika. Visina ne sme biti veća od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je prevelika. Širina ne sme biti veća od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je premala. Visina ne sme biti manja od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Slika "{file}" je premala. Širina ne sme biti manja od {limit, number} {limit, plural, one{piksel} other{piksela}}.',
+ 'The requested view "{name}" was not found.' => 'Traženi prikaz "{name}" nije pronađen.',
'The verification code is incorrect.' => 'Kod za potvrdu nije ispravan.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Ukupno {count, number} {count, plural, one{stavka} few{stavke} other{stavki}}.',
'Unable to verify your data submission.' => 'Nije moguće verifikovati vaše poslate podatke.',
- 'Unknown command "{command}".' => 'Nepoznata komanda "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Nepoznata opcija: --{name}',
'Update' => 'Ispravi',
'View' => 'Prikaz',
'Yes' => 'Da',
'You are not allowed to perform this action.' => 'Nemate prava da izvršite ovu akciju.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Možete postaviti najviše {limit, number} {limit, plural, one{fajl} few{fajla} other{fajlova}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => 'za {delta, plural, =1{dan} one{# dan} few{# dana} many{# dana} other{# dana}}',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => 'za {delta, plural, =1{minut} one{# minut} few{# minuta} many{# minuta} other{# minuta}}',
+ 'in {delta, plural, =1{a month} other{# months}}' => 'za {delta, plural, =1{mesec} one{# mesec} few{# meseca} many{# meseci} other{# meseci}}',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => 'za {delta, plural, =1{sekundu} one{# sekundu} few{# sekunde} many{# sekundi} other{# sekundi}}',
+ 'in {delta, plural, =1{a year} other{# years}}' => 'za {delta, plural, =1{godinu} one{# godinu} few{# godine} many{# godina} other{# godina}}',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => 'za {delta, plural, =1{sat} one{# sat} few{# sata} many{# sati} other{# sati}}',
+ 'just now' => 'upravo sada',
'the input value' => 'ulazna vrednost',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" je već zauzet.',
'{attribute} cannot be blank.' => '{attribute} ne sme biti prazan.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} je neispravan.',
'{attribute} is not a valid URL.' => '{attribute} nije ispravan URL.',
'{attribute} is not a valid email address.' => '{attribute} nije ispravna email adresa.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} mora biti "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} mora biti broj.',
'{attribute} must be a string.' => '{attribute} mora biti tekst.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} mora biti celi broj.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} mora biti "{true}" ili "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} mora biti veći od "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} mora biti veći ili jednak "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} mora biti manji od "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} mora biti manji ili jednak "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} mora biti veći od "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} mora biti veći ili jednak "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} mora biti manji od "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} mora biti manji ili jednak "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} ne sme biti veći od "{max}".',
'{attribute} must be no less than {min}.' => '{attribute} ne sme biti manji od {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} mora biti ispravno ponovljen.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} ne sme biti jednak "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} ne sme biti jednak "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} treba da sadrži bar {min, number} {min, plural, one{karakter} other{karaktera}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} treba da sadrži najviše {max, number} {max, plural, one{karakter} other{karaktera}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} treba da sadrži {length, number} {length, plural, one{karakter} other{karaktera}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => 'pre {delta, plural, =1{dan} one{# dan} few{# dana} many{# dana} other{# dana}}',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => 'pre {delta, plural, =1{minut} one{# minut} few{# minuta} many{# minuta} other{# minuta}}',
+ '{delta, plural, =1{a month} other{# months}} ago' => 'pre {delta, plural, =1{mesec} one{# meseca} few{# meseca} many{# meseci} other{# meseci}}',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => 'pre {delta, plural, =1{sekundu} one{# sekunde} few{# sekunde} many{# sekundi} other{# sekundi}}',
+ '{delta, plural, =1{a year} other{# years}} ago' => 'pre {delta, plural, =1{godinu} one{# godine} few{# godine} many{# godina} other{# godina}}',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => 'pre {delta, plural, =1{sat} one{# sat} few{# sata} many{# sati} other{# sati}}',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{bajt} few{bajta} many{bajtova} other{bajta}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{gigabajt} few{gigabajta} many{gigabajta} other{gigabajta}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{kilobajt} few{kilobajta} many{kilobajta} other{kilobajta}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{megabajt} few{megabajta} many{megabajta} other{megabajta}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{petabajt} few{petabajta} many{petabajta} other{petabajta}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{terabajt} few{terabajta} many{terabajta} other{terabajta}}',
];
diff --git a/framework/messages/sr/yii.php b/framework/messages/sr/yii.php
index 6e7ba378329..7262ded5773 100644
--- a/framework/messages/sr/yii.php
+++ b/framework/messages/sr/yii.php
@@ -23,36 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'just now' => 'управо сада',
- 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Само следећи MIME типови су дозвољени: {mimeTypes}.',
- 'The requested view "{name}" was not found.' => 'Тражени приказ "{name}" није пронађен.',
- 'in {delta, plural, =1{a day} other{# days}}' => 'за {delta, plural, =1{дан} one{# дан} few{# дана} many{# дана} other{# дана}}',
- 'in {delta, plural, =1{a minute} other{# minutes}}' => 'за {delta, plural, =1{минут} one{# минут} few{# минута} many{# минута} other{# минута}}',
- 'in {delta, plural, =1{a month} other{# months}}' => 'за {delta, plural, =1{месец} one{# месец} few{# месеца} many{# месеци} other{# месеци}}',
- 'in {delta, plural, =1{a second} other{# seconds}}' => 'за {delta, plural, =1{секунду} one{# секунду} few{# секундe} many{# секунди} other{# секунди}}',
- 'in {delta, plural, =1{a year} other{# years}}' => 'за {delta, plural, =1{годину} one{# годину} few{# године} many{# година} other{# година}}',
- 'in {delta, plural, =1{an hour} other{# hours}}' => 'за {delta, plural, =1{сат} one{# сат} few{# сата} many{# сати} other{# сати}}',
- '{delta, plural, =1{a day} other{# days}} ago' => 'пре {delta, plural, =1{дан} one{дан} few{# дана} many{# дана} other{# дана}}',
- '{delta, plural, =1{a minute} other{# minutes}} ago' => 'пре {delta, plural, =1{минут} one{# минут} few{# минута} many{# минута} other{# минута}}',
- '{delta, plural, =1{a month} other{# months}} ago' => 'пре {delta, plural, =1{месец} one{# месец} few{# месеца} many{# месеци} other{# месеци}}',
- '{delta, plural, =1{a second} other{# seconds}} ago' => 'пре {delta, plural, =1{секунде} one{# секунде} few{# секунде} many{# секунди} other{# секунди}}',
- '{delta, plural, =1{a year} other{# years}} ago' => 'пре {delta, plural, =1{године} one{# године} few{# године} many{# година} other{# година}}',
- '{delta, plural, =1{an hour} other{# hours}} ago' => 'пре {delta, plural, =1{сат} one{# сат} few{# сата} many{# сати} other{# сати}}',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n, plural, one{# бајт} few{# бајта} many{# бајтова} other{# бајта}}',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n, plural, one{# гигабајт} few{# гигабајта} many{# гигабајта} other{# гигабајта}}',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n, plural, one{# килобајт} few{# килобајта} many{# килобајта} other{# килобајта}}',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n, plural, one{# мегабајт} few{# мегабајта} many{# мегабајта} other{# мегабајта}}',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n, plural, one{# петабајт} few{# петабајта} many{# петабајта} other{# петабајта}}',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n, plural, one{# терабајт} few{# терабајта} many{# терабајта} other{# терабајта}}',
- '{n} B' => '{n} Б',
- '{n} GB' => '{n} ГБ',
- '{n} KB' => '{n} КБ',
- '{n} MB' => '{n} МБ',
- '{n} PB' => '{n} ПБ',
- '{n} TB' => '{n} ТБ',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(без вредности)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Дошло је до интерне грешке на серверу.',
'Are you sure you want to delete this item?' => 'Да ли сте сигурни да желите да обришете ову ставку?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Обриши',
'Error' => 'Грешка',
'File upload failed.' => 'Постављање фајла није успело.',
@@ -62,52 +40,108 @@
'Missing required arguments: {params}' => 'Недостају обавезни аргументи: {params}',
'Missing required parameters: {params}' => 'Недостају обавезни параметри: {params}',
'No' => 'Не',
- 'No help for unknown command "{command}".' => 'Не постоји помоћ за непознату команду "{command}".',
- 'No help for unknown sub-command "{command}".' => 'Не постоји помоћ за непознату под-команду "{command}".',
'No results found.' => 'Нема резултата.',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Само следећи MIME типови су дозвољени: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Само фајлови са следећим екстензијама су дозвољени: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Страница није пронађена.',
'Please fix the following errors:' => 'Молимо вас исправите следеће грешке:',
'Please upload a file.' => 'Молимо вас поставите фајл.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Приказано {begin, number}-{end, number} од {totalCount, number} {totalCount, plural, =1{ставке} one{ставкe} few{ставке} many{ставки} other{ставки}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Фајл "{file}" није слика.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Фајл "{file}" је превелик. Величина не може бити већа од {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Фајл "{file}" је премали. Величина не може бити мања од {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Формат атрибута "{attribute}" је неисправан.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Слика "{file}" је превелика. Висина не сме бити већа од {limit, number} {limit, plural, one{пиксел} other{пиксела}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Слика "{file}" је превелика. Ширина не сме бити већа од {limit, number} {limit, plural, one{пиксел} other{пиксела}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Слика "{file}" је премала. Висина не сме бити мања од {limit, number} {limit, plural, one{пиксел} other{пиксела}}.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Слика "{file}" је премала. Ширина не сме бити мања од {limit, number} {limit, plural, one{пиксел} other{пиксела}}.',
+ 'The requested view "{name}" was not found.' => 'Тражени приказ "{name}" није пронађен.',
'The verification code is incorrect.' => 'Код за потврду није исправан.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Укупно {count, number} {count, plural, one{ставка} few{ставке} other{ставки}}.',
'Unable to verify your data submission.' => 'Није могуће верификовати ваше послате податке.',
- 'Unknown command "{command}".' => 'Непозната команда "{command}".',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Непозната опција: --{name}',
'Update' => 'Исправи',
'View' => 'Приказ',
'Yes' => 'Да',
'You are not allowed to perform this action.' => 'Немате права да извршите ову акцију.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Можете поставити највише {limit, number} {limit, plural, one{фајл} few{фајлa} other{фајлова}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => 'за {delta, plural, =1{дан} one{# дан} few{# дана} many{# дана} other{# дана}}',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => 'за {delta, plural, =1{минут} one{# минут} few{# минута} many{# минута} other{# минута}}',
+ 'in {delta, plural, =1{a month} other{# months}}' => 'за {delta, plural, =1{месец} one{# месец} few{# месеца} many{# месеци} other{# месеци}}',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => 'за {delta, plural, =1{секунду} one{# секунду} few{# секундe} many{# секунди} other{# секунди}}',
+ 'in {delta, plural, =1{a year} other{# years}}' => 'за {delta, plural, =1{годину} one{# годину} few{# године} many{# година} other{# година}}',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => 'за {delta, plural, =1{сат} one{# сат} few{# сата} many{# сати} other{# сати}}',
+ 'just now' => 'управо сада',
'the input value' => 'улазна вредност',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" је већ заузет.',
'{attribute} cannot be blank.' => '{attribute} не сме бити празан.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} је неисправан.',
'{attribute} is not a valid URL.' => '{attribute} није исправан URL.',
'{attribute} is not a valid email address.' => '{attribute} није исправна email адреса.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} мора бити "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} мора бити број.',
'{attribute} must be a string.' => '{attribute} мора бити текст.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} мора бити цели број.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} мора бити "{true}" или "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} мора бити већи од "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} мора бити већи или једнак "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} мора бити мањи од "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} мора бити мањи или једнак "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} мора бити већи од "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} мора бити већи или једнак "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} мора бити мањи од "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} мора бити мањи или једнак "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} не сме бити већи од "{max}".',
'{attribute} must be no less than {min}.' => '{attribute} не сме бити мањи од {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} мора бити исправно поновљен.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} не сме бити једнак "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} не сме бити једнак "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} треба да садржи барем {min, number} {min, plural, one{карактер} other{карактера}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} треба да садржи највише {max, number} {max, plural, one{карактер} other{карактера}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} треба да садржи {length, number} {length, plural, one{карактер} other{карактера}}.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => 'пре {delta, plural, =1{дан} one{дан} few{# дана} many{# дана} other{# дана}}',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => 'пре {delta, plural, =1{минут} one{# минут} few{# минута} many{# минута} other{# минута}}',
+ '{delta, plural, =1{a month} other{# months}} ago' => 'пре {delta, plural, =1{месец} one{# месец} few{# месеца} many{# месеци} other{# месеци}}',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => 'пре {delta, plural, =1{секунде} one{# секунде} few{# секунде} many{# секунди} other{# секунди}}',
+ '{delta, plural, =1{a year} other{# years}} ago' => 'пре {delta, plural, =1{године} one{# године} few{# године} many{# година} other{# година}}',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => 'пре {delta, plural, =1{сат} one{# сат} few{# сата} many{# сати} other{# сати}}',
+ '{nFormatted} B' => '{nFormatted} Б',
+ '{nFormatted} GB' => '{nFormatted} ГБ',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} МБ',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} ПБ',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} ТБ',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} кБ',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{бајт} few{бајта} many{бајтова} other{бајта}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гигабајт} few{гигабајта} many{гигабајта} other{гигабајта}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{килобајт} few{килобајта} many{килобајта} other{килобајта}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{мегабајт} few{мегабајта} many{мегабајта} other{мегабајта}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{петабајт} few{петабајта} many{петабајта} other{петабајта}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{терабајт} few{терабајта} many{терабајта} other{терабајта}}',
];
diff --git a/framework/messages/sv/yii.php b/framework/messages/sv/yii.php
index b3777626b02..4be34190894 100644
--- a/framework/messages/sv/yii.php
+++ b/framework/messages/sv/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(ej satt)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Ett internt serverfel har inträffat.',
'Are you sure you want to delete this item?' => 'Är du säker på att du vill radera objektet?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Radera',
'Error' => 'Error',
'File upload failed.' => 'Uppladdningen misslyckades.',
@@ -38,14 +43,19 @@
'No results found.' => 'Inga resultat hittades.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Endast filer med följande MIME-typer är tillåtna: {mimeTypes}',
'Only files with these extensions are allowed: {extensions}.' => 'Endast filer med följande filnamnstillägg är tillåtna: {extensions}',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Sidan hittades inte.',
'Please fix the following errors:' => 'Var god fixa följande fel:',
'Please upload a file.' => 'Var god ladda upp en fil.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Visar {begin, number}-{end, number} av {totalCount, number} objekt.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Filen "{file}" är inte en bild.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Filen "{file}" är för stor. Filstorleken får inte överskrida {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Filen "{file}" är för liten. Filstorleken måste vara minst {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Formatet för "{attribute}" är ogiltigt.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Bilden "{file}" är för stor. Höjden får inte överskrida {limit, number} {limit, plural, =1{pixel} other{pixlar}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Bilden "{file}" är för stor. Bredden får inte överskrida {limit, number} {limit, plural, =1{pixel} other{pixlar}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Bilden "{file}" är för liten. Bilden måste vara minst {limit, number} {limit, plural, =1{pixel} other{pixlar}} hög.',
@@ -54,12 +64,15 @@
'The verification code is incorrect.' => 'Verifieringskoden är felaktig.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Totalt {count, number} objekt.',
'Unable to verify your data submission.' => 'Det gick inte att verifiera skickad data.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Okänt alternativ: --{name}',
'Update' => 'Uppdatera',
'View' => 'Visa',
'Yes' => 'Ja',
'You are not allowed to perform this action.' => 'Du har inte behörighet att utföra den här åtgärden.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Du får inte ladda upp mer än {limit, number} {limit, plural, =1{fil} other{filer}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'under {delta, plural, =1{en dag} other{# dagar}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'under {delta, plural, =1{en minut} other{# minuter}}',
'in {delta, plural, =1{a month} other{# months}}' => 'under {delta, plural, =1{en månad} other{# månader}}',
@@ -70,25 +83,39 @@
'the input value' => 'inmatningsvärdet',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" används redan.',
'{attribute} cannot be blank.' => 'Värdet för {attribute} får inte vara tomt.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => 'Värdet för {attribute} är ogiltigt.',
'{attribute} is not a valid URL.' => '{attribute} är inte en giltig URL.',
'{attribute} is not a valid email address.' => '{attribute} är inte en giltig emailadress.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} måste vara satt till "{requiredValue}".',
'{attribute} must be a number.' => '{attribute} måste vara ett nummer.',
'{attribute} must be a string.' => '{attribute} måste vara en sträng.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} måste vara ett heltal.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} måste vara satt till antingen "{true}" eller "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} måste vara större än "{compareValue}".',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} måste vara större än eller lika med "{compareValue}".',
- '{attribute} must be less than "{compareValue}".' => '{attribute} måste vara mindre än "{compareValue}".',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} måste vara mindre än eller lika med "{compareValue}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} måste vara större än "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} måste vara större än eller lika med "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} måste vara mindre än "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} måste vara mindre än eller lika med "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => '{attribute} får inte överskrida {max}.',
'{attribute} must be no less than {min}.' => '{attribute} får som minst vara {min}.',
- '{attribute} must be repeated exactly.' => '{attribute} måste upprepas exakt.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} får inte vara satt till "{compareValue}".',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} får inte vara satt till "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} bör innehålla minst {min, number} tecken.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} bör innehålla max {max, number} tecken.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} bör innehålla {length, number} tecken.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{en dag} other{# dagar}} sedan',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{en minut} other{# minuter}} sedan',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{en månad} other{# månader}} sedan',
@@ -98,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -106,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{byte}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibyte} other{gibibyte}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabyte}}',
diff --git a/framework/messages/tg/yii.php b/framework/messages/tg/yii.php
index 76429c5874e..7c9d9fc884e 100644
--- a/framework/messages/tg/yii.php
+++ b/framework/messages/tg/yii.php
@@ -23,13 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'Powered by {yii}' => 'Дар {yii} кор мекунад',
- 'Unknown alias: -{name}' => 'Тахаллуси номаълум: -{name}',
- 'Yii Framework' => 'Yii Framework',
- '(not set)' => '(супориш дода нашуд)',
' and ' => ' ва ',
+ '"{attribute}" does not support operator "{operator}".' => '',
+ '(not set)' => '(супориш дода нашуд)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Хатои дохилии сервер рух дод.',
'Are you sure you want to delete this item?' => 'Шумо боварманд ҳастед, ки ҳамин элементро нест кардан мехоҳед?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Нест кардан',
'Error' => 'Иштибоҳ',
'File upload failed.' => 'Фарокашии файл муяссар гашт.',
@@ -42,6 +43,9 @@
'No results found.' => 'Ҳеҷ чиз ёфт нашуд.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Барои фарокашии файлҳо танҳо бо намудҳои зерини MIME иҷозат аст: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Барои фарокашии файлҳо танҳо тавассути зиёдкуни зерин иҷозат аст: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Саҳифа ёфт нашуд.',
'Please fix the following errors:' => 'Лутфан, хатогиҳои зеринро ислоҳ намоед:',
'Please upload a file.' => 'Лутфан, файлро бор кунед.',
@@ -51,6 +55,7 @@
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Ҳаҷми файли "{file}" азҳад зиёд калон аст. Андозаи он набояд аз {formattedLimit} зиёдтар бошад.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Ҳаҷми файли "{file}" аз ҳад зиёд хурд аст. Он бояд аз {formattedLimit} калонтар бошад.',
'The format of {attribute} is invalid.' => 'Формати нодурусти маънӣ {attribute}.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Ҳаҷми файли "{file}" аз ҳад зиёд калон аст. Баландияш набояд аз {limit, number} {limit, plural, one{пиксел} few{пиксел} many{пиксел} other{пиксел}} зиёд бошад.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Ҳаҷми файл "{file}" аз ҳад зиёд калон аст. Дарозияш набояд аз {limit, number} {limit, plural, one{пиксел} few{пиксел} many{пиксел} other{пиксел}} зиёд бошад.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Ҳаҷми файл "{file}" аз ҳад зиёд хурд аст. Баландияш бояд аз {limit, number} {limit, plural, one{пиксел} few{пиксел} many{пиксел} other{пиксел}} зиёд бошад.',
@@ -59,12 +64,15 @@
'The verification code is incorrect.' => 'Рамзи нодурусти санҷишӣ.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Ҳамаги {count, number} {count, plural, one{қайд} few{қайд} many{қайдҳо} other{қайд}}.',
'Unable to verify your data submission.' => 'Санҷидани маълумоти фиристодаи Шумо муяссар нагардид.',
+ 'Unknown alias: -{name}' => 'Тахаллуси номаълум: -{name}',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Гузинаи номаълум: --{name}',
'Update' => 'Таҳрир намудан',
'View' => 'Аз назар гузарондан',
'Yes' => 'Ҳа',
'You are not allowed to perform this action.' => 'Шумо барои анҷом додани амали мазкур иҷозат надоред.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Шумо наметавонед зиёда аз {limit, number} {limit, plural,one{файлро} few{файлҳоро} many{файлро} other{файлро}} фаро бикашед.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'баъд аз {delta, plural, =1{рӯз} one{# рӯз} few{# рӯз} many{# рӯз} other{# рӯз}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'баъд аз {delta, plural, =1{дақиқа} one{# дақиқа} few{# дақиқа} many{# дақиқа} other{# дақиқа}}',
'in {delta, plural, =1{a month} other{# months}}' => 'баъд аз {delta, plural, =1{моҳ} one{# моҳ} few{# моҳ} many{# моҳ} other{# моҳ}}',
@@ -101,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Ҷадвали «{attribute}» бояд хади ақал {min, number} {min, plural, one{аломат} few{аломат} many{аломат} other{аломат}} дошта бошад.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Ҷадвали «{attribute}» бояд ҳади аксар {min, number} {min, plural, one{аломат} few{аломат} many{аломат} other{аломат}} дошта бошад.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Ҷадвали «{attribute}» бояд {length, number} {length, plural, one{аломат} few{аломат} many{аломат} other{аломат}} дошта бошад.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, one{# рӯз} few{# рӯз} many{# рӯз} other{# рӯз}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, one{# соат} few{# соат} many{# соат} other{# соат}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, one{# дақиқа} few{# дақиқа} many{# дақиқа} other{# дақиқа}}',
@@ -116,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} Б',
'{nFormatted} GB' => '{nFormatted} ГБ',
'{nFormatted} GiB' => '{nFormatted} ГиБ',
- '{nFormatted} kB' => '{nFormatted} КБ',
'{nFormatted} KiB' => '{nFormatted} КиБ',
'{nFormatted} MB' => '{nFormatted} МБ',
'{nFormatted} MiB' => '{nFormatted} МиБ',
@@ -124,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} КБ',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байт} few{байт} many{байт} other{байт}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гибибайт} few{гибибайт} many{гибибайт} other{гибибайт}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гигабайт} few{гигабайт} many{гигабайт} other{гигабайт}}',
diff --git a/framework/messages/th/yii.php b/framework/messages/th/yii.php
index 0b2c056ed9f..6ce740fde16 100644
--- a/framework/messages/th/yii.php
+++ b/framework/messages/th/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(ไม่ได้ตั้ง)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์',
'Are you sure you want to delete this item?' => 'คุณแน่ใจหรือไม่ที่จะลบรายการนี้?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'ลบ',
'Error' => 'ผิดพลาด',
'File upload failed.' => 'อัพโหลดไฟล์ล้มเหลว',
@@ -38,15 +43,19 @@
'No results found.' => 'ไม่พบผลลัพธ์',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'เฉพาะไฟล์ที่มีชนิด MIME ต่อไปนี้ที่ได้รับการอนุญาต: {mimeTypes}',
'Only files with these extensions are allowed: {extensions}.' => 'เฉพาะไฟล์ที่มีนามสกุลต่อไปนี้ที่ได้รับอนุญาต: {extensions}',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'ไม่พบหน้า',
'Please fix the following errors:' => 'โปรดแก้ไขข้อผิดพลาดต่อไปนี้:',
'Please upload a file.' => 'กรุณาอัพโหลดไฟล์',
- 'Powered by {yii}' => 'ขับเคลื่อนโดย {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'แสดง {begin, number} ถึง {end, number} จาก {totalCount, number} ผลลัพธ์',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'ไฟล์ "{file}" ไม่ใช่รูปภาพ',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'ไฟล์ "{file}" มีขนาดใหญ่ไป ไฟล์จะต้องมีขนาดไม่เกิน {formattedLimit}',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'ไฟล์ "{file}" มีขนาดเล็กเกินไป ไฟล์จะต้องมีขนาดมากกว่า {formattedLimit}',
'The format of {attribute} is invalid.' => 'รูปแบบ {attribute} ไม่ถูกต้อง',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'รูปภาพ "{file}" ใหญ่เกินไป ความสูงต้องน้อยกว่า {limit, number} พิกเซล',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'รูปภาพ "{file}" ใหญ่เกินไป ความกว้างต้องน้อยกว่า {limit, number} พิกเซล',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'รูปภาพ "{file}" เล็กเกินไป ความสูงต้องมากว่า {limit, number} พิกเซล',
@@ -55,28 +64,35 @@
'The verification code is incorrect.' => 'รหัสการยืนยันไม่ถูกต้อง',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'ทั้งหมด {count, number} ผลลัพธ์',
'Unable to verify your data submission.' => 'ไม่สามารถตรวจสอบการส่งข้อมูลของคุณ',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'ไม่รู้จักตัวเลือก: --{name}',
'Update' => 'ปรับปรุง',
'View' => 'ดู',
'Yes' => 'ใช่',
'You are not allowed to perform this action.' => 'คุณไม่ได้รับอนุญาตให้ดำเนินการนี้',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'คุณสามารถอัพโหลดมากที่สุด {limit, number} ไฟล์',
- 'in {delta, plural, =1{a second} other{# seconds}}' => 'ใน {delta} วินาที',
- 'in {delta, plural, =1{a minute} other{# minutes}}' => 'ใน {delta} นาที',
- 'in {delta, plural, =1{an hour} other{# hours}}' => 'ใน {delta} ชั่วโมง',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'ใน {delta} วัน',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => 'ใน {delta} นาที',
'in {delta, plural, =1{a month} other{# months}}' => 'ใน {delta} เดือน',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => 'ใน {delta} วินาที',
'in {delta, plural, =1{a year} other{# years}}' => 'ใน {delta} ปี',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => 'ใน {delta} ชั่วโมง',
'just now' => 'เมื่อสักครู่นี้',
'the input value' => 'ค่าป้อนที่เข้ามา',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" ถูกใช้ไปแล้ว',
'{attribute} cannot be blank.' => '{attribute}ต้องไม่ว่างเปล่า',
+ '{attribute} contains wrong subnet mask.' => '{attribute}ไม่ใช่ซับเน็ตที่ถูกต้อง',
'{attribute} is invalid.' => '{attribute}ไม่ถูกต้อง',
'{attribute} is not a valid URL.' => '{attribute}ไม่ใช่รูปแบบ URL ที่ถูกต้อง',
'{attribute} is not a valid email address.' => '{attribute}ไม่ใช่รูปแบบอีเมลที่ถูกต้อง',
+ '{attribute} is not in the allowed range.' => '{attribute}ไม่ได้อยู่ในช่วงที่ได้รับอนุญาต',
'{attribute} must be "{requiredValue}".' => '{attribute}ต้องการ "{requiredValue}"',
'{attribute} must be a number.' => '{attribute}ต้องเป็นตัวเลขเท่านั้น',
'{attribute} must be a string.' => '{attribute}ต้องเป็นตัวอักขระเท่านั้น',
+ '{attribute} must be a valid IP address.' => '{attribute}ต้องเป็นที่อยู่ไอพีที่ถูกต้อง',
+ '{attribute} must be an IP address with specified subnet.' => '{attribute}ต้องเป็นที่อยู่ไอพีกับซับเน็ตที่ระบุ',
'{attribute} must be an integer.' => '{attribute}ต้องเป็นจำนวนเต็มเท่านั้น',
'{attribute} must be either "{true}" or "{false}".' => '{attribute}ต้องเป็น "{true}" หรือ "{false}"',
'{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute}ต้องเหมือนกับ "{compareValueOrAttribute}"',
@@ -86,27 +102,46 @@
'{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute}ต้องน้อยกว่าหรือเท่ากับ "{compareValueOrAttribute}"',
'{attribute} must be no greater than {max}.' => '{attribute}ต้องไม่มากกว่า {max}.',
'{attribute} must be no less than {min}.' => '{attribute}ต้องไม่น้อยกว่า {min}',
+ '{attribute} must not be a subnet.' => '{attribute}ต้องไม่ใช่ซับเน็ต',
+ '{attribute} must not be an IPv4 address.' => '{attribute}ต้องไม่ใช่ที่อยู่ไอพีรุ่น 4',
+ '{attribute} must not be an IPv6 address.' => '{attribute}ต้องไม่ใช่ที่อยู่ไอพีรุ่น 6',
'{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute}ต้องมีค่าไม่เหมือนกับ "{compareValueOrAttribute}"',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute}ควรประกอบด้วยอักขระอย่างน้อย {min, number} อักขระ',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute}ควรประกอบด้วยอักขระอย่างมาก {max, number} อักขระ',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute}ควรประกอบด้วย {length, number} อักขระ',
- '{attribute} contains wrong subnet mask.' => '{attribute}ไม่ใช่ซับเน็ตที่ถูกต้อง',
- '{attribute} is not in the allowed range.' => '{attribute}ไม่ได้อยู่ในช่วงที่ได้รับอนุญาต',
- '{attribute} must be a valid IP address.' => '{attribute}ต้องเป็นที่อยู่ไอพีที่ถูกต้อง',
- '{attribute} must be an IP address with specified subnet.' => '{attribute}ต้องเป็นที่อยู่ไอพีกับซับเน็ตที่ระบุ',
- '{attribute} must not be a subnet.' => '{attribute}ต้องไม่ใช่ซับเน็ต',
- '{attribute} must not be an IPv4 address.' => '{attribute}ต้องไม่ใช่ที่อยู่ไอพีรุ่น 4',
- '{attribute} must not be an IPv6 address.' => '{attribute}ต้องไม่ใช่ที่อยู่ไอพีรุ่น 6',
- '{delta, plural, =1{1 second} other{# seconds}}' => '{delta} วินาที',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '{delta} วัน',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta} ชั่วโมง',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta} นาที',
- '{delta, plural, =1{1 day} other{# days}}' => '{delta} วัน',
'{delta, plural, =1{1 month} other{# months}}' => '{delta} เดือน',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '{delta} วินาที',
'{delta, plural, =1{1 year} other{# years}}' => '{delta} ปี',
- '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta} วินาทีที่ผ่านมา',
- '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta} นาทีที่ผ่านมา',
- '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta} ชั่วโมงที่ผ่านมา',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta} วันที่ผ่านมา',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta} นาทีที่ผ่านมา',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta} เดือนที่ผ่านมา',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta} วินาทีที่ผ่านมา',
'{delta, plural, =1{a year} other{# years}} ago' => '{delta} ปีที่ผ่านมา',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta} ชั่วโมงที่ผ่านมา',
+ '{nFormatted} B' => '',
+ '{nFormatted} GB' => '',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '',
];
diff --git a/framework/messages/tr/yii.php b/framework/messages/tr/yii.php
index b846f17d1e0..f17530b26ca 100644
--- a/framework/messages/tr/yii.php
+++ b/framework/messages/tr/yii.php
@@ -23,9 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(Veri Yok)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Bir sunucu hatası oluştu.',
'Are you sure you want to delete this item?' => 'Bu veriyi silmek istediğinizden emin misiniz?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Sil',
'Error' => 'Hata',
'File upload failed.' => 'Dosya yükleme başarısız.',
@@ -38,28 +43,36 @@
'No results found.' => 'Sonuç bulunamadı',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Sadece bu tip MIME türleri geçerlidir: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Sadece bu tip uzantıları olan dosyalar geçerlidir: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Sayfa bulunamadı.',
'Please fix the following errors:' => 'Lütfen hataları düzeltin:',
'Please upload a file.' => 'Lütfen bir dosya yükleyin.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '{totalCount, number} {totalCount, plural, one{öğenin} other{öğenin}} {begin, number}-{end, number} arası gösteriliyor.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => '"{file}" bir resim dosyası değil.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '"{file}" dosyası çok büyük. Boyutu {formattedLimit} değerinden büyük olamaz.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '"{file}" dosyası çok küçük. Boyutu {formattedLimit} değerinden küçük olamaz.',
'The format of {attribute} is invalid.' => '{attribute} formatı geçersiz.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '"{file}" çok büyük. Yükseklik {limit, plural, one{pixel} other{pixels}} değerinden büyük olamaz.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '"{file}" çok büyük. Genişlik {limit, number} {limit, plural, one{pixel} other{pixels}} değerinden büyük olamaz.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '"{file}" çok küçük. Genişlik {limit, number} {limit, plural, one{pixel} other{pixels}} değerinden küçük olamaz.',
'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '"{file}" çok küçük. Genişlik {limit, number} {limit, plural, one{pixel} other{pixels}} değerinden küçük olamaz.',
+ 'The requested view "{name}" was not found.' => '',
'The verification code is incorrect.' => 'Doğrulama kodu yanlış.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Toplam {count, number} {count, plural, one{öğe} other{öğe}}.',
'Unable to verify your data submission.' => 'İlettiğiniz veri doğrulanamadı.',
'Unknown alias: -{name}' => 'Bilinmeyen rumuz: -{name}',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Bilinmeyen opsiyon: --{name}',
'Update' => 'Güncelle',
'View' => 'Görüntüle',
'Yes' => 'Evet',
'You are not allowed to perform this action.' => 'Bu işlemi yapmaya yetkiniz yok.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Sadece {limit, number} {limit, plural, one{dosya} other{# dosya}} yükleyebilirsiniz.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{bir gün} other{# gün}} içerisinde',
'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{bir dakika} other{# dakika}} içerisinde',
'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{bir ay} other{# ay}} içerisinde',
@@ -96,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} en az {min, number} karakter içermeli.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} en fazla {max, number} karakter içermeli.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} {length, number} karakter içermeli.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 gün} other{# gün}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 saat} other{# saat}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 dakika} other{# dakika}}',
@@ -111,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -119,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{bayt} other{bayt}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibayt} other{gibibayt}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabayt} other{gigabayt}}',
diff --git a/framework/messages/uk/yii.php b/framework/messages/uk/yii.php
index fb6fed9c46a..1a61ec73c2b 100644
--- a/framework/messages/uk/yii.php
+++ b/framework/messages/uk/yii.php
@@ -23,15 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- '{attribute} must be equal to "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути рівним "{compareValueOrAttribute}".',
- '{attribute} must be greater than "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути більшим значення "{compareValueOrAttribute}".',
- '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути більшим або дорівнювати значенню "{compareValueOrAttribute}".',
- '{attribute} must be less than "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути меншим значення "{compareValueOrAttribute}".',
- '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути меншим або дорівнювати значенню "{compareValueOrAttribute}".',
- '{attribute} must not be equal to "{compareValueOrAttribute}".' => 'Значення "{attribute}" не повинно бути рівним "{compareValueOrAttribute}".',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(не задано)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Виникла внутрішня помилка сервера.',
'Are you sure you want to delete this item?' => 'Ви впевнені, що хочете видалити цей елемент?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Видалити',
'Error' => 'Помилка',
'File upload failed.' => 'Завантаження файлу не вдалося.',
@@ -44,14 +43,19 @@
'No results found.' => 'Нічого не знайдено.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Дозволені файли лише з наступними MIME-типами: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Дозволені файли лише з наступними розширеннями: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Сторінка не знайдена.',
'Please fix the following errors:' => 'Будь ласка, виправте наступні помилки:',
'Please upload a file.' => 'Будь ласка, завантажте файл.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Показані {begin, number}-{end, number} із {totalCount, number} {totalCount, plural, one{запису} other{записів}}.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'Файл "{file}" не є зображенням.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Файл "{file}" занадто великий. Розмір не повинен перевищувати {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Файл "{file}" занадто малий. Розмір повинен бути більше, ніж {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Невірний формат значення "{attribute}".',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Зображення "{file}" занадто велике. Висота не повинна перевищувати {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Зображення "{file}" занадто велике. Ширина не повинна перевищувати {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Зображення "{file}" занадто мале. Висота повинна бути більше, ніж {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.',
@@ -60,12 +64,15 @@
'The verification code is incorrect.' => 'Невірний код перевірки.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Всього {count, number} {count, plural, one{запис} few{записи} many{записів} other{записи}}.',
'Unable to verify your data submission.' => 'Не вдалося перевірити передані дані.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Невідома опція : --{name}',
'Update' => 'Оновити',
'View' => 'Переглянути',
'Yes' => 'Так',
'You are not allowed to perform this action.' => 'Вам не дозволено виконувати дану дію.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Ви не можете завантажувати більше {limit, number} {limit, plural, one{файла} few{файлів} many{файлів} other{файла}}.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'через {delta, plural, =1{день} one{# день} few{# дні} many{# днів} other{# дні}}',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'через {delta, plural, =1{хвилину} one{# хвилину} few{# хвилини} many{# хвилин} other{# хвилини}}',
'in {delta, plural, =1{a month} other{# months}}' => 'через {delta, plural, =1{місяць} one{# місяць} few{# місяці} many{# місяців} other{# місяці}}',
@@ -88,14 +95,21 @@
'{attribute} must be an IP address with specified subnet.' => 'Значення «{attribute}» повинно бути IP адресою з підмережею.',
'{attribute} must be an integer.' => 'Значення "{attribute}" має бути цілим числом.',
'{attribute} must be either "{true}" or "{false}".' => 'Значення "{attribute}" має дорівнювати "{true}" або "{false}".',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути рівним "{compareValueOrAttribute}".',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути більшим значення "{compareValueOrAttribute}".',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути більшим або дорівнювати значенню "{compareValueOrAttribute}".',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути меншим значення "{compareValueOrAttribute}".',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => 'Значення "{attribute}" повинно бути меншим або дорівнювати значенню "{compareValueOrAttribute}".',
'{attribute} must be no greater than {max}.' => 'Значення "{attribute}" не повинно перевищувати {max}.',
'{attribute} must be no less than {min}.' => 'Значення "{attribute}" має бути більшим {min}.',
'{attribute} must not be a subnet.' => 'Значення «{attribute}» не повинно бути підмережею.',
'{attribute} must not be an IPv4 address.' => 'Значення «{attribute}» не повинно бути IPv4 адресою.',
'{attribute} must not be an IPv6 address.' => 'Значення «{attribute}» не повинно бути IPv6 адресою.',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => 'Значення "{attribute}" не повинно бути рівним "{compareValueOrAttribute}".',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Значення "{attribute}" повинно містити мінімум {min, number} {min, plural, one{символ} few{символа} many{символів} other{символа}}.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Значення "{attribute}" повинно містити максимум {max, number} {max, plural, one{символ} few{символа} many{символів} other{символа}}.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Значення "{attribute}" повинно містити {length, number} {length, plural, one{символ} few{символа} many{символів} other{символа}}.',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, one{# день} few{# дні} many{# днів} other{# днів}}',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, one{# година} few{# години} many{# годин} other{# годин}}',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, one{# хвилина} few{# хвилини} many{# хвилин} other{# хвилин}}',
@@ -111,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} Б',
'{nFormatted} GB' => '{nFormatted} Гб',
'{nFormatted} GiB' => '{nFormatted} ГіБ',
- '{nFormatted} kB' => '{nFormatted} Кб',
'{nFormatted} KiB' => '{nFormatted} КіБ',
'{nFormatted} MB' => '{nFormatted} Мб',
'{nFormatted} MiB' => '{nFormatted} МіБ',
@@ -119,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} ПіБ',
'{nFormatted} TB' => '{nFormatted} Тб',
'{nFormatted} TiB' => '{nFormatted} ТіБ',
+ '{nFormatted} kB' => '{nFormatted} Кб',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байт} few{байта} many{байтів} other{байта}}',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гібібайт} few{гібібайта} many{гібібайтів} other{гібібайта}}',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гігабайт} few{гігабайта} many{гігабайтів} other{гігабайта}}',
diff --git a/framework/messages/uz-Cy/yii.php b/framework/messages/uz-Cy/yii.php
index f29a077b30c..c7ae1e73d88 100644
--- a/framework/messages/uz-Cy/yii.php
+++ b/framework/messages/uz-Cy/yii.php
@@ -1,125 +1,147 @@
'{nFormatted} Б',
- '{nFormatted} GB' => '{nFormatted} ГБ',
- '{nFormatted} GiB' => '{nFormatted} ГиБ',
- '{nFormatted} KB' => '{nFormatted} КБ',
- '{nFormatted} KiB' => '{nFormatted} КиБ',
- '{nFormatted} MB' => '{nFormatted} МБ',
- '{nFormatted} MiB' => '{nFormatted} МиБ',
- '{nFormatted} PB' => '{nFormatted} ПБ',
- '{nFormatted} PiB' => '{nFormatted} ПиБ',
- '{nFormatted} TB' => '{nFormatted} ТБ',
- '{nFormatted} TiB' => '{nFormatted} ТиБ',
- '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байт} few{байт} many{байтлар} other{байт}}',
- '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гибибайт} few{гибибайт} many{гибибайт} other{гибибайт}}',
- '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гигабайт} few{гигабайт} many{гигабайт} other{гигабайт}}',
- '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, one{кибибайт} few{кибибайт} many{кибибайт} other{кибибайт}}',
- '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{килобайт} few{килобайт} many{килобайт} other{килобайт}}',
- '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, one{мебибайт} few{мебибайт} many{мебибайт} other{мебибайт}}',
- '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{мегабайт} few{мегабайт} many{мегабайт} other{мегабайт}}',
- '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, one{пебибайт} few{пебибайт} many{пебибайт} other{пебибайт}}',
- '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{петабайт} few{петабайт} many{петабайт} other{петабайт}}',
- '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{тебибайт} few{тебибайт} many{тебибайт} other{тебибайт}}',
- '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{терабайт} few{терабайт} many{терабайт} other{терабайт}}',
- '(not set)' => '(қийматланмаган)',
- 'An internal server error occurred.' => 'Сервернинг ички хатолиги юз берди.',
- 'Are you sure you want to delete this item?' => 'Сиз ростдан ҳам ушбу элементни ўчирмоқчимисиз?',
- 'Delete' => 'Ўчириш',
- 'Error' => 'Хато',
- 'File upload failed.' => 'Файлни юклаб бўлмади.',
- 'Home' => 'Асосий',
- 'Invalid data received for parameter "{param}".' => '"{param}" параметр қиймати нотўғри.',
- 'Login Required' => 'Кириш талаб қилинади.',
- 'Missing required arguments: {params}' => 'Қуйидаги зарур аргументлар мавжуд эмас: {params}',
- 'Missing required parameters: {params}' => 'Қуйидаги зарур параметрлар мавжуд эмас: {params}',
- 'No' => 'Йўқ',
- 'No help for unknown command "{command}".' => '"{command}" ноаниқ команда учун маълумотнома мавжуд эмас.',
- 'No help for unknown sub-command "{command}".' => '"{command}" ноаниқ қисм команда учун маълумотнома мавжуд эмас.',
- 'No results found.' => 'Хеч нима топилмади.',
- 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Фақат MIME-туридаги файлларни юклашга рухсат берилган: {mimeTypes}.',
- 'Only files with these extensions are allowed: {extensions}.' => 'Фақат қуйидаги кенгайтмали файлларни юклашга рухсат берилган: {extensions}.',
- 'Page not found.' => 'Саҳифа топилмади.',
- 'Please fix the following errors:' => 'Қуйидаги хатоликларни тўғриланг:',
- 'Please upload a file.' => 'Файлни юкланг.',
- 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Намойиш этиляпти {begin, number}-{end, number} маълумот, жами: {totalCount, number} та',
- 'The file "{file}" is not an image.' => '«{file}» расм файл эмас.',
- 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '«{file}» файл жуда катта. Ўлчам {formattedLimit} ошиши керак эмас.',
- 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '«{file}» файл жуда кичкина. Ўлчам {formattedLimit} кам бўлмаслиги керак.',
- 'The format of {attribute} is invalid.' => '«{attribute}» қийматнинг формати нотўғри.',
- 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файл жуда катта. Баландлик {limit, number} {limit, plural, one{пикселдан} few{пикселдан} many{пикселдан} other{пикселдан}} ошмаслиги керак.',
- 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файл жуда катта. Эни {limit, number} {limit, plural, one{пикселдан} few{пикселдан} many{пикселдан} other{пикселдан}} ошмаслиги керак.',
- 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файл жуда кичкина. Баландлик {limit, number} {limit, plural, one{пикселдан} few{пикселдан} many{пикселдан} other{пикселдан}} кам бўлмаслиги керак.',
- 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файл жуда кичкина. Эни {limit, number} {limit, plural, one{пикселдан} few{пикселдан} many{пикселдан} other{пикселдан}} кам бўлмаслиги керак.',
- 'The requested view "{name}" was not found.' => 'Сўралаётган "{name}" файли топилмади.',
- 'The verification code is incorrect.' => 'Текширув коди нотўғри.',
- 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Жами {count, number} {count, plural, one{ёзув} few{ёзув} many{ёзув} other{ёзув}}.',
- 'Unable to verify your data submission.' => 'Юборилган маълумотларни текшириб бўлмади.',
- 'Unknown command "{command}".' => '"{command}" ноаниқ бўйриқ.',
- 'Unknown option: --{name}' => 'Ноаниқ танлов: --{name}',
- 'Update' => 'Таҳририлаш',
- 'View' => 'Кўриш',
- 'Yes' => 'Ҳа',
- 'You are not allowed to perform this action.' => 'Сизга ушбу амални бажаришга руҳсат берилмаган.',
- 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Сиз {limit, number} {limit, plural, one{файлдан} few{файллардан} many{файллардан} other{файллардан}} кўпини юклаб ололмайсиз.',
- 'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{кундан} one{# кундан} few{# кундан} many{# кунлардан} other{# кундан}} кейин',
- 'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{минутдан} one{# минутдан} few{# минутлардан} many{# минутдан} other{# минутлардан}} кейин',
- 'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{ойдан} one{# ойдан} few{# ойдан} many{# ойлардан} other{# ойлардан}} кейин',
- 'in {delta, plural, =1{a second} other{# seconds}}' => '{delta, plural, =1{секунддан} one{# секунддан} few{# секундлардан} many{# секунддан} other{# секундлардан}} кейин',
- 'in {delta, plural, =1{a year} other{# years}}' => '{delta, plural, =1{йилдан} one{# йилдан} few{# йиллардан} many{# йиллардан} other{# йиллардан}} кейин',
- 'in {delta, plural, =1{an hour} other{# hours}}' => '{delta, plural, =1{соатдан} one{# соатдан} few{# соатлардан} many{# соатлардан} other{# соатлардан}} кейин',
- 'just now' => 'ҳозироқ',
- 'the input value' => 'киритилган қиймат',
- '{attribute} "{value}" has already been taken.' => '{attribute} «{value}» аввалроқ банд қилинган.',
- '{attribute} cannot be blank.' => '«{attribute}» тўлдириш шарт.',
- '{attribute} is invalid.' => '«{attribute}» қиймати нотўғри',
- '{attribute} is not a valid URL.' => '«{attribute}» тўғри URL эмас.',
- '{attribute} is not a valid email address.' => '«{attribute}» тўғри электрон манзил эмас.',
- '{attribute} must be "{requiredValue}".' => '«{attribute}» қиймати «{requiredValue}» га тенг бўлиши керак.',
- '{attribute} must be a number.' => '«{attribute}» қиймати сон бўлиши керак.',
- '{attribute} must be a string.' => '«{attribute}» қиймати матн бўлиши керак.',
- '{attribute} must be an integer.' => '«{attribute}» қиймати бутун сон бўлиши керак.',
- '{attribute} must be either "{true}" or "{false}".' => '«{attribute}» қиймати «{true}» ёки «{false}» бўлиши керак.',
- '{attribute} must be greater than "{compareValue}".' => '«{attribute}» қиймати «{compareValue}» дан катта бўлиши керак.',
- '{attribute} must be greater than or equal to "{compareValue}".' => '«{attribute}» қиймати «{compareValue}» дан катта ёки тенг бўлиши керак.',
- '{attribute} must be less than "{compareValue}".' => '«{attribute}» қиймати «{compareValue}» дан кичкина бўлиши керак.',
- '{attribute} must be less than or equal to "{compareValue}".' => '«{attribute}» қиймати «{compareValue}» дан кичик ёки тенг бўлиши керак.',
- '{attribute} must be no greater than {max}.' => '«{attribute}» қиймати {max} дан ошмаслиги керак.',
- '{attribute} must be no less than {min}.' => '«{attribute}» қиймати {min} дан катта бўлиши керак.',
- '{attribute} must be repeated exactly.' => '«{attribute}» қиймати бир хил тарзда такрорланиши керак.',
- '{attribute} must not be equal to "{compareValue}".' => '«{attribute}» қиймати «{compareValue}» га тенг бўлмаслиги керак.',
- '{attribute} must not be equal to "{compareValueOrAttribute}".' => '«{attribute}» қиймати «{compareValueOrAttribute}» қийматига тенг бўлмаслиги лозим.',
- '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '«{attribute}» қиймати минимум {min, number} {min, plural, one{белгидан} few{белгидан} many{белгидан} other{белгидан}} ташкил топиши керак.',
- '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '«{attribute}» қиймати максимум {max, number} {max, plural, one{белгидан} few{белгидан} many{белгидан} other{белгидан}} ошмаслиги керак.',
- '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '«{attribute}» қиймати {length, number} {length, plural, one{белгидан} few{белгидан} many{белгидан} other{белгидан}} ташкил топиши керак.',
- '{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{кун} one{кун} few{# кун} many{# кун} other{# кун}} аввал',
- '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{дақиқа} one{# дақиқа} few{# дақиқа} many{# дақиқа} other{# дақиқа}} аввал',
- '{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{ой} one{# ой} few{# ой} many{# ой} other{# ой}} аввал',
- '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{сония} one{# сония} few{# сония} many{# сония} other{# сония}} аввал',
- '{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{йил} one{# йил} few{# йил} many{# йил} other{# йил}} аввал',
- '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{соат} one{# соат} few{# соат} many{# соат} other{# соат}} аввал',
- ];
+/**
+ * @link https://www.yiiframework.com/
+ * @copyright Copyright (c) 2008 Yii Software LLC
+ * @license https://www.yiiframework.com/license/
+ */
+/**
+ * Message translations.
+ *
+ * This file is automatically generated by 'yii message/extract' command.
+ * It contains the localizable messages extracted from source code.
+ * You may modify this file by translating the extracted messages.
+ *
+ * Each array element represents the translation (value) of a message (key).
+ * If the value is empty, the message is considered as not translated.
+ * Messages that no longer need translation will have their translations
+ * enclosed between a pair of '@@' marks.
+ *
+ * Message string can be used with plural forms format. Check i18n section
+ * of the guide for details.
+ *
+ * NOTE: this file must be saved in UTF-8 encoding.
+ */
+return [
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
+ '(not set)' => '(қийматланмаган)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
+ 'An internal server error occurred.' => 'Сервернинг ички хатолиги юз берди.',
+ 'Are you sure you want to delete this item?' => 'Сиз ростдан ҳам ушбу элементни ўчирмоқчимисиз?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
+ 'Delete' => 'Ўчириш',
+ 'Error' => 'Хато',
+ 'File upload failed.' => 'Файлни юклаб бўлмади.',
+ 'Home' => 'Асосий',
+ 'Invalid data received for parameter "{param}".' => '"{param}" параметр қиймати нотўғри.',
+ 'Login Required' => 'Кириш талаб қилинади.',
+ 'Missing required arguments: {params}' => 'Қуйидаги зарур аргументлар мавжуд эмас: {params}',
+ 'Missing required parameters: {params}' => 'Қуйидаги зарур параметрлар мавжуд эмас: {params}',
+ 'No' => 'Йўқ',
+ 'No results found.' => 'Хеч нима топилмади.',
+ 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Фақат MIME-туридаги файлларни юклашга рухсат берилган: {mimeTypes}.',
+ 'Only files with these extensions are allowed: {extensions}.' => 'Фақат қуйидаги кенгайтмали файлларни юклашга рухсат берилган: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
+ 'Page not found.' => 'Саҳифа топилмади.',
+ 'Please fix the following errors:' => 'Қуйидаги хатоликларни тўғриланг:',
+ 'Please upload a file.' => 'Файлни юкланг.',
+ 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Намойиш этиляпти {begin, number}-{end, number} маълумот, жами: {totalCount, number} та',
+ 'The combination {values} of {attributes} has already been taken.' => '',
+ 'The file "{file}" is not an image.' => '«{file}» расм файл эмас.',
+ 'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '«{file}» файл жуда катта. Ўлчам {formattedLimit} ошиши керак эмас.',
+ 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '«{file}» файл жуда кичкина. Ўлчам {formattedLimit} кам бўлмаслиги керак.',
+ 'The format of {attribute} is invalid.' => '«{attribute}» қийматнинг формати нотўғри.',
+ 'The format of {filter} is invalid.' => '',
+ 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файл жуда катта. Баландлик {limit, number} {limit, plural, one{пикселдан} few{пикселдан} many{пикселдан} other{пикселдан}} ошмаслиги керак.',
+ 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файл жуда катта. Эни {limit, number} {limit, plural, one{пикселдан} few{пикселдан} many{пикселдан} other{пикселдан}} ошмаслиги керак.',
+ 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файл жуда кичкина. Баландлик {limit, number} {limit, plural, one{пикселдан} few{пикселдан} many{пикселдан} other{пикселдан}} кам бўлмаслиги керак.',
+ 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» файл жуда кичкина. Эни {limit, number} {limit, plural, one{пикселдан} few{пикселдан} many{пикселдан} other{пикселдан}} кам бўлмаслиги керак.',
+ 'The requested view "{name}" was not found.' => 'Сўралаётган "{name}" файли топилмади.',
+ 'The verification code is incorrect.' => 'Текширув коди нотўғри.',
+ 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Жами {count, number} {count, plural, one{ёзув} few{ёзув} many{ёзув} other{ёзув}}.',
+ 'Unable to verify your data submission.' => 'Юборилган маълумотларни текшириб бўлмади.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
+ 'Unknown option: --{name}' => 'Ноаниқ танлов: --{name}',
+ 'Update' => 'Таҳририлаш',
+ 'View' => 'Кўриш',
+ 'Yes' => 'Ҳа',
+ 'You are not allowed to perform this action.' => 'Сизга ушбу амални бажаришга руҳсат берилмаган.',
+ 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Сиз {limit, number} {limit, plural, one{файлдан} few{файллардан} many{файллардан} other{файллардан}} кўпини юклаб ололмайсиз.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{кундан} one{# кундан} few{# кундан} many{# кунлардан} other{# кундан}} кейин',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{минутдан} one{# минутдан} few{# минутлардан} many{# минутдан} other{# минутлардан}} кейин',
+ 'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{ойдан} one{# ойдан} few{# ойдан} many{# ойлардан} other{# ойлардан}} кейин',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '{delta, plural, =1{секунддан} one{# секунддан} few{# секундлардан} many{# секунддан} other{# секундлардан}} кейин',
+ 'in {delta, plural, =1{a year} other{# years}}' => '{delta, plural, =1{йилдан} one{# йилдан} few{# йиллардан} many{# йиллардан} other{# йиллардан}} кейин',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '{delta, plural, =1{соатдан} one{# соатдан} few{# соатлардан} many{# соатлардан} other{# соатлардан}} кейин',
+ 'just now' => 'ҳозироқ',
+ 'the input value' => 'киритилган қиймат',
+ '{attribute} "{value}" has already been taken.' => '{attribute} «{value}» аввалроқ банд қилинган.',
+ '{attribute} cannot be blank.' => '«{attribute}» тўлдириш шарт.',
+ '{attribute} contains wrong subnet mask.' => '',
+ '{attribute} is invalid.' => '«{attribute}» қиймати нотўғри',
+ '{attribute} is not a valid URL.' => '«{attribute}» тўғри URL эмас.',
+ '{attribute} is not a valid email address.' => '«{attribute}» тўғри электрон манзил эмас.',
+ '{attribute} is not in the allowed range.' => '',
+ '{attribute} must be "{requiredValue}".' => '«{attribute}» қиймати «{requiredValue}» га тенг бўлиши керак.',
+ '{attribute} must be a number.' => '«{attribute}» қиймати сон бўлиши керак.',
+ '{attribute} must be a string.' => '«{attribute}» қиймати матн бўлиши керак.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
+ '{attribute} must be an integer.' => '«{attribute}» қиймати бутун сон бўлиши керак.',
+ '{attribute} must be either "{true}" or "{false}".' => '«{attribute}» қиймати «{true}» ёки «{false}» бўлиши керак.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '«{attribute}» қиймати «{compareValueOrAttribute}» дан катта бўлиши керак.',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '«{attribute}» қиймати «{compareValueOrAttribute}» дан катта ёки тенг бўлиши керак.',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '«{attribute}» қиймати «{compareValueOrAttribute}» дан кичкина бўлиши керак.',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '«{attribute}» қиймати «{compareValueOrAttribute}» дан кичик ёки тенг бўлиши керак.',
+ '{attribute} must be no greater than {max}.' => '«{attribute}» қиймати {max} дан ошмаслиги керак.',
+ '{attribute} must be no less than {min}.' => '«{attribute}» қиймати {min} дан катта бўлиши керак.',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '«{attribute}» қиймати «{compareValueOrAttribute}» қийматига тенг бўлмаслиги лозим.',
+ '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '«{attribute}» қиймати минимум {min, number} {min, plural, one{белгидан} few{белгидан} many{белгидан} other{белгидан}} ташкил топиши керак.',
+ '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '«{attribute}» қиймати максимум {max, number} {max, plural, one{белгидан} few{белгидан} many{белгидан} other{белгидан}} ошмаслиги керак.',
+ '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '«{attribute}» қиймати {length, number} {length, plural, one{белгидан} few{белгидан} many{белгидан} other{белгидан}} ташкил топиши керак.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
+ '{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{кун} one{кун} few{# кун} many{# кун} other{# кун}} аввал',
+ '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{дақиқа} one{# дақиқа} few{# дақиқа} many{# дақиқа} other{# дақиқа}} аввал',
+ '{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{ой} one{# ой} few{# ой} many{# ой} other{# ой}} аввал',
+ '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{сония} one{# сония} few{# сония} many{# сония} other{# сония}} аввал',
+ '{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{йил} one{# йил} few{# йил} many{# йил} other{# йил}} аввал',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{соат} one{# соат} few{# соат} many{# соат} other{# соат}} аввал',
+ '{nFormatted} B' => '{nFormatted} Б',
+ '{nFormatted} GB' => '{nFormatted} ГБ',
+ '{nFormatted} GiB' => '{nFormatted} ГиБ',
+ '{nFormatted} KiB' => '{nFormatted} КиБ',
+ '{nFormatted} MB' => '{nFormatted} МБ',
+ '{nFormatted} MiB' => '{nFormatted} МиБ',
+ '{nFormatted} PB' => '{nFormatted} ПБ',
+ '{nFormatted} PiB' => '{nFormatted} ПиБ',
+ '{nFormatted} TB' => '{nFormatted} ТБ',
+ '{nFormatted} TiB' => '{nFormatted} ТиБ',
+ '{nFormatted} kB' => '',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байт} few{байт} many{байтлар} other{байт}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гибибайт} few{гибибайт} many{гибибайт} other{гибибайт}}',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гигабайт} few{гигабайт} many{гигабайт} other{гигабайт}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, one{кибибайт} few{кибибайт} many{кибибайт} other{кибибайт}}',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{килобайт} few{килобайт} many{килобайт} other{килобайт}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, one{мебибайт} few{мебибайт} many{мебибайт} other{мебибайт}}',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{мегабайт} few{мегабайт} many{мегабайт} other{мегабайт}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, one{пебибайт} few{пебибайт} many{пебибайт} other{пебибайт}}',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{петабайт} few{петабайт} many{петабайт} other{петабайт}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{тебибайт} few{тебибайт} many{тебибайт} other{тебибайт}}',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{терабайт} few{терабайт} many{терабайт} other{терабайт}}',
+];
diff --git a/framework/messages/uz/yii.php b/framework/messages/uz/yii.php
index 306de73abcc..cf1a2f612f3 100644
--- a/framework/messages/uz/yii.php
+++ b/framework/messages/uz/yii.php
@@ -23,31 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- '{nFormatted} B' => '{nFormatted} B',
- '{nFormatted} GB' => '{nFormatted} GB',
- '{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
- '{nFormatted} KiB' => '{nFormatted} KiB',
- '{nFormatted} MB' => '{nFormatted} MB',
- '{nFormatted} MiB' => '{nFormatted} MiB',
- '{nFormatted} PB' => '{nFormatted} PB',
- '{nFormatted} PiB' => '{nFormatted} PiB',
- '{nFormatted} TB' => '{nFormatted} TB',
- '{nFormatted} TiB' => '{nFormatted} TiB',
- '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{bayt} few{bayt} many{baytlar} other{bayt}}',
- '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{gibibayt} few{gibibayt} many{gibibayt} other{gibibayt}}',
- '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{gigabayt} few{gigabayt} many{gigabayt} other{gigabayt}}',
- '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, one{kibibayt} few{kibibayt} many{kibibayt} other{kibibayt}}',
- '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{kilobayt} few{kilobayt} many{kilobayt} other{kilobayt}}',
- '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, one{mebibayt} few{mebibayt} many{mebibayt} other{mebibayt}}',
- '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{megabayt} few{megabayt} many{megabayt} other{megabayt}}',
- '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, one{pebibayt} few{pebibayt} many{pebibayt} other{pebibayt}}',
- '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{petabayt} few{petabayt} many{petabayt} other{petabayt}}',
- '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{tebibayt} few{tebibayt} many{tebibayt} other{tebibayt}}',
- '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{terabayt} few{terabayt} many{terabayt} other{terabayt}}',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(qiymatlanmagan)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Serverning ichki xatoligi yuz berdi.',
'Are you sure you want to delete this item?' => 'Siz rostdan ham ushbu elementni o`chirmoqchimisiz?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'O`chirish',
'Error' => 'Xato',
'File upload failed.' => 'Faylni yuklab bo`lmadi.',
@@ -57,19 +40,22 @@
'Missing required arguments: {params}' => 'Quyidagi zarur argumentlar mavjud emas: {params}',
'Missing required parameters: {params}' => 'Quyidagi zarur parametrlar mavjud emas: {params}',
'No' => 'Yo`q',
- 'No help for unknown command "{command}".' => '"{command}" noaniq komanda uchun ma`lumotnoma mavjud emas.',
- 'No help for unknown sub-command "{command}".' => '"{command}" noaniq qism komanda uchun ma`lumotnoma mavjud emas.',
'No results found.' => 'Hech nima topilmadi.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Faqat quyidagi MIME-turidagi fayllarni yuklashga ruhsat berilgan: {mimeTypes}.',
'Only files with these extensions are allowed: {extensions}.' => 'Faqat quyidagi kengaytmali fayllarni yuklashga ruhsat berilgan: {extensions}.',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Sahifa topilmadi.',
'Please fix the following errors:' => 'Navbatdagi xatoliklarni to`g`rilang:',
'Please upload a file.' => 'Faylni yuklang.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Namoyish etilayabdi {begin, number}-{end, number} ta yozuv {totalCount, number} tadan.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => '«{file}» fayl rasm emas.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '«{file}» fayl juda katta. O`lcham {formattedLimit} oshishi kerak emas.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '«{file}» fayl juda kichkina. O`lcham {formattedLimit} kam bo`lmasligi kerak.',
'The format of {attribute} is invalid.' => '«{attribute}» qiymatning formati noto`g`ri.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» fayl juda katta. Balandlik {limit, number} {limit, plural, one{pikseldan} few{pikseldan} many{pikseldan} other{pikseldan}} oshmasligi kerak.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» fayl juda katta. Eni {limit, number} {limit, plural, one{pikseldan} few{pikseldan} many{pikseldan} other{pikseldan}} oshmasligi kerak.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '«{file}» fayl juda kichkina. Balandlik {limit, number} {limit, plural, one{pikseldan} few{pikseldan} many{pikseldan} other{pikseldan}} kam bo`lmasligi kerak.',
@@ -78,13 +64,15 @@
'The verification code is incorrect.' => 'Tekshiruv kodi noto`g`ri.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Jami {count, number} {count, plural, one{yozuv} few{yozuv} many{yozuv} other{yozuv}}.',
'Unable to verify your data submission.' => 'Yuborilgan ma`lumotlarni tekshirib bo`lmadi.',
- 'Unknown command "{command}".' => '"{command}" noaniq komanda.',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Noaniq opsiya: --{name}',
'Update' => 'Tahrirlash',
'View' => 'Ko`rish',
'Yes' => 'Ha',
'You are not allowed to perform this action.' => 'Sizga ushbu amalni bajarishga ruhsat berilmagan.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Siz {limit, number} {limit, plural, one{fayldan} few{fayllardan} many{fayllardan} other{fayllardan}} ko`pini yuklab ola olmaysiz.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => '{delta, plural, =1{kundan} one{# kundan} few{# kundan} many{# kunlardan} other{# kundan}} keyin',
'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta, plural, =1{minutdan} one{# minutdan} few{# minutlardan} many{# minutdan} other{# minutlardan}} keyin',
'in {delta, plural, =1{a month} other{# months}}' => '{delta, plural, =1{oydan} one{# oydan} few{# oydan} many{# oylardan} other{# oylardan}} keyin',
@@ -95,30 +83,65 @@
'the input value' => 'kiritilgan qiymat',
'{attribute} "{value}" has already been taken.' => '{attribute} «{value}» avvalroq band qilingan.',
'{attribute} cannot be blank.' => '«{attribute}» to`ldirish shart.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '«{attribute}» qiymati noto`g`ri.',
'{attribute} is not a valid URL.' => '«{attribute}» qiymati to`g`ri URL emas.',
'{attribute} is not a valid email address.' => '«{attribute}» qiymati to`g`ri email manzil emas.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '«{attribute}» qiymati «{requiredValue}» ga teng bo`lishi kerak.',
'{attribute} must be a number.' => '«{attribute}» qiymati son bo`lishi kerak.',
'{attribute} must be a string.' => '«{attribute}» qiymati satr bo`lishi kerak.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '«{attribute}» qiymati butun son bo`lishi kerak.',
'{attribute} must be either "{true}" or "{false}".' => '«{attribute}» qiymati «{true}» yoki «{false}» bo`lishi kerak.',
- '{attribute} must be greater than "{compareValue}".' => '«{attribute}» qiymati «{compareValue}» dan katta bo`lishi kerak.',
- '{attribute} must be greater than or equal to "{compareValue}".' => '«{attribute}» qiymati «{compareValue}» dan katta yoki teng bo`lishi kerak.',
- '{attribute} must be less than "{compareValue}".' => '«{attribute}» qiymati «{compareValue}» dan kichkina bo`lishi kerak.',
- '{attribute} must be less than or equal to "{compareValue}".' => '«{attribute}» qiymati «{compareValue}» dan kichik yoki teng bo`lishi kerak.',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '«{attribute}» qiymati «{compareValueOrAttribute}» dan katta bo`lishi kerak.',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '«{attribute}» qiymati «{compareValueOrAttribute}» dan katta yoki teng bo`lishi kerak.',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '«{attribute}» qiymati «{compareValueOrAttribute}» dan kichkina bo`lishi kerak.',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '«{attribute}» qiymati «{compareValueOrAttribute}» dan kichik yoki teng bo`lishi kerak.',
'{attribute} must be no greater than {max}.' => '«{attribute}» qiymati {max} dan oshmasligi kerak.',
'{attribute} must be no less than {min}.' => '«{attribute}» qiymati {min} dan kichkina bo`lmasligi kerak.',
- '{attribute} must be repeated exactly.' => '«{attribute}» qiymati bir xil tarzda takrorlanishi kerak.',
- '{attribute} must not be equal to "{compareValue}".' => '«{attribute}» qiymati «{compareValue}» ga teng bo`lmasligi kerak.',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
'{attribute} must not be equal to "{compareValueOrAttribute}".' => '«{attribute}» qiymati «{compareValueOrAttribute}» qiymatiga teng bo`lmasligi lozim.',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '«{attribute}» qiymati minimum {min, number} {min, plural, one{belgidan} few{belgidan} many{belgidan} other{belgidan}} tashkil topishi kerak.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '«{attribute}» qiymati maksimum {max, number} {max, plural, one{belgidan} few{belgidan} many{belgidan} other{belgidan}} oshmasligi kerak.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '«{attribute}» qiymati {length, number} {length, plural, one{belgidan} few{belgidan} many{belgidan} other{belgidan}} tashkil topishi kerak.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{kun} one{kun} few{# kun} many{# kun} other{# kun}} avval',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{daqiqa} one{# daqiqa} few{# daqiqa} many{# daqiqa} other{# daqiqa}} avval',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{oy} one{# oy} few{# oy} many{# oy} other{# oy}} avval',
'{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{soniya} one{# soniya} few{# soniya} many{# soniya} other{# soniya}} avval',
'{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{yil} one{# yil} few{# yil} many{# yil} other{# yil}} avval',
'{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{soat} one{# soat} few{# soat} many{# soat} other{# soat}} avval',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '{nFormatted} GiB',
+ '{nFormatted} KiB' => '{nFormatted} KiB',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '{nFormatted} MiB',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '{nFormatted} PiB',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{bayt} few{bayt} many{baytlar} other{bayt}}',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{gibibayt} few{gibibayt} many{gibibayt} other{gibibayt}}',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{gigabayt} few{gigabayt} many{gigabayt} other{gigabayt}}',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, one{kibibayt} few{kibibayt} many{kibibayt} other{kibibayt}}',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{kilobayt} few{kilobayt} many{kilobayt} other{kilobayt}}',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, one{mebibayt} few{mebibayt} many{mebibayt} other{mebibayt}}',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{megabayt} few{megabayt} many{megabayt} other{megabayt}}',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, one{pebibayt} few{pebibayt} many{pebibayt} other{pebibayt}}',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{petabayt} few{petabayt} many{petabayt} other{petabayt}}',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{tebibayt} few{tebibayt} many{tebibayt} other{tebibayt}}',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{terabayt} few{terabayt} many{terabayt} other{terabayt}}',
];
diff --git a/framework/messages/vi/yii.php b/framework/messages/vi/yii.php
index 4bbc9f4896b..947442e6d21 100644
--- a/framework/messages/vi/yii.php
+++ b/framework/messages/vi/yii.php
@@ -24,9 +24,13 @@
*/
return [
' and ' => ' và ',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(không có)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => 'Máy chủ đã gặp sự cố nội bộ.',
'Are you sure you want to delete this item?' => 'Bạn có chắc là sẽ xóa mục này không?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => 'Xóa',
'Error' => 'Lỗi',
'File upload failed.' => 'Không tải được file lên.',
@@ -36,19 +40,22 @@
'Missing required arguments: {params}' => 'Thiếu đối số: {params}',
'Missing required parameters: {params}' => 'Thiếu tham số: {params}',
'No' => 'Không',
- 'No help for unknown command "{command}".' => 'Không có trợ giúp cho lệnh không rõ "{command}"',
- 'No help for unknown sub-command "{command}".' => 'Không có trợ giúp cho tiểu lệnh không rõ "{command}"',
'No results found.' => 'Không tìm thấy kết quả nào.',
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Chỉ các file với kiểu MIME sau đây được phép tải lên: {mimeTypes}',
'Only files with these extensions are allowed: {extensions}.' => 'Chỉ các file với phần mở rộng sau đây được phép tải lên: {extensions}',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => 'Không tìm thấy trang.',
'Please fix the following errors:' => 'Vui lòng sửa các lỗi sau đây:',
'Please upload a file.' => 'Hãy tải file lên.',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Trình bày {begin, number}-{end, number} trong số {totalCount, number} mục.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => 'File "{file}" phải là một ảnh.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'File "{file}" quá lớn. Kích cỡ tối đa được phép tải lên là {formattedLimit}.',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'File "{file}" quá nhỏ. Kích cỡ tối thiểu được phép tải lên là {formattedLimit}.',
'The format of {attribute} is invalid.' => 'Định dạng của {attribute} không hợp lệ.',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'File "{file}" có kích thước quá lớn. Chiều cao tối đa được phép là {limit, number} pixel.',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Ảnh "{file}" có kích thước quá lớn. Chiều rộng tối đa được phép là {limit, number} pixel.',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Ảnh "{file}" quá nhỏ. Chiều cao của ảnh không được phép nhỏ hơn {limit, number} pixel.',
@@ -57,13 +64,15 @@
'The verification code is incorrect.' => 'Mã xác thực không đúng.',
'Total {count, number} {count, plural, one{item} other{items}}.' => 'Tổng số {count, number} mục.',
'Unable to verify your data submission.' => 'Không kiểm tra được dữ liệu đã gửi lên.',
- 'Unknown command "{command}".' => 'Lệnh không biết "{command}"',
+ 'Unknown alias: -{name}' => '',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => 'Tùy chọn không biết: --{name}',
'Update' => 'Sửa',
'View' => 'Xem',
'Yes' => 'Có',
'You are not allowed to perform this action.' => 'Bạn không được phép truy cập chức năng này.',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Chỉ có thể tải lên tối đa {limit, number} file.',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
'in {delta, plural, =1{a day} other{# days}}' => 'trong {delta} ngày',
'in {delta, plural, =1{a minute} other{# minutes}}' => 'trong {delta} phút',
'in {delta, plural, =1{a month} other{# months}}' => 'trong {delta} tháng',
@@ -74,42 +83,65 @@
'the input value' => 'giá trị đã nhập',
'{attribute} "{value}" has already been taken.' => '{attribute} "{value}" đã bị sử dụng.',
'{attribute} cannot be blank.' => '{attribute} không được để trống.',
+ '{attribute} contains wrong subnet mask.' => '',
'{attribute} is invalid.' => '{attribute} không hợp lệ.',
'{attribute} is not a valid URL.' => '{attribute} không phải là URL hợp lệ.',
'{attribute} is not a valid email address.' => '{attribute} không phải là địa chỉ email hợp lệ.',
+ '{attribute} is not in the allowed range.' => '',
'{attribute} must be "{requiredValue}".' => '{attribute} phải là "{requiredValue}"',
'{attribute} must be a number.' => '{attribute} phải là số.',
'{attribute} must be a string.' => '{attribute} phải là chuỗi.',
+ '{attribute} must be a valid IP address.' => '',
+ '{attribute} must be an IP address with specified subnet.' => '',
'{attribute} must be an integer.' => '{attribute} phải là số nguyên.',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} phải là "{true}" hoặc "{false}".',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} phải lớn hơn "{compareValue}"',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} phải lớn hơn hoặc bằng "{compareValue}"',
- '{attribute} must be less than "{compareValue}".' => '{attribute} phải nhỏ hơn "{compareValue}"',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} phải nhỏ hơn hoặc bằng "{compareValue}"',
+ '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} phải bằng "{compareValueOrAttribute}"',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} phải lớn hơn "{compareValueOrAttribute}"',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} phải lớn hơn hoặc bằng "{compareValueOrAttribute}"',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} phải nhỏ hơn "{compareValueOrAttribute}"',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} phải nhỏ hơn hoặc bằng "{compareValueOrAttribute}"',
'{attribute} must be no greater than {max}.' => '{attribute} không được lớn hơn {max}.',
'{attribute} must be no less than {min}.' => '{attribute} không được nhỏ hơn {min}',
- '{attribute} must be repeated exactly.' => '{attribute} phải lặp lại chính xác.',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} không được phép bằng "{compareValue}"',
- '{attribute} must be equal to "{compareValue}".' => '{attribute} phải bằng "{compareValue}"',
+ '{attribute} must not be a subnet.' => '',
+ '{attribute} must not be an IPv4 address.' => '',
+ '{attribute} must not be an IPv6 address.' => '',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} không được phép bằng "{compareValueOrAttribute}"',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} phải chứa ít nhất {min, number} ký tự.',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} phải chứa nhiều nhất {max, number} ký tự.',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} phải bao gồm {length, number} ký tự.',
+ '{compareAttribute} is invalid.' => '',
+ '{delta, plural, =1{1 day} other{# days}}' => '',
+ '{delta, plural, =1{1 hour} other{# hours}}' => '',
+ '{delta, plural, =1{1 minute} other{# minutes}}' => '',
+ '{delta, plural, =1{1 month} other{# months}}' => '',
+ '{delta, plural, =1{1 second} other{# seconds}}' => '',
+ '{delta, plural, =1{1 year} other{# years}}' => '',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta} ngày trước',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta} phút trước',
'{delta, plural, =1{a month} other{# months}} ago' => '{delta} tháng trước',
'{delta, plural, =1{a second} other{# seconds}} ago' => '{delta} giây trước',
'{delta, plural, =1{a year} other{# years}} ago' => '{delta} năm trước',
'{delta, plural, =1{an hour} other{# hours}} ago' => '{delta} giờ trước',
- '{n, plural, =1{# byte} other{# bytes}}' => '{n} byte',
- '{n, plural, =1{# gigabyte} other{# gigabytes}}' => '{n} gigabyte',
- '{n, plural, =1{# kilobyte} other{# kilobytes}}' => '{n} kilobyte',
- '{n, plural, =1{# megabyte} other{# megabytes}}' => '{n} megabyte',
- '{n, plural, =1{# petabyte} other{# petabytes}}' => '{n} petabyte',
- '{n, plural, =1{# terabyte} other{# terabytes}}' => '{n} terabyte',
- '{n} B' => '{n} B',
- '{n} GB' => '{n} GB',
- '{n} KB' => '{n} KB',
- '{n} MB' => '{n} MB',
- '{n} PB' => '{n} PB',
- '{n} TB' => '{n} TB',
+ '{nFormatted} B' => '{nFormatted} B',
+ '{nFormatted} GB' => '{nFormatted} GB',
+ '{nFormatted} GiB' => '',
+ '{nFormatted} KiB' => '',
+ '{nFormatted} MB' => '{nFormatted} MB',
+ '{nFormatted} MiB' => '',
+ '{nFormatted} PB' => '{nFormatted} PB',
+ '{nFormatted} PiB' => '',
+ '{nFormatted} TB' => '{nFormatted} TB',
+ '{nFormatted} TiB' => '',
+ '{nFormatted} kB' => '{nFormatted} kB',
+ '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{n} byte',
+ '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} gigabyte',
+ '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '',
+ '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} kilobyte',
+ '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} megabyte',
+ '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} petabyte',
+ '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '',
+ '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} terabyte',
];
diff --git a/framework/messages/zh-TW/yii.php b/framework/messages/zh-TW/yii.php
index 866b25d0f9b..c9bc82152c1 100644
--- a/framework/messages/zh-TW/yii.php
+++ b/framework/messages/zh-TW/yii.php
@@ -23,10 +23,14 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- 'Unknown alias: -{name}' => '未知的別名: -{name}',
+ ' and ' => '',
+ '"{attribute}" does not support operator "{operator}".' => '',
'(not set)' => '(未設定)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => '內部系統錯誤。',
'Are you sure you want to delete this item?' => '您確定要刪除此項嗎?',
+ 'Condition for "{attribute}" should be either a value or valid operator specification.' => '',
'Delete' => '刪除',
'Error' => '錯誤',
'File upload failed.' => '未能上傳檔案。',
@@ -36,22 +40,22 @@
'Missing required arguments: {params}' => '參數不齊全:{params}',
'Missing required parameters: {params}' => '參數不齊全:{params}',
'No' => '否',
- 'No help for unknown command "{command}".' => '子命令 "{command}" 發生未知的錯誤。',
- 'No help for unknown sub-command "{command}".' => '子命令 "{command}" 發生未知的錯誤。',
'No results found.' => '沒有資料。',
'Only files with these MIME types are allowed: {mimeTypes}.' => '只允許這些MIME類型的文件: {mimeTypes}。',
'Only files with these extensions are allowed: {extensions}.' => '只可以使用以下擴充名的檔案:{extensions}。',
+ 'Operator "{operator}" must be used with a search attribute.' => '',
+ 'Operator "{operator}" requires multiple operands.' => '',
+ 'Options available: {options}' => '',
'Page not found.' => '找不到頁面。',
'Please fix the following errors:' => '請修正以下錯誤:',
'Please upload a file.' => '請上傳一個檔案。',
- 'Powered by {yii}' => '技术支持 {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '第 {begin, number}-{end, number} 項,共 {totalCount, number} 項資料.',
+ 'The combination {values} of {attributes} has already been taken.' => '',
'The file "{file}" is not an image.' => '檔案 "{file}" 不是一個圖片檔案。',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => '檔案"{file}"太大了。它的大小不可以超過{formattedLimit}。',
'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => '文件"{file}"太小了。它的大小不可以小於{formattedLimit}。',
- 'The file "{file}" is too big. Its size cannot exceed {limit, number} {limit, plural, one{byte} other{bytes}}.' => '檔案 "{file}" 太大。它的大小不可以超過 {limit, number} 位元組。',
- 'The file "{file}" is too small. Its size cannot be smaller than {limit, number} {limit, plural, one{byte} other{bytes}}.' => '檔案 "{file}" 太小。它的大小不可以小於 {limit, number} 位元組。',
'The format of {attribute} is invalid.' => '屬性 {attribute} 的格式不正確。',
+ 'The format of {filter} is invalid.' => '',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '圖像 "{file}" 太大。它的高度不可以超過 {limit, number} 像素。',
'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '圖像 "{file}" 太大。它的寬度不可以超過 {limit, number} 像素。',
'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '圖像 "{file}" 太小。它的高度不可以小於 {limit, number} 像素。',
@@ -60,14 +64,22 @@
'The verification code is incorrect.' => '驗證碼不正確。',
'Total {count, number} {count, plural, one{item} other{items}}.' => '總計 {count, number} 項資料。',
'Unable to verify your data submission.' => '您提交的資料無法被驗證。',
- 'Unknown command "{command}".' => '未知的指令 "{command}"。',
+ 'Unknown alias: -{name}' => '未知的別名: -{name}',
+ 'Unknown filter attribute "{attribute}"' => '',
'Unknown option: --{name}' => '未知的選項:--{name}',
'Update' => '更新',
'View' => '查看',
'Yes' => '是',
- 'Yii Framework' => 'Yii 框架',
'You are not allowed to perform this action.' => '您沒有執行此操作的權限。',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => '您最多可以上載 {limit, number} 個檔案。',
+ 'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '',
+ 'in {delta, plural, =1{a day} other{# days}}' => '{delta}天後',
+ 'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta}分鐘後',
+ 'in {delta, plural, =1{a month} other{# months}}' => '{delta}個月後',
+ 'in {delta, plural, =1{a second} other{# seconds}}' => '{delta}秒後',
+ 'in {delta, plural, =1{a year} other{# years}}' => '{delta}年後',
+ 'in {delta, plural, =1{an hour} other{# hours}}' => '{delta}小時後',
+ 'just now' => '剛剛',
'the input value' => '該輸入',
'{attribute} "{value}" has already been taken.' => '{attribute} 的值 "{value}" 已經被佔用了。',
'{attribute} cannot be blank.' => '{attribute} 不能為空白。',
@@ -84,43 +96,35 @@
'{attribute} must be an integer.' => '{attribute} 必須為整數。',
'{attribute} must be either "{true}" or "{false}".' => '{attribute} 必須為 "{true}" 或 "{false}"。',
'{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute}必須等於"{compareValueOrAttribute}"。',
- '{attribute} must be greater than "{compareValue}".' => '{attribute} 必須大於 "{compareValue}"。',
- '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} 必須大或等於 "{compareValue}"。',
- '{attribute} must be less than "{compareValue}".' => '{attribute} 必須小於 "{compareValue}"。',
- '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} 必須少或等於 "{compareValue}"。',
+ '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} 必須大於 "{compareValueOrAttribute}"。',
+ '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} 必須大或等於 "{compareValueOrAttribute}"。',
+ '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} 必須小於 "{compareValueOrAttribute}"。',
+ '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} 必須少或等於 "{compareValueOrAttribute}"。',
'{attribute} must be no greater than {max}.' => '{attribute} 不可以大於 {max}。',
'{attribute} must be no less than {min}.' => '{attribute} 不可以少於 {min}。',
'{attribute} must not be a subnet.' => '{attribute} 必須不是一個子網。',
'{attribute} must not be an IPv4 address.' => '{attribute} 必須不是一個IPv4地址。',
'{attribute} must not be an IPv6 address.' => '{attribute} 必須不是一個IPv6地址。',
- '{attribute} must be repeated exactly.' => '{attribute} 必須重複一致。',
- '{attribute} must not be equal to "{compareValue}".' => '{attribute} 不可以等於 "{compareValue}"。',
+ '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} 不可以等於 "{compareValueOrAttribute}"。',
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} 應該包含至少 {min, number} 個字符。',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} 只能包含最多 {max, number} 個字符。',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} 應該包含 {length, number} 個字符。',
- 'in {delta, plural, =1{a year} other{# years}}' => '{delta}年後',
- 'in {delta, plural, =1{a month} other{# months}}' => '{delta}個月後',
- 'in {delta, plural, =1{a day} other{# days}}' => '{delta}天後',
- 'in {delta, plural, =1{an hour} other{# hours}}' => '{delta}小時後',
- 'in {delta, plural, =1{a minute} other{# minutes}}' => '{delta}分鐘後',
- 'in {delta, plural, =1{a second} other{# seconds}}' => '{delta}秒後',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta} 天',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta} 小時',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta} 分鐘',
'{delta, plural, =1{1 month} other{# months}}' => '{delta} 月',
'{delta, plural, =1{1 second} other{# seconds}}' => '{delta} 秒',
'{delta, plural, =1{1 year} other{# years}}' => '{delta} 年',
- '{delta, plural, =1{a year} other{# years}} ago' => '{delta}年前',
- '{delta, plural, =1{a month} other{# months}} ago' => '{delta}個月前',
'{delta, plural, =1{a day} other{# days}} ago' => '{delta}天前',
- '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta}小時前',
'{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta}分鐘前',
- 'just now' => '剛剛',
+ '{delta, plural, =1{a month} other{# months}} ago' => '{delta}個月前',
'{delta, plural, =1{a second} other{# seconds}} ago' => '{delta}秒前',
+ '{delta, plural, =1{a year} other{# years}} ago' => '{delta}年前',
+ '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta}小時前',
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -128,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} 字節',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} 千兆位二進制字節',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} 千兆字節',
diff --git a/framework/messages/zh/yii.php b/framework/messages/zh/yii.php
index 9d5447b89d7..7f1f3de35d9 100644
--- a/framework/messages/zh/yii.php
+++ b/framework/messages/zh/yii.php
@@ -26,6 +26,8 @@
' and ' => ' 与 ',
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" 不支持操作 "{operator}"',
'(not set)' => '(未设置)',
+ 'Action not found.' => '',
+ 'Aliases available: {aliases}' => '',
'An internal server error occurred.' => '服务器内部错误。',
'Are you sure you want to delete this item?' => '您确定要删除此项吗?',
'Condition for "{attribute}" should be either a value or valid operator specification.' => '"{attribute}" 的条件应为一个值或有效的操作规约。',
@@ -43,10 +45,10 @@
'Only files with these extensions are allowed: {extensions}.' => '只允许使用以下文件扩展名的文件:{extensions}。',
'Operator "{operator}" must be used with a search attribute.' => '操作 "{operator}" 必须与一个搜索属性一起使用。',
'Operator "{operator}" requires multiple operands.' => '操作 "{operator}" 需要多个操作数。',
+ 'Options available: {options}' => '',
'Page not found.' => '页面未找到。',
'Please fix the following errors:' => '请修复以下错误',
'Please upload a file.' => '请上传一个文件。',
- 'Powered by {yii}' => '技术支持 {yii}',
'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '第{begin, number}-{end, number}条,共{totalCount, number}条数据.',
'The combination {values} of {attributes} has already been taken.' => '{attributes} 的值 "{values}" 已经被占用了。',
'The file "{file}" is not an image.' => '文件 "{file}" 不是一个图像文件。',
@@ -68,7 +70,6 @@
'Update' => '更新',
'View' => '查看',
'Yes' => '是',
- 'Yii Framework' => 'Yii 框架',
'You are not allowed to perform this action.' => '您没有执行此操作的权限。',
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => '您最多上传{limit, number}个文件。',
'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => '需要至少 {limit, number} 个文件。',
@@ -108,6 +109,7 @@
'{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute}应该包含至少{min, number}个字符。',
'{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute}只能包含至多{max, number}个字符。',
'{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute}应该包含{length, number}个字符。',
+ '{compareAttribute} is invalid.' => '',
'{delta, plural, =1{1 day} other{# days}}' => '{delta} 天',
'{delta, plural, =1{1 hour} other{# hours}}' => '{delta} 小时',
'{delta, plural, =1{1 minute} other{# minutes}}' => '{delta} 分钟',
@@ -123,7 +125,6 @@
'{nFormatted} B' => '{nFormatted} B',
'{nFormatted} GB' => '{nFormatted} GB',
'{nFormatted} GiB' => '{nFormatted} GiB',
- '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} KiB' => '{nFormatted} KiB',
'{nFormatted} MB' => '{nFormatted} MB',
'{nFormatted} MiB' => '{nFormatted} MiB',
@@ -131,6 +132,7 @@
'{nFormatted} PiB' => '{nFormatted} PiB',
'{nFormatted} TB' => '{nFormatted} TB',
'{nFormatted} TiB' => '{nFormatted} TiB',
+ '{nFormatted} kB' => '{nFormatted} kB',
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} 字节',
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} 千兆二进制字节',
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} 千兆字节',
From c9ac82d85db77bc0f8dd92a068be8aa5af1c3c00 Mon Sep 17 00:00:00 2001
From: Nabi KaramAliZadeh
Date: Mon, 23 Oct 2023 21:46:23 +0330
Subject: [PATCH 11/31] Fixed #20023, Added `eol=lf` to `.gitattributes` file.
(#20026)
Signed-off-by: Nabi
---
.gitattributes | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/.gitattributes b/.gitattributes
index 08f809af71e..044c0a1615e 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -4,16 +4,16 @@
# ...Unless the name matches the following overriding patterns
# Definitively text files
-*.php text
-*.css text
-*.js text
-*.txt text
-*.md text
-*.xml text
-*.json text
-*.bat text
-*.sql text
-*.yml text
+*.php text eol=lf
+*.css text eol=lf
+*.js text eol=lf
+*.txt text eol=lf
+*.md text eol=lf
+*.xml text eol=lf
+*.json text eol=lf
+*.bat text eol=lf
+*.sql text eol=lf
+*.yml text eol=lf
# Ensure those won't be messed up with
*.png binary
From 2141f9abdfbdeffdc0c245f7850bf397b3b9e409 Mon Sep 17 00:00:00 2001
From: Robert Korulczyk
Date: Mon, 23 Oct 2023 20:49:27 +0200
Subject: [PATCH 12/31] Improve performance of handling
`ErrorHandler::$memoryReserveSize`
---
framework/CHANGELOG.md | 1 +
framework/base/ErrorHandler.php | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index 469a23773da..69bcec2bd81 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -10,6 +10,7 @@ Yii Framework 2 Change Log
- Bug #19927: Fixed `console\controllers\MessageController` when saving translations to database: fixed FK error when adding new string and language at the same time, checking/regenerating all missing messages and dropping messages for unused languages (atrandafir)
- Bug #20002: Fixed superfluous query on HEAD request in serializer (xicond)
- Enh #12743: Added new methods `BaseActiveRecord::loadRelations()` and `BaseActiveRecord::loadRelationsFor()` to eager load related models for existing primary model instances (PowerGamer1)
+- Enh #20030: Improve performance of handling `ErrorHandler::$memoryReserveSize` (antonshevelev, rob006)
2.0.49.2 October 12, 2023
-------------------------
diff --git a/framework/base/ErrorHandler.php b/framework/base/ErrorHandler.php
index 81a20f0a3c9..393438ede57 100644
--- a/framework/base/ErrorHandler.php
+++ b/framework/base/ErrorHandler.php
@@ -94,7 +94,7 @@ public function register()
set_error_handler([$this, 'handleError']);
}
if ($this->memoryReserveSize > 0) {
- $this->_memoryReserve = str_pad('', $this->memoryReserveSize, 'x');
+ $this->_memoryReserve = str_repeat('x', $this->memoryReserveSize);
}
// to restore working directory in shutdown handler
if (PHP_SAPI !== 'cli') {
From 6c19ba1c77e70bceb6e0a617660d1a34df7bd8da Mon Sep 17 00:00:00 2001
From: Nabi KaramAliZadeh
Date: Tue, 24 Oct 2023 11:51:28 +0330
Subject: [PATCH 13/31] Effectiveness eol=lf on all text file extensions, in
.gitattributes file (#20035)
* Fixed #20023, Added `eol=lf` to `.gitattributes` file.
Signed-off-by: Nabi
* Fix #20023: Effectiveness eol=lf on all file extensions, in .gitattributes file.
Signed-off-by: Nabi
---------
Signed-off-by: Nabi
---
.gitattributes | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/.gitattributes b/.gitattributes
index 044c0a1615e..1d3d767fd32 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,19 +1,19 @@
# Autodetect text files
-* text=auto
+* text=auto eol=lf
# ...Unless the name matches the following overriding patterns
# Definitively text files
-*.php text eol=lf
-*.css text eol=lf
-*.js text eol=lf
-*.txt text eol=lf
-*.md text eol=lf
-*.xml text eol=lf
-*.json text eol=lf
-*.bat text eol=lf
-*.sql text eol=lf
-*.yml text eol=lf
+*.php text
+*.css text
+*.js text
+*.txt text
+*.md text
+*.xml text
+*.json text
+*.bat text
+*.sql text
+*.yml text
# Ensure those won't be messed up with
*.png binary
From 778d708c4f028c6997ff42ee2e1aead86cce3a64 Mon Sep 17 00:00:00 2001
From: Nabi KaramAliZadeh
Date: Tue, 24 Oct 2023 11:55:08 +0330
Subject: [PATCH 14/31] Fix fa messages (#20037)
* Fix 20016: Updating the Persian translation message file.
Signed-off-by: Nabi
* Fix 20036: Updating the Persian translation message file.
Signed-off-by: Nabi
---------
Signed-off-by: Nabi
---
framework/messages/fa/yii.php | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/framework/messages/fa/yii.php b/framework/messages/fa/yii.php
index 86d08922ca8..e9213b3482f 100644
--- a/framework/messages/fa/yii.php
+++ b/framework/messages/fa/yii.php
@@ -27,7 +27,7 @@
'"{attribute}" does not support operator "{operator}".' => '"{attribute}" از عملگر "{operator}" پشتیبانی نمیکند.',
'(not set)' => '(تنظیم نشده)',
'Action not found.' => 'عمل یافت نشد.',
- 'Aliases available: {aliases}' => 'نام مستعارهای موجود: {aliases}',
+ 'Aliases available: {aliases}' => 'نامهای مستعار موجود: {aliases}',
'An internal server error occurred.' => 'خطای داخلی سرور رخ داده است.',
'Are you sure you want to delete this item?' => 'آیا اطمینان به حذف این مورد دارید؟',
'Condition for "{attribute}" should be either a value or valid operator specification.' => 'شرط برای "{attribute}" باید یک مقدار یا مشخصهی عملگر معتبر باشد.',
@@ -49,11 +49,11 @@
'Page not found.' => 'صفحهای یافت نشد.',
'Please fix the following errors:' => 'لطفاً خطاهای زیر را رفع نمائید:',
'Please upload a file.' => 'لطفاً یک فایل آپلود کنید.',
- 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'نمایش {begin, number} تا {end, number} مورد از کل {totalCount, number} مورد.',
+ 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'نمایش {begin, number} تا {end, number} مورد از کل {totalCount, number} مورد.',
'The combination {values} of {attributes} has already been taken.' => 'مقدار {values} از {attributes} قبلاً گرفته شده است.',
'The file "{file}" is not an image.' => 'فایل "{file}" یک تصویر نیست.',
'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'حجم فایل "{file}" بسیار بیشتر میباشد. حجم آن نمیتواند از {formattedLimit} بیشتر باشد.',
- 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'حجم فایل "{file}" بسیار کم میباشد. حجم آننمی تواند از {formattedLimit} کمتر باشد.',
+ 'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'حجم فایل "{file}" بسیار کم میباشد. حجم آن نمیتواند از {formattedLimit} کمتر باشد.',
'The format of {attribute} is invalid.' => 'قالب {attribute} نامعتبر است.',
'The format of {filter} is invalid.' => 'قالب {filter} نامعتبر است.',
'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'تصویر "{file}" خیلی بزرگ است. ارتفاع نمیتواند بزرگتر از {limit, number} پیکسل باشد.',
@@ -87,7 +87,7 @@
'{attribute} is invalid.' => '{attribute} معتبر نیست.',
'{attribute} is not a valid URL.' => '{attribute} یک URL معتبر نیست.',
'{attribute} is not a valid email address.' => '{attribute} یک آدرس ایمیل معتبر نیست.',
- '{attribute} is not in the allowed range.' => '{attribute} در محدوده مجاز نمیباشد.',
+ '{attribute} is not in the allowed range.' => '{attribute} در محدوده مجاز نمیباشد.',
'{attribute} must be "{requiredValue}".' => '{attribute} باید "{requiredValue}" باشد.',
'{attribute} must be a number.' => '{attribute} باید یک عدد باشد.',
'{attribute} must be a string.' => '{attribute} باید یک رشته باشد.',
From 4b7669cf08c1ae1e3a32a4cc8c4a6f355b84707b Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Wed, 25 Oct 2023 08:37:18 -0300
Subject: [PATCH 15/31] Fix boolean type `MYSQL`.
---
framework/db/mysql/Schema.php | 2 +-
tests/framework/db/mysql/type/BooleanTest.php | 249 ++++++++++++++++++
2 files changed, 250 insertions(+), 1 deletion(-)
create mode 100644 tests/framework/db/mysql/type/BooleanTest.php
diff --git a/framework/db/mysql/Schema.php b/framework/db/mysql/Schema.php
index fa2270eb77d..666279e3b98 100644
--- a/framework/db/mysql/Schema.php
+++ b/framework/db/mysql/Schema.php
@@ -279,7 +279,7 @@ protected function loadColumnSchema($info)
if (isset($values[1])) {
$column->scale = (int) $values[1];
}
- if ($column->size === 1 && $type === 'bit') {
+ if ($column->size === 1 && ($type === 'tinyint' || $type === 'bit')) {
$column->type = 'boolean';
} elseif ($type === 'bit') {
if ($column->size > 32) {
diff --git a/tests/framework/db/mysql/type/BooleanTest.php b/tests/framework/db/mysql/type/BooleanTest.php
new file mode 100644
index 00000000000..5f8326134b6
--- /dev/null
+++ b/tests/framework/db/mysql/type/BooleanTest.php
@@ -0,0 +1,249 @@
+getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `false`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => false, 'bool_col_bit' => false])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+ $this->assertEquals(0, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(0, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertFalse($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertFalse($phpTypeCastBoolColBit);
+
+ // test value `true`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => true, 'bool_col_bit' => true])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 2")->queryOne();
+ $this->assertEquals(1, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(1, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertTrue($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertTrue($phpTypeCastBoolColBit);
+ }
+
+ public function testBooleanWithValueInteger()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `0`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => 0, 'bool_col_bit' => 0])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+ $this->assertEquals(0, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(0, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertFalse($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertFalse($phpTypeCastBoolColBit);
+
+ // test value `1`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => 1, 'bool_col_bit' => 1])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 2")->queryOne();
+ $this->assertEquals(1, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(1, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertTrue($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertTrue($phpTypeCastBoolColBit);
+ }
+
+ public function testBooleanWithValueNegative()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `-1`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => -1, 'bool_col_bit' => -1])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+
+ $this->assertEquals(1, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(1, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertTrue($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertTrue($phpTypeCastBoolColBit);
+ }
+
+ public function testBooleanWithValueNull()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `null`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => null, 'bool_col_bit' => null])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+
+ $this->assertNull($boolValues['bool_col_tinyint']);
+ $this->assertNull($boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertNull($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertNull($phpTypeCastBoolColBit);
+ }
+
+ public function testBooleanWithValueOverflow()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `2`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => 2, 'bool_col_bit' => 2])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+
+ $this->assertEquals(1, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(1, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertTrue($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertTrue($phpTypeCastBoolColBit);
+ }
+}
From 18ed620e7890de315409a28f720be794a15f4434 Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Wed, 25 Oct 2023 08:57:40 -0300
Subject: [PATCH 16/31] Update tests.
---
tests/framework/db/mysql/SchemaTest.php | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tests/framework/db/mysql/SchemaTest.php b/tests/framework/db/mysql/SchemaTest.php
index 4e602a317ea..82342419a8c 100644
--- a/tests/framework/db/mysql/SchemaTest.php
+++ b/tests/framework/db/mysql/SchemaTest.php
@@ -228,9 +228,13 @@ public function getExpectedColumns()
]
);
+ $columns['bool_col']['type'] = 'boolean';
+ $columns['bool_col']['phpType'] = 'boolean';
+ $columns['bool_col2']['type'] = 'boolean';
+ $columns['bool_col2']['phpType'] = 'boolean';
+
if (version_compare($version, '5.7', '<')) {
$columns['int_col3']['phpType'] = 'string';
-
$columns['json_col']['type'] = 'text';
$columns['json_col']['dbType'] = 'longtext';
$columns['json_col']['phpType'] = 'string';
From e2773e452491f2664d4ef0d11e2bb557c6d19112 Mon Sep 17 00:00:00 2001
From: Saleh Hashemi <81674631+salehhashemi1992@users.noreply.github.com>
Date: Wed, 25 Oct 2023 20:17:03 +0330
Subject: [PATCH 17/31] Fix #20032: Added `mask` method for string masking with
multibyte support
---
framework/CHANGELOG.md | 2 ++
framework/helpers/BaseStringHelper.php | 30 ++++++++++++++++++
tests/framework/helpers/StringHelperTest.php | 32 ++++++++++++++++++++
3 files changed, 64 insertions(+)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index 69bcec2bd81..ec2923a1e51 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -11,6 +11,8 @@ Yii Framework 2 Change Log
- Bug #20002: Fixed superfluous query on HEAD request in serializer (xicond)
- Enh #12743: Added new methods `BaseActiveRecord::loadRelations()` and `BaseActiveRecord::loadRelationsFor()` to eager load related models for existing primary model instances (PowerGamer1)
- Enh #20030: Improve performance of handling `ErrorHandler::$memoryReserveSize` (antonshevelev, rob006)
+- Enh #20032: Added `mask` method for string masking with multibyte support (salehhashemi1992)
+
2.0.49.2 October 12, 2023
-------------------------
diff --git a/framework/helpers/BaseStringHelper.php b/framework/helpers/BaseStringHelper.php
index 60261f9828a..e9c5327b031 100644
--- a/framework/helpers/BaseStringHelper.php
+++ b/framework/helpers/BaseStringHelper.php
@@ -497,4 +497,34 @@ public static function mb_ucwords($string, $encoding = 'UTF-8')
return implode('', $parts);
}
+
+ /**
+ * Masks a portion of a string with a repeated character.
+ * This method is multibyte-safe.
+ *
+ * @param string $string The input string.
+ * @param int $start The starting position from where to begin masking.
+ * This can be a positive or negative integer.
+ * Positive values count from the beginning,
+ * negative values count from the end of the string.
+ * @param int $length The length of the section to be masked.
+ * The masking will start from the $start position
+ * and continue for $length characters.
+ * @param string $mask The character to use for masking. The default is '*'.
+ * @return string The masked string.
+ */
+ public static function mask($string, $start, $length, $mask = '*') {
+ $strLength = mb_strlen($string, 'UTF-8');
+
+ // Return original string if start position is out of bounds
+ if ($start >= $strLength || $start < -$strLength) {
+ return $string;
+ }
+
+ $masked = mb_substr($string, 0, $start, 'UTF-8');
+ $masked .= str_repeat($mask, abs($length));
+ $masked .= mb_substr($string, $start + abs($length), null, 'UTF-8');
+
+ return $masked;
+ }
}
diff --git a/tests/framework/helpers/StringHelperTest.php b/tests/framework/helpers/StringHelperTest.php
index 56acdb0c268..a640e5cdda2 100644
--- a/tests/framework/helpers/StringHelperTest.php
+++ b/tests/framework/helpers/StringHelperTest.php
@@ -474,4 +474,36 @@ public function dataProviderDirname()
['', ''],
];
}
+
+ public function testMask()
+ {
+ // Standard masking
+ $this->assertSame('12******90', StringHelper::mask('1234567890', 2, 6));
+ $this->assertSame('a********j', StringHelper::mask('abcdefghij', 1, 8));
+ $this->assertSame('*************', StringHelper::mask('Hello, World!', 0, 13));
+ $this->assertSame('************!', StringHelper::mask('Hello, World!', 0, 12));
+ $this->assertSame('Hello, *orld!', StringHelper::mask('Hello, World!', 7, 1));
+ $this->assertSame('Saleh Hashemi', StringHelper::mask('Saleh Hashemi', 0, 0));
+
+ // Different Mask Character
+ $this->assertSame('12######90', StringHelper::mask('1234567890', 2, 6, '#'));
+
+ // Positions outside the string
+ $this->assertSame('1234567890', StringHelper::mask('1234567890', 20, 6));
+ $this->assertSame('1234567890', StringHelper::mask('1234567890', -20, 6));
+
+ // Negative values for start
+ $this->assertSame('1234****90', StringHelper::mask('1234567890', -6, 4));
+
+ // type-related edge case
+ $this->assertSame('1234****90', StringHelper::mask(1234567890, -6, 4));
+
+ // Multibyte characters
+ $this->assertSame('你**', StringHelper::mask('你好吗', 1, 2));
+ $this->assertSame('你好吗', StringHelper::mask('你好吗', 4, 2));
+
+ // Special characters
+ $this->assertSame('em**l@email.com', StringHelper::mask('email@email.com', 2, 2));
+ $this->assertSame('******email.com', StringHelper::mask('email@email.com', 0, 6));
+ }
}
From 9d3c71d6a712a99f42ae1c5d588312f49514523a Mon Sep 17 00:00:00 2001
From: Wilmer Arambula <42547589+terabytesoftw@users.noreply.github.com>
Date: Wed, 25 Oct 2023 13:47:46 -0300
Subject: [PATCH 18/31] Fix #20040: Fix type `boolean` in `MSSQL`
---
framework/CHANGELOG.md | 2 +-
framework/db/mssql/Schema.php | 41 +++-
tests/framework/db/mssql/type/BooleanTest.php | 198 ++++++++++++++++++
3 files changed, 232 insertions(+), 9 deletions(-)
create mode 100644 tests/framework/db/mssql/type/BooleanTest.php
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index ec2923a1e51..42ce39634cd 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -3,7 +3,7 @@ Yii Framework 2 Change Log
2.0.50 under development
------------------------
-
+- Bug #20040: Fix type `boolean` in `MSSQL` (terabytesoftw)
- Bug #20005: Fix `yii\console\controllers\ServeController` to specify the router script (terabytesoftw)
- Bug #19060: Fix `yii\widgets\Menu` bug when using Closure for active item and adding additional tests in `tests\framework\widgets\MenuTest` (atrandafir)
- Bug #13920: Fixed erroneous validation for specific cases (tim-fischer-maschinensucher)
diff --git a/framework/db/mssql/Schema.php b/framework/db/mssql/Schema.php
index 005b1555f78..db7f07c87cb 100644
--- a/framework/db/mssql/Schema.php
+++ b/framework/db/mssql/Schema.php
@@ -375,6 +375,7 @@ protected function resolveTableNames($table, $name)
*/
protected function loadColumnSchema($info)
{
+ $isVersion2017orLater = version_compare($this->db->getSchema()->getServerVersion(), '14', '>=');
$column = $this->createColumnSchema();
$column->name = $info['column_name'];
@@ -393,20 +394,21 @@ protected function loadColumnSchema($info)
if (isset($this->typeMap[$type])) {
$column->type = $this->typeMap[$type];
}
+
+ if ($isVersion2017orLater && $type === 'bit') {
+ $column->type = 'boolean';
+ }
+
if (!empty($matches[2])) {
$values = explode(',', $matches[2]);
$column->size = $column->precision = (int) $values[0];
+
if (isset($values[1])) {
$column->scale = (int) $values[1];
}
- if ($column->size === 1 && ($type === 'tinyint' || $type === 'bit')) {
- $column->type = 'boolean';
- } elseif ($type === 'bit') {
- if ($column->size > 32) {
- $column->type = 'bigint';
- } elseif ($column->size === 32) {
- $column->type = 'integer';
- }
+
+ if ($isVersion2017orLater === false) {
+ $column->type = $this->booleanTypeLegacy($column->size, $type);
}
}
}
@@ -813,4 +815,27 @@ public function createColumnSchemaBuilder($type, $length = null)
{
return Yii::createObject(ColumnSchemaBuilder::className(), [$type, $length, $this->db]);
}
+
+ /**
+ * Assigns a type boolean for the column type bit, for legacy versions of MSSQL.
+ *
+ * @param int $size column size.
+ * @param string $type column type.
+ *
+ * @return string column type.
+ */
+ private function booleanTypeLegacy($size, $type)
+ {
+ if ($size === 1 && ($type === 'tinyint' || $type === 'bit')) {
+ return 'boolean';
+ } elseif ($type === 'bit') {
+ if ($size > 32) {
+ return 'bigint';
+ } elseif ($size === 32) {
+ return 'integer';
+ }
+ }
+
+ return $type;
+ }
}
diff --git a/tests/framework/db/mssql/type/BooleanTest.php b/tests/framework/db/mssql/type/BooleanTest.php
new file mode 100644
index 00000000000..97fd7124519
--- /dev/null
+++ b/tests/framework/db/mssql/type/BooleanTest.php
@@ -0,0 +1,198 @@
+getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value `false`
+ $db->createCommand()->insert($tableName, ['bool_col' => false])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(0, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertFalse($phpTypeCast);
+
+ // test value `true`
+ $db->createCommand()->insert($tableName, ['bool_col' => true])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 2")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+
+ public function testBooleanWithValueInteger()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value 0
+ $db->createCommand()->insert($tableName, ['bool_col' => 0])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(0, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertFalse($phpTypeCast);
+
+ // test value 1
+ $db->createCommand()->insert($tableName, ['bool_col' => 1])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 2")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+
+ public function testBooleanValueNegative()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value 2
+ $db->createCommand()->insert($tableName, ['bool_col' => -1])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+
+ public function testBooleanWithValueNull()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value `null`
+ $db->createCommand()->insert($tableName, ['bool_col' => null])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertNull($boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertNull($phpTypeCast);
+ }
+
+ public function testBooleanWithValueOverflow()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value 2
+ $db->createCommand()->insert($tableName, ['bool_col' => 2])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+}
From 7005d2775b68003927cbf82efbdba823c1819a30 Mon Sep 17 00:00:00 2001
From: Rene Saare
Date: Wed, 25 Oct 2023 19:53:45 +0300
Subject: [PATCH 19/31] Fix #20042: Add empty array check to
`ActiveQueryTrait::findWith()`
---
framework/CHANGELOG.md | 1 +
framework/db/ActiveQueryTrait.php | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index 42ce39634cd..13fb6e3d93b 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -11,6 +11,7 @@ Yii Framework 2 Change Log
- Bug #20002: Fixed superfluous query on HEAD request in serializer (xicond)
- Enh #12743: Added new methods `BaseActiveRecord::loadRelations()` and `BaseActiveRecord::loadRelationsFor()` to eager load related models for existing primary model instances (PowerGamer1)
- Enh #20030: Improve performance of handling `ErrorHandler::$memoryReserveSize` (antonshevelev, rob006)
+- Enh #20042: Add empty array check to `ActiveQueryTrait::findWith()` (renkas)
- Enh #20032: Added `mask` method for string masking with multibyte support (salehhashemi1992)
diff --git a/framework/db/ActiveQueryTrait.php b/framework/db/ActiveQueryTrait.php
index e2de1dd12d9..d49fa0fba87 100644
--- a/framework/db/ActiveQueryTrait.php
+++ b/framework/db/ActiveQueryTrait.php
@@ -135,6 +135,10 @@ protected function createModels($rows)
*/
public function findWith($with, &$models)
{
+ if (empty($models)) {
+ return;
+ }
+
$primaryModel = reset($models);
if (!$primaryModel instanceof ActiveRecordInterface) {
/* @var $modelClass ActiveRecordInterface */
From f0628dfab5e5f78b1fd73f98df7be4bf649eccb3 Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Wed, 25 Oct 2023 14:02:42 -0300
Subject: [PATCH 20/31] Fix error typo.
---
tests/framework/db/mysql/type/BooleanTest.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/framework/db/mysql/type/BooleanTest.php b/tests/framework/db/mysql/type/BooleanTest.php
index 5f8326134b6..bc9d307a78d 100644
--- a/tests/framework/db/mysql/type/BooleanTest.php
+++ b/tests/framework/db/mysql/type/BooleanTest.php
@@ -7,7 +7,7 @@
namespace yiiunit\framework\db\mysql\type;
-use yii\db\mssql\Schema;
+use yii\db\mysql\Schema;
use yiiunit\framework\db\DatabaseTestCase;
/**
From 1d35584ec9f407c2ad89c3a15c5d8c362406c021 Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Wed, 25 Oct 2023 14:39:54 -0300
Subject: [PATCH 21/31] Add changelog line.
---
framework/CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index 13fb6e3d93b..5518b2bb582 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -3,6 +3,7 @@ Yii Framework 2 Change Log
2.0.50 under development
------------------------
+- Bug #20045: Fix type `boolean` in `MYSQL` (terabytesoftw)
- Bug #20040: Fix type `boolean` in `MSSQL` (terabytesoftw)
- Bug #20005: Fix `yii\console\controllers\ServeController` to specify the router script (terabytesoftw)
- Bug #19060: Fix `yii\widgets\Menu` bug when using Closure for active item and adding additional tests in `tests\framework\widgets\MenuTest` (atrandafir)
From b40de6a5380819472f5bde6c5d120e9c83146c87 Mon Sep 17 00:00:00 2001
From: Wilmer Arambula <42547589+terabytesoftw@users.noreply.github.com>
Date: Thu, 26 Oct 2023 05:05:34 -0300
Subject: [PATCH 22/31] Update framework/CHANGELOG.md
Co-authored-by: Robert Korulczyk
---
framework/CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index 5518b2bb582..a80668a4524 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -3,7 +3,7 @@ Yii Framework 2 Change Log
2.0.50 under development
------------------------
-- Bug #20045: Fix type `boolean` in `MYSQL` (terabytesoftw)
+- Bug #20045: Fix type `boolean` in `MySQL` (terabytesoftw)
- Bug #20040: Fix type `boolean` in `MSSQL` (terabytesoftw)
- Bug #20005: Fix `yii\console\controllers\ServeController` to specify the router script (terabytesoftw)
- Bug #19060: Fix `yii\widgets\Menu` bug when using Closure for active item and adding additional tests in `tests\framework\widgets\MenuTest` (atrandafir)
From 6e6174deaac5f1781da3435ab0a707402a95bd38 Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Thu, 26 Oct 2023 12:59:15 -0300
Subject: [PATCH 23/31] Add test for boolean type `SQLite`.
---
.../framework/db/sqlite/type/BooleanTest.php | 249 ++++++++++++++++++
1 file changed, 249 insertions(+)
create mode 100644 tests/framework/db/sqlite/type/BooleanTest.php
diff --git a/tests/framework/db/sqlite/type/BooleanTest.php b/tests/framework/db/sqlite/type/BooleanTest.php
new file mode 100644
index 00000000000..c5bfd811c11
--- /dev/null
+++ b/tests/framework/db/sqlite/type/BooleanTest.php
@@ -0,0 +1,249 @@
+getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `false`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => false, 'bool_col_bit' => false])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+ $this->assertEquals(0, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(0, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertFalse($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertFalse($phpTypeCastBoolColBit);
+
+ // test value `true`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => true, 'bool_col_bit' => true])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 2")->queryOne();
+ $this->assertEquals(1, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(1, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertTrue($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertTrue($phpTypeCastBoolColBit);
+ }
+
+ public function testBooleanWithValueInteger()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `0`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => 0, 'bool_col_bit' => 0])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+ $this->assertEquals(0, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(0, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertFalse($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertFalse($phpTypeCastBoolColBit);
+
+ // test value `1`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => 1, 'bool_col_bit' => 1])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 2")->queryOne();
+ $this->assertEquals(1, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(1, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertTrue($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertTrue($phpTypeCastBoolColBit);
+ }
+
+ public function testBooleanWithValueNegative()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `-1`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => -1, 'bool_col_bit' => -1])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+
+ $this->assertEquals(1, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(1, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertTrue($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertTrue($phpTypeCastBoolColBit);
+ }
+
+ public function testBooleanWithValueNull()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `null`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => null, 'bool_col_bit' => null])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+
+ $this->assertNull($boolValues['bool_col_tinyint']);
+ $this->assertNull($boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertNull($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertNull($phpTypeCastBoolColBit);
+ }
+
+ public function testBooleanWithValueOverflow()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col_tinyint' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ 'bool_col_bit' => $schema->createColumnSchemaBuilder('bit', 1),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $columnBoolColTinyint = $db->getTableSchema($tableName)->getColumn('bool_col_tinyint');
+ $this->assertSame('boolean', $columnBoolColTinyint->phpType);
+
+ $columnBoolColBit = $db->getTableSchema($tableName)->getColumn('bool_col_bit');
+ $this->assertSame('boolean', $columnBoolColBit->phpType);
+
+ // test value `2`
+ $db->createCommand()->insert($tableName, ['bool_col_tinyint' => 2, 'bool_col_bit' => 2])->execute();
+ $boolValues = $db->createCommand("SELECT * FROM $tableName WHERE id = 1")->queryOne();
+
+ $this->assertEquals(1, $boolValues['bool_col_tinyint']);
+ $this->assertEquals(1, $boolValues['bool_col_bit']);
+
+ // test php typecast
+ $phpTypeCastBoolColTinyint = $columnBoolColTinyint->phpTypecast($boolValues['bool_col_tinyint']);
+ $this->assertTrue($phpTypeCastBoolColTinyint);
+
+ $phpTypeCastBoolColBit = $columnBoolColBit->phpTypecast($boolValues['bool_col_bit']);
+ $this->assertTrue($phpTypeCastBoolColBit);
+ }
+}
From f3c1d0cba7a83100a97a6728becbd4a9de46313a Mon Sep 17 00:00:00 2001
From: Wilmer Arambula
Date: Thu, 26 Oct 2023 13:07:23 -0300
Subject: [PATCH 24/31] Add test for boolean type `PostgreSQL`.
---
tests/framework/db/pgsql/type/BooleanTest.php | 239 ++++++++++++++++++
1 file changed, 239 insertions(+)
create mode 100644 tests/framework/db/pgsql/type/BooleanTest.php
diff --git a/tests/framework/db/pgsql/type/BooleanTest.php b/tests/framework/db/pgsql/type/BooleanTest.php
new file mode 100644
index 00000000000..4a9b21df249
--- /dev/null
+++ b/tests/framework/db/pgsql/type/BooleanTest.php
@@ -0,0 +1,239 @@
+getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value `false`
+ $db->createCommand()->insert($tableName, ['bool_col' => false])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(0, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertFalse($phpTypeCast);
+
+ // test value `true`
+ $db->createCommand()->insert($tableName, ['bool_col' => true])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 2")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+
+ public function testBooleanWithValueInteger()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value `0`
+ $db->createCommand()->insert($tableName, ['bool_col' => 0])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(0, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertFalse($phpTypeCast);
+
+ // test value `1`
+ $db->createCommand()->insert($tableName, ['bool_col' => 1])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 2")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+
+ public function testBooleanWithValueNegative()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value `-1`
+ $db->createCommand()->insert($tableName, ['bool_col' => '-1'])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+
+ public function testBooleanWithValueNull()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value `null`
+ $db->createCommand()->insert($tableName, ['bool_col' => null])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertNull($boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertNull($phpTypeCast);
+ }
+
+ public function testBooleanWithValueOverflow()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value `2`
+ $db->createCommand()->insert($tableName, ['bool_col' => 2])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+
+ public function testBooleanWithValueString()
+ {
+ $db = $this->getConnection(true);
+ $schema = $db->getSchema();
+ $tableName = '{{%boolean}}';
+
+ if ($db->getTableSchema($tableName)) {
+ $db->createCommand()->dropTable($tableName)->execute();
+ }
+
+ $db->createCommand()->createTable(
+ $tableName,
+ [
+ 'id' => $schema->createColumnSchemaBuilder(Schema::TYPE_PK),
+ 'bool_col' => $schema->createColumnSchemaBuilder(Schema::TYPE_BOOLEAN),
+ ]
+ )->execute();
+
+ // test type `boolean`
+ $column = $db->getTableSchema($tableName)->getColumn('bool_col');
+ $this->assertSame('boolean', $column->phpType);
+
+ // test value `0`
+ $db->createCommand()->insert($tableName, ['bool_col' => '0'])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 1")->queryScalar();
+ $this->assertEquals(0, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertFalse($phpTypeCast);
+
+ // test value `1`
+ $db->createCommand()->insert($tableName, ['bool_col' => '1'])->execute();
+ $boolValue = $db->createCommand("SELECT bool_col FROM $tableName WHERE id = 2")->queryScalar();
+ $this->assertEquals(1, $boolValue);
+
+ // test php typecast
+ $phpTypeCast = $column->phpTypecast($boolValue);
+ $this->assertTrue($phpTypeCast);
+ }
+}
From cb8307fad94d971d2012edf865d04490d10026dd Mon Sep 17 00:00:00 2001
From: Saleh Hashemi <81674631+salehhashemi1992@users.noreply.github.com>
Date: Fri, 27 Oct 2023 22:23:07 +0330
Subject: [PATCH 25/31] Fix various linguistic and stylistic issues in Persian
core-code-style file (#20054)
---
docs/internals-fa/core-code-style.md | 250 ++++++++++++++-------------
1 file changed, 126 insertions(+), 124 deletions(-)
diff --git a/docs/internals-fa/core-code-style.md b/docs/internals-fa/core-code-style.md
index e63e2b77951..3becc5802b1 100644
--- a/docs/internals-fa/core-code-style.md
+++ b/docs/internals-fa/core-code-style.md
@@ -1,49 +1,52 @@
رعایت اصول و سبک کدنویسی فریمورک Yii2
===============================
-
-سبک کدنویسی که در نسخه 2 فریمورک و extension های رسمی استفاده میشه دارای اصول، قواعد و قانون های خودش هست. پس اگر تصمیم دارید چیزی به هسته اضافه کنید باید این قواعد رو در نظر بگیرید حتی در غیر این صورت هم رعایت این موارد خالی از لطف نیست و توصیه میکنم این کارُ انجام بدین. در حالی که میتونید راحت باشید، شما مجبور به رعایت این سبک در application خودتون نیستید...
+
+سبک کدنویسی که در نسخه 2 فریمورک و extension های رسمی استفاده میشه دارای اصول، قواعد و قانون های خودش هست. پس اگر تصمیم دارید چیزی به هسته اضافه کنید باید این قواعد رو در نظر بگیرید حتی در غیر این صورت هم رعایت این موارد خالی از لطف نیست و توصیه میکنم این کارو انجام بدین.
+
+البته که نیاز نیست حتما این موارد رو در برنامههای خودتون رعایت کنید و می تونید در این مورد راحت باشید...
-
-میتونید برای دریافت پیکره بندی CodeSniffer اینجا رو مطالعه کنید: https://github.com/yiisoft/yii2-coding-standards
+
+میتونید برای دریافت پیکربندی CodeSniffer اینجا رو مطالعه کنید: https://github.com/yiisoft/yii2-coding-standards
## 1. نگاه کلی
-
-به طور کلی ما از سبک PSR-2 استفاده میکنیم و هر چیزی که در این سبک وجود داره اینجا هم هست.
-(https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)
-
- در فایل ها باید از برچسب های php?> و =?> استفاده شود.
- در پایان هر فایل باید یک خط جدید(newline) داشته باشید.
- encoding فایل برای کد های php باید UTF-8 without BOM باشد.
- به جای tab از 4 فضای خالی(space) استفاده کنید.
- نام کلاس ها باید به صورت StudlyCaps تعریف شوند.
- ثابت های داخل کلاس تماما باید با حروف بزرگ و گاهی با جداکننده "_" تعریف شوند.
- نام متد ها و پراپرتی ها باید به صورت camelCase تعریف شوند.
- پراپرتی های خصوصی(private) باید با "_" شروع شوند.
- همیشه از elseif جای else if استفاده کنید.
-
-## 2. فایل ها
-
- در فایل ها باید از برچسب های php?> و =?> استفاده کرد نه از ?> .
- در انتهای فایل های php نباید از تگ استفاده کنید.
- در انتهای هر خط نباید space وجود داشته باشد
- پسوند فایل هایی که شامل کد php هستند باید php. باشد.
- encoding فایل برای کد های php باید UTF-8 without BOM باشد.
-
-
-## 3. نام کلاس ها
-
-نام کلاس ها باید به صورت StudlyCaps تعریف شوند. به عنوان مثال, `Controller`, `Model`.
-
-## 4. کلاس ها
-
- نام کلاس ها باید به صورت CamelCase تعریف شوند.
- آکولاد باز باید در خط بعدی، زیر نام کلاس نوشته شود.
- تمام کلاس ها باید بلاک مستندات مطابق استاندارد PHPDoc داشته باشند.
- برای تمام کد های داخل کلاس باید با 4 space فاصله ایجاد کنید.
- فقط یک کلاس داخل هر فایل php باید موجود باشد.
- تمام کلاس ها باید namespaced داشته باشند.
- نام کلاس باید معال نام فایل و namespace باید مطابق مسیر آن باشد.
+
+به طور کلی ما از سبک کدنویسی PSR-2 پیروی میکنیم:
+
+https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
+
+ در فایلها باید از برچسبهای php?> و =?> استفاده شود.
+ در پایان هر فایل باید یک خط جدید (newline) داشته باشید.
+ encoding فایل برای کدهای php باید UTF-8 without BOM باشد.
+ به جای tab از 4 فضای خالی (space) استفاده کنید.
+ نام کلاسها باید به صورت StudlyCaps تعریف شوند.
+ ثابتهای داخل کلاس تماما باید با حروف بزرگ و گاهی با جداکننده "_" تعریف شوند.
+ نام متدها و پراپرتیها باید به صورت camelCase تعریف شوند.
+ پراپرتیهای خصوصی (private) باید با "_" شروع شوند.
+ همیشه از elseif جای else if استفاده کنید.
+
+## 2. فایلها
+
+ در فایلها باید از برچسب های php?> و =?> استفاده کرد نه از ?> .
+ در انتهای فایلهای php نباید از تگ ?> استفاده کنید.
+ در انتهای هر خط نباید space وجود داشته باشد.
+ پسوند فایلهایی که شامل کد php هستند باید php. باشد.
+ encoding فایل برای کدهای php باید UTF-8 without BOM باشد.
+
+
+## 3. نام کلاسها
+
+نام کلاسها باید به صورت StudlyCaps تعریف شوند. به عنوان مثال، `Controller` و `Model`.
+
+## 4. کلاسها
+
+ نام کلاسها باید به صورت CamelCase تعریف شوند.
+ آکولاد باز باید در خط بعدی، زیر نام کلاس نوشته شود.
+ تمام کلاسها باید بلاک مستندات مطابق استاندارد PHPDoc داشته باشند.
+ برای تمام کدهای داخل کلاس باید با 4 space فاصله ایجاد کنید.
+ فقط یک کلاس داخل هر فایل php باید موجود باشد.
+ تمام کلاسها باید namespaced داشته باشند.
+ نام کلاس باید معادل نام فایل و namespace باید مطابق مسیر آن باشد.
```php
/**
@@ -55,9 +58,9 @@ class MyClass extends \yii\base\BaseObject implements MyInterface
}
```
-### 4.1. ثابت ها
-
-ثابت های داخل کلاس تماما باید با حروف بزرگ و گاهی با جداکننده "_" تعریف شوند.
+### 4.1. ثابتها
+
+ثابتهای داخل کلاس تماما باید با حروف بزرگ و گاهی با جداکننده "_" تعریف شوند.
```php
از کلید واژه های public، protected و private استفاده کنید.
- پراپرتی های public و protected باید در بالای کلاس و قبل از متد ها تعریف شوند. private هم همینطور اما ممکن هست کاهی قبل از متدی که با آن مرتبط هست آورده شود.
- ترتیب تعریف پراپرتی ها باید به صورت اول public، دوم protected و سپس private باشد! هیچ قانون سختی برای رعایت این مورد نیست...
- برای خوانایی بهتر میتونید از خط خالی بین گروه های public، protected و private استفاده کنید.
-
متغییر های private باید مثل varName_$ باشند.
- اعضای عمومی داخل کلاس باید به صورت camelCase تعریف شوند.(حرف اول کوچک، با CamelCase فرق میکنه).
- بهتره از نام هایی مثل i$ و j$ استفاده نکنید.
+ از کلید واژه های public ،protected و private استفاده کنید.
+ پراپرتیهای public و protected باید در بالای کلاس و قبل از متدها تعریف شوند. private هم همینطور اما ممکن هست گاهی قبل از متدی که با آن مرتبط هست آورده شود.
+ ترتیب تعریف پراپرتیها باید به صورت اول public، دوم protected و سپس private باشد! کار بسیار سادهایست :)
+ برای خوانایی بهتر میتونید از خط خالی بین گروههای public، protected و private استفاده کنید.
+
متغیر های private باید مثل varName_$ باشند.
+ اعضای عمومی داخل کلاس باید به صورت camelCase تعریف شوند. (حرف اول کوچک، با CamelCase فرق میکنه)
+ بهتره از نامهایی مثل i$ و j$ استفاده نکنید.
```php
توابع و متد ها باید camelCase باشند.
- نام باید هدف رو نشون بده.
- از کلید واژه های public، protected و private استفاده کنید.
- آکولاد باز باید در خط بعدی یعنی زیر نام متد قرار بگیره.
+ توابع و متدها باید camelCase باشند.
+ نام باید هدف رو نشون بده.
+ از کلید واژه های public، protected و private استفاده کنید.
+ آکولاد باز باید در خط بعدی یعنی زیر نام متد قرار بگیره.
```php
/**
@@ -120,14 +123,14 @@ class Foo
}
```
-### 4.4 بلوک های PHPDoc
+### 4.4 بلوکهای PHPDoc
- برای متد ها باید مستندات بنویسید(PHPDoc).
- در PHPDoc نوع param@, var@, property@ و return@ باید مشخص شود(bool, int, string, array یا null).
- برای تایپ آرایه در PHPDoc از []ClassName استفاده کنید.
- خط اول PHPDoc باید هدف یک متد رو شرح بده.
- اگر متد ها چیزی رو بررسی میکنن مثل isActive بخش PHPDoc رو باید با عبارت Checks whether شروع کنید.
- return@ در PHPDoc یاید دقیقا مشخص کنه چی بازگردانده میشود.
+ برای متدها باید مستندات بنویسید (PHPDoc).
+ در PHPDoc نوع param@ ،var@ ،property@ و return@ باید مشخص شود (bool, int, string, array یا null).
+ برای تایپ آرایه در PHPDoc از []ClassName استفاده کنید.
+ خط اول PHPDoc باید هدف یک متد رو شرح بده.
+ اگر متدها چیزی رو بررسی میکنن مثل isActive بخش PHPDoc رو باید با عبارت Checks whether شروع کنید.
+ return@ در PHPDoc یاید دقیقا مشخص کنه چی بازگردانده میشه.
```php
/**
@@ -146,14 +149,14 @@ class Foo
### 4.5 Constructors
- `__construct` باید به جای استایل PHP 4 constructors استفاده شود.
+ `__construct` باید به جای استایل PHP 4 constructors استفاده شود.
## 5 PHP
-### 5.1 نوع ها
+### 5.1 نوعها
- تمام انواع و مقادیر باید با حروف کوچک نوشته شوند مثل true, false, null و array.
- تغییر نوع یک متغییر خیلی بده، به این مثال توجه کنید:
+ تمام انواع و مقادیر باید با حروف کوچک نوشته شوند مثل true ،false ،null و array.
+ تغییر نوع یک متغیر خیلی بده، به این مثال توجه کنید:
```php
@@ -164,22 +167,22 @@ public function save(Transaction $transaction, $argument2 = 100)
}
```
-### 5.2 رشته ها
+### 5.2 رشتهها
- اگر رشته ی شما شامل متغییر های دیگه این نیست از تک کوتیشن جای دابل کوتیشن استفاده کنید.
+ اگر رشتهی شما شامل متغیرهای دیگهای نیست از تککوتیشن جای دابلکوتیشن استفاده کنید.
```php
$str = 'Like this.';
```
- دو روش زیر مناسب برای جایگزینی هستند:
+ دو روش زیر مناسب برای جایگزینی هستند:
```php
$str1 = "Hello $username!";
$str2 = "Hello {$username}!";
```
-
-حالت زی مجاز نیست:
+
+حالت زیر مجاز نیست:
```php
$str3 = "Hello ${username}!";
@@ -187,13 +190,13 @@ $str3 = "Hello ${username}!";
#### الحاق
- برای الحاق قبل و بعد کاراکتر dot فاصله بذارید
+ برای الحاق قبل و بعد کاراکتر dot فاصله بذارید:
```php
$name = 'Yii' . ' Framework';
```
- و اگر رشته ی شما بلند بود میتونید اینطور عمل کنید:
+ و اگر رشته ی شما بلند بود میتونید اینطور عمل کنید:
```php
$sql = "SELECT *"
@@ -201,11 +204,11 @@ $sql = "SELECT *"
. "WHERE `id` = 121 ";
```
-### 5.3 آرایه ها
+### 5.3 آرایهها
- برای تعریف آرایه ها از نحوه ی کوتاه اون یعنی [] استفاده کنید.
- از ایندکس منفی در آرایه ها استفاده نکنید.
- روش های زیر قابل قبول و مناسب هستند:
+ برای تعریف آرایهها از ساختار کوتاه اون یعنی [] استفاده کنید.
+ از ایندکس منفی در آرایهها استفاده نکنید.
+ روشهای زیر قابل قبول و مناسب هستند:
```php
$arr = [3, 14, 15, 'Yii', 'Framework'];
@@ -228,10 +231,10 @@ $config = [
### 5.4 دستورات کنترلی
- در دستورات کنترلی قبل و بعد پرانتز space بذارید.
- آکولاد باز در همان خط دستور قرار میگیرد.
- آکولاد بسته در خط جدید.
- برای دستورات یک خطی همیشه از پرانتز استفاده کنید.
+ در دستورات کنترلی قبل و بعد پرانتز space بذارید.
+ آکولاد باز در همان خط دستور قرار میگیرد.
+ آکولاد بسته در خط جدید.
+ برای دستورات یک خطی همیشه از پرانتز استفاده کنید.
```php
if ($event === null) {
@@ -248,7 +251,7 @@ if (!$model && null === $event)
throw new Exception('test');
```
-بعد از return از else استفاده نکنید
+بعد از return از else استفاده نکنید:
```php
$result = $this->getResult();
@@ -258,7 +261,7 @@ if (empty($result)) {
// process result
}
```
-اینطوری بهتره
+اینطوری بهتره:
```php
@@ -272,8 +275,8 @@ if (empty($result)) {
#### switch
- از فرمت زیر برای switch استفاده کنید
-
+ از فرمت زیر برای switch استفاده کنید:
+
```php
switch ($this->phpType) {
case 'string':
@@ -291,9 +294,9 @@ switch ($this->phpType) {
}
```
-### 5.5 function calls
+### 5.5 صدا زدن فانکشنها
-روش مناسب صدا زدن توابع همراه با پارامتر ها هم اینطور صحیحه
+روش مناسب صدا زدن فانکشنها همراه با پارامتر هم به این صورته:
```php
doIt(2, 3);
@@ -308,7 +311,7 @@ doIt('a', [
### 5.6 تعریف Anonymous functions (lambda)
- در توابع بی نام بین function/use فضای خالی(space) بذارید.
+ در توابع بی نام بین function/use فضای خالی (space) بذارید:
```php
// good
@@ -328,14 +331,14 @@ $mul = array_reduce($numbers, function($r, $x) use($n) {
});
```
-مستند نویسی
+مستند نویسی
-------------
- [phpDoc](https://phpdoc.org/) رو بخونید و موارد اونُ رعایت کنید.
- کد بدون مستندات مجاز نیست.
- تمام کلاس ها باید شامل بلاک مستندات در ابتدای فایل باشند.
- نیازی به نوشتن return@ ندارید اگر متد شما اگر چیزی را برنمیگرداند.
- به مثال های زیر توجه کنید:
+ https://phpdoc.org رو بخونید و موارد اون رو رعایت کنید.
+ کد بدون مستندات مجاز نیست.
+ تمام کلاسها باید شامل بلاک مستندات در ابتدای فایل باشند.
+ نیازی به نوشتن return@ ندارید اگر متد شما چیزی برنمیگرداند.
+ به مثالهای زیر توجه کنید:
```php
getEventHandlers($eventName)->insertAt(0, $eventHandler);
- * ```
- *
- * @param string $name the event name
- * @return Vector list of attached event handlers for the event
- * @throws Exception if the event is not defined
- */
-public function getEventHandlers($name)
-{
- if (!isset($this->_e[$name])) {
- $this->_e[$name] = new Vector;
- }
- $this->ensureBehaviors();
- return $this->_e[$name];
-}
+* $component->getEventHandlers($eventName)->insertAt(0, $eventHandler);
+* ```
+*
+* @param string $name the event name
+* @return Vector list of attached event handlers for the event
+* @throws Exception if the event is not defined
+ */
+ public function getEventHandlers($name)
+ {
+ if (!isset($this->_e[$name])) {
+ $this->_e[$name] = new Vector;
+ }
+ $this->ensureBehaviors();
+ return $this->_e[$name];
+ }
```
#### نظرات
- از // برای کامنت گذاری استفاده کنید نه از #.
- در خطوطی که کامنت گذاشتین نباید کد بنویسید، یعنی اون خط برای اون کامنت باید باشه.
+ از // برای کامنت گذاری استفاده کنید نه از #.
+ در خطوطی که کامنت گذاشتین نباید کد بنویسید، یعنی اون خط برای اون کامنت باید باشه.
قوانین بیشتر
----------------
- تا جایی که میتونید از تابع empty به جای === استفاده کنید.
- اگر شرایط تو در تویی در کد شما وجود نداره return زود هنگام یا ساده تر بگم return وسط متد مشکلی نخواهد داشت.
- همیشه از static جای self به جز موارد زیر استفاده کنید:
-1) دسترسی به ثابت ها باید با self انجام بشه.
-2) دسترسی به پراپرتی های خصوصی باید با self انجام بشه.
-3) مجاز به استفاده از self برای صدا زدن توابع در مواقعی مثل فراخوانی بازگشتی هستید.
+ تا جایی که میتونید از تابع empty به جای === استفاده کنید.
+ اگر شرایط تو در تویی در کد شما وجود نداره return زود هنگام یا ساده تر بگم return وسط متد مشکلی نخواهد داشت.
+ همیشه از static جای self به جز موارد زیر استفاده کنید:
+1) دسترسی به ثابتها باید با self انجام بشه.
+2) دسترسی به پراپرتیهای خصوصی باید با self انجام بشه.
+3) مجاز به استفاده از self برای صدا زدن توابع در مواقعی مثل فراخوانی بازگشتی هستید.
-namespace ها
+نیماسپیسها
----------------
- از حرف کوچک استفاده کنید.
- از فرم جمع اسم ها برای نشان دادن یک شی استفاده کنید مثل validators.
- از فرم منفرد اسم ها برای قابلیت ها و امکانات استفاده کنید مثل web.
- بهتره فضای نام تک کلمه ای باشه در غیر این صورت از camelCase استفاده کنید.
-
+ از حرف کوچک استفاده کنید.
+ از فرم جمع اسمها برای نشان دادن یک شی استفاده کنید مثل validators.
+ از فرم مفرد اسمها برای قابلیتها و امکانات استفاده کنید مثل web.
+ بهتره فضای نام تککلمهای باشه در غیر این صورت از camelCase استفاده کنید.
From bd452da4d2bc6636e3eabeef817b3917ae0b293b Mon Sep 17 00:00:00 2001
From: Saleh Hashemi <81674631+salehhashemi1992@users.noreply.github.com>
Date: Fri, 27 Oct 2023 22:26:06 +0330
Subject: [PATCH 26/31] Add tests for uncovered lines in DbDependency (#20052)
---
tests/framework/caching/DbDependencyTest.php | 41 +++++++++++++++++++-
1 file changed, 39 insertions(+), 2 deletions(-)
diff --git a/tests/framework/caching/DbDependencyTest.php b/tests/framework/caching/DbDependencyTest.php
index bd801e3528c..bb723be3a49 100644
--- a/tests/framework/caching/DbDependencyTest.php
+++ b/tests/framework/caching/DbDependencyTest.php
@@ -21,7 +21,6 @@ class DbDependencyTest extends DatabaseTestCase
*/
protected $driverName = 'sqlite';
-
/**
* {@inheritdoc}
*/
@@ -39,11 +38,14 @@ protected function setUp()
$db->createCommand()->insert('dependency_item', ['value' => 'initial'])->execute();
}
- public function testIsChanged()
+ public function testQueryOneIsExecutedWhenQueryCacheEnabled()
{
$db = $this->getConnection(false);
$cache = new ArrayCache();
+ // Enable the query cache
+ $db->enableQueryCache = true;
+
$dependency = new DbDependency();
$dependency->db = $db;
$dependency->sql = 'SELECT [[id]] FROM {{dependency_item}} ORDER BY [[id]] DESC LIMIT 1';
@@ -56,4 +58,39 @@ public function testIsChanged()
$this->assertTrue($dependency->isChanged($cache));
}
+
+ public function testQueryOneIsExecutedWhenQueryCacheDisabled()
+ {
+ $db = $this->getConnection(false);
+ $cache = new ArrayCache();
+
+ // Disable the query cache
+ $db->enableQueryCache = false;
+
+ $dependency = new DbDependency();
+ $dependency->db = $db;
+ $dependency->sql = 'SELECT [[id]] FROM {{dependency_item}} ORDER BY [[id]] DESC LIMIT 1';
+ $dependency->reusable = false;
+
+ $dependency->evaluateDependency($cache);
+ $this->assertFalse($dependency->isChanged($cache));
+
+ $db->createCommand()->insert('dependency_item', ['value' => 'new'])->execute();
+
+ $this->assertTrue($dependency->isChanged($cache));
+ }
+
+ public function testMissingSqlThrowsException()
+ {
+ $this->expectException('\yii\base\InvalidConfigException');
+
+ $db = $this->getConnection(false);
+ $cache = new ArrayCache();
+
+ $dependency = new DbDependency();
+ $dependency->db = $db;
+ $dependency->sql = null;
+
+ $dependency->evaluateDependency($cache);
+ }
}
From af1858c769330aae53f8291150a17ef31ce58576 Mon Sep 17 00:00:00 2001
From: Saleh Hashemi <81674631+salehhashemi1992@users.noreply.github.com>
Date: Fri, 27 Oct 2023 22:26:43 +0330
Subject: [PATCH 27/31] add test coverage for error handler
convertExceptionToString and convertExceptionToArray methods (#20051)
---
tests/framework/web/ErrorHandlerTest.php | 43 ++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/tests/framework/web/ErrorHandlerTest.php b/tests/framework/web/ErrorHandlerTest.php
index 1634c572d4a..4ea8b15e6c8 100644
--- a/tests/framework/web/ErrorHandlerTest.php
+++ b/tests/framework/web/ErrorHandlerTest.php
@@ -42,6 +42,49 @@ public function testCorrectResponseCodeInErrorView()
Exception: yii\web\NotFoundHttpException', $out);
}
+ public function testFormatRaw()
+ {
+ Yii::$app->response->format = yii\web\Response::FORMAT_RAW;
+
+ /** @var ErrorHandler $handler */
+ $handler = Yii::$app->getErrorHandler();
+
+ ob_start(); // suppress response output
+ $this->invokeMethod($handler, 'renderException', [new \Exception('Test Exception')]);
+ $out = ob_get_clean();
+
+ $this->assertcontains('Test Exception', $out);
+
+ $this->assertTrue(is_string(Yii::$app->response->data));
+ $this->assertcontains("Exception 'Exception' with message 'Test Exception'", Yii::$app->response->data);
+ }
+
+ public function testFormatXml()
+ {
+ Yii::$app->response->format = yii\web\Response::FORMAT_XML;
+
+ /** @var ErrorHandler $handler */
+ $handler = Yii::$app->getErrorHandler();
+
+ ob_start(); // suppress response output
+ $this->invokeMethod($handler, 'renderException', [new \Exception('Test Exception')]);
+ $out = ob_get_clean();
+
+ $this->assertcontains('Test Exception', $out);
+
+ $outArray = Yii::$app->response->data;
+
+ $this->assertTrue(is_array(Yii::$app->response->data));
+
+ $this->assertEquals('Exception', $outArray['name']);
+ $this->assertEquals('Test Exception', $outArray['message']);
+ $this->assertArrayHasKey('code', $outArray);
+ $this->assertEquals('Exception', $outArray['type']);
+ $this->assertContains('ErrorHandlerTest.php', $outArray['file']);
+ $this->assertArrayHasKey('stack-trace', $outArray);
+ $this->assertArrayHasKey('line', $outArray);
+ }
+
public function testClearAssetFilesInErrorView()
{
Yii::$app->getView()->registerJsFile('somefile.js');
From caa2029ec70604747fe36cfd4fd7d01ff31680d6 Mon Sep 17 00:00:00 2001
From: salehhashemi1992 <81674631+salehhashemi1992@users.noreply.github.com>
Date: Mon, 23 Oct 2023 22:48:14 +0330
Subject: [PATCH 28/31] implement findBetween method to StringHelper
---
framework/helpers/BaseStringHelper.php | 28 ++++++++++++++++++++
tests/framework/helpers/StringHelperTest.php | 26 ++++++++++++++++++
2 files changed, 54 insertions(+)
diff --git a/framework/helpers/BaseStringHelper.php b/framework/helpers/BaseStringHelper.php
index e9c5327b031..1dda22be7c8 100644
--- a/framework/helpers/BaseStringHelper.php
+++ b/framework/helpers/BaseStringHelper.php
@@ -527,4 +527,32 @@ public static function mask($string, $start, $length, $mask = '*') {
return $masked;
}
+
+ /**
+ * Returns the portion of the string that lies between the first occurrence of the start string
+ * and the last occurrence of the end string after that.
+ *
+ * @param string $string The input string.
+ * @param string $start The string marking the start of the portion to extract.
+ * @param string $end The string marking the end of the portion to extract.
+ * @return string The portion of the string between the first occurrence of start and the last occurrence of end.
+ */
+ public static function findBetween($string, $start, $end)
+ {
+ $startPos = mb_strpos($string, $start);
+
+ if ($startPos === false) {
+ return '';
+ }
+
+ // Cut the string from the start position
+ $subString = mb_substr($string, $startPos + mb_strlen($start));
+ $endPos = mb_strrpos($subString, $end);
+
+ if ($endPos === false) {
+ return '';
+ }
+
+ return mb_substr($subString, 0, $endPos);
+ }
}
diff --git a/tests/framework/helpers/StringHelperTest.php b/tests/framework/helpers/StringHelperTest.php
index a640e5cdda2..ff6298eacf8 100644
--- a/tests/framework/helpers/StringHelperTest.php
+++ b/tests/framework/helpers/StringHelperTest.php
@@ -506,4 +506,30 @@ public function testMask()
$this->assertSame('em**l@email.com', StringHelper::mask('email@email.com', 2, 2));
$this->assertSame('******email.com', StringHelper::mask('email@email.com', 0, 6));
}
+
+ /**
+ * @param string $string
+ * @param string $start
+ * @param string $end
+ * @param string $expectedResult
+ * @dataProvider dataProviderFindBetween
+ */
+ public function testFindBetween($string, $start, $end, $expectedResult)
+ {
+ $this->assertSame($expectedResult, StringHelper::findBetween($string, $start, $end));
+ }
+
+ public function dataProviderFindBetween()
+ {
+ return [
+ ['hello world hello', 'hello ', ' world', ''], // end before start
+ ['This is a sample string', 'is ', ' string', 'is a sample'], // normal case
+ ['startendstart', 'start', 'end', ''], // end before start
+ ['startmiddleend', 'start', 'end', 'middle'], // normal case
+ ['startend', 'start', 'end', ''], // end immediately follows start
+ ['multiple start start end end', 'start ', ' end', 'start end'], // multiple starts and ends
+ ['', 'start', 'end', ''], // empty string
+ ['no delimiters here', 'start', 'end', ''], // no start and end
+ ];
+ }
}
From 26032ad686f140b019cb7abfe25ca3c88d1648a2 Mon Sep 17 00:00:00 2001
From: salehhashemi1992 <81674631+salehhashemi1992@users.noreply.github.com>
Date: Sat, 28 Oct 2023 22:19:51 +0330
Subject: [PATCH 29/31] refactor findBetween method and add other tests
---
framework/CHANGELOG.md | 1 +
framework/helpers/BaseStringHelper.php | 7 ++++---
tests/framework/helpers/StringHelperTest.php | 12 ++++++++----
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index a80668a4524..206da6ab1ae 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -14,6 +14,7 @@ Yii Framework 2 Change Log
- Enh #20030: Improve performance of handling `ErrorHandler::$memoryReserveSize` (antonshevelev, rob006)
- Enh #20042: Add empty array check to `ActiveQueryTrait::findWith()` (renkas)
- Enh #20032: Added `mask` method for string masking with multibyte support (salehhashemi1992)
+- Enh #20034: Added `findBetween` to retrieve a substring that lies between two strings (salehhashemi1992)
2.0.49.2 October 12, 2023
diff --git a/framework/helpers/BaseStringHelper.php b/framework/helpers/BaseStringHelper.php
index 1dda22be7c8..21a1f9e6432 100644
--- a/framework/helpers/BaseStringHelper.php
+++ b/framework/helpers/BaseStringHelper.php
@@ -535,14 +535,15 @@ public static function mask($string, $start, $length, $mask = '*') {
* @param string $string The input string.
* @param string $start The string marking the start of the portion to extract.
* @param string $end The string marking the end of the portion to extract.
- * @return string The portion of the string between the first occurrence of start and the last occurrence of end.
+ * @return string|null The portion of the string between the first occurrence of
+ * start and the last occurrence of end, or null if either start or end cannot be found.
*/
public static function findBetween($string, $start, $end)
{
$startPos = mb_strpos($string, $start);
if ($startPos === false) {
- return '';
+ return null;
}
// Cut the string from the start position
@@ -550,7 +551,7 @@ public static function findBetween($string, $start, $end)
$endPos = mb_strrpos($subString, $end);
if ($endPos === false) {
- return '';
+ return null;
}
return mb_substr($subString, 0, $endPos);
diff --git a/tests/framework/helpers/StringHelperTest.php b/tests/framework/helpers/StringHelperTest.php
index ff6298eacf8..94efbf67137 100644
--- a/tests/framework/helpers/StringHelperTest.php
+++ b/tests/framework/helpers/StringHelperTest.php
@@ -522,14 +522,18 @@ public function testFindBetween($string, $start, $end, $expectedResult)
public function dataProviderFindBetween()
{
return [
- ['hello world hello', 'hello ', ' world', ''], // end before start
- ['This is a sample string', 'is ', ' string', 'is a sample'], // normal case
+ ['hello world hello', ' hello', ' world', null], // end before start
+ ['This is a sample string', ' is ', ' string', 'a sample'], // normal case
['startendstart', 'start', 'end', ''], // end before start
['startmiddleend', 'start', 'end', 'middle'], // normal case
['startend', 'start', 'end', ''], // end immediately follows start
['multiple start start end end', 'start ', ' end', 'start end'], // multiple starts and ends
- ['', 'start', 'end', ''], // empty string
- ['no delimiters here', 'start', 'end', ''], // no start and end
+ ['', 'start', 'end', null], // empty string
+ ['no delimiters here', 'start', 'end', null], // no start and end
+ ['start only', 'start', 'end', null], // start found but no end
+ ['end only', 'start', 'end', null], // end found but no start
+ ['spécial !@#$%^&*()', 'spé', '&*()', 'cial !@#$%^'], // Special characters
+ ['من صالح هاشمی هستم', 'من ', ' هستم', 'صالح هاشمی'], // other languages
];
}
}
From 3d4e108a3e0ac6393f34159e9255748545238ec3 Mon Sep 17 00:00:00 2001
From: Bizley
Date: Mon, 30 Oct 2023 12:18:25 +0100
Subject: [PATCH 30/31] Update CHANGELOG.md
---
framework/CHANGELOG.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md
index 206da6ab1ae..e2c67473595 100644
--- a/framework/CHANGELOG.md
+++ b/framework/CHANGELOG.md
@@ -13,8 +13,8 @@ Yii Framework 2 Change Log
- Enh #12743: Added new methods `BaseActiveRecord::loadRelations()` and `BaseActiveRecord::loadRelationsFor()` to eager load related models for existing primary model instances (PowerGamer1)
- Enh #20030: Improve performance of handling `ErrorHandler::$memoryReserveSize` (antonshevelev, rob006)
- Enh #20042: Add empty array check to `ActiveQueryTrait::findWith()` (renkas)
-- Enh #20032: Added `mask` method for string masking with multibyte support (salehhashemi1992)
-- Enh #20034: Added `findBetween` to retrieve a substring that lies between two strings (salehhashemi1992)
+- Enh #20032: Added `yii\helpers\BaseStringHelper::mask()` method for string masking with multibyte support (salehhashemi1992)
+- Enh #20034: Added `yii\helpers\BaseStringHelper::findBetween()` to retrieve a substring that lies between two strings (salehhashemi1992)
2.0.49.2 October 12, 2023
From 5ce3b4ea01a55a2ecabd82ee5f62415d487c3c14 Mon Sep 17 00:00:00 2001
From: salehhashemi1992 <81674631+salehhashemi1992@users.noreply.github.com>
Date: Wed, 1 Nov 2023 15:04:32 +0330
Subject: [PATCH 31/31] Optimize findBetween method to remove calling function
mb_substr()
---
framework/helpers/BaseStringHelper.php | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/framework/helpers/BaseStringHelper.php b/framework/helpers/BaseStringHelper.php
index 21a1f9e6432..749f92f79cd 100644
--- a/framework/helpers/BaseStringHelper.php
+++ b/framework/helpers/BaseStringHelper.php
@@ -546,14 +546,13 @@ public static function findBetween($string, $start, $end)
return null;
}
- // Cut the string from the start position
- $subString = mb_substr($string, $startPos + mb_strlen($start));
- $endPos = mb_strrpos($subString, $end);
+ $startPos += mb_strlen($start);
+ $endPos = mb_strrpos($string, $end, $startPos);
if ($endPos === false) {
return null;
}
- return mb_substr($subString, 0, $endPos);
+ return mb_substr($string, $startPos, $endPos - $startPos);
}
}