Browse Source
# Conflicts: # framework/db/mssql/QueryBuilder.php # framework/helpers/BaseHtml.php # framework/rbac/DbManager.php # framework/rbac/PhpManager.php # framework/validators/UniqueValidator.php # framework/web/Response.php # tests/framework/db/ActiveQueryTest.php # tests/framework/db/ActiveRecordTest.php # tests/framework/filters/AccessRuleTest.php # tests/framework/rbac/ManagerTestCase.php # tests/framework/test/ActiveFixtureTest.php # tests/framework/web/ErrorActionTest.phptags/3.0.0-alpha1
Alexander Makarov
8 years ago
255 changed files with 5635 additions and 1339 deletions
@ -0,0 +1,118 @@
|
||||
before_script: |
||||
# set stack isolation |
||||
- export ISOLATION=buildpipeline${CI_PIPELINE_ID}${CI_BUILD_NAME} |
||||
- export COMPOSE_PROJECT_NAME=${ISOLATION} |
||||
- export TUPLE_C=$(expr ${CI_BUILD_ID} % 99) |
||||
- echo ${TUPLE_C} |
||||
# run docker-compose commands from tests environment |
||||
- cd tests |
||||
- cp .env-dist .env |
||||
- docker-compose config |
||||
|
||||
after_script: |
||||
- export ISOLATION=buildpipeline${CI_PIPELINE_ID}${CI_BUILD_NAME} |
||||
- export COMPOSE_PROJECT_NAME=${ISOLATION} |
||||
# run docker-compose commands from tests environment |
||||
- cd tests |
||||
- cp .env-dist .env |
||||
- docker-compose down -v --remove-orphans |
||||
- docker ps -f name=${ISOLATION} |
||||
|
||||
stages: |
||||
- travis |
||||
- test |
||||
- cleanup |
||||
|
||||
test: |
||||
stage: test |
||||
script: |
||||
- docker-compose up --build -d |
||||
- docker-compose run --rm php vendor/bin/phpunit -v --exclude caching,db,data --log-junit tests/_junit/test.xml |
||||
|
||||
caching: |
||||
stage: test |
||||
only: |
||||
- tests/caching |
||||
- tests/full |
||||
script: |
||||
- export COMPOSE_FILE=docker-compose.yml:docker-compose.${CI_BUILD_NAME}.yml |
||||
- docker-compose up --build -d |
||||
- docker-compose run --rm php vendor/bin/phpunit -v --group caching --exclude db |
||||
|
||||
db: |
||||
stage: test |
||||
only: |
||||
- tests/mysql |
||||
- tests/full |
||||
script: |
||||
- docker-compose up --build -d |
||||
- docker-compose run --rm php vendor/bin/phpunit -v --group db --exclude caching,mysql,pgsql,mssql,cubrid,oci |
||||
|
||||
|
||||
mysql: |
||||
stage: test |
||||
only: |
||||
- tests/mysql |
||||
- tests/full |
||||
script: |
||||
- export COMPOSE_FILE=docker-compose.yml:docker-compose.${CI_BUILD_NAME}.yml |
||||
- docker-compose up --build -d |
||||
# wait for db (retry X times) |
||||
- docker-compose run --rm php bash -c "while ! curl mysql:3306; do ((c++)) && ((c==30)) && break; sleep 2; done" |
||||
- docker-compose run --rm php vendor/bin/phpunit -v --group mysql |
||||
|
||||
|
||||
pgsql: |
||||
stage: test |
||||
only: |
||||
- tests/pgsql |
||||
- tests/full |
||||
script: |
||||
- export COMPOSE_FILE=docker-compose.yml:docker-compose.${CI_BUILD_NAME}.yml |
||||
- docker-compose up --build -d |
||||
# wait for db (retry X times) |
||||
- docker-compose run --rm php bash -c 'while [ true ]; do curl postgres:5432; if [ $? == 52 ]; then break; fi; ((c++)) && ((c==25)) && break; sleep 2; done' |
||||
- docker-compose run --rm php vendor/bin/phpunit -v --group pgsql |
||||
|
||||
|
||||
cubrid: |
||||
stage: test |
||||
only: |
||||
- tests/cubrid |
||||
- tests/extra |
||||
script: |
||||
- cd cubrid |
||||
- docker-compose up --build -d |
||||
# wait for db (retry X times) |
||||
- docker-compose run --rm php bash -c 'while [ true ]; do curl cubrid:1523; if [ $? == 56 ]; then break; fi; ((c++)) && ((c==20)) && break; sleep 3; done' |
||||
- sleep 5 |
||||
- docker-compose run --rm php /project/vendor/bin/phpunit -v --group cubrid |
||||
|
||||
|
||||
mssql: |
||||
stage: test |
||||
only: |
||||
- tests/mssql |
||||
- tests/extra |
||||
script: |
||||
- cd mssql |
||||
- docker-compose up --build -d |
||||
# wait for db (retry X times) |
||||
- docker-compose run --rm php bash -c 'while [ true ]; do curl mssql:1433; if [ $? == 52 ]; then break; fi; ((c++)) && ((c==15)) && break; sleep 5; done' |
||||
- sleep 3 |
||||
# Note: Password has to be the last parameter |
||||
- docker-compose run --rm sqlcmd sh -c 'sqlcmd -S mssql -U sa -Q "CREATE DATABASE yii2test" -P Microsoft-12345' |
||||
- docker-compose run --rm php vendor/bin/phpunit -v --group mssql |
||||
|
||||
|
||||
travis: |
||||
stage: travis |
||||
only: |
||||
- travis |
||||
script: |
||||
- export COMPOSE_FILE=docker-compose.yml:docker-compose.mysql.yml:docker-compose.pgsql.yml |
||||
- docker-compose up --build -d |
||||
# wait for dbs ... |
||||
- sleep 10 |
||||
- docker-compose run --rm php vendor/bin/phpunit -v --exclude mssql,cubrid,oci,wincache,xcache,zenddata,cubrid |
||||
|
@ -0,0 +1,8 @@
|
||||
FROM dmstr/php-yii2:7.0-fpm-1.9-beta2-alpine-nginx |
||||
|
||||
# Project source-code |
||||
WORKDIR /project |
||||
ADD composer.* /project/ |
||||
RUN /usr/local/bin/composer install --prefer-dist |
||||
ADD ./ /project |
||||
ENV PATH /project/vendor/bin:${PATH} |
@ -0,0 +1,47 @@
|
||||
<?php |
||||
/** |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
namespace yii\db; |
||||
|
||||
/** |
||||
* ViewFinderTrait implements the method getViewNames for finding views in a database. |
||||
* |
||||
* @author Qiang Xue <qiang.xue@gmail.com> |
||||
* @author Bob Olde Hampsink <b.oldehampsink@nerds.company> |
||||
* @since 2.0.12 |
||||
*/ |
||||
trait ViewFinderTrait |
||||
{ |
||||
/** |
||||
* @var array list of ALL view names in the database |
||||
*/ |
||||
private $_viewNames = []; |
||||
|
||||
/** |
||||
* Returns all views names in the database. |
||||
* @param string $schema the schema of the views. Defaults to empty string, meaning the current or default schema. |
||||
* @return array all views names in the database. The names have NO schema name prefix. |
||||
*/ |
||||
abstract protected function findViewNames($schema = ''); |
||||
|
||||
/** |
||||
* Returns all view names in the database. |
||||
* @param string $schema the schema of the views. Defaults to empty string, meaning the current or default schema name. |
||||
* If not empty, the returned view names will be prefixed with the schema name. |
||||
* @param bool $refresh whether to fetch the latest available view names. If this is false, |
||||
* view names fetched previously (if available) will be returned. |
||||
* @return string[] all view names in the database. |
||||
*/ |
||||
public function getViewNames($schema = '', $refresh = false) |
||||
{ |
||||
if (!isset($this->_viewNames[$schema]) || $refresh) { |
||||
$this->_viewNames[$schema] = $this->findViewNames($schema); |
||||
} |
||||
|
||||
return $this->_viewNames[$schema]; |
||||
} |
||||
} |
@ -1,114 +1,129 @@
|
||||
<?php |
||||
/** |
||||
* Message translations. |
||||
* |
||||
* This file is automatically generated by 'yii message' 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. |
||||
*/ |
||||
* 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 [ |
||||
'Powered by {yii}' => 'Дар {yii} кор мекунад', |
||||
'Unknown alias: -{name}' => 'Тахаллуси номаълум: -{name}', |
||||
'Yii Framework' => 'Yii Framework', |
||||
'(not set)' => '(супориш дода нашуд)', |
||||
' and ' => ' ва ', |
||||
'An internal server error occurred.' => 'Хатои дохилии сервер рух дод.', |
||||
'Are you sure you want to delete this item?' => 'Оё шумо дар ҳақиқат мехоҳед, ки ин элементро нест кунед?', |
||||
'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}.', |
||||
'Page not found.' => 'Саҳифа ёфт нашуд.', |
||||
'Please fix the following errors:' => 'Лутфан, хатогиҳои зеринро ислоҳ намоед:', |
||||
'Please upload a file.' => 'Лутфан, файлро бор кунед.', |
||||
'Showing <b>{begin, number}-{end, number}</b> of <b>{totalCount, number}</b> {totalCount, plural, one{item} other{items}}.' => 'Қайдҳо нишон дода шудаанд <b>{begin, number}-{end, number}</b> аз <b>{totalCount, number}</b>.', |
||||
'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 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 <b>{count, number}</b> {count, plural, one{item} other{items}}.' => 'Ҳамаги <b>{count, number}</b> {count, plural, one{қайд} few{қайд} many{қайдҳо} other{қайд}}.', |
||||
'Unable to verify your data submission.' => 'Санҷидани маълумоти фиристодаи Шумо муяссар нагардид.', |
||||
'Unknown option: --{name}' => 'Гузинаи номаълум: --{name}', |
||||
'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 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, plural, =1{соат} one{# соат} few{# соат} many{# соат} other{# соат}}', |
||||
'just now' => 'ҳоло', |
||||
'the input value' => 'ҷадвали воридшуда', |
||||
'{attribute} "{value}" has already been taken.' => 'Ҷадвали «{value}» барои {attribute} аллакай банд аст.', |
||||
'{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} сӯроғаи дурусти E-mail нест.', |
||||
'{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}» бояд сӯроғаи дурусти IP бошад.', |
||||
'{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} рамз дошта бошад.', |
||||
'{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} рамз дошта бошад.', |
||||
'{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{# дақиқа}}', |
||||
'{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, one{# моҳ} few{# моҳ} many{# моҳ} other{# моҳ}}', |
||||
'{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, one{# сония} few{# сония} many{# сония} other{# сония}}', |
||||
'{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, one{# сол} few{# сол} many{# сол} other{# сол}}', |
||||
'{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} 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} GB' => '{nFormatted} GB', |
||||
'{nFormatted} GiB' => '{nFormatted} GiB', |
||||
'{nFormatted} PB' => '{nFormatted} PB', |
||||
'{nFormatted} PiB' => '{nFormatted} PiB', |
||||
'{nFormatted} TB' => '{nFormatted} TB', |
||||
'{nFormatted} TiB' => '{nFormatted} TiB', |
||||
'{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} байт', |
||||
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} гибибайт', |
||||
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} гигабайт', |
||||
'{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} кибибайт', |
||||
'{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} килобайт', |
||||
'{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} мебибайт', |
||||
'{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} мегабайт', |
||||
'{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} гибибайт', |
||||
'{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} гигабайт', |
||||
'{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} пебибайт', |
||||
'{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} петабайт', |
||||
'{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} тебибайт', |
||||
'{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} терабайт', |
||||
'Are you sure you want to delete this item?' => 'Оё шумо дар ҳақиқат мехоҳед, ки ин нашрро нест кунед?', |
||||
'The requested view "{name}" was not found.' => 'Файл "{name}" барои манзур ёфт нашуд', |
||||
'(not set)' => '(танзим нашуда)', |
||||
'An internal server error occurred.' => 'Хатои дохилии сервер рух дод.', |
||||
'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.' => 'Чизе ёфт нашуд.', |
||||
'Page not found.' => 'Саҳифа ёфт нашуд.', |
||||
'Please fix the following errors:' => 'Илтимос хатоҳои зеринро ислоҳ кунед:', |
||||
'Only files with these extensions are allowed: {extensions}.' => 'Танҳо файлҳои бо ин пасванд иҷоза аст: {extensions}.', |
||||
'Only files with these MIME types are allowed: {mimeTypes}.' => 'Фақат ин намуди файлҳо иҷозат аст: {mimeTypes}.', |
||||
'The format of {attribute} is invalid.' => 'Формати {attribute} ғалат буд.', |
||||
'Please upload a file.' => 'Илтимос файл аплод кунед.', |
||||
'Showing <b>{begin, number}-{end, number}</b> of <b>{totalCount, number}</b> {totalCount, plural, one{item} other{items}}.' => 'Манзури <b>{begin, number}-{end, number}</b> аз <b>{totalCount, number}</b>.', |
||||
'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 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} хурд бошад.', |
||||
'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Ҳамаги {limit, number} аплод карда метавонед.', |
||||
'The verification code is incorrect.' => 'Коди санҷиши ғалат аст.', |
||||
'Total <b>{count, number}</b> {count, plural, one{item} other{items}}.' => 'Ҳамаги <b>{count, number}</b> нашр.', |
||||
'Unable to verify your data submission.' => 'Маълумоти фиристодаи шуморо санҷиш карда натавонистам.', |
||||
'Unknown option: --{name}' => 'Гузинаи номаълум: --{name}', |
||||
'Update' => 'Тағир', |
||||
'View' => 'Манзур', |
||||
'Yes' => 'Ҳа', |
||||
'just now' => 'ҳоло', |
||||
'the input value' => 'маълумоти вурудбуда', |
||||
'You are not allowed to perform this action.' => 'Шумо барои анҷоми ин амал дастнорасед.', |
||||
'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} соати дигар', |
||||
'in {delta, plural, =1{a day} other{# days}}' => '{delta} рӯзи дигар', |
||||
'in {delta, plural, =1{a month} other{# months}}' => '{delta} моҳи дигар', |
||||
'in {delta, plural, =1{a 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 month} other{# months}} ago' => '{delta} моҳи қабл', |
||||
'{delta, plural, =1{a year} other{# years}} ago' => '{delta} сол пеш', |
||||
'{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} E-mail одреси ғалат аст.', |
||||
'{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} 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} рамз дошта бошад.', |
||||
]; |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue