diff --git a/docs/guide-ru/caching-overview.md b/docs/guide-ru/caching-overview.md
index 3794843ce3..c99720aa7d 100644
--- a/docs/guide-ru/caching-overview.md
+++ b/docs/guide-ru/caching-overview.md
@@ -1,15 +1,15 @@
Кэширование
-=======
+==========
Кэширование — это простой и эффективный способ повысить производительность веб-приложения. Сохраняя относительно
статичные данные в кэше и извлекая их из кэша, когда потребуется, мы экономим время, затрачиваемое на генерацию
данных с нуля каждый раз.
-Кэширование может использоваться на различных уровнях веб-приложения. На стороне сервера, на более низшем уровне мы
-используем кэширование для хранения основных данных, таких как список последних статьей запрашиваемых из базы данных;
-и на более высоком уровне, кэш может использоваться для хранения фрагментов или целых веб-страниц, например как результат
-рендеринга последних статьей. На стороне клиента может использоваться HTTP-кэширование, чтобы сохранить содержимое
-недавно посещенных страниц в кэше браузера.
+Кэширование может использоваться на различных уровнях и в различных местах веб-приложения. На стороне сервера, на более
+низком уровне мы используем кэширование для хранения основных данных, таких как список последних полученных из базы
+данных статьей. На более высоком уровне кэш может использоваться для хранения фрагментов или целых веб-страниц. Таких,
+например, как результат рендеринга последних статьей. На стороне клиента для сохранения содержимого недавно посещенных
+страниц в кэше браузера может использоваться HTTP-кэширование.
Yii поддерживает все эти механизмы кэширования:
diff --git a/docs/guide-ru/caching-page.md b/docs/guide-ru/caching-page.md
index 80f093238e..862b566bca 100644
--- a/docs/guide-ru/caching-page.md
+++ b/docs/guide-ru/caching-page.md
@@ -1,11 +1,11 @@
Кэширование страниц
-============
+=================
-Кэширование страниц — это кэширование всего содержимого страницы на стороне сервера. Позже когда эта страница
+Кэширование страниц — это кэширование всего содержимого страницы на стороне сервера. Позже, когда эта страница
будет снова запрошена, сервер вернет её из кэша вместо того что бы генерировать её заново.
-Кэширование страниц осуществляется при помощи [[yii\filters\PageCache]] и [фильтра действия](structure-filters.md).
-Это может быть использовано в классе контроллера как показано ниже:
+Кэширование страниц осуществляется при помощи [фильтра действия](structure-filters.md) [[yii\filters\PageCache]] и
+может быть использовано в классе контроллера следующим образом:
```php
public function behaviors()
@@ -27,14 +27,14 @@ public function behaviors()
}
```
-Приведенный выше код устанавливает, что кэширования страницы должно использоваться только для `index` действия; контент
-этой страницы должен быть закэширован не более чем на 60 секунд и должен будет измениться на текущий язык приложения;
-и эта кэшированная страница должна быть признана просроченной, если общее количество постов было изменено.
+Приведённый код задействует кэширование только для действия `index`. Содержимое страницы кешируется максимум на 60 секунд
+и варьируется в зависимости от текущего языка приложения. Кэшированная страница должна быть признана просроченной, если
+общее количество постов изменилось.
-Как вы можете видеть, кэширование страниц очень похоже на [кэширования фрагмента](caching-fragment.md). Оба этих варианта
-поддерживают параметры: `duration` (продолжительность), `dependencies` (зависимости), `variations` (вариации), и `enabled`
-(включения). Их главное отличие заключается в том что кэширования страницы реализована как
-[фильтр действия](structure-filters.md) а кэширования фрагмента как [виджет](structure-widgets.md).
+Кэширование страниц очень похоже на [кэширования фрагментов](caching-fragment.md). В обоих случаях поддерживаются параметры
+`duration` (продолжительность), `dependencies` (зависимости), `variations` (вариации), и `enabled` (включен). Главное
+отличие заключается в том, что кэширование страницы реализовано в виде [фильтра действия](structure-filters.md),
+а кэширование фрагмента в виде [виджета](structure-widgets.md).
-Вы можете использовать [кэширования фрагмента](caching-fragment.md), a также
-[динамический контент](caching-fragment.md#dynamic-content) вместе с кэшированием страницы.
+Вы можете использовать вместе [кэширование фрагмента](caching-fragment.md),
+[динамическое содержимое](caching-fragment.md#dynamic-content) и кэширование страницы.
diff --git a/docs/guide-ru/concept-aliases.md b/docs/guide-ru/concept-aliases.md
index 15e3e1cf72..41e6150077 100644
--- a/docs/guide-ru/concept-aliases.md
+++ b/docs/guide-ru/concept-aliases.md
@@ -1,39 +1,42 @@
Псевдонимы
-=======
+=========
-Псевдонимы используются для представления путей к файлам или для представления URL адресов с целью того, чтобы не приходилось полностью прописывать пути к файлам или полные URL адреса.
-Псевдоним должен начинаться со знака '@', чтобы не перепутать его с адресом файла или с URL адресом.
-Например псевдоним '@yii' указывает на папку, в которую был установлен Yii framework, а псевдоним '@web' представляет собой базовый, основной URL адрес (base URL) текущего приложения.
+Псевдонимы используются для обозначения путей к файлам или URL адресов и помогают избежать использования абсолютных путей
+или URL в коде. Для того, чтобы не перепутать псевдоним с обыным путём к файлу или URL, должен начинаться с `@`. В Yii
+имеется множество заранее определённых псевдонимов. Например, `@yii` указывает на директорию, в которую был установлен
+Yii framework, а `@web` можно использовать для получения базового URL текущего приложения.
Создание псевдонимов
-----------------
+----------------------------------------------
-Для создания псевдонима пути к файлу или псевдонима какого либо URL адреса используется метод [[Yii::setAlias()]].
-Пример:
+Для создания псевдонима пути к файлу или URL используется метод [[Yii::setAlias()]]:
```php
// псевдоним пути к файлу
Yii::setAlias('@foo', '/path/to/foo');
-// псевдоним URL адреса
+// псевдоним URL
Yii::setAlias('@bar', 'http://www.example.com');
```
-> Примечание: псевдоним пути к файлу или псевдоним URL адреса могут указывать на НЕСУЩЕСТВУЮЩИЙ файл или интернет ресурс.
+> Примечание: псевдоним пути к файлу или URL *не* обязательно указывает на существующий файл или ресурс.
-Если вы создали псевдоним пути, то из него можно вывести производный путь(не вызывая [[Yii::setAlias()]]) с помощью добавления знака '/' с последующим указанием необходимого пути. Псевдонимы, созданные с помощью [[Yii::setAlias()]] называются *корневыми псевдонимами (root aliases)*, тогда как производные псевдонимы называются *производными псевдонимами (derived aliases)*.
-Например, `@foo` - это корневой псевдоним, тогда как `@foo/bar/file.php` - это производный псевдоним.
+Используя уже заданный псевдоним вы можете получить на основе него новый без вызова [[Yii::setAlias()]]. Сделать это
+можно добавив в его конец `/`, за которым следует один или более сегментов пути. Псевдонимы, определённые при помощи
+[[Yii::setAlias()]] являются *корневыми псевдонимами*, в то время как полученные из них называются *производными
+псевдонимами*. К примеру, `@foo` является корневым псевдонимом, а `@foo/bar/file.php` — производным.
-Вы можете создать новый псевдоним используя ранее созданный псевдоним (независимо от того корневой он или производный):
+Вы можете задать новый псевдоним используя ранее созданный псевдоним (не важно, корневой он или производный):
```php
Yii::setAlias('@foobar', '@foo/bar');
```
-Корневые псевдонимы как правило создаются на этапе [предварительной загрузки (bootstrapping)](runtime-bootstrapping.md) stage.
-Например вы можете вызвать [[Yii::setAlias()]] внутри [входного скрипта (entry script)](structure-entry-scripts.md).
-Для удобства использования, в [приложении (Application)](structure-applications.md) предусмотрено свойство 'aliases' , в которое возможна запись, т.е. вы можете [изменить настройки](concept-configurations.md) вашего приложения как в нижеследующем примере:
+Корневые псевдонимы, как правило, создаются на этапе [предварительной загрузки (bootstrapping)](runtime-bootstrapping.md).
+Например, вы можете вызвать [[Yii::setAlias()]] в [входном скрипте](structure-entry-scripts.md). Для удобства, в
+[приложении (Application)](structure-applications.md) предусмотрено свойство `aliases`, которое можно задать через
+[конфигурацию приложения](concept-configurations.md):
```php
return [
@@ -46,12 +49,11 @@ return [
```
-Раскрытие Псевдонимов
------------------
+Преобразование псевдонимов
+----------------------------------------------------
-Метод [[Yii::getAlias()]] раскрывает корневой псевдоним в путь к файлу или в URL, который изначально был скрыт за псевдонимом.
-Этот же метод используется для раскрытия производных псевдонимов в полный путь.
-Пример:
+Метод [[Yii::getAlias()]] преобразует корневой псевдоним в путь к файлу или URL который этот псевдоним представляет.
+Этот же метод может работать и с производными псевдонимами:
```php
echo Yii::getAlias('@foo'); // выведет: /path/to/foo
@@ -59,13 +61,13 @@ echo Yii::getAlias('@bar'); // выведет: http://www.example.
echo Yii::getAlias('@foo/bar/file.php'); // выведет: /path/to/foo/bar/file.php
```
-При раскрытии производных псевдонимов происходит раскрытие корневого псевдонима, с которого начинался псевдоним.
+Путь или URL, представленный производным псевдонимом определяется путём замены в нём части, соответствующей корневому
+псевдониму, на соответствующий ему путь или URL.
-> Примечание: Метод [[Yii::getAlias()]] не проверяет фактическое существование формируемого пути к файлу или URL адреса.
+> Примечание: Метод [[Yii::getAlias()]] не проверяет фактического существования получаемого пути или URL.
-Корневой псевдоним может включать в себя знаки '/'. Метод [[Yii::getAlias()]]
-корректно определит какая часть ссылки является корневой.
-Пример:
+Корневой псевдоним может содержать знаки '/'. При этом метод [[Yii::getAlias()]] корректно определит, какая часть
+псевдонима является корневой и верно сформирует путь или URL:
```php
Yii::setAlias('@foo', '/path/to/foo');
@@ -74,13 +76,15 @@ Yii::getAlias('@foo/test/file.php'); // выведет: /path/to/foo/test/file.
Yii::getAlias('@foo/bar/file.php'); // выведет: /path2/bar/file.php
```
-Если не указать `@foo/bar` в качестве корневого псевдонима, последнее выражение выведет `/path/to/foo/bar/file.php`.
+Если бы `@foo/bar` не является корневым псевдонимом, последняя строка вывела бы `/path/to/foo/bar/file.php`.
Использование псевдонимов
--------------
+------------------------------------------------
-Псевдонимы распознаются во многих частях Yii без необходимости вызова [[Yii::getAlias()]] для раскрытия псевдонимов. Например, [[yii\caching\FileCache::cachePath]] принимает в качестве аргумента как обычный путь к файлу, так и псевдоним, благодаря тому, что псевдонимы начинаются со знака '@'.
+Псевдонимы распознаются во многих частях Yii без необходимости предварительно вызывать [[Yii::getAlias()]] для
+получения пути или URL. Например, [[yii\caching\FileCache::cachePath]] принимает как обычный путь к файлу, так и
+псевдоним пути благодаря префиксу `@`, который позволяет их различать.
```php
use yii\caching\FileCache;
@@ -90,32 +94,33 @@ $cache = new FileCache([
]);
```
-Для того чтобы узнать, поддерживает ли необходимый вам метод или свойство класса псевдонимы в качестве аргументов обратитесь к документации API.
+Для того чтобы узнать, поддерживает ли метод или свойство псевдонимы, обратитесь к документации API.
-Системные псевдонимы
-------------------
+Заранее определённые псевдонимы
+----------------------------------------------------------
-Системные псевдонимы Yii включают в себя часто используемые пути к файлам и URL адреса.
-Список системных псевдонимов Yii:
+В Yii заранее определны псевдонимы для часто используемых путей к файлам и URL:
-- `@yii`: папка, в которой находится файл `BaseYii.php` (директория фреймворка).
-- `@app`: [[yii\base\Application::basePath|base path]] текущего приложения.
-- `@runtime`: [[yii\base\Application::runtimePath|runtime path]] текущего приложения.
-- `@vendor`: [[yii\base\Application::vendorPath|Composer vendor directory].
-- `@webroot`: папка Web root текущего Web приложения.
-- `@web`: базовый URL (base URL) текущего приложения.
+- `@yii`: директория, в которой находится файл `BaseYii.php` (директория фреймворка).
+- `@app`: [[yii\base\Application::basePath|базовый путь]] текущего приложения.
+- `@runtime`: [[yii\base\Application::runtimePath|директория runtime]] текущего приложения.
+- `@vendor`: [[yii\base\Application::vendorPath|директория vendor Composer].
+- `@webroot`: вебрут текущего веб приложения (там где `index.php`).
+- `@web`: базовый URL текущего приложения.
-Псевдоним `@yii` создается при включении файла `Yii.php` во [входной скрипт (entry script)](structure-entry-scripts.md),
-остальные псевдонимы создаются в конструкторе приложения в момент применения [конфигурации](concept-configurations.md).
+Псевдоним `@yii` задаётся в момент подключения файла `Yii.php` в [входном скрипте](structure-entry-scripts.md).
+Остальные псевдонимы задаются в конструкторе приложения в момент применения [конфигурации](concept-configurations.md).
Псевдонимы расширений
------------------
+------------------------------------------------
-Для каждого [расширения](structure-extensions.md), устанавливаемого через Composer автоматически создается псевдоним.
-Имя псевдонима расширения соответствует корневому пространству имен, которое указано в файле `composer.json` расширения. Данный псевдоним указывает на корневую папку расширения.
-Например, если вы установите расширение `yiisoft/yii2-jui`, то для вас автоматически станет доступен псевдоним `@yii/jui`, создание которого будет происходить на этапе [первоначальной загрузки (bootstrapping)](runtime-bootstrapping.md) следующим образом:
+Для каждого [расширения](structure-extensions.md), устанавливаемого через Composer, автоматически задаётся псевдоним.
+Его имя соответствует корневому пространству имён расширения в соответствии с его `composer.json`. Псевдоним представляет
+путь к корневой директории пакета. Например, если вы установите расширение `yiisoft/yii2-jui`, то вам автоматически станет
+доступен псевдоним `@yii/jui`. Он создаётся на этапе [первоначальной загрузки (bootstrapping)](runtime-bootstrapping.md)
+примерно так:
```php
Yii::setAlias('@yii/jui', 'VendorPath/yiisoft/yii2-jui');
diff --git a/docs/guide-ru/concept-autoloading.md b/docs/guide-ru/concept-autoloading.md
index 46352f40df..0acdbba074 100644
--- a/docs/guide-ru/concept-autoloading.md
+++ b/docs/guide-ru/concept-autoloading.md
@@ -1,77 +1,92 @@
Автозагрузка классов
=================
-Для подключения и загрузки классов в Yii используется [автозагрузка классов](http://www.php.net/manual/ru/language.oop5.autoload.php). Автозагрузчик классов в Yii совместим со стандартом автозагрузки [PSR-4](https://github.com/php-fig/fig-standards/blob/master/proposed/psr-4-autoloader/psr-4-autoloader.md) и работает быстро.
-
-Автозагрузчик устанавливается когда вы включаете файл `Yii.php` в свой скрипт.
-
-> Примечание: Для простоты повествования мы будем говорить только об автозагрузке классов. Стоит отметить, что нижеприведенный способ может быть применен не только для автозагрузки классов, но и для автозагрузки интерфейсов(interface) и трейтов(traits).
-
+Поиск и подключение файлов классов в Yii реализовано при помощи
+[автозагрузки классов](http://www.php.net/manual/ru/language.oop5.autoload.php). Фреймворк предоставляет свой быстрый
+совместимый с [PSR-4](https://github.com/php-fig/fig-standards/blob/master/proposed/psr-4-autoloader/psr-4-autoloader.md)
+автозагрузчик, который устанавливается в момент подключения `Yii.php`.
+> Примечание: Для простоты повествования, в этом разделе мы будем говорить только об автозагрузке классов. Тем не менее,
+ всё описанное применимо к интерфейсам и трейтам.
Как использовать автозагрузчик Yii
-------------------------
+--------------------------------------------------------------
-Для того чтобы воспользоваться автозагрузчиком классов Yii вам нужно соблюсти два правила при создании и именовании классов:
+При использовании автозагрузчика классов Yii следует соблюдать два простых правила создания и именования классов:
-* Каждый класс должен принадлежать определенному пространству имён (прим. `foo\bar\MyClass`).
-* Каждый класс должен находиться в отдельном файле, путь к которому будет определяться по следующему правилу:
+* Каждый класс должен принадлежать пространству имён (то есть `foo\bar\MyClass`).
+* Каждый класс должен находиться в отдельном файле, путь к которому определятся следующим правилом:
```php
-// $className - это полное имя класса, начинающееся с обратного слэша, т.е. \
+// $className — это абсолютное имя класса, начинающееся с "\"
$classFile = Yii::getAlias('@' . str_replace('\\', '/', $className) . '.php');
```
-Например, если полное имя класса `foo\bar\MyClass`, то [псевдоним пути(alias)](concept-aliases.md) данного файла будет
-`@foo/bar/MyClass.php`. Для того, чтобы данный псевдоним превратился в путь файла в файловой системе нужно чтобы либо `@foo` либо `@foo/bar` был [корневым псевдонимом(root alias)](concept-aliases.md#defining-aliases).
+Например, если абсолютное имя класса `foo\bar\MyClass`, то [псевдоним пути](concept-aliases.md) данного файла будет
+`@foo/bar/MyClass.php`. Для того, чтобы данный псевдоним можно было преобразовать в путь к файлу, необходимо чтобы
+либо `@foo` либо `@foo/bar` являлся [корневым псевдонимом](concept-aliases.md#defining-aliases).
-При использовании [простого шаблона приложения (Basic Application Template)](start-basic.md), вы можете хранить свои классы в пространствах имен ниже `app`, тогда вам не понадобится указывать новый псевдоним пути для автозагрузки вашего класса. Это работает потому что
-`@app` является [системным псевдонимом](concept-aliases.md#predefined-aliases), а такое имя класса как `app\components\MyClass`
-преобразуется в путь
-`папкавашегоприложения/components/MyClass.php`.
+При использовании [шаблона приложения basic](start-basic.md) вы можете хранить свои классы в пространстве имён `app`.
+В этом случае они будут загружаться автоматически без создания нового псевдонима. Это работает потому как `@app`
+является [заранее определённым псевдонимом](concept-aliases.md#predefined-aliases) и такое имя класса как
+`app\components\MyClass` в соответствии с описанным выше алготимом преобразуется в путь
+`директорияПриложения/components/MyClass.php`.
-
-В [шаблоне продвинутого приложения (Advanced Application Template)](tutorial-advanced-app.md), каждый уровень приложения обладает собственным корневым псевдонимом. Например, для front-end части корневым псевдонимом является `@frontend`, а для back-end части `@backend`. Это позволяет включать классы front-end части в пространство имен(namespace) ниже 'frontend', а для back-end части ниже 'backend'. При таком подходе ваши классы будут автоматически загружены автозагрузчиком Yii.
+В [шаблоне приложения advanced](tutorial-advanced-app.md) каждый уровень приложения обладает собственным корневым
+псевдонимом. Например, для frontend корневым псевдонимом является `@frontend`, а для backend — `@backend`. Это позволяет
+разместить классы frontend в пространство имён `frontend`, а классы backend в пространство имён `backend`. При этом
+классы будут загружены автоматически.
Карта классов
----------
+---------------------------------
-Автозагрузчик Yii обладает возможностью, которая называется *карта классов*.Эта возможность позволяет указывать где необходимо искать классы в зависимости от имени файла.
-Прежде чем загрузить файл автозагрузчик проверяет есть ли правила для файла в карте классов. Если файл находится в карте классов, то данный файл будет загружен напрямую без дальнейших проверок.
-Это позволяет существенно ускорить автозагрузку. Все базовые классы Yii загружаются именно этим способом.
+Автозагрузчик Yii поддерживает *карту классов*. Эта возможность позволяет указать путь к файлу для каждого имени класса.
+При загрузке класса автозагрузчик проверяет наличие класса в карте. Если он там есть, соответствующий файл будет загружен
+напрямую без каких-либо дополнительных проверок. Это делает автозагрузку очень быстрой. Все классы самого фреймворка
+загружаются именно этим способом.
-Пример добавления класса в карту классов `Yii::$classMap`:
+Вы можете добавить класс в карту `Yii::$classMap` следующим образом:
```php
Yii::$classMap['foo\bar\MyClass'] = 'path/to/MyClass.php';
```
-[Псевдонимы](concept-aliases.md) могут быть использованы для указания пути к файлу класса. Карту классов необходимо указать в разделе [загрузки фреймворка](runtime-bootstrapping.md) т.к. карта должна быть создана до того, как будут использованы ваши классы.
+Для указания путей к файлам классов можно использовать [псевдонимы](concept-aliases.md). Карту классов необходимо
+сформировать в процессе [первоначальной загрузки](runtime-bootstrapping.md) так как она должна быть готова до
+использования классов.
Использование других автозагрузчиков
------------------------
+------------------------------------------------------------------
-По причине того что Yii использует Composer в качестве менеджера зависимостей, рекомендуется дополнительно установить автозагрузчик Composer. Если вы использует какие то дополнительные библиотеки, в которых есть свои автозагрузчики, то автозагрузчики этих библиотек также нужно будет установить.
+Так как Yii использует Composer в качестве менеджера зависимостей, рекомендуется дополнительно установить его автозагрузчик.
+Если вы используете какие-либо сторонние библиотеки, в которых есть свои автозагрузчики, эти автозагрузчики также необходимо
+установить.
-В случаях использования дополнительных автозагрузчиков вместе с автозагрузчиком Yii, файл `Yii.php` должен быть подключен *после* установки всех дополнительных автозагрузчиков. В таком случае автозагрузчик Yii будет первым используемым автозагрузчиком из установленных при автозагрузке. Например нижеследующий код взят напрямую из [входного скрипта(entry script)](structure-entry-scripts.md) для [Basic Application Template](start-basic.md). Первая строчка устанавливает автозагрузчик Composer, а вторая устанавливает автозагрузчик Yii.
+При использовании дополнительных автозагрузчиков файл `Yii.php` должен быть подключен *после* их установки. Это позволит
+автозагрузчику Yii первым пробовать загрузить класс. К примеру, приведённый ниже код взят из
+[входного скрипта](structure-entry-scripts.md) [шаблона приложения basic](start-basic.md). Первая строка устанавливает
+автозагрузчик Composer, а вторая — автозагрузчик Yii:
```php
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
```
-Вы можете использовать автозагрузчик Composer бес использования автозагрузчика Yii. Но в таком случае скорость автозагрузки может уменьшится, также вам нужно будет соблюсти правила автозагрузки для Composer.
+Вы можете использовать автозагрузчик Composer без автозагрузчика Yii. Однако, скорость автозагрузки в этом случае
+может уменьшится. Также вам будет необходимо сдедовать правилам автозагрузчика Composer.
-> Информация: Если вы не хотите использовать автозагрузчик Yii, то вам нужно будет создать свою версию файла `Yii.php`
- и подключить его к [входному скрипту(entry script)](structure-entry-scripts.md).
+> Информация: Если вы не хотите использовать автозагрузчик Yii, создайте свою версию файла `Yii.php`
+ и подключите его в [входном скрипте](structure-entry-scripts.md).
Автозагрузка классов расширений
------------------------------
+-------------------------------------------------------------------
-Автозагрузчик Yii позволяет автоматически загружать классы [расширений](structure-extensions.md). Единственное правило в таком случае - расширение должно правильно указывать раздел 'autoload' в своем файле 'composer.json'. Более подробную информацию о том как правильно указать раздел 'autoload' вы можете узнать в [официальной документации Composer](https://getcomposer.org/doc/04-schema.md#autoload).
-
-Если вы не используете автозагрузчик Yii, то классы расширений могут быть автоматически загружены с помощью автозагрузчика Composer.
+Автозагрузчик Yii может автоматически загружать классы [расширений](structure-extensions.md) в том случае, если соблюдается
+единственное правило. Расширение должно правильно описать раздел 'autoload' в файле 'composer.json'. Более подробно об
+этом можно узнать из [официальной документации Composer](https://getcomposer.org/doc/04-schema.md#autoload).
+Если вы не используете автозагрузчик Yii, то классы расширений могут быть автоматически загружены с помощью
+автозагрузчика Composer.