Browse Source

Russian translation: special block marks should not be translated

tags/2.0.7
Alexander Makarov 9 years ago
parent
commit
fbcd1a5014
  1. 6
      docs/guide-ru/caching-data.md
  2. 2
      docs/guide-ru/caching-http.md
  3. 4
      docs/guide-ru/concept-aliases.md
  4. 4
      docs/guide-ru/concept-autoloading.md
  5. 2
      docs/guide-ru/concept-behaviors.md
  6. 2
      docs/guide-ru/concept-components.md
  7. 4
      docs/guide-ru/concept-di-container.md
  8. 4
      docs/guide-ru/concept-events.md
  9. 2
      docs/guide-ru/concept-properties.md
  10. 50
      docs/guide-ru/db-active-record.md
  11. 18
      docs/guide-ru/db-dao.md
  12. 22
      docs/guide-ru/db-migrations.md
  13. 14
      docs/guide-ru/db-query-builder.md
  14. 4
      docs/guide-ru/helper-html.md
  15. 4
      docs/guide-ru/helper-overview.md
  16. 2
      docs/guide-ru/input-file-upload.md
  17. 4
      docs/guide-ru/input-forms.md
  18. 2
      docs/guide-ru/input-tabular-input.md
  19. 14
      docs/guide-ru/input-validation.md
  20. 4
      docs/guide-ru/output-data-widgets.md
  21. 2
      docs/guide-ru/output-formatting.md
  22. 2
      docs/guide-ru/output-theming.md
  23. 2
      docs/guide-ru/rest-authentication.md
  24. 2
      docs/guide-ru/rest-controllers.md
  25. 8
      docs/guide-ru/rest-quick-start.md
  26. 2
      docs/guide-ru/rest-resources.md
  27. 2
      docs/guide-ru/rest-routing.md
  28. 2
      docs/guide-ru/rest-versioning.md
  29. 4
      docs/guide-ru/runtime-handling-errors.md
  30. 14
      docs/guide-ru/runtime-logging.md
  31. 6
      docs/guide-ru/runtime-requests.md
  32. 8
      docs/guide-ru/runtime-responses.md
  33. 20
      docs/guide-ru/runtime-routing.md
  34. 2
      docs/guide-ru/runtime-sessions-cookies.md
  35. 2
      docs/guide-ru/security-authorization.md
  36. 2
      docs/guide-ru/security-passwords.md
  37. 6
      docs/guide-ru/start-databases.md
  38. 4
      docs/guide-ru/start-forms.md
  39. 2
      docs/guide-ru/start-gii.md
  40. 8
      docs/guide-ru/start-hello.md
  41. 12
      docs/guide-ru/start-installation.md
  42. 2
      docs/guide-ru/start-workflow.md
  43. 2
      docs/guide-ru/structure-application-components.md
  44. 4
      docs/guide-ru/structure-applications.md
  45. 16
      docs/guide-ru/structure-assets.md
  46. 4
      docs/guide-ru/structure-controllers.md
  47. 10
      docs/guide-ru/structure-extensions.md
  48. 4
      docs/guide-ru/structure-filters.md
  49. 2
      docs/guide-ru/structure-models.md
  50. 4
      docs/guide-ru/structure-modules.md
  51. 2
      docs/guide-ru/structure-widgets.md
  52. 2
      docs/guide-ru/test-acceptance.md
  53. 4
      docs/guide-ru/test-environment-setup.md
  54. 14
      docs/guide-ru/test-fixtures.md
  55. 2
      docs/guide-ru/test-functional.md
  56. 4
      docs/guide-ru/test-overview.md
  57. 2
      docs/guide-ru/test-unit.md
  58. 4
      docs/guide-ru/tutorial-console.md
  59. 8
      docs/guide-ru/tutorial-core-validators.md
  60. 14
      docs/guide-ru/tutorial-i18n.md
  61. 8
      docs/guide-ru/tutorial-mailing.md
  62. 4
      docs/guide-ru/tutorial-start-from-scratch.md
  63. 4
      docs/guide-ru/tutorial-yii-integration.md
  64. 8
      docs/internals-ru/git-workflow.md
  65. 5
      docs/internals-ru/translation-workflow.md

6
docs/guide-ru/caching-data.md

@ -96,7 +96,7 @@ Yii поддерживает множество хранилищ кэша:
* [[yii\caching\Cache::delete()|delete()]]: удаляет указанный ключ;
* [[yii\caching\Cache::flush()|flush()]]: удаляет все данные.
> Примечание: Не кэшируйте непосредственно значение `false`, потому что [[yii\caching\Cache::get()|get()]] использует
> Note: Не кэшируйте непосредственно значение `false`, потому что [[yii\caching\Cache::get()|get()]] использует
`false` для случая, когда данные не найдены в кэше. Вы можете обернуть `false` в массив и закэшировать его, чтобы
избежать данной проблемы.
@ -216,7 +216,7 @@ $result = Customer::getDb()->cache(function ($db) {
});
```
> Информация: Некоторые СУБД (например, [MySQL](http://dev.mysql.com/doc/refman/5.1/en/query-cache.html)) поддерживают кэширование запросов любого механизма на стороне сервера БД. КЗ описано разделом выше. Оно имеет безусловное преимущество, поскольку, благодаря ему, можно указать гибкие зависимости кэша и это более эффективно.
> Info: Некоторые СУБД (например, [MySQL](http://dev.mysql.com/doc/refman/5.1/en/query-cache.html)) поддерживают кэширование запросов любого механизма на стороне сервера БД. КЗ описано разделом выше. Оно имеет безусловное преимущество, поскольку, благодаря ему, можно указать гибкие зависимости кэша и это более эффективно.
### Очистка кэша <span id="cache-flushing">
@ -229,7 +229,7 @@ $result = Customer::getDb()->cache(function ($db) {
компонентов кэширования, разделяя их пробелом)
- `yii cache/flush-all`: очищает кэш во всех кеширующих компонентах приложения
> Информация: Консольное приложение использует отдельный конфигурационный файл по умолчанию. Для получения должного
> Info: Консольное приложение использует отдельный конфигурационный файл по умолчанию. Для получения должного
результата, убедитесь, что в конфигурациях консольного и веб-приложения у вас одинаковые компоненты кэширования.

2
docs/guide-ru/caching-http.md

@ -89,7 +89,7 @@ ETags позволяет применять более сложные и/или
Ресурсоёмкая генерация ETag может противоречить цели использования `HttpCache` и внести излишнюю нагрузку,
т.к. он должен пересоздаваться при каждом запросе. Попробуйте найти простое выражение, которое инвалидирует кэш, если содержание страницы было изменено.
> Примечание: В соответствии с [RFC 7232](http://tools.ietf.org/html/rfc7232#section-2.4),
> Note: В соответствии с [RFC 7232](http://tools.ietf.org/html/rfc7232#section-2.4),
`HttpCache` будет отправлять как `ETag` заголовок, так и `Last-Modified` заголовок, если они оба были настроены.
И если клиент отправляет как `If-None-Match` заголовок, так и `If-Modified-Since` заголовок, то только первый из них будет принят.

4
docs/guide-ru/concept-aliases.md

@ -20,7 +20,7 @@ Yii::setAlias('@foo', '/path/to/foo');
Yii::setAlias('@bar', 'http://www.example.com');
```
> Примечание: псевдоним пути к файлу или URL *не* обязательно указывает на существующий файл или ресурс.
> Note: псевдоним пути к файлу или URL *не* обязательно указывает на существующий файл или ресурс.
Используя уже заданный псевдоним, вы можете получить на основе него новый без вызова [[Yii::setAlias()]]. Сделать это
можно, добавив в его конец `/`, за которым следует один или более сегментов пути. Псевдонимы, определённые при помощи
@ -64,7 +64,7 @@ echo Yii::getAlias('@foo/bar/file.php'); // выведет: /path/to/foo/bar/fi
Путь или URL, представленный производным псевдонимом, определяется путём замены в нём части, соответствующей корневому
псевдониму, на соответствующий ему путь или URL.
> Примечание: Метод [[Yii::getAlias()]] не проверяет фактического существования получаемого пути или URL.
> Note: Метод [[Yii::getAlias()]] не проверяет фактического существования получаемого пути или URL.
Корневой псевдоним может содержать знаки '/'. При этом метод [[Yii::getAlias()]] корректно определит, какая часть
псевдонима является корневой и верно сформирует путь или URL:

4
docs/guide-ru/concept-autoloading.md

