` это имя расширения, например `redis`.
+
+Если вы хотите протестировать расширение в одном из шаблонов приложений, просто добавьте его в `composer.json`
+приложения, например добавив `"yiisoft/yii2-redis": "*"` в секцию `require` базового приложения.
+Запустите `php build/build dev/app basic` для установки расширения и его зависимостей и создания символической
+ссылки на `extensions/redis` так чтоб вы работали не папке вендорных пакетов composer, а напрямую в репозитории yii2.
+
+
+Работа над багами и новыми функциями
+------------------------------------
+
+Приготовив вашу среду разработки вы можете начать работу над исправлением багов и разработкой новых функций.
+
+### 1. Убедитесь, что issue создана для того, над чем вы работаете, если потребуется много времени для исправления
+
+Все новые функции и баги должны быть связаны с issue для того, чтоб иметь единое место для обсуждения и документирования.
+Пртратьте несколько минут на поиск существующей issue, которая соответствует вашим изменениям. Если вы найдёте её в
+списке, то пожалуста откоментируйте, что вы начали над ней работать. Если вы не нашли нужной issue пожалуйста
+[создайте новую issue](report-an-issue.md) или создайте сразу запрос на изменения если это простые изменения.
+Это позволит команде проверить ваше предложение, и обеспечивать соответствующую обратную связь.
+
+> Для небольших изменении или документации, или простых исправлений, вам нет необходимости создавать issue,
+ запрос на изменения в этом случае подходит лучше.
+
+### 2. Вытягивание последнего кода из основного репозитория Yii
+
+```
+git fetch upstream
+```
+
+Вы должны начинать с этого действия работу над каждым новым предложением, убеждайтесь что вы работаете над самой
+последней версией кода.
+
+### 3. Создание новой ветки для ваших изменений, основанных на текущем мастере Yii
+
+> Это очень важно, так как вы не сможете отправлять более одного запроса на изменения из вашего репозитория, если
+ будете использовать ветку master.
+
+Каждая отдельное исправление или изменение должно разрабатываться в своей ветке. Имя ветки должно быть описательным
+и начинаться с номера issue, с которым связан ваш код. Если вы не исправляете какой-то конкретный issue, просто
+пропустите номер.
+Например:
+
+```
+git checkout upstream/master
+git checkout -b 999-name-of-your-branch-goes-here
+```
+
+### 4. Делайте свою магию, пишите ваш код
+
+Убедитесь, что он работает :)
+
+Модульные тесты всегда приветствуются. Протестированный и с хорошим покрытием код значительно упрощает задачу проверки
+вашего предложения. Сломанные модульные тесты, как описание проблемы, тоже приветствуются.
+
+### 5. Обновите CHANGELOG
+
+Отредактируйте файл CHANGELOG, включив ваши изменения. Для этого нужно вставить строки в начало файла под заголовком
+"Work in progress", строки с описанием изменений должны выглядеть похожими на следующие:
+
+```
+Bug #999: a description of the bug fix (Your Name)
+Enh #999: a description of the enhancement (Your Name)
+```
+
+`#999` это номер issue описывающей `Bug` или `Enh`.
+Лог изменений должен быть сгруппирован по типу (`Bug`,`Enh`) и отсортирован по номеру issue.
+
+Для очень маленьких исправлений, например опечаток и изменений документации, нет необходимости обновлять CHANGELOG.
+
+### 6. Фиксация ваших изменений
+
+Добавляем файлы/изменения которые вы хотите зафиксировать в [staging area](http://gitref.org/basic/#add)
+
+```
+git add path/to/my/file.php
+```
+
+Вы можете использовать опцию `-p` для того, чтоб выбрать, какие изменения вы хотите добавить в коммит.
+
+Фиксируйте ваши изменения с описательным сообщением. Убедитесь что в сообщение есть номер `#XXX`, так github
+автоматически свяжет ваш коммит с тикетом:
+
+```
+git commit -m "A brief description of this change which fixes #999 goes here"
+```
+
+### 7. Получение последнего кода из апстрима Yii в вашу ветку
+
+```
+git pull upstream master
+```
+
+Это гарантирует, что вы используете самый последний код в вашей ветке перед отправкой запроса на изменения. Если есть
+какие-либо конфликты слияния, вы должны исправить их и зафиксировать изменения ещё раз. Это гарантирует, что команда Yii
+сможет слить ваши изменения одним кликом.
+
+### 8. Разрешив зависимости, оптравляем код на github
+
+```
+git push -u origin 999-name-of-your-branch-goes-here
+```
+
+Опция `-u` сохранит указание на ветку в github, чтобы при следующем выполнении `git push`, git знал, куда отправлять
+изменения. Это полезно, если вы хотите позже отправлять ещё комиты в этот запрос на слияние.
+
+### 9. Открываем [запрос на слияние](http://help.github.com/send-pull-requests/) в *upstream*.
+
+Перейдите в репозиторий на github и нажмите "Pull Request", выберите ветку справа и введите больше информации
+в поле комментариев. Чтобы связать запрос на изменение с issue, добавьте в комментарий `#999` - где 999 это номер issue.
+
+> Обратите внимание, что каждый запрос на слияние должен исправлять единственное изменение. Для множества независимых
+ изменений, пожалуйста откройте несколько запросов на слияние.
+
+### 10. Проверка вашего кода кем-то
+
+Кто-то будет проверять ваш код, и, возможно, вам будет предложено внести некоторые изменения, если это так, то перейдите
+к шагу #6 (вам не надо открывать новый запрос на слияние, если текущий ещё открыт). Если код будет принят, он будет
+влит в основную ветку и станет частью следующего релиза Yii. Если нет, не унывайте, разным людям необходимы различные
+функции и Yii не может реализовывать всё для всех, ваш код будет ещё доступен на github как ссылка для людей кому он
+может пригодится.
+
+### 11. Очистка
+
+После того, как код был принят или отклонён, вы можете удалить ветки, над которыми вы работали в локальном репозитории
+и в `origin`.
+
+```
+git checkout master
+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* не хотят нагружать
+этот сервис, поэтому добавляют текст [`[ci skip]`](http://about.travis-ci.org/docs/user/how-to-skip-a-build/) в описание
+запроса на слияние, в следующих ситуациях:
+
+* затронуты только javascript, css файлы или файлы изображений,
+* обновление документации,
+* изменения затрагивают только строки (например обновление переводов).
+
+Это защитит travis от запуска тестов на изменениях, которые не покрыты тестами.
+
+### Обзор команд (для продвинутых участников)
+
+```
+git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git
+git remote add upstream git://github.com/yiisoft/yii2.git
+```
+
+```
+git fetch upstream
+git checkout upstream/master
+git checkout -b 999-name-of-your-branch-goes-here
+
+/* ваша магия, обновление changelog если нужно */
+
+git add path/to/my/file.php
+git commit -m "A brief description of this change which fixes #999 goes here"
+git pull upstream master
+git push -u origin 999-name-of-your-branch-goes-here
+```
diff --git a/docs/internals-ru/view-code-style.md b/docs/internals-ru/view-code-style.md
new file mode 100644
index 0000000..7bbbaad
--- /dev/null
+++ b/docs/internals-ru/view-code-style.md
@@ -0,0 +1,53 @@
+Стиль кодирования представлений Yii2
+====================================
+
+Данный стиль кодирования используется для представлений в ядре Yii 2.x и оффициальных представлениях. Мы не заставляем
+вас использовать данный стиль кодирования для ваших приложений. Не стесняйтесь использовать тот стиль, который вам
+больше подходит.
+
+```php
+title = 'Posts';
+?>
+
+
+
+ = Html::encode($post['title']) ?>
+ = Html::encode($post['shortDescription']) ?>
+
+
+
+
+ ['id' => 'contact-message-form'],
+ 'fieldConfig' => ['inputOptions' => ['class' => 'common-input']],
+]); ?>
+
+ = $form->field($contactMessage, 'name')->textInput() ?>
+ = $form->field($contactMessage, 'email')->textInput() ?>
+ = $form->field($contactMessage, 'subject')->textInput() ?>
+ = $form->field($contactMessage, 'body')->textArea(['rows' => 6]) ?>
+
+
+ = Html::submitButton('Submit', ['class' => 'common-button']) ?>
+
+
+
+
+
+```
diff --git a/docs/internals/git-workflow.md b/docs/internals/git-workflow.md
index d45a0ff..7a9c83e 100644
--- a/docs/internals/git-workflow.md
+++ b/docs/internals/git-workflow.md
@@ -2,9 +2,9 @@ Git workflow for Yii 2 contributors
===================================
So you want to contribute to Yii? Great! But to increase the chances of your changes being accepted quickly, please
-follow the following steps. If you are new to git
-and github, you might want to first check out [github help](http://help.github.com/), [try git](https://try.github.com)
-or learn something about [git internal data model](http://nfarina.com/post/9868516270/git-is-simpler).
+follow the following steps. If you are new to Git
+and GitHub, you might want to first check out [GitHub help](http://help.github.com/), [try Git](https://try.github.com)
+or learn something about [Git internal data model](http://nfarina.com/post/9868516270/git-is-simpler).
Prepare your development environment
------------------------------------
@@ -12,14 +12,14 @@ Prepare your development environment
The following steps will create a development environment for Yii, which you can use to work
on the core code of Yii framework. These steps only need to be done the first time you contribute.
-### 1. [Fork](http://help.github.com/fork-a-repo/) the Yii repository on github and clone your fork to your development environment
+### 1. [Fork](http://help.github.com/fork-a-repo/) the Yii repository on GitHub and clone your fork to your development environment
```
git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git
```
-If you have trouble setting up GIT with GitHub in Linux, or are getting errors like "Permission Denied (publickey)",
-then you must [setup your GIT installation to work with GitHub](http://help.github.com/linux-set-up-git/)
+If you have trouble setting up Git with GitHub in Linux, or are getting errors like "Permission Denied (publickey)",
+then you must [setup your Git installation to work with GitHub](http://help.github.com/linux-set-up-git/)
### 2. Add the main Yii repository as an additional git remote called "upstream"
@@ -55,14 +55,16 @@ Some tests require additional databases to be set up and configured. You can cre
settings that are configured in `tests/data/config.php`.
You may limit the tests to a group of tests you are working on e.g. to run only tests for the validators and redis
-`phpunit --group=validators,redis`. You get the list of available groups by running `phpunit --groups`.
+`phpunit --group=validators,redis`. You get the list of available groups by running `phpunit --list-groups`.
### Extensions
To work on extensions you have to clone the extension repository. We have created a command that can do this for you:
- php build/build dev/ext
-
+```
+php build/build dev/ext
+```
+
where `` is the name of the extension, e.g. `redis`.
If you want to test the extension in one of the application templates, just add it to the `composer.json` of the application as you would
@@ -141,11 +143,11 @@ git add path/to/my/file.php
You can use the `-p` option to select the changes you want to have in your commit.
-Commit your changes with a descriptive commit message. Make sure to mention the ticket number with `#XXX` so github will
+Commit your changes with a descriptive commit message. Make sure to mention the ticket number with `#XXX` so GitHub will
automatically link your commit with the ticket:
```
-git commit -m "A brief description of this change which fixes #42 goes here"
+git commit -m "A brief description of this change which fixes #999 goes here"
```
### 7. Pull the latest Yii code from upstream into your branch
@@ -158,19 +160,19 @@ This ensures you have the latest code in your branch before you open your pull r
you should fix them now and commit the changes again. This ensures that it's easy for the Yii team to merge your changes
with one click.
-### 8. Having resolved any conflicts, push your code to github
+### 8. Having resolved any conflicts, push your code to GitHub
```
git push -u origin 999-name-of-your-branch-goes-here
```
-The `-u` parameter ensures that your branch will now automatically push and pull from the github branch. That means
+The `-u` parameter ensures that your branch will now automatically push and pull from the GitHub branch. That means
if you type `git push` the next time it will know where to push to. This is useful if you want to later add more commits
to the pull request.
### 9. Open a [pull request](http://help.github.com/send-pull-requests/) against upstream.
-Go to your repository on github and click "Pull Request", choose your branch on the right and enter some more details
+Go to your repository on GitHub and click "Pull Request", choose your branch on the right and enter some more details
in the comment box. To link the pull request to the issue put anywhere in the pull comment `#999` where 999 is the
issue number.
@@ -181,7 +183,7 @@ issue number.
Someone will review your code, and you might be asked to make some changes, if so go to step #6 (you don't need to open
another pull request if your current one is still open). If your code is accepted it will be merged into the main branch
and become part of the next Yii release. If not, don't be disheartened, different people need different features and Yii
-can't be everything to everyone, your code will still be available on github as a reference for people who need it.
+can't be everything to everyone, your code will still be available on GitHub as a reference for people who need it.
### 11. Cleaning it up
@@ -196,7 +198,7 @@ git push origin --delete 999-name-of-your-branch-goes-here
### Note:
-To detect regressions early every merge to the Yii codebase on github will be picked up by
+To detect regressions early every merge to the Yii codebase on GitHub will be picked up by
[Travis CI](http://travis-ci.org) for an automated testrun. As core team doesn't wish to overtax this service,
[`[ci skip]`](http://about.travis-ci.org/docs/user/how-to-skip-a-build/) will be included to the merge description if
the pull request:
@@ -222,7 +224,7 @@ git checkout -b 999-name-of-your-branch-goes-here
/* do your magic, update changelog if needed */
git add path/to/my/file.php
-git commit -m "A brief description of this change which fixes #42 goes here"
+git commit -m "A brief description of this change which fixes #999 goes here"
git pull upstream master
git push -u origin 999-name-of-your-branch-goes-here
```