@ -6,7 +6,7 @@
совместимый с [PSR-4](https://github.com/php-fig/fig-standards/blob/master/proposed/psr-4-autoloader/psr-4-autoloader.md)
автозагрузчик, который устанавливается в момент подключения `Yii.php`.
> Примечание: Для простоты повествования, в этом разделе мы будем говорить только об автозагрузке классов. Тем не менее,
> Note: Для простоты повествования, в этом разделе мы будем говорить только об автозагрузке классов. Тем не менее,
всё описанное применимо к интерфейсам и трейтам.
Как использовать автозагрузчик Yii <span id="using-yii-autoloader"></span>
@ -78,7 +78,7 @@ require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
Вы можете использовать автозагрузчик Composer без автозагрузчика Yii. Однако, скорость автозагрузки в этом случае
может уменьшится. Также вам будет необходимо следовать правилам автозагрузчика Composer.
> Информация: Если вы не хотите использовать автозагрузчик Yii, создайте свою версию файла `Yii.php`
> Info: Если вы не хотите использовать автозагрузчик Yii, создайте свою версию файла `Yii.php`
и подключите его в [входном скрипте](structure-entry-scripts.md).

2
docs/guide-ru/concept-behaviors.md

@ -51,7 +51,7 @@ class MyBehavior extends Behavior
Так как этот класс является поведением, когда он прикреплён к компоненту, компоненту будут также доступны свойства `prop1`
и `prop2`, а также метод `foo()`.
> Подсказка: Внутри поведения возможно обращаться к компоненту, к которому оно прикреплено, используя свойство
> Tip: Внутри поведения возможно обращаться к компоненту, к которому оно прикреплено, используя свойство
[[yii\base\Behavior::owner]].

2
docs/guide-ru/concept-components.md

@ -83,7 +83,7 @@ $component = \Yii::createObject([
], [1, 2]);
```
> Информация: Способ инициализации через вызов [[Yii::createObject()]] выглядит более сложным. Но в то же время он более
> Info: Способ инициализации через вызов [[Yii::createObject()]] выглядит более сложным. Но в то же время он более
мощный из-за того, что он реализован на самом верху [контейнера внедрения зависимостей](concept-di-container.md).
Жизненный цикл объектов класса [[yii\base\Object]] содержит следующие этапы:

4
docs/guide-ru/concept-di-container.md

@ -70,7 +70,7 @@ $container->get('Foo', [], [
]);
```
> Информация: Метод [[yii\di\Container::get()]] третьим аргументом принимает массив конфигурации, которым инициализируется создаваемый объект. Если класс реализует интерфейс [[yii\base\Configurable]] (например, [[yii\base\Object]]), то массив конфигурации передается в последний параметр конструктора класса. Иначе конфигурация применяется уже *после* создания объекта.
> Info: Метод [[yii\di\Container::get()]] третьим аргументом принимает массив конфигурации, которым инициализируется создаваемый объект. Если класс реализует интерфейс [[yii\base\Configurable]] (например, [[yii\base\Object]]), то массив конфигурации передается в последний параметр конструктора класса. Иначе конфигурация применяется уже *после* создания объекта.
### Внедрение зависимости через PHP callback <span id="php-callable-injection"></span>
@ -176,7 +176,7 @@ $container->set('db', function ($container, $params, $config) {
$container->set('pageCache', new FileCache);
```
> Подсказка: Если имя зависимости такое же, как и определение соответствующей зависимости, то её повторная регистрация в контейнере внедрения зависимостей не нужна.
> Tip: Если имя зависимости такое же, как и определение соответствующей зависимости, то её повторная регистрация в контейнере внедрения зависимостей не нужна.
Зависимость, зарегистрированная через `set()` создаёт экземпляр каждый раз, когда зависимость необходима.
Вы можете использовать [[yii\di\Container::setSingleton()]] для регистрации зависимости, которая создаст только один экземпляр:

4
docs/guide-ru/concept-events.md

@ -114,7 +114,7 @@ class Foo extends Component
Показанный выше код инициирует событие `hello` при каждом вызове метода `bar()`.
> Подсказка: Желательно для обозначения имен событий использовать константы класса. В предыдущем примере константа `EVENT_HELLO` обозначает событие `hello`. У такого подхода три преимущества. Во-первых, исключаются опечатки. Во-вторых, для событий работает автозавершение в различных средах разработки. В-третьих, чтобы узнать, какие события поддерживаются классом, достаточно проверить константы, объявленные в нем.
> Tip: Желательно для обозначения имен событий использовать константы класса. В предыдущем примере константа `EVENT_HELLO` обозначает событие `hello`. У такого подхода три преимущества. Во-первых, исключаются опечатки. Во-вторых, для событий работает автозавершение в различных средах разработки. В-третьих, чтобы узнать, какие события поддерживаются классом, достаточно проверить константы, объявленные в нем.
Иногда при инициировании события может понадобиться передать его обработчику дополнительную информацию. Например, объекту, отвечающему за почту, может понадобиться передать обработчику события `messageSent` определенные данные, раскрывающие смысл отправленных почтовых сообщений. Для этого в качестве второго параметра методу [[yii\base\Component::trigger()]] передается объект события. Объект события должен быть экземпляром класса [[yii\base\Event]] или его потомка. Например:
@ -210,7 +210,7 @@ Event::trigger(Foo::className(), Foo::EVENT_HELLO);
Обратите внимание, что в данном случае `$event->sender` ссылается на имя класса, который инициировал событие, а не на его экземпляр.
> Примечание: Поскольку обработчики на уровне класса отвечают на события, инициируемые всеми экземплярами этого класса и всех его потомков, их следует использовать с осторожностью, особенно в случае базовых классов низкого уровня, таких как [[yii\base\Object]].
> Note: Поскольку обработчики на уровне класса отвечают на события, инициируемые всеми экземплярами этого класса и всех его потомков, их следует использовать с осторожностью, особенно в случае базовых классов низкого уровня, таких как [[yii\base\Object]].
Отсоединить обработчик события на уровне класса можно с помощью метода [[yii\base\Event::off()]]. Например:

2
docs/guide-ru/concept-properties.md

@ -18,7 +18,7 @@ $object->label = trim($label);
через *геттеры* и *сеттеры*. Если вашему классу нужна такая возможность, необходимо унаследовать его от
[[yii\base\Object]] или его потомка.
> Информация: Почти все внутренние классы Yii наследуются от [[yii\base\Object]] или его потомков.
> Info: Почти все внутренние классы Yii наследуются от [[yii\base\Object]] или его потомков.
Это значит, что всякий раз, когда вы встречаете геттер или сеттер в классах фреймворка, вы можете обращаться к нему
как к свойству.

50
docs/guide-ru/db-active-record.md

@ -164,7 +164,7 @@ $customers = Customer::find()
В примерах выше `$customer` - это объект класса `Customer`, в то время как `$customers` - это массив таких объектов. Все
эти объекты заполнены данными таблицы `customer`.
> Информация: Т.к. класс [[yii\db\ActiveQuery]] наследует [[yii\db\Query]], вы можете использовать в нём *все* методы
> Info: Т.к. класс [[yii\db\ActiveQuery]] наследует [[yii\db\Query]], вы можете использовать в нём *все* методы
построения запросов и все методы класса Query как описано в разделе [Построитель запросов](db-query-builder.md).
Т.к. извлечение данных по первичному ключу или значениям отдельных столбцов достаточно распространённая задача, Yii
@ -206,7 +206,7 @@ $customers = Customer::findAll([
]);
```
> Примечание: Ни метод [[yii\db\ActiveRecord::findOne()]], ни [[yii\db\ActiveQuery::one()]] не добавляет условие `LIMIT 1` к
> Note: Ни метод [[yii\db\ActiveRecord::findOne()]], ни [[yii\db\ActiveQuery::one()]] не добавляет условие `LIMIT 1` к
генерируемым SQL-запросам. Если ваш запрос может вернуть много строк данных, вы должны вызвать метод `limit(1)` явно
в целях улучшения производительности, например: `Customer::find()->limit(1)->one()`.
@ -236,7 +236,7 @@ $id = $customer->id;
$email = $customer->email;
```
> Примечание: Атрибуты объекта Active Record названы в соответствии с названиями столбцов связной таблицы с учётом
> Note: Атрибуты объекта Active Record названы в соответствии с названиями столбцов связной таблицы с учётом
регистра. Yii автоматически объявляет для каждого столбца связной таблицы атрибут в Active Record. Вы НЕ должны
переопределять какие-либо из этих атрибутов.
@ -275,7 +275,7 @@ class Customer extends ActiveRecord
Теперь в своём PHP коде вместо доступа к `$customer->birthday`, вы сможете получить доступ к `$customer->birthdayText`,
что позволить вам вводить и отображать дни рождения покупателей в формате `'ДД.ММ.ГГГГ'`.
> Подсказка: Вышеприведённый пример демонстрирует общий способ преобразования данных в различные форматы. Если вы
> Tip: Вышеприведённый пример демонстрирует общий способ преобразования данных в различные форматы. Если вы
работаете с датами и временем, вы можете использовать [DateValidator](tutorial-core-validators.md#date) и
[[yii\jui\DatePicker|DatePicker]], которые проще в использовании и являются более мощными инструментами.
@ -295,7 +295,7 @@ $customers = Customer::find()
->all();
```
> Примечание: В то время как этот способ бережёт память и улучшает производительность, он ближе к низкому слою
> Note: В то время как этот способ бережёт память и улучшает производительность, он ближе к низкому слою
абстракции базы данных и вы потеряете многие возможности Active Record. Важное отличие заключается в типах данных
значений столбцов. Когда вы получаете данные в виде объектов Active Record, значения столбцов автоматически приводятся
к типам, соответствующим типам столбцов; с другой стороны, когда вы получаете данные в массивах, значения столбцов
@ -370,7 +370,7 @@ public function save($runValidation = true, $attributeNames = null)
}
```
> Подсказка: Вы можете вызвать [[yii\db\ActiveRecord::insert()|insert()]] или [[yii\db\ActiveRecord::update()|update()]]
> Tip: Вы можете вызвать [[yii\db\ActiveRecord::insert()|insert()]] или [[yii\db\ActiveRecord::update()|update()]]
непосредственно, чтобы вставить или обновить строку данных в таблице.
@ -386,7 +386,7 @@ public function save($runValidation = true, $attributeNames = null)
данных; в ином случае метод [[yii\db\ActiveRecord::save()|save()]] просто возвращает `false`, и вы можете проверить
свойство [[yii\db\ActiveRecord::errors|errors]] для получения сообщений об ошибках валидации.
> Подсказка: Если вы уверены, что ваши данные не требуют валидации (например, данные пришли из доверенного источника),
> Tip: Если вы уверены, что ваши данные не требуют валидации (например, данные пришли из доверенного источника),
вы можете вызвать `save(false)`, чтобы пропустить валидацию.
@ -423,7 +423,7 @@ $post = Post::findOne(100);
$post->updateCounters(['view_count' => 1]);
```
> Примечание: Если вы используете метод [[yii\db\ActiveRecord::save()]] для обновления столбца-счётчика, вы можете
> Note: Если вы используете метод [[yii\db\ActiveRecord::save()]] для обновления столбца-счётчика, вы можете
прийти к некорректному результату, т.к. вполне вероятно, что этот же счётчик был сохранён сразу несколькими запросами,
которые читают и записывают этот же столбец-счётчик.
@ -444,7 +444,7 @@ Active Record автоматически поддерживает список d
[[yii\db\ActiveRecord::getOldAttributes()|getOldAttributes()]] или
[[yii\db\ActiveRecord::getOldAttribute()|getOldAttribute()]].
> Примечание: Сравнение старых и новых значений будет осуществлено с помощью оператора `===`, так что значение будет
> Note: Сравнение старых и новых значений будет осуществлено с помощью оператора `===`, так что значение будет
считаться dirty-значением даже в том случае, если оно осталось таким же, но изменило свой тип. Это часто происходит,
когда модель получает пользовательский ввод из HTML-форм, где каждое значение представлено строкой. Чтобы убедиться в
корректности типа данных, например для целых значений, вы можете применить
@ -503,7 +503,7 @@ $customer->delete();
Customer::deleteAll(['status' => Customer::STATUS_INACTIVE]);
```
> Примечание: будьте очень осторожны, используя метод [[yii\db\ActiveRecord::deleteAll()|deleteAll()]], потому что он
> Note: будьте очень осторожны, используя метод [[yii\db\ActiveRecord::deleteAll()|deleteAll()]], потому что он
может полностью удалить все данные из вашей таблицы, если вы сделаете ошибку при указании условий удаления.
@ -573,7 +573,7 @@ Customer::deleteAll(['status' => Customer::STATUS_INACTIVE]);
[[yii\db\ActiveRecord::EVENT_AFTER_DELETE|EVENT_AFTER_DELETE]].
> Примечание: Вызов следующих методов НЕ инициирует ни один из вышеприведённых жизненных циклов:
> Note: Вызов следующих методов НЕ инициирует ни один из вышеприведённых жизненных циклов:
> - [[yii\db\ActiveRecord::updateAll()]]
> - [[yii\db\ActiveRecord::deleteAll()]]
> - [[yii\db\ActiveRecord::updateCounters()]]
@ -778,7 +778,7 @@ $customer = Customer::findOne(123);
$orders = $customer->orders;
```
> Информация: когда вы объявляете связь с названием `xyz` посредством геттера `getXyz()`, у вас появляется возможность
> Info: когда вы объявляете связь с названием `xyz` посредством геттера `getXyz()`, у вас появляется возможность
доступа к свойству `xyz` подобно [свойству объекта](concept-properties.md). Помните, что название связи чувствительно
к регистру.
@ -791,7 +791,7 @@ $orders = $customer->orders;
SQL-выражения. Для принудительного повторного выполнения SQL-запроса, вы можете удалить свойство связи с помощью
операции: `unset($customer->orders)`.
> Примечание: Несмотря на то, что эта концепция выглядит похожей на концепцию [свойств объектов](concept-properties.md),
> Note: Несмотря на то, что эта концепция выглядит похожей на концепцию [свойств объектов](concept-properties.md),
между ними есть важное различие. Для обычных свойств объектов значения свойств имеют тот же тип, который возвращает
геттер. Однако метод получения связных данных возвращает объект [[yii\db\ActiveQuery]], в то время как доступ к
свойству связи будет возвращает объект [[yii\db\ActiveRecord]] или массив таких объектов.
@ -987,7 +987,7 @@ $items = $customers[0]->orders[0]->items;
загружены. Таким образом, когда вы вызываете метод [[yii\db\ActiveQuery::with()|with()]] с параметром `a.b.c.d`, вы
жадно загрузите связи `a`, `a.b`, `a.b.c` и `a.b.c.d`.
> Информация: В целом, когда жадно загружается `N` связей, среди которых `M` связей объявлено с помощью
> Info: В целом, когда жадно загружается `N` связей, среди которых `M` связей объявлено с помощью
[промежуточной таблицы](#junction-table), суммарное количество выполняемых SQL-запросов будет равно `N+M+1`. Заметьте,
что вложенная связь `a.b.c.d` насчитывает 4 связи.
@ -1013,7 +1013,7 @@ $customers = Customer::find()->with([
на получение связных данных для данной связи. В вышеприведённом примере кода мы изменили запрос на получение связных
данных, наложив на него дополнительное условие выборки статуса заказов.
> Примечание: Если вы вызываете метод [[yii\db\Query::select()|select()]] в процессе жадной загрузки связей, вы должны
> Note: Если вы вызываете метод [[yii\db\Query::select()|select()]] в процессе жадной загрузки связей, вы должны
> убедиться, что будут выбраны столбцы, участвующие в объявлении связей. Иначе связные модели будут загружены
> неправильно. Например:
>
@ -1026,7 +1026,7 @@ $customers = Customer::find()->with([
### Использование JOIN со связями <span id="joining-with-relations"></span>
> Примечание: Материал этого раздела применим только к реляционным базам данных, таким как MySQL, PostgreSQL, и т.д.
> Note: Материал этого раздела применим только к реляционным базам данных, таким как MySQL, PostgreSQL, и т.д.
Запросы на получение связных данных, которые мы рассмотрели выше, ссылаются только на столбцы основной таблицы при
извлечении основной информации. На самом же деле нам часто нужно ссылаться в запросах на столбцы связных таблиц.
@ -1047,7 +1047,7 @@ $customers = Customer::find()
->all();
```
> Примечание: Важно однозначно указывать в SQL-выражениях имена столбцов при построении запросов на получение связных
> Note: Важно однозначно указывать в SQL-выражениях имена столбцов при построении запросов на получение связных
данных с участием оператора JOIN. Наиболее распространённая практика - предварять названия столбцов с помощью имён
соответствующих им таблиц.
@ -1106,7 +1106,7 @@ $customers = Customer::find()->joinWith([
поведение отличается от нашего предыдущего примера, в котором возвращались только покупатели, у которых был как минимум
один активный заказ.
> Информация: Когда в объекте [[yii\db\ActiveQuery]] указано условие выборки с помощью метода
> Info: Когда в объекте [[yii\db\ActiveQuery]] указано условие выборки с помощью метода
[[yii\db\ActiveQuery::onCondition()|onCondition()]], это условие будет размещено в конструкции `ON`, если запрос
содержит оператор JOIN. Если же запрос не содержит оператор JOIN, такое условие будет автоматически размещено в
конструкции `WHERE`.
@ -1185,7 +1185,7 @@ $customer2 = $order->customer;
echo $customer2 === $customer ? 'same' : 'not the same';
```
> Примечание: обратные связи не могут быть объявлены для связей, использующих [промежуточную таблицу](#junction-table).
> Note: обратные связи не могут быть объявлены для связей, использующих [промежуточную таблицу](#junction-table).
То есть, если связь объявлена с помощью методов [[yii\db\ActiveQuery::via()|via()]] или
[[yii\db\ActiveQuery::viaTable()|viaTable()]], вы не должны вызывать после этого метод
[[yii\db\ActiveQuery::inverseOf()|inverseOf()]].
@ -1225,7 +1225,7 @@ $order->link('customer', $customer);
их в базу данных. В вышеприведённом примере, метод присвоит атрибуту `customer_id` объекта `Order` значение атрибута
`id` объекта `Customer` и затем сохранит его в базу данных.
> Примечание: Невозможно связать два свежесозданных объекта Active Record.
> Note: Невозможно связать два свежесозданных объекта Active Record.
Преимущество метода [[yii\db\ActiveRecord::link()|link()]] становится ещё более очевидным, когда связь объявлена
посредством [промежуточной таблицы](#junction-table). Например, вы можете использовать следующий код, чтобы связать
@ -1238,7 +1238,7 @@ $order->link('items', $item);
Вышеприведённый код автоматически вставит строку данных в промежуточную таблицу `order_item`, чтобы связать объект
`order` с объектом `item`.
> Информация: Метод [[yii\db\ActiveRecord::link()|link()]] не осуществляет какую-либо валидацию данных во время
> Info: Метод [[yii\db\ActiveRecord::link()|link()]] не осуществляет какую-либо валидацию данных во время
сохранения целевого объекта Active Record. На вас лежит ответственность за валидацию любых введённых данных перед
вызовом этого метода.
@ -1301,7 +1301,7 @@ $customers = Customer::find()->with('comments')->all();
Вы можете использовать большую часть возможностей запросов получения связных данных, которые были описаны в этой главе.
> Примечание: Применимость метода [[yii\db\ActiveQuery::joinWith()|joinWith()]] ограничена базами данных, которые
> Note: Применимость метода [[yii\db\ActiveQuery::joinWith()|joinWith()]] ограничена базами данных, которые
позволяют выполнять запросы между разными базами с использованием оператора JOIN. По этой причине вы не можете
использовать этот метод в вышеприведённом примере, т.к. MongoDB не поддерживает операцию JOIN.
@ -1335,7 +1335,7 @@ class CommentQuery extends ActiveQuery
Теперь, когда вы будете осуществлять получение данных (например, выполните `find()`, `findOne()`) или объявите связь
(например, `hasOne()`) с объектом `Comment`, вы будете работать с объектом класса `CommentQuery` вместо `ActiveQuery`.
> Подсказка: В больших проектах рекомендуется использовать собственные классы запросов, которые будут содержать в себе
> Tip: В больших проектах рекомендуется использовать собственные классы запросов, которые будут содержать в себе
большую часть кода, связанного с настройкой запросов, таким образом классы Active Record удастся сохранить более
чистыми.
@ -1352,7 +1352,7 @@ class CommentQuery extends ActiveQuery
}
```
> Примечание: Вместо вызова метода [[yii\db\ActiveQuery::where()|where()]] старайтесь во время объявления новых методов
> Note: Вместо вызова метода [[yii\db\ActiveQuery::where()|where()]] старайтесь во время объявления новых методов
построения запросов использовать [[yii\db\ActiveQuery::andWhere()|andWhere()]] или
[[yii\db\ActiveQuery::orWhere()|orWhere()]] для добавления дополнительных условий, в этом случае уже заданные условия
выборок не будут перезаписаны.
@ -1387,7 +1387,7 @@ $customers = Customer::find()->with([
])->all();
```
> Информация: В Yii версии 1.1 была концепция с названием *scope*. Она больше не поддерживается в Yii версии 2.0, и вы
> Info: В Yii версии 1.1 была концепция с названием *scope*. Она больше не поддерживается в Yii версии 2.0, и вы
можете использовать собственные классы запросов и собственные методы построения запросов, чтобы добиться той же самой
цели.

18
docs/guide-ru/db-dao.md

@ -56,7 +56,7 @@ return [
Теперь вы можете получить доступ к подключению к БД с помощью выражения `Yii::$app->db`.
> Подсказка: Вы можете настроить несколько компонентов подключения, если в вашем приложении используется несколько баз данных.
> Tip: Вы можете настроить несколько компонентов подключения, если в вашем приложении используется несколько баз данных.
При настройке подключения, вы должны обязательно указывать Имя Источника Данных (DSN) через параметр [[yii\db\Connection::dsn|dsn]].
Формат DSN отличается для разных баз данных. Дополнительное описание смотрите в [справочнике PHP](http://php.net/manual/ru/pdo.construct.php).
@ -87,10 +87,10 @@ return [
Кроме свойства [[yii\db\Connection::dsn|dsn]], вам необходимо указать [[yii\db\Connection::username|username]]
и [[yii\db\Connection::password|password]]. Смотрите [[yii\db\Connection]] для того, чтоб посмотреть полный список свойств.
> Информация: При создании экземпляра соединения к БД, фактическое соединение с базой данных будет установлено только
> Info: При создании экземпляра соединения к БД, фактическое соединение с базой данных будет установлено только
при выполнении первого SQL запроса или при явном вызове метода [[yii\db\Connection::open()|open()]].
> Подсказка: Иногда может потребоваться выполнить некоторые запросы сразу после соединения с базой данных, для инициализации
> Tip: Иногда может потребоваться выполнить некоторые запросы сразу после соединения с базой данных, для инициализации
> переменных окружения. Например, чтобы задать часовой пояс или кодировку. Сделать это можно зарегистрировав обработчик
> для события [[yii\db\Connection::EVENT_AFTER_OPEN|afterOpen]] в конфигурации приложения:
>
@ -136,7 +136,7 @@ $count = Yii::$app->db->createCommand('SELECT COUNT(*) FROM post')
->queryScalar();
```
> Примечание: Чтобы сохранить точность, данные извлекаются как строки, даже если тип поля в базе данных является числовым.
> Note: Чтобы сохранить точность, данные извлекаются как строки, даже если тип поля в базе данных является числовым.
### Привязка параметров <span id="binding-parameters"></span>
@ -374,10 +374,10 @@ Yii предоставляет четыре константы для наибо
установить уровень изоляции для всех транзакций, чтоб избежать явно конфликтующих настроек.
На момент написания этой статьи страдали от этого ограничения только MSSQL и SQLite.
> Примечание: SQLite поддерживает только два уровня изоляции, таким образом вы можете использовать только
> Note: SQLite поддерживает только два уровня изоляции, таким образом вы можете использовать только
`READ UNCOMMITTED` и `SERIALIZABLE`. Использование других уровней изоляции приведёт к генерации исключения.
> Примечание: PostgreSQL не допускает установки уровня изоляции до старта транзакции, так что вы не сможете установить
> Note: PostgreSQL не допускает установки уровня изоляции до старта транзакции, так что вы не сможете установить
уровень изоляции прямо при старте транзакции. Вы можете использовать [[yii\db\Transaction::setIsolationLevel()]] в
таком случае после старта транзакции.
@ -475,7 +475,7 @@ $rows = Yii::$app->db->createCommand('SELECT * FROM user LIMIT 10')->queryAll();
Yii::$app->db->createCommand("UPDATE user SET username='demo' WHERE id=1")->execute();
```
> Информация: Запросы выполненные через [[yii\db\Command::execute()]] определяются как запросы на запись, а все
> Info: Запросы выполненные через [[yii\db\Command::execute()]] определяются как запросы на запись, а все
остальные запросы через один из "query" методов [[yii\db\Command]] воспринимаются как запросы на чтение.
Вы можете получить текущий статус соединения к подчинённому серверу через `$db->slave`.
@ -486,7 +486,7 @@ Yii::$app->db->createCommand("UPDATE user SET username='demo' WHERE id=1")->exec
[[yii\db\Connection::serverStatusCache|кеш статуса серверов]], то недоступность серверов может быть запомнена, чтоб не
использоваться в течении [[yii\db\Connection::serverRetryInterval|заданного промежутка времени]].
> Информация: В конфигурации выше, таймаут соединения к подчинённому серверу настроен на 10 секунд.
> Info: В конфигурации выше, таймаут соединения к подчинённому серверу настроен на 10 секунд.
Это означает, что если сервер не ответит за 10 секунд, он будет считаться "мёртвым". Вы можете отрегулировать
этот параметр исходя из настроек вашей среды.
@ -536,7 +536,7 @@ Yii::$app->db->createCommand("UPDATE user SET username='demo' WHERE id=1")->exec
балансировку нагрузки и переключение при сбое между основными серверами, также как и между подчинёнными. Различие
заключается в том, что когда ни к одному из основных серверов не удастся подключиться будет выброшено исключение.
> Примечание: Когда вы используете свойство [[yii\db\Connection::masters|masters]] для настройки одного или нескольких
> Note: Когда вы используете свойство [[yii\db\Connection::masters|masters]] для настройки одного или нескольких
основных серверов, все остальные свойства для настройки соединения с базой данных (такие как `dsn`, `username`, `password`)
будут проигнорированы компонентом `Connection`.

22
docs/guide-ru/db-migrations.md

@ -28,7 +28,7 @@ Yii предоставляет набор инструментов для миг
Все эти инструменты доступны через команду `yii migrate`. В этом разделе мы опишем подробно, как выполнять различные задачи, используя эти инструменты. Вы также можете сами посмотреть как использовать каждый отдельный инструмент при помощи команды `yii help migrate`.
> Подсказка: Миграции могут не только изменять схему базы данных, но и приводить данные в соответствие с новой схемой, создавать иерархию RBAC или очищать кеш.
> Tip: Миграции могут не только изменять схему базы данных, но и приводить данные в соответствие с новой схемой, создавать иерархию RBAC или очищать кеш.
## Создание миграций <span id="creating-migrations"></span>
@ -45,7 +45,7 @@ yii migrate/create <name>
yii migrate/create create_news_table
```
> Примечание: Поскольку аргумент `name` будет использован как часть имени класса создаваемой миграции, он должен содержать только буквы, цифры и/или символы подчеркивания.
> Note: Поскольку аргумент `name` будет использован как часть имени класса создаваемой миграции, он должен содержать только буквы, цифры и/или символы подчеркивания.
Приведенная выше команда создаст новый PHP класс с именем файла `m150101_185401_create_news_table.php` в директории `@app/migrations`. Файл содержит следующий код, который главным образом декларирует класс миграции `m150101_185401_create_news_table` с следующим каркасом кода:
@ -114,7 +114,7 @@ class m150101_185401_create_news_table extends Migration
}
```
> Информация: Не все миграции являются обратимыми. Например, если метод `up()` удаляет строку из таблицы, возможно что у вас уже не будет возможности вернуть эту строку методом `down()`. Иногда Вам может быть просто слишком лень реализовывать метод `down()`, в связи с тем, что это не очень распространено - откатывать миграции базы данных. В этом случае вы должны в методе `down()` вернуть `false`, чтобы указать, что миграция не является обратимой.
> Info: Не все миграции являются обратимыми. Например, если метод `up()` удаляет строку из таблицы, возможно что у вас уже не будет возможности вернуть эту строку методом `down()`. Иногда Вам может быть просто слишком лень реализовывать метод `down()`, в связи с тем, что это не очень распространено - откатывать миграции базы данных. В этом случае вы должны в методе `down()` вернуть `false`, чтобы указать, что миграция не является обратимой.
Базовый класс миграций [[yii\db\Migration]] предоставляет подключение к базе данных через свойство [[yii\db\Migration::db|db]]. Вы можете использовать его для манипулирования схемой базы данных используя методы описанные в [работе со схемой базы данных](db-dao.md#database-schema).
@ -126,7 +126,7 @@ class m150101_185401_create_news_table extends Migration
Вы можете добавить дополнительные ограничения при использовании абстрактных типов. В приведенном выше примере, ` NOT NULL` добавляется к `Schema::TYPE_STRING` чтобы указать, что столбец не может быть NULL.
> Информация: Сопоставление абстрактных типов и физических типов определяется свойством [[yii\db\QueryBuilder::$typeMap|$typeMap]] в каждом конкретном `QueryBuilder` классе.
> Info: Сопоставление абстрактных типов и физических типов определяется свойством [[yii\db\QueryBuilder::$typeMap|$typeMap]] в каждом конкретном `QueryBuilder` классе.
Начиная с версии 2.0.6, появился новый построитель схем, который является более удобным инструментом для описания структуры столбцов.
Теперь, при написании миграций, можно использовать такой код:
@ -242,7 +242,7 @@ class m150811_220037_create_post extends Migration
}
```
> Примечание: первичный ключ добавляется автоматически и по умолчанию называется `id`. Если вам необходимо другое имя,
> Note: первичный ключ добавляется автоматически и по умолчанию называется `id`. Если вам необходимо другое имя,
> указать его можно через опцию `--fields=name:primaryKey`.
@ -402,7 +402,7 @@ class m150101_185401_create_news_table extends Migration
реализовать обратный порядок исполнения в методе `safeDown()`. В приведенном выше примере мы сначала создали таблицу,
а затем вставили строку в `safeUp()`; а в `safeDown()` мы сначала удаляем строку и затем удаляем таблицу.
> Примечание: Не все СУБД поддерживают транзакции. И некоторые запросы к базам данных не могут быть введены в транзакции.
> Note: Не все СУБД поддерживают транзакции. И некоторые запросы к базам данных не могут быть введены в транзакции.
Для различных примеров, пожалуйста, обратитесь к [негласным обязательствам](http://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html).
В этом случае вместо этих методов вы должны реализовать методы `up()` и `down()`.
@ -438,9 +438,9 @@ class m150101_185401_create_news_table extends Migration
* [[yii\db\Migration::createIndex()|createIndex()]]: создание индекса
* [[yii\db\Migration::dropIndex()|dropIndex()]]: удаление индекса
> Информация: [[yii\db\Migration]] не предоставляет методы запросов к базе данных. Это потому, что обычно не требуется отображать дополнительные сообщения об извлечении данных из базы данных. Это также, потому, что можно использовать более мощный [Построитель Запросов](db-query-builder.md) для построения и выполнения сложных запросов.
> Info: [[yii\db\Migration]] не предоставляет методы запросов к базе данных. Это потому, что обычно не требуется отображать дополнительные сообщения об извлечении данных из базы данных. Это также, потому, что можно использовать более мощный [Построитель Запросов](db-query-builder.md) для построения и выполнения сложных запросов.
> Примечание: при обработке данных внутри миграции, может показаться, что использование существующих классов [Active Record](db-active-record.md), со всей их готовой бизнес логикой, будет разумным решением и упросит код миграции. Однако, следует помнить, что код миграций не должен меняться, по определению. В отличии от миграций, бизнес логика приложений часто изменяется. Это может привести к нарушению работы миграции при определённых изменениях на уровне Active Record. Поэтому рекомендуется делать миграции независимыми от других частей приложения, таких как классы Active Record.
> Note: при обработке данных внутри миграции, может показаться, что использование существующих классов [Active Record](db-active-record.md), со всей их готовой бизнес логикой, будет разумным решением и упросит код миграции. Однако, следует помнить, что код миграций не должен меняться, по определению. В отличии от миграций, бизнес логика приложений часто изменяется. Это может привести к нарушению работы миграции при определённых изменениях на уровне Active Record. Поэтому рекомендуется делать миграции независимыми от других частей приложения, таких как классы Active Record.
## Применение Миграций <span id="applying-migrations"></span>
@ -456,7 +456,7 @@ yii migrate
Для каждой миграции которая была успешно проведена, эта команда будет вставлять строку в таблицу базы данных с именем
`migration` записав успешное проведение миграции. Это позволяет инструменту миграции выявлять какие миграции были применены, а какие - нет.
> Примечание: Инструмент миграции автоматически создаст таблицу `migration` в базе данных указанной в параметре [[yii\console\controllers\MigrateController::db|db]]. По умолчанию база данных определяется как [компонент приложения](structure-application-components.md) `db`.
> Note: Инструмент миграции автоматически создаст таблицу `migration` в базе данных указанной в параметре [[yii\console\controllers\MigrateController::db|db]]. По умолчанию база данных определяется как [компонент приложения](structure-application-components.md) `db`.
Иногда, необходимо применить одну или несколько новых миграций, вместо всех доступных миграций. Это возможно сделать, указав, при выполнении команды, количество миграций, которые необходимо применить. Например, следующая команда будет пытаться применить следующие три доступные миграции:
@ -485,7 +485,7 @@ yii migrate/down # отменяет самую последнюю приме
yii migrate/down 3 # отменяет 3 последних применённых миграции
```
> Примечание: Не все миграции являются обратимыми. При попытке отката таких миграций произойдёт ошибка и остановится весь процесс отката.
> Note: Не все миграции являются обратимыми. При попытке отката таких миграций произойдёт ошибка и остановится весь процесс отката.
## Перезагрузка Миграций <span id="redoing-migrations"></span>
@ -496,7 +496,7 @@ yii migrate/redo # перезагрузить последнюю прим
yii migrate/redo 3 # перезагрузить 3 последние применённые миграции
```
> Примечание: Если миграция не является обратимой, Вы не сможете её перезагрузить.
> Note: Если миграция не является обратимой, Вы не сможете её перезагрузить.
## Список Миграций <span id="listing-migrations"></span>

14
docs/guide-ru/db-query-builder.md

@ -30,7 +30,7 @@ WHERE `last_name` = :last_name
LIMIT 10
```
> Информация: В основном вы будете работать с [[yii\db\Query]] вместо [[yii\db\QueryBuilder]]. Последний вызывается
> Info: В основном вы будете работать с [[yii\db\Query]] вместо [[yii\db\QueryBuilder]]. Последний вызывается
неявно при вызове одного из методов запроса. [[yii\db\QueryBuilder]] это класс, отвечающий за генерацию зависимого
от СУБД SQL выражения (такие как экранирование имён таблиц/столбцов) из независимых от СУБД объектов [[yii\db\Query]].
@ -258,7 +258,7 @@ $query->where(['id' => $userQuery]);
или пустой массив, чтоб указать что значения уже экранированы. Обратите внимание, что при использовании массива соответствия
экранирования (или если третий операнд не передан), значения будут автоматически заключены в символы процентов.
> Примечание: При использовании PostgreSQL вы можете использовать также [`ilike`](http://www.postgresql.org/docs/8.3/static/functions-matching.html#FUNCTIONS-LIKE)
> Note: При использовании PostgreSQL вы можете использовать также [`ilike`](http://www.postgresql.org/docs/8.3/static/functions-matching.html#FUNCTIONS-LIKE)
> вместо `like` для регистронезависимого поиска.
- `or like`: похож на оператор `like`, только утверждения `LIKE` будут объединяться с помощью оператора `OR`, если
@ -320,7 +320,7 @@ $query->filterWhere([
заключается в игнорировании пустых значений, переданных в условие в [форме массива](#hash-format). Таким образом
если `$email` будет пустым, а `$username` нет, то приведённый выше код сформирует условие `WHERE username=:username`.
> Информация: значение признаётся пустым, если это null, пустой массив, пустая строка или строка состоящая из одних пробельных символов.
> Info: значение признаётся пустым, если это null, пустой массив, пустая строка или строка состоящая из одних пробельных символов.
Также вместо [[yii\db\Query::andWhere()|andWhere()]] и [[yii\db\Query::orWhere()|orWhere()]], вы можете использовать
[[yii\db\Query::andFilterWhere()|andFilterWhere()]] и [[yii\db\Query::orFilterWhere()|orFilterWhere()]]
@ -349,7 +349,7 @@ PHP константа `SORT_ASC` определяет сортировку по
$query->orderBy('id ASC, name DESC');
```
> Примечание: Вы должны использовать массив для указания `ORDER BY` содержащих выражения БД.
> Note: Вы должны использовать массив для указания `ORDER BY` содержащих выражения БД.
Вы можете вызывать [[yii\db\Query::addOrderBy()|addOrderBy()]] для добавления столбцов в фрагмент `ORDER BY`.
@ -375,7 +375,7 @@ $query->groupBy(['id', 'status']);
$query->groupBy('id, status');
```
> Примечание: Вы должны использовать массив для указания `GROUP BY` содержащих выражения БД.
> Note: Вы должны использовать массив для указания `GROUP BY` содержащих выражения БД.
Вы можете вызывать [[yii\db\Query::addGroupBy()|addGroupBy()]] для добавления имён столбцов в фрагмент `GROUP BY`.
For example,
@ -420,7 +420,7 @@ $query->limit(10)->offset(20);
Если вы определяете неправильный limit или offset (например отрицательное значение), они будут проигнорированы.
> Информация: Для СУБД, которые не поддерживают `LIMIT` и `OFFSET` (такие как MSSQL), построитель запросов будет
> Info: Для СУБД, которые не поддерживают `LIMIT` и `OFFSET` (такие как MSSQL), построитель запросов будет
генерировать SQL выражения, которые эмулирует поведение `LIMIT`/`OFFSET`.
@ -519,7 +519,7 @@ $row = (new \yii\db\Query())
->one();
```
> Примечание: метод [[yii\db\Query::one()|one()]] вернёт только первую строку результата запроса. Он НЕ добавляет
> Note: метод [[yii\db\Query::one()|one()]] вернёт только первую строку результата запроса. Он НЕ добавляет
`LIMIT 1` в генерируемый SQL. Это хорошо и предпочтительно если вы знаете, что запрос вернёт только одну или несколько
строк данных (например, при запросе по первичному ключу). Однако, если запрос потенциально может вернут много
строк данных, вы должны вызвать `limit(1)` для повышения производительности, Например,

4
docs/guide-ru/helper-html.md

@ -7,7 +7,7 @@ Html-помощник
в виде Html-помощника, который обеспечивает набор статических методов для обработки часто-используемых HTML тэгов, их
атрибутов и содержимого.
> Примечание: Если ваша разметка близка к статической, лучше использовать непосредственно HTML. Нет никакой
> Note: Если ваша разметка близка к статической, лучше использовать непосредственно HTML. Нет никакой
необходимости в том, чтобы всё подряд оборачивать вызовами Html-помощника.
@ -174,7 +174,7 @@ $decodedUserName = Html::decode($userName);
Разметка форм состоит из повторяющихся действий и часто приводит к ошибкам, поэтому есть целый набор методов, которые
помогают справиться с этой задачей.
> Примечание: Рассмотрите возможность использования [[yii\widgets\ActiveForm|ActiveForm]], если работаете с моделями и
> Note: Рассмотрите возможность использования [[yii\widgets\ActiveForm|ActiveForm]], если работаете с моделями и
нуждаетесь в валидации данных.

4
docs/guide-ru/helper-overview.md

@ -1,7 +1,7 @@
Helpers
=======
> Примечание: Этот раздел находиться в стадии разработки.
> Note: Этот раздел находиться в стадии разработки.
Yii предоставляет много классов, которые помогают упростить общие задачи программирования, такие как манипуляция со строками или массивами, генерация HTML кода, и так далее. Все helper классы организованны в рамках пространства имен `yii\helpers` и являются статическими методами
(это означает, что они содержат в себе только статические свойства и методы и объекты статического класса создать нельзя).
@ -14,7 +14,7 @@ use yii\helpers\Html;
echo Html::encode('Test > test');
```
> Примечание: Помощь в [настройке helper классов](#customizing-helper-classes), в Yii каждый основной helper состоит из двух классов: базовый класс (например `BaseArrayHelper`) и конкретный класс (например `ArrayHelper`).
> Note: Помощь в [настройке helper классов](#customizing-helper-classes), в Yii каждый основной helper состоит из двух классов: базовый класс (например `BaseArrayHelper`) и конкретный класс (например `ArrayHelper`).
Когда мы используете helper, вы должны использовать только конкретные версии классов и никогда не испольовать базовые классы.

2
docs/guide-ru/input-file-upload.md

@ -51,7 +51,7 @@ class UploadForm extends Model
Валидатор `file` позволяет проверять расширение, размер, тип MIME и другие параметры загруженного файла.
Подробности в разделе [Встроенные валидаторы](tutorial-core-validators.md#file).
> Подсказка: При загрузке изображений лучше использовать соответствующий валидатор `image`. Данный валидатор
> Tip: При загрузке изображений лучше использовать соответствующий валидатор `image`. Данный валидатор
реализован классом [[yii\validators\ImageValidator]] и позволяет проверить корректность загруженного
изображения при помощи [расширения Imagine](https://github.com/yiisoft/yii2-imagine).

4
docs/guide-ru/input-forms.md

@ -99,11 +99,11 @@ echo $form->field($model, 'items[]')->checkboxList(['a' => 'Item A', 'b' => 'Ite
Дополнительные HTML элементы могут быть добавлены к форме используя обычный HTML или методы из класса помощника [[yii\helpers\Html|Html]],
как это было сделано с помощью [[yii\helpers\Html::submitButton()|Html::submitButton()]] в примере, что выше.
> Подсказка: Если вы использует Twitter Bootstrap CSS в своём приложении, то воспользуйтесь
> Tip: Если вы использует Twitter Bootstrap CSS в своём приложении, то воспользуйтесь
> [[yii\bootstrap\ActiveForm]] вместо [[yii\widgets\ActiveForm]]. Он добавит к ActiveForm дополнительные стили, которые
> сработают в рамках bootstrap CSS.
> Подсказка: для добавления "звёздочки" к обязательным элементам формы воспользуйтесь следующим CSS:
> Tip: для добавления "звёздочки" к обязательным элементам формы воспользуйтесь следующим CSS:
>
> ```css
> div.required label.control-label:after {

2
docs/guide-ru/input-tabular-input.md

@ -96,6 +96,6 @@ public function actionCreate()
### Изменение, создание и удаление записей на одной странице
> Примечание: Раздел находится в разработке
> Note: Раздел находится в разработке
TBD

14
docs/guide-ru/input-validation.md

@ -209,7 +209,7 @@ return [
}]
```
> Примечание: большинство валидаторов не обрабатывает пустые входные данные, если их
> Note: большинство валидаторов не обрабатывает пустые входные данные, если их
[[yii\base\Validator::skipOnEmpty]] свойство принимает значение по умолчанию true.
Они просто будут пропущены во время проверки, если связанные с ними атрибуты являются пустыми.
Среди [основных валидаторов](tutorial-core-validators.md), только `captcha`, `default`, `filter`,
@ -235,7 +235,7 @@ if ($validator->validate($email, $error)) {
}
```
> Примечание: Не все валидаторы поддерживают такой тип проверки. Примером может служить
> Note: Не все валидаторы поддерживают такой тип проверки. Примером может служить
[unique](tutorial-core-validators.md#unique) валидатор, который предназначен для работы с моделью.
Если необходимо выполнить несколько проверок в отношении нескольких значений,
@ -344,7 +344,7 @@ class MyForm extends Model
}
```
> Примечание: по умолчанию, встроенные валидаторы не будет применяться, если связанные с ними атрибуты
> Note: по умолчанию, встроенные валидаторы не будет применяться, если связанные с ними атрибуты
получат пустые входные данные, или если они уже не смогли пройти некоторые правила валидации.
Если вы хотите, чтобы, что правило применялось всегда, вы можете настроить свойства
[[yii\validators\Validator::skipOnEmpty|skipOnEmpty]] и/или [[yii\validators\Validator::skipOnError|skipOnError]]
@ -395,7 +395,7 @@ class CountryValidator extends Validator
быстрее, и таким образом улучшает ваш пользовательский интерфейс. Вы можете использовать или
реализовать валидатор, который поддерживает валидацию на стороне клиента *в дополнение* к проверке на стороне сервера.
> Информация: Проверка на стороне клиента желательна, но необязательна. Её основная цель заключается в
> Info: Проверка на стороне клиента желательна, но необязательна. Её основная цель заключается в
предоставлении пользователям более удобного интерфейса. Так как входные данные, поступают от конечных
пользователей, вы никогда не должны доверять верификации на стороне клиента. По этой причине, вы всегда
должны выполнять верификацию на стороне сервера путем вызова [[yii\base\Model::validate()]],
@ -577,7 +577,7 @@ JS;
}
```
> Примечание: метод `resolve()` должен быть вызван после того, как атрибут был проверен.
> Note: метод `resolve()` должен быть вызван после того, как атрибут был проверен.
В противном случае основная проверки формы не будет завершена.
Для простоты работы с массивом `deferred`, существует упрощенный метод `add()`, который автоматически создает Отложенный объект и добавляет его в `deferred` массив. Используя этот метод, вы можете упростить пример выше, следующим образом:
@ -639,7 +639,7 @@ $form = yii\widgets\ActiveForm::begin([
]);
```
> Примечание: В случае, если свойство `enableAjaxValidation` указано и у поля и у формы, первый вариант будет иметь приоритет.
> Note: В случае, если свойство `enableAjaxValidation` указано и у поля и у формы, первый вариант будет иметь приоритет.
Также необходимо подготовить сервер для обработки AJAX-запросов валидации. Это может быть достигнуто
с помощью следующего фрагмента кода, в контроллере действий:
@ -655,5 +655,5 @@ if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
он будет отвечать на этот запрос, предварительно выполнив проверку и возвратит ошибки в
случае их появления в формате JSON.
> Информация: Вы также можете использовать [Deferred Validation](#deferred-validation) AJAX валидации.
> Info: Вы также можете использовать [Deferred Validation](#deferred-validation) AJAX валидации.
Однако, AJAX-функция проверки, описанные здесь более интегрированная и требует меньше усилий к написанию кода.

4
docs/guide-ru/output-data-widgets.md

@ -458,7 +458,7 @@ public function rules()
$query->andFilterWhere(['LIKE', 'author.name', $this->getAttribute('author.name')]);
```
> Информация: В коде, что выше, использует такая же строка, как и имя зависимости и псевдонима таблицы.
> Info: В коде, что выше, использует такая же строка, как и имя зависимости и псевдонима таблицы.
> Однако, когда ваш псевдоним и имя связи различаются, вы должны обратить внимание, где вы используете псевдоним,
> а где имя связи. Простым правилом для этого является использование псевдонима в каждом месте, которое используется
> для построения запроса к базе данных, и имя связи во всех других определениях, таких как `attributes()`, `rules()` и т.д.
@ -492,7 +492,7 @@ $query->andFilterWhere(['LIKE', 'author.name', $this->getAttribute('author.name'
> $dataProvider->sort->defaultOrder = ['author.name' => SORT_ASC];
> ```
> Информация: Для подробной информации по `joinWith` и запросам, выполняемым в фоновом режиме, обратитесь к
> Info: Для подробной информации по `joinWith` и запросам, выполняемым в фоновом режиме, обратитесь к
> [active record документации](db-active-record.md#joining-with-relations).
#### Использование SQL видов для вывода данных, их сортировки и фильтрации.

2
docs/guide-ru/output-formatting.md

@ -144,7 +144,7 @@ echo Yii::$app->formatter->asTime('2014-10-06 14:41:00 CEST'); // 14:41:00
часовой пояс, как во втором примере в коде выше. Вы можете задать [[yii\i18n\Formatter::defaultTimeZone]] часовым поясом,
который вы используете для хранения данных.
> Примечание: Поскольку часовые пояса являются субъектом ответственности правительств по всему миру и могут часто меняться,
> Note: Поскольку часовые пояса являются субъектом ответственности правительств по всему миру и могут часто меняться,
> это значит, что вы, вероятно, не имеете самую свежую информацию в базе данных часовых поясов, установленной на вашем сервере.
> Вы можете обратиться к [ICU руководству](http://userguide.icu-project.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data)
> для получения подробностей об обновлении базы данных часовых поясов.

2
docs/guide-ru/output-theming.md

@ -33,7 +33,7 @@ return [
];
```
> Информация: При настройке тем поддерживаются псевдонимы пути. При замене отображений они преобразуются в реальные
> Info: При настройке тем поддерживаются псевдонимы пути. При замене отображений они преобразуются в реальные
пути в файловой системе или URL.
Вы можете обратиться к объекту [[yii\base\Theme]] через свойство [[yii\base\View::theme]]. Например,

2
docs/guide-ru/rest-authentication.md

@ -36,7 +36,7 @@ Yii поддерживает все выше перечисленные мето
аутентификации пользователя НЕ БУДЕТ сохраняться между запросами с использованием сессий. Вместо этого аутентификация
будет выполняться для каждого запроса, что достигается шагами 2 и 3.
> Подсказка: если вы разрабатываете RESTful API в пределах приложения, вы можете настроить свойство
> Tip: если вы разрабатываете RESTful API в пределах приложения, вы можете настроить свойство
> [[yii\web\User::enableSession|enableSession]] компонента приложения `user` в конфигурации приложения. Если вы
> разрабатываете RESTful API как модуль, можете добавить следующую строчку в метод `init()` модуля:
> ```php

2
docs/guide-ru/rest-controllers.md

@ -150,4 +150,4 @@ public function checkAccess($action, $model = null, $params = [])
Метод `checkAccess()` будет вызван действиями по умолчанию контроллера [[yii\rest\ActiveController]]. Если вы создаёте
новые действия и хотите в них выполнять контроль доступа, вы должны вызвать этот метод явно в своих новых действиях.
> Подсказка: вы можете реализовать метод `checkAccess()` с помощью ["Контроля доступа на основе ролей" (RBAC)](security-authorization.md).
> Tip: вы можете реализовать метод `checkAccess()` с помощью ["Контроля доступа на основе ролей" (RBAC)](security-authorization.md).

8
docs/guide-ru/rest-quick-start.md

@ -73,7 +73,7 @@ URL и логичные глаголы HTTP.
]
```
> Примечание: Конфигурация, приведенная выше необязательна. Без приведенной выше конфигурации, API сможет определить только
> Note: Конфигурация, приведенная выше необязательна. Без приведенной выше конфигурации, API сможет определить только
`application/x-www-form-urlencoded` и `multipart/form-data` форматы.
@ -91,7 +91,7 @@ URL и логичные глаголы HTTP.
* `OPTIONS /users`: получение поддерживаемых методов, по которым можно обратится к `/users`;
* `OPTIONS /users/123`: получение поддерживаемых методов, по которым можно обратится к `/users/123`.
> Информация: Yii автоматически использует множественное число от имени контроллера в URL.
> Info: Yii автоматически использует множественное число от имени контроллера в URL.
Пробуем получить ответы по API используя `curl`:
@ -159,7 +159,7 @@ Content-Type: application/xml
</response>
```
> Подсказка: Вы можете получить доступ к API через веб-браузер, введя адрес `http://localhost/users`. Но в этом случае
> Tip: Вы можете получить доступ к API через веб-браузер, введя адрес `http://localhost/users`. Но в этом случае
для передачи определённых заголовков вам, скорее всего, потребуются дополнительные плагины для браузера.
Если внимательно посмотреть результат ответа, то можно обнаружить, что в заголовках есть информация об общем числе записей,
@ -171,7 +171,7 @@ Content-Type: application/xml
только `id` и `email`.
> Информация: Вы наверное заметили, что при обращении к `http://localhost/users` мы получаем информацию с полями,
> Info: Вы наверное заметили, что при обращении к `http://localhost/users` мы получаем информацию с полями,
> которые нежелательно показывать, такими как `password_hash` и `auth_key`. Вы можете и должны отфильтровать их как
> описано в разделе «[Ресурсы](rest-resources.md)».

2
docs/guide-ru/rest-resources.md

@ -84,7 +84,7 @@ public function fields()
}
```
> Внимание: По умолчанию все атрибуты модели будут включены в ответы API. Вы должны убедиться в том, что отдаются
> Warning: По умолчанию все атрибуты модели будут включены в ответы API. Вы должны убедиться в том, что отдаются
> только безопасные данные. В противном случае для исключения небезопасных полей необходимо переопределить метод
> `fields()`. В приведённом выше примере мы исключаем `auth_key`, `password_hash` и `password_reset_token`.

2
docs/guide-ru/rest-routing.md

@ -76,7 +76,7 @@
Это происходит потому, что [[yii\rest\UrlRule]] автоматически приводит идентификаторы контроллеров к множественной форме.
Вы можете отключить такое поведение, назначив свойству [[yii\rest\UrlRule::pluralize]] значение false.
> Информация: Приведение ID контроллера к множественной форме производится в методе [[yii\helpers\Inflector::pluralize()]].
> Info: Приведение ID контроллера к множественной форме производится в методе [[yii\helpers\Inflector::pluralize()]].
При этом соблюдаются правила английского языка. Например, `box` будет преобразован в `boxes`, а не в `boxs`.
В том случае, если автоматическое приведение к множественному числу вам не подходит, вы можете настроить

2
docs/guide-ru/rest-versioning.md

@ -14,7 +14,7 @@ API используются клиентами, код которых вы не
получивший недавно широкое распространение, состоит в добавлении номера версии в HTTP-заголовки запроса,
обычно в заголовок `Accept`:
> Подсказка: Чтобы узнать больше о выборе версий обратитесь к [Semantic Versioning](http://semver.org/).
> Tip: Чтобы узнать больше о выборе версий обратитесь к [Semantic Versioning](http://semver.org/).
Один из типичных способов реализации версионирования — указание версии в URL. Например, `http://example.com/v1/users`
соответствует `/users` версии 1.

4
docs/guide-ru/runtime-handling-errors.md

@ -64,7 +64,7 @@ throw new NotFoundHttpException();
вызовов и исходный код. При `YII_DEBUG` равной false отображается только сообщение об ошибке, тем самым не позволяя
получить информацию о внутренностях приложения.
> Информация: Если исключение является наследником [[yii\base\UserException]], стек вызовов не отображается вне
> Info: Если исключение является наследником [[yii\base\UserException]], стек вызовов не отображается вне
зависимости от значения `YII_DEBUG` так как такие исключения считаются ошибками пользователя и исправлять что-либо
разработчику не требуется.
@ -140,7 +140,7 @@ public function actionError()
* `exception`: объект исключения, из которого можно получить дополнительную информацию, такую как статус HTTP,
код ошибки, стек вызовов и т.д.
> Информация: Если вы используете шаблоны приложения [basic](start-installation.md) или [advanced](tutorial-advanced-app.md),
> Info: Если вы используете шаблоны приложения [basic](start-installation.md) или [advanced](tutorial-advanced-app.md),
действие error и файл представления уже созданы за вас.
### Изменение формата ответа <span id="error-format"></span>

14
docs/guide-ru/runtime-logging.md

@ -25,7 +25,7 @@ Yii предоставляет мощную, гибко настраиваему
Yii::trace('start calculating average revenue');
```
> Примечание: Сообщение может быть как строкой так и объектом или массивом. За корректную работу с содержимым сообщения отвечают [цели лога](#log-targets). По умолчанию, если сообщение не является строкой, оно будет приведено к строковому типу при помощи [[yii\helpers\VarDumper::export()]].
> Note: Сообщение может быть как строкой так и объектом или массивом. За корректную работу с содержимым сообщения отвечают [цели лога](#log-targets). По умолчанию, если сообщение не является строкой, оно будет приведено к строковому типу при помощи [[yii\helpers\VarDumper::export()]].
Для упрощения работы с сообщениями лога и их фильтрации, рекомендуется явно указывать подходящую категорию для каждого сообщения. Возможно использование иерархической системы именования категорий, что значительно упростит [целям лога](#log-targets) фильтрацию сообщений по категориям. Простым и эффективным способом именования категорий является использование магической PHP константы `__METHOD__`. Такой подход используется в ядре фреймворка Yii. Например,
@ -35,7 +35,7 @@ Yii::trace('начало вычисления среднего дохода', __
Константа `__METHOD__` вычисляется как имя метода (включая полное имя класса), в котором она использована. Например, её значение будет вычислено как `'app\controllers\RevenueController::calculate'`, если показанный выше код вызывается в соответствующем методе.
> Информация: методы логгирования, описанные выше являются, на самом деле, ярлыками для метода [[yii\log\Logger::log()|log()]] [[yii\log\Logger|объекта логгера]], который доступен как синглтон `Yii::getLogger()`.
> Info: методы логгирования, описанные выше являются, на самом деле, ярлыками для метода [[yii\log\Logger::log()|log()]] [[yii\log\Logger|объекта логгера]], который доступен как синглтон `Yii::getLogger()`.
При определенном количестве записанных сообщений или завершении приложения, объект логгера вызывает [[yii\log\Dispatcher|message dispatcher]] для отправки записанных сообщений зарегистрированным [целям логов](#log-targets).
@ -73,7 +73,7 @@ return [
];
```
> Примечание: Компонент `log` должен быть загружен в процессе [предзагрузки](runtime-bootstrapping.md), тогда он сможет оперативно передавать сообщения целям логов. Поэтому он указан в массиве `bootstrap`.
> Note: Компонент `log` должен быть загружен в процессе [предзагрузки](runtime-bootstrapping.md), тогда он сможет оперативно передавать сообщения целям логов. Поэтому он указан в массиве `bootstrap`.
В приведенном выше коде в свойстве [[yii\log\Dispatcher::targets]] зарегистрированы две цели логов:
@ -127,7 +127,7 @@ return [
]
```
> Примечание: При обработке HTTP исключения [обработчиком ошибок](runtime-handling-errors.md), сообщение будет сохранено с категорией вида `yii\web\HttpException:ErrorCode`. Например, исключение [[yii\web\NotFoundHttpException]] вызовет сообщение об ошибке с категорией `yii\web\HttpException:404`.
> Note: При обработке HTTP исключения [обработчиком ошибок](runtime-handling-errors.md), сообщение будет сохранено с категорией вида `yii\web\HttpException:ErrorCode`. Например, исключение [[yii\web\NotFoundHttpException]] вызовет сообщение об ошибке с категорией `yii\web\HttpException:404`.
### Форматирование сообщений <span id="message-formatting"></span>
@ -190,7 +190,7 @@ return [
При такой настройке свойство [[yii\log\Dispatcher::traceLevel|traceLevel]] будет равно 3 при `YII_DEBUG` равном `true` и 0 при `YII_DEBUG` равном `false`. Это означает, что при включенном `YII_DEBUG`, каждое сообщение лога будет содержать до трех уровней стека вызовов, а при выключенном `YII_DEBUG` информация о стеке вызовов не будет включаться в лог.
> Информация: Получение информации стека вызовов является не простым процессом. Поэтому такую возможность следует использовать только при разработке или отладке приложения.
> Info: Получение информации стека вызовов является не простым процессом. Поэтому такую возможность следует использовать только при разработке или отладке приложения.
### Передача на обработку и выгрузка сообщений <span id="flushing-exporting"></span>
@ -209,7 +209,7 @@ return [
];
```
> Информация: При завершении приложения, так же происходит передача сообщений на обработку.
> Info: При завершении приложения, так же происходит передача сообщений на обработку.
После передачи сообщений [[yii\log\Logger|объектом логгера]] в [цели логов](#log-targets), сообщения не выгружаются немедленно. Вместо этого, выгрузка сообщений происходит когда цель логов накопит определенное количество фильтрованных сообщений. Максимальное количество сообщений определяется свойством [[yii\log\Target::exportInterval|exportInterval]] [цели логов](#log-targets). Например,
@ -239,7 +239,7 @@ return [
];
```
> Примечание: Частая передача и выгрузка сообщений может сильно снизить производительность приложения.
> Note: Частая передача и выгрузка сообщений может сильно снизить производительность приложения.
### Переключение целей логов <span id="toggling-log-targets"></span>

6
docs/guide-ru/runtime-requests.md

@ -30,7 +30,7 @@ $name = $request->post('name', '');
// эквивалентно: $name = isset($_POST['name']) ? $_POST['name'] : '';
```
> Информация: Вместо того, чтобы обращаться напрямую к переменным `$_GET` и `$_POST` для получения параметров запроса, рекомендуется
> Info: Вместо того, чтобы обращаться напрямую к переменным `$_GET` и `$_POST` для получения параметров запроса, рекомендуется
чтобы вы обращались к ним через компонент `request` как было показано выше. Это упростит написание тестов, поскольку вы можете создать mock компонент запроса с не настоящими данными запроса.
При реализации [RESTful API](rest-quick-start.md), зачастую вам требуется получить параметры, которые были отправлены через PUT, PATCH или другие [методы запроса](#request-methods). Вы можете получить эти параметры, вызвав метод [[yii\web\Request::getBodyParam()]]. Например,
@ -45,7 +45,7 @@ $params = $request->bodyParams;
$param = $request->getBodyParam('id');
```
> Информация: В отличии от `GET` параметров, параметры, которые были переданы через `POST`, `PUT`, `PATCH` и д.р. отправляются в теле запроса.
> Info: В отличии от `GET` параметров, параметры, которые были переданы через `POST`, `PUT`, `PATCH` и д.р. отправляются в теле запроса.
Компонент `request` будет обрабатывать эти параметры, когда вы попробуете к ним обратиться через методы, описанные выше.
Вы можете настроить способ обработки этих параметров через настройку свойства [[yii\web\Request::parsers]].
@ -111,7 +111,7 @@ if ($headers->has('User-Agent')) { /* в запросе есть заголов
Этот метод принимает список поддерживаемых языков в вашем приложении, сравнивает их с [[yii\web\Request::acceptableLanguages|acceptableLanguages]]
и возвращает наиболее подходящий язык.
> Подсказка: Вы также можете использовать фильтр [[yii\filters\ContentNegotiator|ContentNegotiator]] для динамического определения
> Tip: Вы также можете использовать фильтр [[yii\filters\ContentNegotiator|ContentNegotiator]] для динамического определения
какой тип содержимого и язык должен использоваться в ответе. Фильтр реализует согласование содержимого на основе свойств и методов, описанных выше.

8
docs/guide-ru/runtime-responses.md

@ -72,7 +72,7 @@ $headers->set('Pragma', 'no-cache');
$values = $headers->remove('Pragma');
```
> Информация: названия заголовков не чувствительны к регистру символов. Заново зарегистрированные заголовки не отсылаются
> Info: названия заголовков не чувствительны к регистру символов. Заново зарегистрированные заголовки не отсылаются
пользователю до вызова [[yii\web\Response::send()]].
@ -149,7 +149,7 @@ public function actionInfo()
}
```
> Примечание: создавая собственные объекты ответов, вы не сможете воспользоваться конфигурацией компонента `response`,
> Note: создавая собственные объекты ответов, вы не сможете воспользоваться конфигурацией компонента `response`,
настроенной вами в конфигурации приложения. Тем не менее, вы можете воспользоваться
[внедрением зависимости](concept-di-container.md), чтобы применить общую конфигурацию к вашим новым объектам ответа.
@ -181,7 +181,7 @@ public function actionOld()
\Yii::$app->response->redirect('http://example.com/new', 301)->send();
```
> Информация: По умолчанию метод [[yii\web\Response::redirect()]] устанавливает код состояния ответа равным 302, сообщая
> Info: По умолчанию метод [[yii\web\Response::redirect()]] устанавливает код состояния ответа равным 302, сообщая
браузеру, что запрашиваемый ресурс *временно* находится по другому URI-адресу. Вы можете передать код состояния
301, чтобы сообщить браузеру, что ресурс перемещён *навсегда*.
@ -190,7 +190,7 @@ public function actionOld()
заголовка `X-Redirect` равным URL для перенаправления. На стороне клиента вы можете написать JavaScript-код для чтения
значения этого заголовка и перенаправления браузера соответственно.
> Информация: Yii поставляется с JavaScript-файлом `yii.js`, который предоставляет набор часто используемых
> Info: Yii поставляется с JavaScript-файлом `yii.js`, который предоставляет набор часто используемых
JavaScript-утилит, включая и перенаправление браузера на основе заголовка `X-Redirect`. Следовательно, если вы
используете этот JavaScript-файл (зарегистрировав пакет ресурсов [[yii\web\YiiAsset]]), вам не нужно писать
дополнительный код для поддержки AJAX-перенаправления.

20
docs/guide-ru/runtime-routing.md

@ -209,7 +209,7 @@ echo Url::previous();
* [[yii\web\UrlManager::enableStrictParsing|enableStrictParsing]]: это свойство позволяет включить строгий разбор URL. Если строгий разбор URL включен, запрошенный URL должен соответствовать хотя бы одному из [[yii\web\UrlManager::rules|правил]], иначе будет вызвано исключение [[yii\web\NotFoundHttpException]]. Если строгий разбор URL отключен и ни одно из [[yii\web\UrlManager::rules|правил]] не подходит для разбора запрошенного URL, часть этого URL, представляющая путь, будет использована как маршрут.
* [[yii\web\UrlManager::rules|rules]]: это свойство содержит набор правил для разбора и создания URL. Это основное свойство, с которым нужно работать, что бы URL создавались в формате, соответствующем требованиям приложения.
> Примечание: Для того, чтобы скрыть имя входного скрипта в создаваемых URL, кроме установки значения свойства [[yii\web\UrlManager::showScriptName|showScriptName]] в `false`, необходимо настроить Веб сервер, чтобы он мог правильно определять PHP скрипт, который должен быть запущен, если в запрошенном URL он не указан явно. Рекомендованные настройки для Apache и Nginx описаны в разделе [Установка Yii](start-installation.md#rekomenduemye-nastrojki-apache).
> Note: Для того, чтобы скрыть имя входного скрипта в создаваемых URL, кроме установки значения свойства [[yii\web\UrlManager::showScriptName|showScriptName]] в `false`, необходимо настроить Веб сервер, чтобы он мог правильно определять PHP скрипт, который должен быть запущен, если в запрошенном URL он не указан явно. Рекомендованные настройки для Apache и Nginx описаны в разделе [Установка Yii](start-installation.md#rekomenduemye-nastrojki-apache).
### Правила URL <span id="url-rules"></span>
@ -225,7 +225,7 @@ echo Url::previous();
'post/<id:\d+>' => 'post/view',
]
```
> Примечание: Шаблон правила используется для поиска соответствия с частью URL, определяющей путь. Например, в URL `/index.php/post/100?source=ad` путь определяет часть `post/100` (начальный и конечный слеши игнорируются), соответствующая регулярному выражению `post/(\d+)`.
> Note: Шаблон правила используется для поиска соответствия с частью URL, определяющей путь. Например, в URL `/index.php/post/100?source=ad` путь определяет часть `post/100` (начальный и конечный слеши игнорируются), соответствующая регулярному выражению `post/(\d+)`.
Правила URL можно определять не только в виде пар шаблон-маршрут, но и в виде массива. Каждый массив используется для определения одного правила. Такой вид определения правил используется в случаях, когда необходимо указать другие параметры правила URL. Например,
@ -248,7 +248,7 @@ echo Url::previous();
Правило URL может содержать несколько именованных параметров запроса, которые указываются в шаблоне в следующем формате: `<ParamName:RegExp>`, где `ParamName` определяет имя параметра, а `RegExp` - необязательное регулярное выражение, используемое для определения значения параметра. В случае, если `RegExp` не указан, значением параметра будет любая последовательность символов кроме слешей.
> Примечание: Возможно указание только регулярного выражения для параметров. В таком случае, остальная часть шаблона будет считаться простым текстом.
> Note: Возможно указание только регулярного выражения для параметров. В таком случае, остальная часть шаблона будет считаться простым текстом.
После разбора URL, параметры запроса, соответствующие шаблону правила, будут доступны в массиве `$_GET` через компонент приложения `request`.
При создании URL, значения указанных параметров будут вставлены в URL в соответствии с шаблоном правила.
@ -295,7 +295,7 @@ echo Url::previous();
Аналогично, для маршрута `comment/index`, при помощи третьего правила, будет создан URL `comment/index`.
> Примечание: Использование параметров в маршрутах позволяет значительно уменьшить количество правил URL и улучшить производительность компонента [[yii\web\UrlManager|URL manager]].
> Note: Использование параметров в маршрутах позволяет значительно уменьшить количество правил URL и улучшить производительность компонента [[yii\web\UrlManager|URL manager]].
По умолчанию, все параметры, указанные в правиле, являются обязательными. Если запрошенный URL не содержит обязательный параметр, или если URL создается без обязательного параметра, данное правило не будет применено. Свойство [[yii\web\UrlRule::defaults]] позволяет сделать нужные параметры не обязательными. Параметры, перечисленные в данном свойстве, будут иметь заданные значения, в случае если они пропущены.
@ -341,7 +341,7 @@ echo Url::previous();
]
```
> Примечание: Правила, содержащие имя сервера, НЕ должны содержать в шаблоне подкаталог пути ко входному скрипту. Например, если приложение расположено в `http://www.example.com/sandbox/blog`, шаблон должен быть `http://www.example.com/posts`, вместо `http://www.example.com/sandbox/blog/posts`. Это позволит изменять расположение приложения без необходимости внесения изменений в его код.
> Note: Правила, содержащие имя сервера, НЕ должны содержать в шаблоне подкаталог пути ко входному скрипту. Например, если приложение расположено в `http://www.example.com/sandbox/blog`, шаблон должен быть `http://www.example.com/posts`, вместо `http://www.example.com/sandbox/blog/posts`. Это позволит изменять расположение приложения без необходимости внесения изменений в его код.
### Суффиксы в URL <span id="url-suffixes"></span>
@ -365,9 +365,9 @@ echo Url::previous();
Данная конфигурация позволяет компоненту [[yii\web\UrlManager|URL manager]] разбирать и создавать URL с суффиксом `.html`.
> Подсказка: При установке суффикса `/`, все URL будут заканчиваться слешем.
> Tip: При установке суффикса `/`, все URL будут заканчиваться слешем.
> Примечание: При настроенном суффиксе, все URL не содержащие этот суффикс будут расценены как неизвестные URL. Такое поведение рекомендовано для SEO (поисковая оптимизация).
> Note: При настроенном суффиксе, все URL не содержащие этот суффикс будут расценены как неизвестные URL. Такое поведение рекомендовано для SEO (поисковая оптимизация).
Иногда возникает необходимость использовать разные суффиксы для разных URL. Добиться этого можно настройкой свойства [[yii\web\UrlRule::suffix|suffix]] у каждого правила. Когда это свойство установлено, оно имеет приоритет перед общей конфигурацией компонента [[yii\web\UrlManager|URL manager]]. Например, Следующая конфигурация содержит правило URL, `.json` as its suffix instead of the global one `.html`.
@ -405,9 +405,9 @@ echo Url::previous();
]
```
> Примечание: Если правило URL содержит HTTP метод в шаблоне, это правило будет использовано только при разборе URL. Такое правило не будет учитываться компонентом [[yii\web\UrlManager|URL manager]] при создании URL.
> Note: Если правило URL содержит HTTP метод в шаблоне, это правило будет использовано только при разборе URL. Такое правило не будет учитываться компонентом [[yii\web\UrlManager|URL manager]] при создании URL.
> Подсказка: Для упрощения маршрутизации RESTful API, Yii предоставляет специальный класс [[yii\rest\UrlRule]], который достаточно эффективен и предоставляет такие удобные возможности, как автоматическое приведение идентификаторов контроллеров к множественной форме. Более подробную информацию можно найти в разделе Веб-сервисы REST [Роутинг](rest-routing.md).
> Tip: Для упрощения маршрутизации RESTful API, Yii предоставляет специальный класс [[yii\rest\UrlRule]], который достаточно эффективен и предоставляет такие удобные возможности, как автоматическое приведение идентификаторов контроллеров к множественной форме. Более подробную информацию можно найти в разделе Веб-сервисы REST [Роутинг](rest-routing.md).
### Гибкая настройка правил <span id="customizing-rules"></span>
@ -426,7 +426,7 @@ echo Url::previous();
]
```
> Информация: По умолчанию, если в конфигурации правила явно незадан параметр `class`, будет создано правило класса [[yii\web\UrlRule]].
> Info: По умолчанию, если в конфигурации правила явно незадан параметр `class`, будет создано правило класса [[yii\web\UrlRule]].
### Добавление правил URL динамически <span id="adding-rules"></span>

2
docs/guide-ru/runtime-sessions-cookies.md

@ -64,7 +64,7 @@ foreach ($session as $name => $value) ...
foreach ($_SESSION as $name => $value) ...
```
> Информация: При получении данных из сессии через компонент `session`, сессия будет автоматически открыта, если она не была открыта до этого. В этом заключается отличие от получения данных из глобальной переменной `$_SESSION`, которое требует обязательного вызова `session_start()`.
> Info: При получении данных из сессии через компонент `session`, сессия будет автоматически открыта, если она не была открыта до этого. В этом заключается отличие от получения данных из глобальной переменной `$_SESSION`, которое требует обязательного вызова `session_start()`.
При работе с сессионными данными, являющимися массивами, компонент `session` имеет ограничение, запрещающее прямую модификацию отдельных элементов массива. Например,

2
docs/guide-ru/security-authorization.md

@ -1,7 +1,7 @@
Авторизация
===========
> Примечание: этот раздел находится на стадии разработки.
> Note: этот раздел находится на стадии разработки.
Авторизация это процесс проверки того, что пользователь имеет достаточно прав чтобы что-то сделать. Yii обеспечивает два
метода авторизации: Фильтры контроля доступа (ACF) и контроль доступа основанный на ролях (RBAC).

2
docs/guide-ru/security-passwords.md

@ -1,7 +1,7 @@
Работа с паролями
=================
> Примечание: этот раздел находится на стадии разработки.
> Note: этот раздел находится на стадии разработки.
Хорошая безопасность является жизненно важной для жизни и успеха любого приложения.
К сожалению, многие разработчики предпочитают упрощать, когда речь заходит о безопасности,

6
docs/guide-ru/start-databases.md

@ -64,7 +64,7 @@ return [
Подключение к БД, настроенное выше, доступно в коде приложения через выражение `Yii::$app->db`.
> Информация: файл `config/db.php` будет подключен главной конфигурацией приложения `config/web.php`,
> Info: файл `config/db.php` будет подключен главной конфигурацией приложения `config/web.php`,
описывающей то, как экземпляр [приложения](structure-applications.md) должен быть инициализирован.
Для детальной информации, пожалуйста, обратитесь к разделу [Конфигурации](concept-configurations.md).
@ -95,7 +95,7 @@ class Country extends ActiveRecord
Класс `Country` наследуется от [[yii\db\ActiveRecord]]. Вам не нужно писать ни строчки кода внутри него! С кодом, приведённым выше, Yii свяжет имя таблицы с именем класса.
> Информация: Если нет возможности задать прямой зависимости между именем таблицы и именем класса, вы можете переопределить
> Info: Если нет возможности задать прямой зависимости между именем таблицы и именем класса, вы можете переопределить
метод [[yii\db\ActiveRecord::tableName()]], чтобы явно задать имя связанной таблицы.
Используя класс `Country`, вы можете легко манипулировать данными в таблице `country`, как показано в этих фрагментах:
@ -117,7 +117,7 @@ $country->name = 'U.S.A.';
$country->save();
```
> Информация: Active Record - мощный способ доступа и манипулирования данными БД в объектно-ориентированном стиле.
> Info: Active Record - мощный способ доступа и манипулирования данными БД в объектно-ориентированном стиле.
Вы можете найти подробную информацию в разделе [Active Record](db-active-record.md). В качестве альтернативы, вы также можете взаимодействовать с базой данных, используя более низкоуровневый способ доступа, называемый [Data Access Objects](db-dao.md).

4
docs/guide-ru/start-forms.md

@ -102,7 +102,7 @@ class SiteController extends Controller
В противном случае будет отображено представление `entry`, которое содержит HTML форму и ошибки проверки данных, если
они есть.
> Информация: `Yii::$app` представляет собой глобально доступный экземпляр-одиночку
> Info: `Yii::$app` представляет собой глобально доступный экземпляр-одиночку
[приложения](structure-applications.md) (singleton). Одновременно это [Service Locator](concept-service-locator.md),
дающий доступ к компонентам вроде `request`, `response`, `db` и так далее. В коде выше для доступа к данным из `$_POST`
был использован компонент `request`.
@ -195,7 +195,7 @@ http://hostname/index.php?r=site/entry
<?= $form->field($model, 'email')->label('Ваш Email') ?>
```
> Информация: В Yii есть множество виджетов, позволяющих быстро строить сложные и динамичные представления.
> Info: В Yii есть множество виджетов, позволяющих быстро строить сложные и динамичные представления.
Как вы узнаете позже, разрабатывать новые виджеты очень просто. Многое из представлений можно вынести в виджеты, чтобы
использовать это повторно в других местах и упростить тем самым разработку в будущем.

2
docs/guide-ru/start-gii.md

@ -119,7 +119,7 @@ http://hostname/index.php?r=country/index
* Модели: `models/Country.php` и `models/CountrySearch.php`
* Вид: `views/country/*.php`
> Информация: Gii разработан как тонконастраиваемый и расширяемый инструмент генерации кода. Используя его с умом, вы можете значительно ускорить скорость разработки приложений. Для более подробной информации, пожалуйста, обратитесь к разделу [Gii](tool-gii.md).
> Info: Gii разработан как тонконастраиваемый и расширяемый инструмент генерации кода. Используя его с умом, вы можете значительно ускорить скорость разработки приложений. Для более подробной информации, пожалуйста, обратитесь к разделу [Gii](tool-gii.md).
Заключение <span id="summary"></span>

8
docs/guide-ru/start-hello.md

@ -21,7 +21,7 @@
запроса и отображает его значение пользователю. Если в запросе не содержится параметра `message`, то действие будет
выводить «Привет».
> Информация: [Действия](structure-controllers.md) могут быть запущены непосредственно пользователем и сгруппированы в
> Info: [Действия](structure-controllers.md) могут быть запущены непосредственно пользователем и сгруппированы в
[контроллеры](structure-controllers.md). Результатом выполнения действия является ответ, который получает пользователь.
Действия объявляются в [контроллерах](structure-controllers.md). Для простоты, вы можете объявить действие
@ -49,7 +49,7 @@ class SiteController extends Controller
Yii использует префикс `action` чтобы различать методы-действия и обычные методы. Название после префикса `action`
считается идентификатором соответствующего действия.
> Информация: Идентификаторы действий задаются в нижнем регистре. Если идентификатор состоит из нескольких слов, они
> Info: Идентификаторы действий задаются в нижнем регистре. Если идентификатор состоит из нескольких слов, они
соединяются дефисами, то есть `create-comment`. Имена методов действий получаются путём удаления дефисов
из идентификатора, преобразования первой буквы каждого слова в верхний регистр и добавления префикса `action`.
Например, идентификатор действия `create-comment` соответствует методу `actionCreateComment`.
@ -103,7 +103,7 @@ http://hostname/index.php?r=site/say&message=Привет+мир
Если вы не укажете параметр `message`, то увидите на странице «Привет». Это происходит потому, как `message` передаётся
в метод `actionSay()` и значение по умолчанию — «Привет».
> Информация: Новая страница использует ту же шапку и футер, что и другие страницы, потому что метод
> Info: Новая страница использует ту же шапку и футер, что и другие страницы, потому что метод
[[yii\web\Controller::render()|render()]] автоматически вставляет результат представления `say` в, так называемый,
[макет](structure-views.md) `views/layouts/main.php`.
@ -114,7 +114,7 @@ http://hostname/index.php?r=site/say&message=Привет+мир
В нашем случае маршрут `site/say` будет соответствовать контроллеру `SiteController` и его действию `say`.
В результате, для обработки запроса будет вызван метод `SiteController::actionSay()`.
> Информация: Как и действия, контроллеры также имеют идентификаторы, которые однозначно определяют их в приложении.
> Info: Как и действия, контроллеры также имеют идентификаторы, которые однозначно определяют их в приложении.
Идентификаторы контроллеров используют те же правила именования, что и идентификаторы действий. Имена классов
контроллеров получаются путём удаления дефисов из идентификатора, преобразования первой буквы каждого слова в
верхний регистр и добавления в конец `Controller`. Например, идентификатор контроллера `post-comment` соответствует

12
docs/guide-ru/start-installation.md

@ -5,7 +5,7 @@
Первый способ предпочтительнее так как позволяет установить новые [расширения](structure-extensions.md)
или обновить Yii одной командой.
> Примечание: В отличие от Yii 1, после стандартной установки Yii 2 мы получаем как фреймворк, так и шаблон приложения.
> Note: В отличие от Yii 1, после стандартной установки Yii 2 мы получаем как фреймворк, так и шаблон приложения.
Установка при помощи Composer <span id="installing-via-composer"></span>
@ -40,13 +40,13 @@ composer create-project --prefer-dist yiisoft/yii2-app-basic basic
Composer установит Yii (шаблонное приложение basic) в папку `basic`.
> Примечание: В процессе установки Composer может запросить логин и пароль от Github потому как у API Github имеется
> Note: В процессе установки Composer может запросить логин и пароль от Github потому как у API Github имеется
> ограничение на количество запросов. Это нормально потому как Composer в процессе работы запрашивает у Github большое
> количество информации для каждого пакета. Вход на Github повышает ограничение по запросам API и Composer может
> продолжить свою работу. Подробнее об этом можно прочитать в
> [документации Composer](https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens).
> Подсказка: Если вы хотите установить последнюю нестабильную ревизию Yii, можете использовать следующую команду,
> Tip: Если вы хотите установить последнюю нестабильную ревизию Yii, можете использовать следующую команду,
> в которой присутствует [опция stability](https://getcomposer.org/doc/04-schema.md#minimum-stability):
>
> ```bash
@ -118,7 +118,7 @@ php requirements.php
Настройка веб сервера <span id="configuring-web-servers"></span>
-----------------------
> Информация: можете пропустить этот подраздел если вы только начали знакомиться с фреймворком и пока не разворачиваете
> Info: можете пропустить этот подраздел если вы только начали знакомиться с фреймворком и пока не разворачиваете
его на рабочем сервере.
Приложение, установленное по инструкциям, приведённым выше, будет работать сразу как с [Apache](http://httpd.apache.org/),
@ -131,10 +131,10 @@ php requirements.php
чтобы та указывала на `basic/web`. Дополнительно можно спрятать `index.php` следуя описанию в разделе
«[Разбор и генерация URL](runtime-url-handling.md)». Далее будет показано как настроить Apache и Nginx.
> Информация: Устанавливая `basic/web` корневой директорией веб сервера вы защищаете от нежелательного доступа код и данные,
> Info: Устанавливая `basic/web` корневой директорией веб сервера вы защищаете от нежелательного доступа код и данные,
находящиеся на одном уровне с `basic/web`. Это делает приложение более защищенным.
> Информация: Если приложение работает на хостинге где нет доступа к настройкам веб сервера, то можно изменить структуру
> Info: Если приложение работает на хостинге где нет доступа к настройкам веб сервера, то можно изменить структуру
приложения как описано в разделе «[Работа на Shared хостинге](tutorial-shared-hosting.md)».

2
docs/guide-ru/start-workflow.md

@ -3,7 +3,7 @@
После установки Yii базовое приложение будет доступно либо по URL `http://hostname/basic/web/index.php`, либо по `http://hostname/index.php`, в зависимости от настроек Web сервера. Данный раздел - общее введение в организацию кода, встроенный функционал и обработку обращений приложением Yii.
> Информация: далее в данном руководстве предполагается, что Yii установлен в директорию `basic/web`, которая, в свою очередь, установлена как корневой каталог в настройках Web сервера. В результате, обратившись по URL `http://hostname/index.php`, Вы получите доступ к приложению, расположенному в `basic/web`. Детальнее с процессом начальной настройки можно познакомиться в разделе [Установка Yii](start-installation.md).
> Info: далее в данном руководстве предполагается, что Yii установлен в директорию `basic/web`, которая, в свою очередь, установлена как корневой каталог в настройках Web сервера. В результате, обратившись по URL `http://hostname/index.php`, Вы получите доступ к приложению, расположенному в `basic/web`. Детальнее с процессом начальной настройки можно познакомиться в разделе [Установка Yii](start-installation.md).
Отметим, что в отличие от фреймворка как только приложение установлено, оно становится целиком вашим. Вы можете изменять
его код как угодно.

2
docs/guide-ru/structure-application-components.md

@ -42,7 +42,7 @@
]
```
> Информация: Хотя вы можете зарегистрировать столько компонентов в приложении сколько вам нужно,
> Info: Хотя вы можете зарегистрировать столько компонентов в приложении сколько вам нужно,
все таки стоит это делать разумно. Компоненты приложения похожи на глобальные переменные. Использование слишком
большого количества компонентов приложения может потенциально сделать ваш код сложным для разработки и тестирования.
В большинстве случаев вы можете просто создать локальный компонент и использовать его при необходимости.

4
docs/guide-ru/structure-applications.md

@ -5,7 +5,7 @@
Каждая прикладная система Yii включает в себя один объект приложения, который создается во [входном скрипте](structure-entry-scripts.md)
и глобально доступен через `\Yii::$app`.
> Информация: В зависимости от контекста, когда мы говорим "приложение", это может означать как объект приложения так и
> Info: В зависимости от контекста, когда мы говорим "приложение", это может означать как объект приложения так и
приложение как прикладную систему в целом.
Существует два вида приложений: [[yii\web\Application|веб приложения]] и [[yii\console\Application|консольные приложения]].
@ -160,7 +160,7 @@ if (YII_ENV_DEV) {
}
```
> Примечание: Указывание слишком большого количества компонентов в [`bootstrap`](runtime-bootstrapping.md) приведет
> Note: Указывание слишком большого количества компонентов в [`bootstrap`](runtime-bootstrapping.md) приведет
к снижению производительности приложения, потому что для каждого запроса одно и то же количество компонентов должно
быть загружено. Таким образом вы должны использовать начальную загрузку разумно.

16
docs/guide-ru/structure-assets.md

@ -68,7 +68,7 @@ class AppAsset extends AssetBundle
Для [расширений](structure-extensions.md), в связи с тем, что их ресурсы располагаются вместе с их исходным кодом в директориях, которые не являются веб-доступными, необходимо указать свойство [[yii\web\AssetBundle::sourcePath|sourcePath]] при задании класса комплекта ресурсов для них.
> Примечание: Не используйте `@webroot/assets` как [[yii\web\AssetBundle::sourcePath|source path]]. Эта директория по умолчанию используется менеджером ресурсов [[yii\web\AssetManager|asset manager]] для сохранения файлов ресурсов, опубликованных из их исходного месторасположения. Любое содержимое этой директории расценивается как временное и может быть удалено.
> Note: Не используйте `@webroot/assets` как [[yii\web\AssetBundle::sourcePath|source path]]. Эта директория по умолчанию используется менеджером ресурсов [[yii\web\AssetManager|asset manager]] для сохранения файлов ресурсов, опубликованных из их исходного месторасположения. Любое содержимое этой директории расценивается как временное и может быть удалено.
### Зависимости ресурсов <span id="asset-dependencies"></span>
@ -82,7 +82,7 @@ class AppAsset extends AssetBundle
Вы можете задать свойства [[yii\web\AssetBundle::cssOptions|cssOptions]] и [[yii\web\AssetBundle::jsOptions|jsOptions]], чтобы настроить путь для включения CSS и JavaScript файлов в страницу. Значения этих свойств будут приняты методами [[yii\web\View::registerCssFile()]] и [[yii\web\View::registerJsFile()]] соответственно, когда они (методы) вызываются [представлением](structure-views.md) происходит включение CSS и JavaScript файлов.
> Примечание: Параметры, заданные в комплекте класса применяются для *каждого* CSS/JavaScript-файла в комплекте. Если Вы хотите использовать различные параметры для разных файлов, Вы должны создать раздельные комплекты ресурсов, и использовать одну установку параметров для каждого комплекта.
> Note: Параметры, заданные в комплекте класса применяются для *каждого* CSS/JavaScript-файла в комплекте. Если Вы хотите использовать различные параметры для разных файлов, Вы должны создать раздельные комплекты ресурсов, и использовать одну установку параметров для каждого комплекта.
Например, условно включим CSS файл для браузера IE9 или ниже. Для этого Вы можете использовать следующий параметр:
@ -148,7 +148,7 @@ class FontAwesomeAsset extends AssetBundle
Это происходит потому, что Composer устанавливает Bower или NPM пакет в директорию, соответствующую этим псевдонимам.
> Примечание: В некоторых пакетах файлы дистрибутива могут находиться в поддиректории. В этом случае, Вы должны задать поддиректорию как значение [[yii\web\AssetBundle::sourcePath|sourcePath]]. Например, [[yii\web\JqueryAsset]] использует `@bower/jquery/dist` вместо `@bower/jquery`.
> Note: В некоторых пакетах файлы дистрибутива могут находиться в поддиректории. В этом случае, Вы должны задать поддиректорию как значение [[yii\web\AssetBundle::sourcePath|sourcePath]]. Например, [[yii\web\JqueryAsset]] использует `@bower/jquery/dist` вместо `@bower/jquery`.
## Использование Комплекта Ресурсов<span id="using-asset-bundles"></span>
@ -239,7 +239,7 @@ return [
Ключи [[yii\web\AssetManager::assetMap|assetMap]] - это имена ресурсов, которые Вы хотите исправить, а значения - это требуемые пути для ресурсов. Когда регистрируется комплект ресурсов в представлении, каждый соответствующий файл ресурса в [[yii\web\AssetBundle::css|css]] или [[yii\web\AssetBundle::js|js]] массивах будет рассмотрен в соответствии с этой привязкой. И, если какой-либо из ключей найден, как последняя часть пути до файла ресурса (путь на который начинается с [[yii\web\AssetBundle::sourcePath]] по возможности), то соответствующее значение заменит ресурс и будет зарегистрировано в представлении. Например, путь до файла ресурса `my/path/to/jquery.js` - это соответствует ключу `jquery.js`.
> Примечание: Ресурсы заданные только с использованием относительного пути могут использоваться в привязке ресурсов. Пути ресурсов должны быть абсолютные URLs или путь относительно [[yii\web\AssetManager::basePath]].
> Note: Ресурсы заданные только с использованием относительного пути могут использоваться в привязке ресурсов. Пути ресурсов должны быть абсолютные URLs или путь относительно [[yii\web\AssetManager::basePath]].
### Публикация Ресурсов<span id="asset-publishing"></span>
@ -348,14 +348,14 @@ return [
В примере выше, Вы задали поддержку расширенного синтаксиса через [[yii\web\AssetConverter::commands]] свойство.
Ключи массива - это имена расширений файлов (без ведущей точки), а значения массива - это образующийся файл ресурса имён расширений и команд для выполнения конвертации ресурса. Маркеры `{from}` и `{to}` в командах будут заменены соответственно исходным путём файла ресурсов и путём назначения файла ресурсов.
> Примечание: Существуют другие способы работы с ресурсами расширенного синтаксиса, кроме того, который указан выше.
> Note: Существуют другие способы работы с ресурсами расширенного синтаксиса, кроме того, который указан выше.
Например, Вы можете использовать инструменты построения, такие как [grunt](http://gruntjs.com/) для отслеживания и автоматической конвертации ресурсов расширенного синтаксиса. В этом случае, Вы должны перечислить конечные CSS/JavaScript файлы в комплекте ресурсов вместо исходных файлов.
## Объединение и Сжатие Ресурсов<span id="combining-compressing-assets"></span>
Web страница может включать много CSS и/или JavaScript файлов. Чтобы сократить количество HTTP запросов и общий размер загрузки этих файлов, общепринятой практикой является объединение и сжатие нескольких CSS/JavaScript файлов в один или в более меньшее количество, а затем включение этих сжатых файлов вместо исходных в Web страницы.
> Примечание: Комбинирование и сжатие ресурсов обычно необходимо, когда приложение находится в режиме продакшена.
> Note: Комбинирование и сжатие ресурсов обычно необходимо, когда приложение находится в режиме продакшена.
В режиме разработки, использование исходных CSS/JavaScript файлов часто более удобно для отладочных целей.
Далее, мы представим подход комбинирования и сжатия файлов ресурсов без необходимости изменения Вашего существующего кода приложения.
@ -377,7 +377,7 @@ Web страница может включать много CSS и/или JavaSc
У Вас есть два пути, чтобы разделить эти комплекты ресурсов. Первый - использовать одну группу, включающую в себя все комплекты ресурсов. Другой путь - положить комплект А в группу Х, D в группу Y, а (B, C) в группу S. Какой из этих вариантов лучше? Это зависит. Первый способ имеет преимущество в том, что в обоих страницах одинаково скомбинированы файлы CSS и JavaScript, что делает HTTP кэширование более эффективным. С другой стороны, поскольку одна группа содержит все комплекты, размер скомбинированных CSS и JavaScript файлов будет больше, и таким образом увеличится время отдачи файла (загрузки страницы). Для простоты в этом примере, мы будем использовать первый способ, то есть использовать единую группу, содержащую все пакеты.
> Примечание: Разделение комплекта ресурсов на группы это не тривиальная задача. Это, как правило, требует анализа реальных данных о трафике различных ресурсов на разных страницах. В начале вы можете начать с одной группы, для простоты.
> Note: Разделение комплекта ресурсов на группы это не тривиальная задача. Это, как правило, требует анализа реальных данных о трафике различных ресурсов на разных страницах. В начале вы можете начать с одной группы, для простоты.
Используйте существующие инструменты (например [Closure Compiler](https://developers.google.com/closure/compiler/),
[YUI Compressor](https://github.com/yui/yuicompressor/)) для объединения и сжатия CSS и JavaScript файлов во всех комплектах. Обратите внимание, что файлы должны быть объединены в том порядке, который удовлетворяет зависимости между комплектами. Например, если комплект A зависит от В, который зависит от С и D, то Вы должны перечислить файлы ресурсов начиная с С и D, затем B, и только после этого А.
@ -474,7 +474,7 @@ return [
Вы должны изменить этот файл и указать в `bundles` параметре, какие комплекты Вы планируете объединить. В параметре `targets` вы должны указать, как комплекты должны быть поделены в группы. Вы можете указать одну или несколько групп, как уже было сказано выше.
> Примечание: Так как псевдонимы путей `@webroot` и `@web` не могут быть использованы в консольном приложении, Вы должны явно задать их в файле конфигурации.
> Note: Так как псевдонимы путей `@webroot` и `@web` не могут быть использованы в консольном приложении, Вы должны явно задать их в файле конфигурации.
JavaScript файлы объединены, сжаты и записаны в `js/all-{hash}.js`, где {hash} перенесён из хэша результирующего файла.

4
docs/guide-ru/structure-controllers.md

@ -141,7 +141,7 @@ ID контроллеров также могут содержать префи
контроллер `article` должен быть сохранен в файл, [псевдоним](concept-aliases.md) которого `@app/controllers/ArticleController.php`;
в то время как контроллер `admin/post-comment` должен находиться в файле `@app/controllers/admin/PostCommentController.php`.
> Информация: Последний пример `admin/post-comment` показывает каким образом вы можете расположить контроллер в подпапке
> Info: Последний пример `admin/post-comment` показывает каким образом вы можете расположить контроллер в подпапке
[[yii\base\Application::controllerNamespace|пространства имен контроллеров]]. Это очень удобно, когда вы хотите организовать свои контроллеры
в несколько категорий и не хотите использовать [модули](structure-modules.md).
@ -241,7 +241,7 @@ class SiteController extends Controller
Например, `index` соответствует `actionIndex`, а `hello-world` соответствует `actionHelloWorld`.
> Примечание: Названия имен действий являются *регистрозависимыми*. Если у вас есть метод `ActionIndex`, он не будет
> Note: Названия имен действий являются *регистрозависимыми*. Если у вас есть метод `ActionIndex`, он не будет
учтен как метод действия, таким образом, запрос к действию `index` приведет к выбросу исключению. Также следует учесть, что методы действий
должны иметь область видимости public. Методы имеющие область видимости private или protected НЕ определяют методы встроенных действий.

10
docs/guide-ru/structure-extensions.md

@ -7,7 +7,7 @@
страницы. Вы можете использовать расширения для ускорения процесса разработки. Вы также можете оформить ваш код как
расширение, чтобы поделиться с другими людьми результатами вашей работы.
> Информация: Мы используем термин "расширение" для специфичных для Yii программных пакетов. Программные пакеты
> Info: Мы используем термин "расширение" для специфичных для Yii программных пакетов. Программные пакеты
общего назначения, которые могут быть использованы без Yii, мы будем называть "пакет" или "библиотека".
@ -49,7 +49,7 @@
После установки вы можете увидеть директорию `yiisoft/yii2-imagine`, находящуюся по пути `BasePath/vendor`. Также вы
можете увидеть директорию `imagine/imagine`, которая содержит зависимый пакет.
> Информация: `yiisoft/yii2-imagine` является базовым расширением, которое разрабатывает и поддерживает команда
> Info: `yiisoft/yii2-imagine` является базовым расширением, которое разрабатывает и поддерживает команда
разработчиков Yii. Все базовые расширения размещены на [Packagist](https://packagist.org/) и называются
`yiisoft/yii2-xyz`, где `xyz` является названием расширения.
@ -65,7 +65,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
->save(Yii::getAlias('@runtime/thumb-test-image.jpg'), ['quality' => 50]);
```
> Информация: Классы расширений автоматически загружаются [автозагрузчиком классов Yii](concept-autoloading.md).
> Info: Классы расширений автоматически загружаются [автозагрузчиком классов Yii](concept-autoloading.md).
### Ручная установка расширений <span id="installing-extensions-manually"></span>
@ -365,10 +365,10 @@ class MyBootstrapClass implements BootstrapInterface
можете обратиться к [файлу класса Object](https://github.com/yiisoft/yii2/blob/master/framework/base/Object.php),
чтобы узнать, как нужно документировать код.
> Информация: Ваши комментарии к коду могут быть написаны в формате Markdown. Расширение `yiisoft/yii2-apidoc`
> Info: Ваши комментарии к коду могут быть написаны в формате Markdown. Расширение `yiisoft/yii2-apidoc`
предоставляет инструмент для генерации документации API на основе ваших комментариев.
> Информация: Пока это не обязательно, но мы всё-таки рекомендуем вам придерживаться определённого стиля кодирования.
> Info: Пока это не обязательно, но мы всё-таки рекомендуем вам придерживаться определённого стиля кодирования.
Вы можете обратиться к [стилю кодирования фреймворка](https://github.com/yiisoft/yii2/wiki/Core-framework-code-style).

4
docs/guide-ru/structure-filters.md

@ -40,7 +40,7 @@ public function behaviors()
В этом случае они применяются ко *всем* действиям контроллеров, находящихся в этом модуле или приложении если не заданы
свойства [[yii\base\ActionFilter::only|only]] и [[yii\base\ActionFilter::except|except]] как было описано выше.
> Примечание: При объявлении фильтров в модулях или приложениях, следует использовать [маршруты](structure-controllers.md#routes)
> Note: При объявлении фильтров в модулях или приложениях, следует использовать [маршруты](structure-controllers.md#routes)
вместо идентификаторов действий в свойствах [[yii\base\ActionFilter::only|only]] и [[yii\base\ActionFilter::except|except]]
так как сами по себе, идентификаторы действий не могут полностью идентифицировать действие в контексте модуля или приложения.
@ -220,7 +220,7 @@ use yii\web\Response;
];
```
> Информация: В случае, если предпочтительный тип содержимого и язык не могут быть определены из запроса, будут
> Info: В случае, если предпочтительный тип содержимого и язык не могут быть определены из запроса, будут
использованы первый формат и язык, описанные в [[formats]] и [[languages]].

2
docs/guide-ru/structure-models.md

@ -385,7 +385,7 @@ public function fields()
}
```
> Внимание: по умолчанию все атрибуты модели будут включены в экспортируемый массив, вы должны проверить ваши данные и убедиться, что они не содержат конфиденциальной информации. Если такая информация присутствует, вы должны переопределить `fields()` и отфильтровать поля. В приведенном выше примере мы выбираем и отфильтровываем `auth_key`, `password_hash` и `password_reset_token`.
> Warning: по умолчанию все атрибуты модели будут включены в экспортируемый массив, вы должны проверить ваши данные и убедиться, что они не содержат конфиденциальной информации. Если такая информация присутствует, вы должны переопределить `fields()` и отфильтровать поля. В приведенном выше примере мы выбираем и отфильтровываем `auth_key`, `password_hash` и `password_reset_token`.
## Лучшие практические методики разработки моделей <span id="best-practices"></span>

4
docs/guide-ru/structure-modules.md

@ -186,7 +186,7 @@ $module = MyModuleClass::getInstance();
экземпляры класса модуля вручную не создаются, так как созданный вручную экземпляр будет отличаться от экземпляра,
созданного Yii в качестве ответа на запрос.
> Информация: При разработке модуля нельзя исходить из предположения, что модулю будет назначен конкретный идентификатор.
> Info: При разработке модуля нельзя исходить из предположения, что модулю будет назначен конкретный идентификатор.
Это связано с тем, что идентификатор, назначаемый модулю при использовании в приложении или в другом модуле, может быть
выбран совершенно произвольно. Чтобы получить идентификатор модуля, нужно вначале выбрать экземпляр модуля, как это
описано выше, а затем получить доступ к идентификатору через свойство `$module->id`.
@ -261,7 +261,7 @@ class Module extends \yii\base\Module
`forum/admin/dashboard/index` соответствует действию `index` контроллера `dashboard` модуля `admin`, который в свою
очередь является дочерним модулем модуля `forum`.
> Информация: Метод [[yii\base\Module::getModule()|getModule()]] возвращает только те дочерние модули, которые
> Info: Метод [[yii\base\Module::getModule()|getModule()]] возвращает только те дочерние модули, которые
принадлежат родительскому модулю непосредственно. В свойстве [[yii\base\Application::loadedModules]] содержится
список загруженных модулей, в том числе прямых и косвенных потомков, с индексированием по имени класса.

2
docs/guide-ru/structure-widgets.md

@ -154,7 +154,7 @@ class HelloWidget extends Widget
Как Вы можете видеть, в методе `init()` происходит включение буферизации вывода PHP таким образом, что весь вывод
между вызовами `init()` и `run()` может быть перехвачен, обработан и возвращен в `run()`.
> Информация: При вызове метода [[yii\base\Widget::begin()]] будет создан новый экземпляр виджета, при этом
> Info: При вызове метода [[yii\base\Widget::begin()]] будет создан новый экземпляр виджета, при этом
вызов метода `init()` произойдет сразу после выполнения остального кода в конструкторе виджета.
При вызове метода [[yii\base\Widget::end()]], будет вызван метод `run()`, а возвращенное им значение будет выведено
методом `end()`.

2
docs/guide-ru/test-acceptance.md

@ -1,7 +1,7 @@
Приёмочное тестирование
=======================
> Примечание: Данный раздел находится в разработке.
> Note: Данный раздел находится в разработке.
- [Codeception Acceptance Tests](http://codeception.com/docs/03-AcceptanceTests)

4
docs/guide-ru/test-environment-setup.md

@ -1,7 +1,7 @@
Настройка тестового окружения
=============================
> Примечание: Данный раздел находится в разработке.
> Note: Данный раздел находится в разработке.
Yii 2 официально поддерживает интеграцию с фреймворком для тестирования [`Codeception`](https://github.com/Codeception/Codeception),
который позволяет вам проводить следующие типы тестов:
@ -43,7 +43,7 @@ Changed current directory to <directory>
Затем `<directory>/vendor/bin` добавьте в переменную окружения `PATH`. После этого можно использовать `codecept` глобально
из командной строки.
> Примечание: глобальная установка позволяет вам использовать Codeception для всех проектов на компьютере разработчика
> Note: глобальная установка позволяет вам использовать Codeception для всех проектов на компьютере разработчика
путём запуска команды `codecept` без указания пути. Тем не менее, данный подход может не подойти. К примеру, в двух
разных проектах может потребоваться установить разные версии Codeception. Для простоты все команды в разделах про
тестирование используются так, будто Codeception установлен глобально.

14
docs/guide-ru/test-fixtures.md

@ -37,11 +37,11 @@ class UserFixture extends ActiveFixture
}
```
> Подсказка: каждая `ActiveFixture` предназначена для подготовки таблицы базы данных для тестирования. Вы можете указать
> Tip: каждая `ActiveFixture` предназначена для подготовки таблицы базы данных для тестирования. Вы можете указать
> таблицу как через свойство [[yii\test\ActiveFixture::tableName]], так и через свойство [[yii\test\ActiveFixture::modelClass]].
> Если последнее, то в этом случае имя таблицы будет взято из модели `ActiveRecord`, указанной в `modelClass`.
> Примечание: [[yii\test\ActiveFixture]] используется только для реляционных баз данных. Для NoSQL решений Yii
> Note: [[yii\test\ActiveFixture]] используется только для реляционных баз данных. Для NoSQL решений Yii
> предоставляет следующие классы `ActiveFixture`:
>
> - Mongo DB: [[yii\mongodb\ActiveFixture]]
@ -76,7 +76,7 @@ return [
Также вам не нужно указывать данные для столбцов с авто-инкрементом. Yii автоматически заполнит значения данных столбцов
в момент загрузки фикстуры.
> Подсказка: вы можете указать свой путь до файла данных через свойство [[yii\test\ActiveFixture::dataFile]].
> Tip: вы можете указать свой путь до файла данных через свойство [[yii\test\ActiveFixture::dataFile]].
> Вы также можете переопределить метод [[yii\test\ActiveFixture::getData()]], чтобы предоставить данные.
Как мы описали ранее, фикстура может зависеть от других фикстур. Например, для `UserProfileFixture` возможно потребуется
@ -161,7 +161,7 @@ $profile = $this->profiles('user1');
foreach ($this->profiles as $row) ...
```
> Информация: `$this->profiles` продолжает быть объектом класса `UserProfileFixture`. Указанные особенности доступа реализуются
> Info: `$this->profiles` продолжает быть объектом класса `UserProfileFixture`. Указанные особенности доступа реализуются
через магические методы PHP.
@ -212,7 +212,7 @@ data\
Таким образом вы избежите коллизий файлов данных фикстур между тестами и будете использовать их, как вам нужно.
> Примечание: в примере выше файлы данных фикстур названы так только в качестве примера. В реальных жизни вам следует
> Note: в примере выше файлы данных фикстур названы так только в качестве примера. В реальных жизни вам следует
> называть их в соответствии с тем от какого класса наследуется ваш класс фикстуры. Например, при наследовании от [[yii\test\ActiveFixture]]
> для фикстур БД вам следует использовать имя таблицы в качестве имени файла данных; при наследовании от [[yii\mongodb\ActiveFixture]]
> для фикстур MongoDB вам следует использовать имя коллекции в качестве имени файла.
@ -224,7 +224,7 @@ data\
Резюме
------
> Примечание: Этот раздел находится в разработке.
> Note: Этот раздел находится в разработке.
Выше мы описали как объявлять и использовать фикстуры. Ниже приведен типовой сценарий выполнения модульных тестов, связанных с БД:
@ -241,7 +241,7 @@ data\
Управление фикстурами
=====================
> Примечание: Данный раздел находится в разработке.
> Note: Данный раздел находится в разработке.
>
> todo: данный раздел может быть объединен с предыдущими частями test-fixtures.md

2
docs/guide-ru/test-functional.md

@ -1,7 +1,7 @@
Функциональные тесты
====================
> Примечание: Данный раздел находится в разработке.
> Note: Данный раздел находится в разработке.
- [Codeception Functional Tests](http://codeception.com/docs/04-FunctionalTests)

4
docs/guide-ru/test-overview.md

@ -29,7 +29,7 @@
После того как это завершено процесс повторяется снова для другой фичи или улучшения. Если существующая фича должна быть изменена, то и тесты
также должны быть изменены.
> Подсказка: Если вы чувствуете, что вы теряете время выполняя много мелких и простых итераций, попробуйте покрыть это
> Tip: Если вы чувствуете, что вы теряете время выполняя много мелких и простых итераций, попробуйте покрыть это
> вашим тестовым сценарием перед следующим выполнением тестов. Если вы слишком много отлаживаете, попробуйте сделать обратное.
Написание тестов до реализации конкретного функционала позволяет нам сосредоточиться на том, что мы хотим достичь и полностью
@ -44,7 +44,7 @@
В долгосрочной перспективе это, как правило, дает вам хороший эффект экономии времени.
> Подсказка: Если вы хотите узнать больше о принципах сбора требования программного обеспечения и моделирования
> Tip: Если вы хотите узнать больше о принципах сбора требования программного обеспечения и моделирования
> предметной области, рекомендуем изучить [Проблемно-ориентированное проектирование (DDD)](https://en.wikipedia.org/wiki/Domain-driven_design).
Когда и как тестировать

2
docs/guide-ru/test-unit.md

@ -1,7 +1,7 @@
Модульные тесты
===============
> Примечание: Данный раздел находится в разработке.
> Note: Данный раздел находится в разработке.
Модульный тест проверяет что отдельный модуль кода работает верно. В ООП самым базовым модулем является класс. То есть
модульный тест проверяет все методы интерфейса класса. На вход подаются различные параметры и тест проверяет, что методы

4
docs/guide-ru/tutorial-console.md

@ -50,7 +50,7 @@ yii <route> [--option1=value1 --option2=value2 ... argument1 argument2 ...]
yii migrate/up 5 --migrationTable=migrations
```
> Примечание: При использовании в консоли `*`, не забудьте поместить её в кавычки `"*"` чтобы избежать её интерпретации
> Note: При использовании в консоли `*`, не забудьте поместить её в кавычки `"*"` чтобы избежать её интерпретации
> и замены на все имена файлов в данной директории.
@ -97,7 +97,7 @@ exit($exitCode);
отдельный файл, и включить его в оба файла конфигурации (веб и консоль).
Вы можете посмотреть пример в "продвинутом" шаблоне проекта.
> Подсказка: Иногда, вам может потребоваться запустить консольную команду используя конфигурацию, отличную от той, что
> Tip: Иногда, вам может потребоваться запустить консольную команду используя конфигурацию, отличную от той, что
> указано во входном скрипте. Для примера, вы можете использовать команду `yii migrate` для обновления тестовой
> базы данных, которая настраивается для каждого отдельного набора тестов. Для изменения файла конфигурации,
> просто укажите свой конфигурационный файл через опцию `appconfig` при запуске команды:

8
docs/guide-ru/tutorial-core-validators.md

@ -37,7 +37,7 @@ public function rules()
- `falseValue`: значение, соответствующее *false*. По умолчанию - `'0'`.
- `strict`: должна ли проверка учитывать соответствие типов данных `trueValue` или `falseValue`. По умолчанию - `false`.
> Примечание: Из-за того, что как правило данные, полученные из HTML-форм, представляются в виде строки, обычно вам стоит
> Note: Из-за того, что как правило данные, полученные из HTML-форм, представляются в виде строки, обычно вам стоит
оставить свойство [[yii\validators\BooleanValidator::strict|strict]] равным false.
@ -140,7 +140,7 @@ function foo($model, $attribute) {
}
```
> Информация: Как определить, является значение пустым или нет, более подробно описано в отдельной статье
> Info: Как определить, является значение пустым или нет, более подробно описано в отдельной статье
в секции [Пустые значения](input-validation.md#handling-empty-inputs).
@ -373,7 +373,7 @@ IPv4 адрес `192.168.10.128` также разрешен, так как на
* `documentation`: `192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 2001:db8::/32`
* `system`: `multicast, linklocal, localhost, documentation`
> Информация: Этот валидатор стал доступным начиная с версии 2.0.7.
> Info: Этот валидатор стал доступным начиная с версии 2.0.7.
## [[yii\validators\RangeValidator|in]] <span id="in"></span>
@ -466,7 +466,7 @@ IPv4 адрес `192.168.10.128` также разрешен, так как на
Если `requiredValue` установлено, сравнение между входящими данными и `requiredValue` будет также учитывать тип
данных, если это свойство установлено в true.
> Информация: как определить, является ли значение пустым или нет, подробнее рассказывается
> Info: как определить, является ли значение пустым или нет, подробнее рассказывается
в секции [Пустые значения](input-validation.md#handling-empty-inputs).

14
docs/guide-ru/tutorial-i18n.md

@ -1,7 +1,7 @@
Интернационализация
====================
> Примечание: Этот раздел находится в разработке
> Note: Этот раздел находится в разработке
Интернационализация (I18N) является частью процесса разработки приложения, которое может быть адаптировано для
нескольких языков без изменения программной логики. Это особенно важно для веб-приложений, так как потенциальные
@ -36,7 +36,7 @@ return [
]
```
> Подсказка: значение по умолчанию для [[yii\base\Application::$sourceLanguage|исходного языка]] - английский.
> Tip: значение по умолчанию для [[yii\base\Application::$sourceLanguage|исходного языка]] - английский.
Вы можете установить значение текущего языка в самом приложении в соответствии с языком, который выбрал пользователь.
Это необходимо сделать до того, как будет сгенерирован какой-либо вывод, чтобы не возникло проблем с его
@ -50,7 +50,7 @@ return [
соответствии со стандартом [ISO-639](http://www.loc.gov/standards/iso639-2/), а `CC` - это код страны в соответствии
со стандартом [ISO-3166](http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html).
> Примечание: больше информации о синтаксисе и концепции локалей можно получить в [документации проекта ICU](http://userguide.icu-project.org/locale#TOC-The-Locale-Concept).
> Note: больше информации о синтаксисе и концепции локалей можно получить в [документации проекта ICU](http://userguide.icu-project.org/locale#TOC-The-Locale-Concept).
Перевод сообщений
-----------------
@ -129,7 +129,7 @@ $sum = 42;
echo \Yii::t('app', 'Balance: {0}', $sum);
```
> Подсказка: старайтесь сохранять читаемость сообщений и избегать избыточного использования позиционных
> Tip: старайтесь сохранять читаемость сообщений и избегать избыточного использования позиционных
параметров. Помните, что переводчик, скорее всего, будет располагать только файлом со строками и для него
должно быть очевидно, на что будет заменён тот или иной указатель.
@ -415,7 +415,7 @@ class Menu extends Widget
Вместо использования `fileMap`, вы можете прибегнуть к соглашению, что имя категории совпадает с
именем файла и писать `Menu::t('messages', 'new messages {messages}', ['{messages}' => 10])` напрямую.
> Примечание: для виджетов вы можете использовать i18n представления. На них распространяются
> Note: для виджетов вы можете использовать i18n представления. На них распространяются
> те же правила, что и на контроллеры.
@ -488,7 +488,7 @@ class TranslationEventHandler
Если [[yii\i18n\MissingTranslationEvent::translatedMessage]] установлен, как обработчик события, на странице будет
выведен соответствующий результат перевода.
> Внимание: каждый источник обрабатывает недостающие переводы самостоятельно. Если вы используете несколько разных
> Warning: каждый источник обрабатывает недостающие переводы самостоятельно. Если вы используете несколько разных
> источников сообщений и хотите обрабатывать недостающие переводы одинаково для всех, назначьте соответствующий
> обработчик события для каждого источника.
@ -502,7 +502,7 @@ class TranslationEventHandler
текущего контроллера или виджета и создайте файл для русского языка: `views/site/ru-RU/index.php`. Yii загрузит файл
для текущего языка, если он существует, или использует исходный `views/site/index.php`, если не сможет найти локализацию.
> Примечание: если язык был определён, как `en-US` и соответствующих представлений не было найдено, Yii попробует
> Note: если язык был определён, как `en-US` и соответствующих представлений не было найдено, Yii попробует
> найти представления в папке `en` перед тем, как использовать исходные.

8
docs/guide-ru/tutorial-mailing.md

@ -1,7 +1,7 @@
Mailing
=======
> Примечание: Этот раздел находиться в стадии разработки.
> Note: Этот раздел находиться в стадии разработки.
Yii позволяет оформлять и посылать E-mail сообщения. Однако, ядро фреимворка предоставляет только
функциональность оформления и основной интерфейс. Фактический механизм отправки почты должен быть предоставлен с помощью расширения, потому что различным проектам могут потребоваться различные реализации и обычно они зависят от внешних сервисов и бибилотек.
@ -58,7 +58,7 @@ $message->setTo(Yii::$app->params['adminEmail'])
->send();
```
> Примечание: каждое 'mailer' расширение имеет два главных класса: 'Mailer' и 'Message'. 'Mailer' всегда знает имя класса и специфику 'Message'. Не пытайтесь создать экземпляр объекта 'Message' напрямую -
> Note: каждое 'mailer' расширение имеет два главных класса: 'Mailer' и 'Message'. 'Mailer' всегда знает имя класса и специфику 'Message'. Не пытайтесь создать экземпляр объекта 'Message' напрямую -
всегда используйте для этого метод `compose()`.
Вы также можете послать несколько сообщений за раз:
@ -206,12 +206,12 @@ Yii::$app->mailer->compose('embed-email', ['imageFileName' => '/path/to/image.jp
Такая возможность предоставляется в Yii через `yii\mail\BaseMailer::useFileTransport`. Если это опция включена, то она принудительно сохраняет данные почтовых сообщений в локальный файл вместо его отправки. Эти файлы будут сохранены в директории
`yii\mail\BaseMailer::fileTransportPath`, которая по умолчанию '@runtime/mail'.
> Примечание: вы можете либо сохранить сообщения в файл, либо послать его фактическим получателям, но не используйте оба варианта одновременно.
> Note: вы можете либо сохранить сообщения в файл, либо послать его фактическим получателям, но не используйте оба варианта одновременно.
Файл почтового сообщения может быть открыт обычным текстовым редактором, также вы можете просматривать фактические заголовки сообщений, их содержание и так далее.
Этот механизм может понадобиться во время отладки приложения, либо прогонки unit тестов.
> Примечание: содержание файла почтового сообщения формируется через `\yii\mail\MessageInterface::toString()`, правда это зависит от почтового расширения, которое вы используете в своем приложении.
> Note: содержание файла почтового сообщения формируется через `\yii\mail\MessageInterface::toString()`, правда это зависит от почтового расширения, которое вы используете в своем приложении.
Создание вашего собственного решения

4
docs/guide-ru/tutorial-start-from-scratch.md

@ -1,7 +1,7 @@
Создание своей структуры приложения
=======================================
> Примечание: Этот раздел находится на стадии разработки.
> Note: Этот раздел находится на стадии разработки.
Пока шаблоны проектов [basic](https://github.com/yiisoft/yii2-app-basic) и [advanced](https://github.com/yiisoft/yii2-app-advanced) великолепно справляются с большинством ваших потребностей, но вы можете захотеть создать свой собственный шаблон проекта, с которого будете начинать делать ваши проекты.
@ -27,7 +27,7 @@ git clone git@github.com:yiisoft/yii2-app-basic.git
Следующее, вам надо изменить `composer.json` в соответствии с вашим шаблоном. Измените значения `name`(имя), `description`(описание), `keywords`(ключевые слова), `homepage`(адрес домашней страницы), `license`(лицензия), и `support`(поддержка)
для описания вашего нового шаблона. Также установите `require`(зависимости фреимворка), `require-dev`(зависимости от расширений), `suggest`, и другие опции, которые необходимы для вашего шаблона.
> Примечание: В файле `composer.json` используйте `writable` параметр внутри `extra`, чтобы указать
> Note: В файле `composer.json` используйте `writable` параметр внутри `extra`, чтобы указать
> права доступа к файлам, которые будут установлены, после создания приложения на основе данного шаблона.
Следующее, измените структуру и содержание приложения, по вашему вкусу. В заключении обновите README файл, чтобы он соответствовал конечному варианту вашего шаблона.

4
docs/guide-ru/tutorial-yii-integration.md

@ -1,4 +1,4 @@
Работа со сторонним кодом
Работа со сторонним кодом
=============================
Иногда необходимо использовать сторонний код в приложениях Yii. Или же есть потребность использовать Yii в качестве библиотеки в сторонних системах. В этом разделе мы рассмотрим, как это происходит.
@ -94,7 +94,7 @@ new yii\web\Application($yiiConfig); // НЕ ВЫЗЫВАЙТЕ run() в это
Если в прошлом вам приходилось использовать Yii 1, не исключено, что у вас до сих пор где-то используются приложения на этой платформе. Вместо того, чтобы переписывать все приложение под Yii 2, может быть целесообразно расширить его используя отдельные функции, которые появились в Yii 2.
Для этого нужно выполнить следующие действия.
> Примечание: Yii 2 требует PHP 5.4 или выше. Убедитесь, что и сервер, и существующее приложение поддерживают это.
> Note: Yii 2 требует PHP 5.4 или выше. Убедитесь, что и сервер, и существующее приложение поддерживают это.
Во-первых, установите Yii 2 в существующем приложении, выполняя действия, описанные в [предыдущем подразделе](#using-yii-in-others).

8
docs/internals-ru/git-workflow.md

@ -35,7 +35,7 @@ git remote add upstream git://github.com/yiisoft/yii2.git
- выполните `composer update` для установки зависимостей (если [composer у вас установлен глобально](https://getcomposer.org/doc/00-intro.md#globally)).
> Примечание: Если вы видите такие ошибки, как `Problem 1 The requested package bower-asset/jquery could not be found in
> Note: Если вы видите такие ошибки, как `Problem 1 The requested package bower-asset/jquery could not be found in
> any version, there may be a typo in the package name.`, необходимо запустить `composer global require "fxp/composer-asset-plugin:~1.1.1"`
- выполните `php build/build dev/app basic` для клонирования базового приложения и установки его зависимостей.
@ -46,7 +46,7 @@ git remote add upstream git://github.com/yiisoft/yii2.git
Данная команда также может быть использована для обновления зависимостей, внутри она использует `composer update`.
> Примечание: по умолчанию URL репозиториев git на GitHub работают через SSH. Чтобы использовать HTTPS, добавьте
> Note: по умолчанию URL репозиториев git на GitHub работают через SSH. Чтобы использовать HTTPS, добавьте
> флаг `--useHttp` к команде `build`.
**Теперь у нас есть рабочая площадка для экспериментов с Yii 2.**
@ -80,7 +80,7 @@ php build/build dev/ext <extension-name>
Запустите `php build/build dev/app basic` для установки расширения и его зависимостей и создания символической
ссылки на `extensions/redis` так чтоб вы работали не папке вендорных пакетов composer, а напрямую в репозиторий yii2.
> Примечание: по умолчанию URL репозиториев git на GitHub работают через SSH. Чтобы использовать HTTPS, добавьте
> Note: по умолчанию URL репозиториев git на GitHub работают через SSH. Чтобы использовать HTTPS, добавьте
> флаг `--useHttp` к команде `build`.
Работа над багами и новыми функциями
@ -208,7 +208,7 @@ git branch -D 999-name-of-your-branch-goes-here
git push origin --delete 999-name-of-your-branch-goes-here
```
### Примечание:
### Примечание
Для обнаружения регрессии как можно раньше, каждое слияние кодовой базы Yii на github будет подхвачено
[Travis CI](http://travis-ci.org) для автоматического запуска тестов. Люди из *core team* не хотят нагружать

5
docs/internals-ru/translation-workflow.md

@ -82,10 +82,7 @@ php build translation "../docs/guide" "../docs/guide-ru" "Russian guide translat
### Перевод специальных сообщений
- Tip: → Подсказка:
- Note: → Примечание:
- Info: → Информация:
- Warning: → Внимание:
Специальные сообщения `Tip:`, `Note:`, `Info:`, `Warning:` не переводятся.
### Перевод рисунков

Loading…
Cancel
Save